@import "https://fonts.googleapis.com/css2?family=Titillium+Web:wght@400;600;700;900&display=swap";:root{--f1-red:#e10600;--f1-dark:#15151e;--f1-black:#000;--f1-white:#fff;--f1-grey:#38383f;--f1-light-grey:#d0d0d2}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--f1-dark);color:var(--f1-white);background-image:linear-gradient(45deg, var(--f1-black) 25%, transparent 25%, transparent 75%, var(--f1-black) 75%, var(--f1-black)), linear-gradient(45deg, var(--f1-black) 25%, transparent 25%, transparent 75%, var(--f1-black) 75%, var(--f1-black));background-position:0 0,10px 10px;background-size:20px 20px;min-height:100vh;font-family:Titillium Web,sans-serif;position:relative;overflow-x:hidden}body:before{content:"";background:radial-gradient(circle at center, transparent 0%, var(--f1-black) 100%);pointer-events:none;z-index:-1;position:absolute;inset:0}#root{z-index:1;flex-direction:column;align-items:center;min-height:100vh;padding:40px 20px;display:flex;position:relative}h1{text-transform:uppercase;color:var(--f1-white);text-align:center;letter-spacing:2px;border-left:10px solid var(--f1-red);margin-bottom:2rem;padding-left:1rem;font-size:3.5rem;font-weight:900}.dashboard-grid{grid-template-columns:1fr 2fr;gap:2rem;width:100%;max-width:1200px;margin-top:1rem;display:grid}.dashboard-panel{background:var(--f1-black);border:2px solid var(--f1-grey);border-top:6px solid var(--f1-red);border-radius:0;padding:30px;position:relative}.dashboard-panel h2{text-transform:uppercase;color:var(--f1-white);border-bottom:1px solid var(--f1-grey);margin-bottom:1.5rem;padding-bottom:10px;font-size:1.8rem;font-weight:700}.race-list{text-align:left;list-style:none}.race-item{border-bottom:1px solid var(--f1-grey);cursor:pointer;justify-content:space-between;padding:14px 10px;transition:background .2s,padding-left .2s;display:flex}.race-item:hover{background:var(--f1-grey);border-left:4px solid var(--f1-red);padding-left:20px}.race-date{color:var(--f1-red);width:75px;font-size:1rem;font-weight:900}.race-details{flex-direction:column;flex-grow:1;display:flex}.race-name{text-transform:uppercase;font-size:1.1rem;font-weight:600}.race-winner{color:var(--f1-light-grey);margin-top:4px;font-size:.85rem}.race-item.completed .race-name{color:var(--f1-light-grey)}.btn-primary{background:var(--f1-red);color:var(--f1-white);text-transform:uppercase;cursor:pointer;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);border:none;width:100%;margin-top:1rem;padding:18px 36px;font-family:Titillium Web,sans-serif;font-size:1.2rem;font-weight:900;transition:all .2s}.btn-primary:hover{color:var(--f1-red);background:#fff}.form-group{text-align:left;margin-bottom:1.5rem}.form-group label{color:var(--f1-light-grey);text-transform:uppercase;margin-bottom:.5rem;font-size:.9rem;font-weight:700;display:block}input,select{background:var(--f1-dark);border:1px solid var(--f1-grey);color:#fff;border-radius:0;width:100%;padding:14px 16px;font-family:Titillium Web,sans-serif;font-size:1.1rem;font-weight:600;transition:border-color .2s}input:focus,select:focus{border-color:var(--f1-red);outline:none}.prob-row{margin-bottom:1rem}.prob-label{text-transform:uppercase;justify-content:space-between;margin-bottom:.4rem;font-weight:700;display:flex}.prob-bar-bg{background:var(--f1-grey);width:100%;height:12px;overflow:hidden}.prob-bar-fill{background:var(--f1-red);height:100%;transition:width .5s ease-out}.prediction-item{background:var(--f1-grey);border-left:8px solid var(--f1-red);align-items:center;margin-bottom:2rem;padding:15px 20px;display:flex}.position-badge{color:var(--f1-white);margin-right:1.5rem;font-size:2.5rem;font-weight:900;line-height:1}.team-name{text-transform:uppercase;font-size:1.5rem;font-weight:700}.loader{border:5px solid var(--f1-grey);border-top-color:var(--f1-red);border-radius:50%;width:50px;height:50px;margin:2rem auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes goFlash{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.35}}.live-dot{background:var(--f1-red);border-radius:50%;width:10px;height:10px;margin-right:6px;animation:1.2s ease-in-out infinite livePulse;display:inline-block}.stagger-row{animation:.4s backwards slideUp}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}}.modal-overlay{z-index:1000;background:#000000e6;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{text-align:left;background:var(--f1-black);border:2px solid var(--f1-grey);border-top:6px solid var(--f1-red);width:90%;max-width:650px;padding:30px;animation:.4s cubic-bezier(.175,.885,.32,1.275) slideUpModal;position:relative}@keyframes slideUpModal{0%{opacity:0;transform:translateY(40px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.close-btn{color:var(--f1-light-grey);cursor:pointer;background:0 0;border:none;font-size:2.5rem;line-height:1;transition:color .2s;position:absolute;top:1rem;right:1.5rem}.close-btn:hover{color:#fff}.modal-title{text-transform:uppercase;color:var(--f1-white);margin-bottom:.2rem;font-size:2.5rem;font-weight:900}.modal-subtitle{color:var(--f1-red);text-transform:uppercase;letter-spacing:2px;margin-bottom:2rem;font-size:1rem;font-weight:700}.circuit-stats{gap:1rem;margin-bottom:2rem;display:flex}.stat-box{background:var(--f1-dark);text-align:center;border:1px solid var(--f1-grey);border-bottom:4px solid var(--f1-red);flex:1;padding:1.5rem}.stat-label{color:var(--f1-light-grey);text-transform:uppercase;margin-bottom:.5rem;font-size:.85rem;font-weight:700;display:block}.stat-value{color:#fff;font-size:1.8rem;font-weight:900;display:block}.circuit-map-container{background:var(--f1-dark);border:1px solid var(--f1-grey);text-align:center;padding:2rem;position:relative;overflow:hidden}.track-svg{width:100%;max-width:300px;max-height:180px;margin:0 auto}.track-path{stroke-dasharray:1000;stroke-dashoffset:1000px;animation:3s forwards drawTrack}@keyframes drawTrack{to{stroke-dashoffset:0}}.telemetry-mockup{text-align:left;margin-top:2rem}.telemetry-mockup h3{color:var(--f1-light-grey);text-transform:uppercase;margin-bottom:.5rem;font-size:1.1rem}.progress-bar-bg{background:var(--f1-black);width:100%;height:8px;margin-top:.5rem;overflow:hidden}.progress-bar-fill.scanning{background:var(--f1-red);width:20%;height:100%;animation:2s linear infinite scanData}@keyframes scanData{0%{transform:translate(-100%)}to{transform:translate(500%)}}
