:root{--ink:#182b2a;--muted:#758582;--green:#30765d;--accent:#d1eddf;--line:rgba(76,105,96,.12);--panel:#f8fbf9;--orange:#b57637;--shadow:0 8px 28px -14px #35584c20;--radius:24px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:14px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#eaf0ee;min-height:100vh;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,summary{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #64ad90;outline-offset:3px}svg{flex-shrink:0;vertical-align:middle}button svg{pointer-events:none}h1,h2,h3,p{margin:0}h1{font-size:34px;letter-spacing:-1.25px;line-height:1.2;font-weight:650}h2{font-size:21px;letter-spacing:-.65px;font-weight:620;line-height:1.3}h3{font-size:16px;letter-spacing:-.25px;font-weight:600}p{line-height:1.65}small{font-size:12px}strong,b{font-weight:600}em,i{font-style:normal}input,select,textarea{width:100%;min-width:0;color:var(--ink);border:1px solid rgba(71,107,91,.15);border-radius:11px;background:#ffffff8c;padding:10px 12px;transition:border-color .15s,box-shadow .15s}input:hover,select:hover{border-color:#81b39c}input:focus,select:focus,textarea:focus{background:white;border-color:#6ba48c;box-shadow:0 0 0 3px #59957410;outline:none}input[type=number]{font-variant-numeric:tabular-nums;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button{opacity:.3}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green);box-shadow:none;flex-shrink:0}textarea{resize:vertical}select{cursor:pointer;padding-right:20px}details{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}summary{cursor:pointer;font-weight:550;padding:4px 0;margin-bottom:12px}details[open] summary{margin-bottom:18px}button{color:inherit}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums}th{font-size:11px;letter-spacing:.04em;font-weight:550;color:var(--muted);padding:14px 12px;border-bottom:1px solid var(--line)}td{padding:15px 12px;border-bottom:1px solid #70897c10;font-size:13px}tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto;max-width:100%}
.ambient{position:fixed;z-index:-1;pointer-events:none;filter:blur(75px);opacity:.45;border-radius:50%}.a1{width:550px;height:520px;left:180px;top:20px;background:#b9dbc8}.a2{width:750px;height:500px;right:-180px;top:160px;background:#d6e2ee}.a3{width:500px;height:400px;left:300px;bottom:-250px;background:#e4e0cb}.glass{background:linear-gradient(135deg,#ffffffad,#ffffff72);border:1px solid #ffffffd9;box-shadow:inset 0 1px 0 #fff,0 6px 20px -10px #4764570c;backdrop-filter:blur(26px) saturate(1.2);-webkit-backdrop-filter:blur(26px) saturate(1.2)}
.sidebar{width:248px;position:fixed;inset:14px auto 14px 14px;border-radius:26px;display:flex;flex-direction:column;padding:30px 16px 20px;z-index:4}.brand{display:flex;gap:10px;align-items:center;margin:0 12px 53px;text-decoration:none;color:var(--ink)}.brand:hover{text-decoration:none}.brand img{width:43px;height:43px;border-radius:14px;box-shadow:0 4px 10px #274a3720}.brand b{font-size:20px;letter-spacing:-.7px;line-height:1.2}.brand b span{font-size:13px;font-weight:500;letter-spacing:1px;margin-left:5px}.brand small{display:block;font-size:8.5px;letter-spacing:1.6px;font-weight:550;margin-top:4px}.workspace-label{font-size:10px;color:#8a9993;letter-spacing:1.5px;margin:0 16px 14px}.nav-item{display:flex;align-items:center;gap:13px;background:none;border:0;width:100%;padding:14px 15px;margin-bottom:7px;border-radius:13px;color:#6a7c75;text-align:left;font-size:13px;font-weight:500;transition:.18s}.nav-item.active{background:linear-gradient(135deg,#dceee2,#e0eee5b3);box-shadow:0 3px 12px #395e3b08,inset 0 1px #ffffffa6;color:#285944}.nav-item.active svg{stroke-width:2}.sidebar-bottom{margin-top:auto;padding:20px 10px 0}.local-note{display:flex;gap:9px;align-items:flex-start;font-size:11px;margin-bottom:18px}.local-note small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.status-dot{width:6px;height:6px;border-radius:50%;background:#649d78;margin-top:6px;flex-shrink:0}.sidebar .btn{font-size:11px;padding:9px 0;justify-content:flex-start;gap:9px}.model-link{display:flex;align-items:center;gap:7px;border:0;background:none;padding:16px 0;color:#798c82;font-size:10px;cursor:pointer}.version{display:block;border-top:1px solid var(--line);padding-top:14px;font-size:9px;color:#9aa7a2}.main{margin-left:276px;padding:0 38px;max-width:1800px}.topbar{height:89px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #70897c13;gap:20px}.breadcrumb{font-size:11px;color:#82918a;white-space:nowrap}.breadcrumb span{margin:0 10px;color:#b0bdb6}.top-actions{display:flex;gap:23px;align-items:center}.saved{font-size:10px;color:#82968a;display:flex;align-items:center;gap:4px;white-space:nowrap}.team-select{display:flex;align-items:center;gap:8px}.team-select select{font-size:12px;width:154px;border:none;background:none;font-weight:550;padding:7px 0}.avatar{display:grid;place-items:center;width:29px;height:29px;font-size:12px;background:#d4e0da;border:1px solid #ffffffc4;border-radius:50%;font-weight:600}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:36px 0 28px}.eyebrow{font-size:9px;letter-spacing:1.75px;color:#789086;font-weight:600;line-height:1.6}.eyebrow span{margin:0 8px;color:#a6bbb0}.page-heading h1{margin:7px 0 9px}.page-heading p{font-size:12px;color:var(--muted)}.btn{border:1px solid transparent;border-radius:11px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;white-space:nowrap;background:none;line-height:1.4;transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s}.btn.primary{background:#245e49;color:#fff;border-color:#245e49;box-shadow:0 4px 12px #1c51371a}.btn.secondary{background:#ffffff94;border-color:#ffffff;box-shadow:0 2px 4px #20442d05}.btn.quiet{color:#637b6f}.btn.link{color:var(--green);padding:3px 0;font-size:11px}.btn.full{width:100%}.icon-button{padding:8px;border-radius:50%;border:1px solid var(--line)}.pill{display:inline-flex;padding:5px 9px;border-radius:7px;align-items:center;font-size:9px;letter-spacing:.1px;white-space:nowrap}.pill.good{background:#d8eee1;color:#3d795b}.pill.neutral{background:#e9efec;color:#73877b}.pill.amber{background:#f5e8d3;color:#987146}
.weekend{border-radius:var(--radius);padding:30px 34px;display:grid;grid-template-columns:1.2fr 1fr .9fr;min-height:265px;align-items:center;overflow:hidden;position:relative;background:linear-gradient(115deg,#fff9,#fafff99e 42%,#e6f1ee85)}.weekend-copy{z-index:1}.weekend-copy h2{font-size:33px;letter-spacing:-1.1px;display:flex;align-items:baseline;gap:13px;margin:10px 0 4px}.weekend-copy p{font-size:11px;color:#809288}.flag{font-size:18px;display:grid;place-items:center;background:#c65454;color:white;width:23px;height:23px;line-height:1;border-radius:5px;box-shadow:0 2px 4px #a43e3e19;letter-spacing:0;font-weight:700}.track-facts{display:flex;gap:34px;margin-top:29px}.track-facts>div{display:flex;flex-direction:column}.track-facts strong{font-size:25px;letter-spacing:-.8px;line-height:1.2;font-weight:500}.track-facts strong i{font-size:13px;margin-left:3px;color:#8a9a92}.track-facts span{font-size:9px;color:#90a095;margin-top:4px}.track-art{width:100%;height:225px;opacity:.83;transform:rotate(-8deg);margin:-10px 0 -15px}.track-shadow{fill:none;stroke:#92b0a426;stroke-width:17;filter:blur(5px);transform:translateY(7px)}.track-line{fill:none;stroke:url(#trackFade);stroke-width:4.5;stroke-linejoin:round;stroke-linecap:round}.track-art text{font-size:7px;fill:#789688;letter-spacing:2px;transform:rotate(8deg);transform-origin:150px 235px}.track-placeholder{display:grid;place-items:center;color:#8aaba0;opacity:.5}.weather-summary{padding:5px 0 5px 33px;border-left:1px solid #82978d20;display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center}.weather-summary>svg{color:#7d9f8e}.weather-summary strong{font-size:36px;font-weight:450;letter-spacing:-1.5px;line-height:1.2}.weather-summary span{display:block;font-size:9px;color:#8a9b91}.weather-summary .pill{grid-column:1/-1;display:inline-flex;font-size:8px;width:max-content;padding:5px 6px}.weather-mini{grid-column:1/-1;display:flex;justify-content:space-between;margin:12px 0 3px}.weather-mini span{font-size:10px;color:#809086}.weather-mini b{display:block;color:#3d5a4c;font-size:14px;font-weight:500;margin-top:4px}.metrics{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px;margin:17px 0 28px}.metric{padding:22px 25px;border-radius:18px}.metric>span{font-size:10px;color:#8a9a90;display:block;margin-bottom:9px}.metric>strong{display:block;font-size:22px;font-weight:500;letter-spacing:-.7px;line-height:1.3}.metric>small{display:block;color:#8a9a90;font-size:9px;margin-top:8px}.metric>small span{padding:0 8px}.metric strong em{font-size:10px;letter-spacing:0;color:#8a9a90;margin-left:8px;font-weight:400}.metric .tabular{font-variant-numeric:tabular-nums;letter-spacing:-.8px}.section-tabs{display:flex;gap:21px;border-bottom:1px solid #80978a20;margin:4px 0 20px;overflow-x:auto}.section-tabs button{border:0;background:none;white-space:nowrap;padding:7px 2px 14px;color:#8b9b91;font-size:11px;position:relative}.section-tabs button.selected{color:#284c3a;font-weight:550}.section-tabs button.selected:after{position:absolute;bottom:0;left:0;right:0;content:'';height:2px;background:#53866c;border-radius:3px}.panel{border-radius:var(--radius);padding:28px 30px;margin-bottom:21px;min-width:0}.section-head{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-bottom:24px}.section-head h2{font-size:18px}.section-head p{font-size:11px;color:#8b9c91;margin-top:5px}.fields{display:grid;gap:16px}.fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.fields.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:block;min-width:0}.field>span{display:block;margin-bottom:7px;font-size:10px;color:#829387}.field input,.field select{font-size:13px;padding:10px 11px;background:#ffffff75}.input-wrap{position:relative}.input-wrap:has(em) input{padding-right:49px}.input-wrap em{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-size:10px;color:#99a89e;pointer-events:none}.profile-top{display:flex;gap:18px;margin-bottom:26px;align-items:center}.driver-monogram{flex-shrink:0;display:grid;place-items:center;width:70px;height:70px;border-radius:22px;font-weight:400;font-size:24px;color:#55745f;background:linear-gradient(120deg,#d4e9db,#edf3df);border:1px solid #ffffffc9}.profile-top .fields{flex:1}.subsection{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.subsection h3{margin-bottom:15px}.subsection p{margin-bottom:16px}.subsection .section-head{margin-bottom:18px}.page-footer{display:flex;justify-content:space-between;color:#a2b0a6;font-size:9px;padding:20px 0 32px;gap:20px}.cell-input{width:72px;padding:7px 9px;font-size:12px}.wear-bar{background:#e6ece6;max-width:230px;height:4px;border-radius:5px;overflow:hidden}.wear-bar i{display:block;height:100%;opacity:.65;border-radius:5px}.car-table td:first-child{width:34%}.forecast-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}.forecast{padding:16px;border:1px solid #ffffffc4;background:#ffffff45;border-radius:16px}.forecast>span{display:block;color:#557562;font-size:11px;margin-bottom:15px}.forecast .field{margin-bottom:10px}.forecast .fields{gap:6px}.forecast input{padding:8px}.check-label{display:flex;align-items:center;gap:10px;font-size:12px;color:#65796c;margin:18px 0}.footnote{font-size:10px;color:#94a297;line-height:1.7;margin-top:20px}.small{font-size:11px}.muted{color:var(--muted)}.inline-actions{display:flex;align-items:center;gap:9px}.import-zone{display:flex;align-items:center;gap:18px;padding:25px;border:1px dashed #9cb3a5;border-radius:17px;cursor:pointer;background:#ffffff40;transition:background .15s}.import-zone>svg{color:#71927c}.import-zone b{display:block;font-size:13px;font-weight:550}.import-zone span{display:block;font-size:10px;color:#98a69c;margin-top:5px}.import-zone .pill{margin-left:auto}.history-list{margin-top:15px}.history-row{display:flex;align-items:center;gap:15px;padding:21px 0;width:100%;background:none;border:0;border-bottom:1px solid var(--line);text-align:left}.history-row:last-child{border:0}.history-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#e7eee9;color:#73907c}.history-row b{font-size:13px}.history-row b small{font-size:10px;font-weight:400;color:#a1afa5;margin-left:5px}.history-row>div>span{display:block;font-size:10px;color:#95a498;margin-top:4px}.history-value{margin-left:auto;text-align:right;font-size:15px;font-weight:500;white-space:nowrap}.history-value span{color:#a3b2a6}.history-value small{display:block;font-size:10px;color:#93a399;font-weight:400;margin-top:3px}.history-row>svg{width:17px;color:#8a9e8f;margin-left:7px}.notice{margin-top:21px;background:#e6eeea80;border-radius:12px;padding:15px 18px;font-size:11px;color:#738a7b;line-height:1.75;border:1px solid #e3ece6}.notice.warning{background:#f9eed9a6;color:#937647;border-color:#ede0c6}.notice.success{background:#e2eee5a6;color:#5d8068;border-color:#dbe9df}.empty{padding:48px 24px;text-align:center;color:#91a196;font-size:13px}.error{color:#aa6a43}
.strategy-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;align-items:start}.strategy-hero{padding:28px 30px;border-radius:24px;margin-bottom:22px;background:linear-gradient(135deg,#e7f3eac9,#f9fcf8c9)}.strategy-hero .section-head{margin-bottom:14px}.strategy-hero h2{margin-top:9px;font-size:25px}.strategy-hero p{font-size:11px;color:#85988b}.hero-numbers{display:flex;gap:32px;margin:25px 0}.hero-numbers>div{flex:1}.hero-numbers strong{display:block;font-size:26px;letter-spacing:-.8px;font-weight:450;white-space:nowrap}.hero-numbers i{font-size:12px;color:#8fa494;margin-left:5px}.hero-numbers span{display:block;font-size:9px;color:#92a398;margin-top:3px}.model-controls{padding:22px;position:sticky;top:20px}.model-controls h2{font-size:16px}.model-controls .section-head{margin-bottom:23px}.model-controls .field{margin-bottom:15px}.model-controls .fields{gap:10px}.model-controls details{margin-top:7px;font-size:11px}.model-controls summary{font-size:11px;color:#6f8977}.model-controls .field>span{font-size:9px}.model-controls .field input{font-size:12px}.model-controls .notice{font-size:10px;padding:12px}.legend{display:flex;gap:20px;font-size:10px;color:#9aa99f;margin-top:-10px;margin-bottom:22px}.legend span{display:flex;align-items:center;gap:6px}.legend i{display:inline-block;width:7px;height:7px;border-radius:2px}.legend-pit{background:#719f87}.legend-mass{background:#a7c8b6}.legend-tyre{background:#dfcc9e}.strategy-row{padding:19px 0;border-bottom:1px solid var(--line)}.strategy-row:last-child{border:0;padding-bottom:0}.strategy-row.invalid{opacity:.55}.strategy-row-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.strategy-row-title>div{display:flex;align-items:center;gap:9px}.strategy-row-title b{font-size:12px}.strategy-row-title small{font-size:9px;color:#9ca89e}.strategy-row-title>strong{font-size:12px;font-weight:500;color:#517f60}.tyre-chip{display:inline-grid;place-items:center;width:27px;height:27px;border:2px solid #ddba71;border-radius:50%;font-size:8px;line-height:1;color:#9a772d;background:#ffffffe0;flex-shrink:0}.tyre-chip.ES{border-color:#d49191;color:#a05f5f}.tyre-chip.S{border-color:#dfbf70;color:#a58a4b}.tyre-chip.M{border-color:#919fa4;color:#607275}.tyre-chip.H{border-color:#d4d9d5;color:#809184}.cost-bar{height:9px;background:#eff3ef;margin:12px 0 9px;border-radius:5px;overflow:hidden;display:flex}.cost-bar i{height:100%}.cost-bar .pit{background:#719f87}.cost-bar .mass{background:#a7c8b6}.cost-bar .tyre{background:#dfcc9e}.cost-bar .other{background:#bec9d4}.strategy-row-bottom{display:flex;justify-content:space-between;align-items:center}.strategy-row-bottom>span{font-size:9px;color:#97a69b}
.practice-top{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px}.practice-top .panel{margin-bottom:20px}.setup-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:22px 0 6px}.setup-tiles>div{padding:16px 9px 12px;border:1px solid #ffffffeb;background:#ffffff5e;border-radius:13px;text-align:center}.setup-tiles span{display:block;color:#8c9f91;font-size:9px;letter-spacing:.8px}.setup-tiles strong{display:block;font-size:24px;font-weight:450;letter-spacing:-.7px;margin:6px 0}.setup-tiles small{display:block;font-size:8px;line-height:1.4;color:#a0afa4}.practice-count{text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:20px}.practice-count>strong{display:block;font-size:43px;letter-spacing:-1.5px;font-weight:400;margin:10px 0}.practice-count>strong small{font-size:20px;color:#a1b3a7}.lap-dots{display:flex;gap:6px;margin:0 0 21px}.lap-dots i{width:7px;height:7px;border:1px solid #c0d1c4;border-radius:3px;background:none}.lap-dots i.filled{background:#82aa91;border-color:#82aa91}.practice-count>small{font-size:9px;margin-top:10px}.time-cell{font-weight:550}.best-lap{background:#dfeddf45;color:#397a50}.wing-chart{width:100%;height:auto;max-height:310px}.wing-chart text{font-size:9px;fill:#93a196}.wing-result{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px;background:#e8f0ea90;border-radius:14px;margin-top:16px}.wing-result h3{font-size:22px;margin-top:7px}.wing-result>div>strong{display:block;font-size:22px;font-weight:450}.wing-result>div>span:not(.eyebrow){display:block;font-size:9px;color:#90a294}.race-header{padding:26px 30px;border-radius:24px;display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.race-header h2{display:flex;align-items:center;gap:12px;margin:9px 0}.race-header p{font-size:11px;color:#8fa296}.race-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.stint-timeline{display:flex;gap:8px;margin:7px 0 25px}.segment{padding:18px 16px;border:1px solid #ffffffd9;background:linear-gradient(120deg,#e0eee4bc,#e8f2ec6e);border-radius:15px}.segment>span{display:block;font-size:8px;letter-spacing:1px;color:#8da493}.segment strong{display:block;font-size:27px;font-weight:450;margin:8px 0 10px;letter-spacing:-.5px}.segment strong small{font-size:9px;color:#9aad9e;margin-left:5px}.segment>div{display:flex;justify-content:space-between;color:#95a99a;font-size:9px}.segment b{font-size:10px;color:#5b7d66;font-weight:500}.final-check{display:flex;align-items:center;justify-content:space-between;gap:22px}.final-check>div{display:flex;align-items:center;gap:14px}.final-check>div>svg{color:#719f82}.final-check p{color:#9eaca2;font-size:10px;margin-top:4px}.final-check .check-label{font-size:10px;max-width:260px}
.tool-menu{display:grid;gap:12px}.mobile-tools{padding:7px;border-color:#ffffff99}.mobile-tools svg{width:17px;height:17px}
dialog{background:linear-gradient(120deg,#fafcfbed,#edf4f1eb);backdrop-filter:blur(45px);-webkit-backdrop-filter:blur(45px);border:1px solid #fff;border-radius:25px;width:min(570px,calc(100% - 32px));max-height:88vh;padding:0;color:var(--ink);box-shadow:0 30px 100px #17362c35}dialog.wide{width:min(850px,calc(100% - 32px))}dialog::backdrop{background:#193c3226;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:23px 27px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#f3f8f5f0;z-index:1}.dialog-head h2{font-size:20px}.dialog-body{padding:25px 28px}.dialog-body>p{font-size:12px;color:#7f9385;margin-bottom:20px}.dialog-body>.field{margin:20px 0}.dialog-body textarea{margin-bottom:18px;font-size:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.breakdown>div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px;color:#7d9284}.breakdown b{color:#2c513b;font-weight:550}.breakdown .total{font-size:15px;border:0;padding-top:19px}.breakdown+.small{margin:15px 0}.history-meta{display:flex;gap:9px;margin-bottom:18px}.manual-stint{padding:18px;background:#ffffff60;border-radius:16px;border:1px solid #fff;margin-bottom:16px}.manual-stint>b{display:block;margin-bottom:15px;font-size:13px}.method-list>div{margin-bottom:28px}.method-list h3{margin:12px 0 9px}.method-list p{font-size:12px;color:#7d9284;margin:10px 0}.boot{min-height:70vh;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:30px;letter-spacing:-1px;font-weight:600}.boot span{font-size:13px;font-weight:400;letter-spacing:0;color:#869b8d;margin-top:15px}.boot p{font-size:12px;color:#8b9f92;font-weight:400}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#1f4335ed;color:#f2fff7;border:1px solid #ffffff20;border-radius:14px;padding:13px 21px;font-size:12px;box-shadow:0 7px 25px #143b2926;z-index:30;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100vw - 32px)}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.main{padding:0 60px}.weekend{padding:35px 45px}.page-heading{margin-top:44px}.weekend-copy h2{font-size:39px}.track-art{height:240px}}
@media(max-width:1200px){.sidebar{width:213px;padding:25px 12px 18px}.brand{margin:0 6px 43px;gap:9px}.brand b{font-size:19px}.brand b span{font-size:11px}.brand img{width:37px;height:37px}.brand small{font-size:7px}.nav-item{padding:13px 11px;font-size:12px;gap:10px}.main{margin-left:239px;padding:0 24px}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 5px}.saved{display:none}.page-heading h1{font-size:29px}.weekend{padding:24px}.weekend-copy h2{font-size:29px}.track-facts{gap:20px}.weather-summary{padding-left:20px}.weather-summary .pill{display:none}.strategy-layout{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.hero-numbers{gap:16px}.hero-numbers strong{font-size:22px}.hero-numbers span{font-size:8px}.strategy-hero{padding:25px}.model-controls{padding:18px}.panel{padding:25px}.setup-tiles{gap:6px}.setup-tiles strong{font-size:22px}.setup-tiles small{font-size:7px}.practice-top{grid-template-columns:minmax(0,1fr) 175px;gap:16px}.strategy-row-title small{display:none}.metric>strong{font-size:19px}.metric{padding:20px}.weather-mini{gap:10px}.forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wing-result{flex-wrap:wrap}}
@media(max-width:980px){.sidebar{width:79px;padding:23px 12px;align-items:center}.brand{margin:0 0 40px}.brand>div,.workspace-label,.nav-item span,.nav-item small,.sidebar-bottom{display:none}.brand img{width:40px;height:40px}.sidebar nav{width:100%}.nav-item{padding:15px;justify-content:center}.main{margin-left:109px;padding:0 22px}.topbar{height:75px}.page-heading{margin:28px 0 22px}.weekend{grid-template-columns:1.25fr .85fr}.track-art,.track-placeholder{display:none}.weather-summary{max-width:230px;justify-self:end;width:100%}.metrics{gap:11px}.fields.four{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-layout{grid-template-columns:minmax(0,1fr) 250px}.strategy-hero h2{font-size:22px}.strategy-hero .section-head{flex-direction:column;align-items:flex-start}.hero-numbers{flex-wrap:wrap;gap:14px}.hero-numbers>div{min-width:100px}.race-header h2{font-size:20px}.race-columns{gap:15px}.final-check{flex-direction:column;align-items:flex-start}.setup-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-tiles small{font-size:8px}.setup-tiles>div{padding:12px}.practice-count>strong{margin:18px 0}.profile-top{gap:13px}.driver-monogram{width:55px;height:55px;border-radius:16px;font-size:20px}.metric>strong{font-size:17px}.metric strong em{display:none}}
@media(max-width:760px){.sidebar{inset:auto 12px 10px;width:calc(100% - 24px);height:70px;border-radius:23px;padding:7px 12px;display:block;box-shadow:0 4px 35px #143e2524;background:linear-gradient(120deg,#ffffffdb,#f0f7f1d9)}.sidebar .brand{display:none}.sidebar nav{display:flex;justify-content:space-around;gap:3px}.nav-item{flex-direction:column;gap:4px;padding:8px 9px;margin:0;width:25%;border-radius:15px}.nav-item span{display:block;font-size:8px;white-space:nowrap}.nav-item svg{width:20px;height:20px}.main{margin:0;padding:0 19px}.topbar{height:67px}.breadcrumb{font-size:9px}.breadcrumb span{margin:0 4px}.top-actions{gap:0}.team-select select{width:123px;font-size:10px}.avatar{width:25px;height:25px;font-size:10px}.page-heading{margin-top:25px;gap:8px;align-items:flex-start}.page-heading h1{font-size:27px;letter-spacing:-.9px}.page-heading p{font-size:10px;max-width:230px}.page-heading .btn{font-size:0;padding:9px;border-radius:50%;margin-top:25px}.page-heading .btn svg{width:17px;height:17px}.eyebrow{font-size:8px;letter-spacing:1.2px}.weekend{padding:23px;grid-template-columns:1.1fr .9fr;min-height:210px;border-radius:21px}.weekend-copy h2{font-size:25px;gap:8px}.flag{width:19px;height:19px;font-size:15px;border-radius:4px}.weekend-copy p{font-size:8px}.track-facts{gap:17px;margin-top:24px}.track-facts strong{font-size:21px}.track-facts span{font-size:7px}.weather-summary{padding-left:17px;display:block;text-align:right;border-left:0}.weather-summary>svg{width:28px;height:28px;margin-bottom:3px}.weather-summary strong{font-size:31px}.weather-summary span{font-size:7px}.weather-mini{display:flex;gap:10px;justify-content:flex-end;margin-top:15px}.weather-mini b{font-size:12px}.weather-mini span{font-size:7px;text-align:center}.metrics{grid-template-columns:1fr 1fr;gap:10px;margin:13px 0 24px}.metric{padding:17px;border-radius:17px}.metric:first-child{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:10px}.metric:first-child>span{margin:0;grid-column:1}.metric:first-child>strong{grid-column:1;font-size:19px;margin-top:5px}.metric:first-child>small{grid-row:1/3;grid-column:2;margin:0;text-align:right;font-size:9px}.metric>strong{font-size:23px}.metric>span{font-size:9px}.metric>small{font-size:9px}.panel{padding:22px 19px;border-radius:21px;margin-bottom:18px}.section-tabs{gap:20px}.section-tabs button{font-size:10px;padding-bottom:12px}.section-head{align-items:flex-start;margin-bottom:21px}.section-head h2{font-size:17px}.section-head p{font-size:10px}.section-head>.pill{font-size:8px;padding:4px 6px}.profile-top .fields{grid-template-columns:1fr}.driver-monogram{width:60px;height:60px}.profile-top{align-items:flex-start}.profile-top .field:first-child{margin-bottom:5px}.field>span{font-size:9px}.field input,.field select{font-size:14px;padding:11px 10px}.fields{gap:15px}.subsection{margin-top:22px;padding-top:22px}.forecast-grid{gap:10px}.forecast{padding:13px}.forecast-grid .field>span{font-size:8px}.page-footer{padding:15px 0 110px;font-size:8px}.page-footer span:last-child{max-width:140px;text-align:right}.history-row{gap:10px;padding:17px 0}.history-icon{width:30px;height:30px;border-radius:10px}.history-row b{font-size:12px}.history-row>div>span{font-size:9px;max-width:180px}.history-value{font-size:13px}.history-value small{font-size:8px}.history-row>svg{display:none}.inline-actions{flex-wrap:wrap;gap:7px}.section-head:has(.inline-actions){flex-direction:column}.import-zone{padding:19px 15px;gap:13px}.import-zone .pill{display:none}.import-zone b{font-size:11px}.import-zone span{font-size:9px}.notice{font-size:10px;padding:14px}.strategy-layout{display:flex;flex-direction:column}.strategy-layout>div{width:100%}.model-controls{position:static;width:100%}.strategy-hero{padding:24px}.strategy-hero .section-head{flex-direction:row;align-items:flex-start}.strategy-hero h2{font-size:22px}.hero-numbers{gap:11px}.hero-numbers>div{min-width:80px}.hero-numbers strong{font-size:23px}.hero-numbers span{font-size:8px;max-width:100px}.strategy-row-title small{display:block;font-size:8px}.strategy-row-bottom>span{font-size:9px}.practice-top{grid-template-columns:1fr}.practice-top .panel{margin-bottom:0}.practice-top .practice-count{flex-direction:row;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:23px}.practice-count .lap-dots,.practice-count>small{display:none}.practice-count>strong{font-size:30px;margin:0}.practice-count>strong small{font-size:17px}.practice-count .btn{width:auto}.practice-count>.eyebrow{display:none}.setup-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.setup-tiles strong{font-size:26px}.setup-tiles small{font-size:9px}.race-header{padding:23px;flex-direction:column;align-items:flex-start;gap:15px}.race-header h2{font-size:21px}.stint-timeline{gap:6px}.segment{padding:13px 10px;border-radius:12px}.segment>span{font-size:6px;letter-spacing:.8px}.segment strong{font-size:24px}.segment strong small{display:none}.segment>div{flex-direction:column;font-size:7px;gap:2px}.segment b{font-size:10px}.race-columns{grid-template-columns:1fr;gap:0}.race-columns .fields.two{gap:15px}.final-check .check-label{max-width:none;margin:0}.final-check h3{font-size:14px}.final-check p{font-size:9px}.dialog-head{padding:20px}.dialog-head h2{font-size:18px}.dialog-body{padding:21px}.dialog-body .fields.three{grid-template-columns:repeat(2,minmax(0,1fr))}.dialog-body .fields.four{grid-template-columns:repeat(2,minmax(0,1fr))}.dialog-actions{flex-wrap:wrap}.dialog-actions .btn{white-space:normal}.wing-result{gap:18px}.wing-result h3{font-size:19px}.wing-result>div>strong{font-size:20px}#toast{bottom:95px;font-size:11px;width:max-content;max-width:90vw}.sidebar-bottom-mobile{display:block}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.ambient{filter:blur(75px)}}

.api-bar{display:flex;align-items:center;gap:14px;padding:17px 22px;border-radius:18px;margin:0 0 20px}.api-logo{display:grid;place-items:center;color:#51846a;background:#d9ece0;width:39px;height:39px;border-radius:12px}.api-bar-copy{flex:1}.api-bar-copy b{display:block;font-size:12px}.api-bar-copy span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.api-bar-actions,.api-dialog-actions{display:flex;gap:9px;align-items:center}.api-dialog-actions{margin:18px 0}.api-diffs{max-height:330px;overflow:auto}.api-diffs th{position:sticky;top:0;background:#f3f8f5}.api-diffs td{max-width:250px;overflow:hidden;text-overflow:ellipsis}#api-progress{font-size:12px;line-height:1.6;color:#577965;margin-top:16px;white-space:pre-wrap}@media(max-width:760px){.api-bar{flex-wrap:wrap;padding:16px}.api-bar-copy{min-width:210px}.api-bar-actions{width:100%;justify-content:flex-end}.api-bar-copy span{font-size:10px}.api-diffs td{max-width:130px}}

/* Silver glass: cool white surfaces, strong type and saturated data colours. */
.review-result{display:flex;flex-wrap:wrap;gap:24px;padding:17px 0 22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.review-result b{display:block;font-size:17px;color:var(--ink);margin-top:4px;font-variant-numeric:tabular-nums}
:root{color-scheme:light;--ink:#192239;--muted:#5c687e;--green:#3655c9;--accent:#345be2;--line:#283d6722;--panel:#fafbff;--orange:#a65a13;--radius:22px;--pit:#824bd5;--mass:#177db5;--tyre:#e2aa16;--other:#65768f}
body{background:#f1f3f9;background-image:radial-gradient(ellipse at 90% 0%,#dce5ff90,transparent 55%);background-attachment:fixed}::selection{background:#d5deff;color:#172a64}.ambient{opacity:.26;filter:blur(100px)}.a1{background:#d7d8f8;top:-250px}.a2{background:#d5e4fc;right:0}.a3{background:#dddff0}.glass{background:linear-gradient(135deg,#ffffffee,#f9fbffcf);border-color:#ffffff;box-shadow:inset 0 1px #fff,0 5px 24px #35496b0b;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px)}
h1,h2,h3{font-weight:650}.sidebar{background:linear-gradient(160deg,#ffffffee,#eaf0ffcf);border:1px solid #fff}.brand{color:var(--ink)}.brand b{font-weight:800;font-style:italic}.brand b span{font-style:normal}.brand small{color:#4b5a74}.brand img{box-shadow:0 4px 12px #3354c21a}.workspace-label,.version,.breadcrumb,.saved,.model-link,.nav-item,.eyebrow,.page-footer{color:#59677e}.nav-item{border-radius:10px}.nav-item.active{background:linear-gradient(100deg,#dce5ff,#eaf0ff);color:#233f9c;box-shadow:inset 3px 0 var(--accent),inset 0 0 0 1px #345be21a}.nav-item.active svg{color:#345be2}.status-dot{background:#365bd6}.sidebar .btn{color:#3a4f7c}.breadcrumb span,.eyebrow span{color:#7b89a1}.avatar{background:#dce4f8;color:#2b4386;border-color:#b7c7eb}.team-select select{color:#243b6b}.topbar{border-color:var(--line)}.page-heading{padding-left:16px;border-left:3px solid var(--accent)}.page-heading .eyebrow{color:#4260a9}.page-heading p{font-size:13px}
input,select,textarea,.field input,.field select{background:#fff;color:#192239;border:1px solid #bbc6dc;border-radius:9px}input:hover,select:hover{border-color:#7a92ca}input:focus,select:focus,textarea:focus{background:#fff;border-color:#345be2;box-shadow:0 0 0 3px #345be217}input::placeholder,textarea::placeholder{color:#6b7890}option{background:white;color:#192239}.field>span,.input-wrap em{color:#52617b;font-size:11px}.field input,.field select{font-weight:550}.input-wrap em{font-size:10px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-color:#345be2}.btn{font-weight:600;border-radius:9px}.btn.primary{background:#345be2;border-color:#345be2;box-shadow:0 4px 14px #345be21c;color:#fff}.btn.secondary{background:#fff9;border-color:#bdc9e1;color:#354d80}.btn.quiet,.btn.link{color:#3455bd}.icon-button{border-color:#c4cfe4}.btn.link{font-size:12px}.pill{font-size:10px;font-weight:600;border:1px solid transparent}.pill.good{background:#e1eaff;color:#284aa8;border-color:#b9c9f2}.pill.neutral{background:#eaf0fa;color:#4c5c78;border-color:#d1dbee}.pill.amber{background:#fff2d9;color:#80510c;border-color:#e8cb93}
.weekend{background:linear-gradient(115deg,#fff,#edf2ff 65%,#e3edff);border-top:2px solid #7091ed}.weekend-copy h2{font-weight:750}.weekend-copy p,.track-facts span,.track-facts strong i,.weather-summary span,.weather-mini span{color:#5e6d86}.track-facts strong,.weather-summary strong{font-weight:550}.weather-mini b{color:#273e73;font-weight:650}.weather-summary{border-color:#b4c5e15c}.weather-summary>svg{color:#486ec5}.track-line{stroke:#5275cd}.track-shadow{stroke:#7895dd20}.track-art{opacity:1}.track-art text{fill:#5e75a2}.track-placeholder{color:#597dce}.metric>span,.metric>small,.metric strong em{color:#5c6a82}.metric>strong{font-weight:600}.metric .tabular{color:#7540bb;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:650;letter-spacing:-1px}.metric{position:relative}.metric:before{content:'';position:absolute;left:0;top:24px;width:3px;height:28px;background:#7890bd}.metric:nth-child(2):before{background:#824bd5}.metric:nth-child(3):before{background:#177db5}
.section-tabs{border-color:#bfcbe0}.section-tabs button{color:#5c6982;font-size:12px}.section-tabs button.selected{color:#294bb2;font-weight:650}.section-tabs button.selected:after{background:#345be2;height:3px}.section-head h2{font-weight:650}.section-head p,.footnote,.empty,.check-label,.import-zone span,.history-row>div>span,.history-value small,.history-row b small{color:#5c687e}.section-head p{font-size:12px}.footnote{font-size:11px}.driver-monogram{background:linear-gradient(130deg,#dde5fb,#ece9fc);border-color:#c5d1ef;color:#3a5290;font-weight:650}.forecast,.manual-stint{background:#f2f5fc;border-color:#d0dbef}.forecast>span{color:#435d8d}.import-zone{background:#f5f7ff;border-color:#8a9fc4}.import-zone>svg{color:#4b6fbc}.history-icon{background:#e6edfc;color:#4767ad}.history-value span,.history-row>svg{color:#687b9c}.wear-bar{background:#e2e8f3;height:6px}.wear-bar i{opacity:1}
th{color:#536580;background:#edf2fa;font-size:11px;font-weight:650}td{border-color:#dce3f0}.best-lap{background:#f1eaff;color:#7039b0}.time-cell{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700}.notice{background:#edf2fc;color:#4d6082;border-color:#d0dcf0}.notice.warning{background:#fff6e7;color:#815216;border-color:#ecd4a6}.notice.success{background:#eaf0ff;color:#3556a0;border-color:#c3d2f5}.error{color:#a33a40}
.strategy-hero{background:linear-gradient(110deg,#edf0ff,#f6f8ff 70%);border-left:3px solid #824bd5}.strategy-hero p,.hero-numbers span,.hero-numbers i{color:#536580}.strategy-hero .eyebrow{color:#7450b1}.hero-numbers strong{color:#172b58;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:28px;font-weight:650;letter-spacing:-1px}.hero-numbers span{font-size:10px}.model-controls summary{color:#4f6386}.model-controls .field>span{font-size:10px}.timing-kicker{display:flex;align-items:center;gap:8px;color:#7450b1;font-size:10px;font-weight:750;letter-spacing:1.6px;margin-bottom:9px}.timing-kicker:before{content:'';width:17px;height:8px;background:repeating-linear-gradient(90deg,#824bd5 0 3px,transparent 3px 5px);transform:skew(-15deg)}
.legend{gap:18px;flex-wrap:wrap;color:#52617b;font-size:11px;margin-bottom:16px}.legend i{width:9px;height:9px;border-radius:2px}.legend-pit,.cost-bar .pit{background:var(--pit)}.legend-mass,.cost-bar .mass{background:var(--mass)}.legend-tyre,.cost-bar .tyre{background:var(--tyre)}.legend-other,.cost-bar .other{background:var(--other)}.timing-columns{display:flex;justify-content:space-between;color:#60728f;font-size:9px;font-weight:650;letter-spacing:1.3px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.strategy-row{padding:20px 0}.strategy-row.winner{margin:0 -14px;padding:20px 14px;background:linear-gradient(90deg,#824bd510,transparent);box-shadow:inset 3px 0 #824bd5}.strategy-row.invalid{opacity:1}.strategy-row.invalid .cost-bar{opacity:.55}.strategy-row-title>div{min-width:0;gap:10px}.strategy-row-title b{font-size:13px;font-weight:650}.strategy-row-title small{color:#5b6d89;font-size:10px}.strategy-row-title>strong{color:#293f73;background:#eaf0fc;border:1px solid #ccdaef;border-radius:5px;padding:5px 9px;font:650 13px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}.strategy-row.winner .strategy-row-title>strong{background:#824bd5;color:white;border-color:#824bd5}.strategy-row.invalid .strategy-row-title>strong{color:#965b17;background:#fff4df;border-color:#e6cfaa}.cost-bar{height:13px;border-radius:3px;background:#e9eef7;margin:14px 0 11px}.cost-bar i+i{border-left:1px solid #ffffff88}.strategy-row-bottom{gap:10px}.strategy-row-bottom>span{color:#556884;font-size:11px;font-variant-numeric:tabular-nums}.strategy-row-bottom>span b{color:#273d6c;font-weight:650}.strategy-row-bottom .btn{font-size:11px}
.tyre-chip{width:29px;height:29px;font-size:9px;font-weight:800;box-shadow:0 0 0 2px #fff,inset 0 0 0 2px #ffffff70;border-width:2px}.tyre-chip.H{background:#fff;border-color:#718096;color:#28364d}.tyre-chip.M{background:#ffd438;border-color:#ae8500;color:#493500}.tyre-chip.S{background:#dc3549;border-color:#b02237;color:#fff}.tyre-chip.ES{background:#8645d1;border-color:#6931b1;color:#fff}.tyre-chip.R{background:#187ec1;border-color:#126096;color:white}
.setup-tiles>div{background:#f5f7ff;border-color:#d7e0f1;border-top:2px solid #7192dc;border-radius:10px}.setup-tiles span,.setup-tiles small{color:#5e7294}.setup-tiles strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:650;color:#254278}.practice-count>strong{font-weight:650}.practice-count>strong small{color:#6980a1}.lap-dots i{border-color:#adbdd7}.lap-dots i.filled{background:#4876ce;border-color:#4876ce}.wing-chart text{fill:#536b90}.wing-chart line{stroke:#d1dbed}.wing-chart polyline{stroke:#345be2;stroke-width:3}.wing-chart circle{fill:#8645d1;stroke:#fff}.wing-result{background:#edf1ff;border:1px solid #cbd7f4}.wing-result>div>span:not(.eyebrow){color:#5c7194}.wing-result>div>strong{color:#7540bb}
.race-header{background:linear-gradient(110deg,#fff,#edf2ff);border-top:2px solid #7192dc}.race-header p{color:#597092}.segment{background:linear-gradient(120deg,#eaf0ff,#f9faff);border-color:#cddbf2;border-top:2px solid #4c7bc7;border-radius:11px}.segment>span,.segment>div,.segment strong small{color:#596f91}.segment strong{color:#29477f;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:650}.segment b{color:#2a57a1;font-weight:700}.final-check p{color:#617694}.final-check>div>svg{color:#4166b0}
dialog{background:linear-gradient(130deg,#fffffff7,#f0f4fff7);border-color:#fff;box-shadow:0 30px 100px #253e7133}dialog::backdrop{background:#20355940;backdrop-filter:blur(7px)}.dialog-head,.api-diffs th{background:#f0f4fffa}.dialog-body>p,.method-list p,.breakdown>div{color:#546b8f}.breakdown b{color:#263f75}.api-logo{background:#e1e9fc;color:#4166b0;border:1px solid #c2d1ee}#api-progress{color:#3f5c99}#toast{background:#243c70ed;color:#fff;border-color:#ffffff40}.boot span,.boot p{color:#617694}
.analysis-intro .section-head{align-items:flex-start}.review-flow{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:23px;flex-wrap:wrap;color:#536581;font-size:12px}.review-flow i{color:#9cabc5}.review-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:27px}.review-stats strong{display:block;font:650 32px ui-monospace,monospace;color:#294b98}.review-stats span{display:block;color:#5b6d8a;font-size:11px;margin-top:4px}.review-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:11px;color:#5a6f91;margin-top:20px}.review-actions{margin:22px 0}.review-selects .field>span{font-size:11px}.comparison-table td:not(:first-child){font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:600;font-size:14px}.comparison-table td small{display:block;font:400 10px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#5e7295;margin-top:3px}.delta-plus{color:#a15b12}.delta-minus{color:#3455bd}.delta-text{display:block;color:#526ca1;font-size:11px;margin-top:5px}.trend-group{padding:24px 0;border-top:1px solid var(--line)}.trend-group .section-head{margin-bottom:15px}.review-bias{display:flex;gap:35px;color:#596c8a;font-size:12px;flex-wrap:wrap}.review-bias b{display:block;color:#263f75;font:650 23px ui-monospace,monospace;margin:5px 0}.review-bias small{font-size:10px;color:#5c7194}.residual-chart{margin-top:20px}.residual-row{display:grid;grid-template-columns:65px 1fr 75px;gap:14px;align-items:center;font:11px ui-monospace,monospace;margin-top:13px;color:#566e94}.residual-row>b{text-align:right;font-weight:650}.residual-axis{position:relative;background:#e9effa;height:16px;border-radius:3px}.residual-axis:after{content:'';position:absolute;left:50%;top:-3px;height:22px;border-left:1px solid #8298bb}.residual-axis i{position:absolute;top:0;height:100%;border-radius:2px}.residual-axis .positive{background:#b87929}.residual-axis .negative{background:#5276d5}.empty p{max-width:530px;margin:10px auto 0;font-size:12px}
@media(max-width:1200px){.hero-numbers strong{font-size:24px}.strategy-row-title small{display:none}.analysis-intro .section-head{flex-wrap:wrap}.review-flow{gap:12px}}
@media(max-width:760px){.sidebar{background:linear-gradient(120deg,#fffffff5,#edf2fff2);border-color:#fff;box-shadow:0 4px 35px #253e7126;padding-left:7px;padding-right:7px}.sidebar nav{gap:1px}.nav-item{width:20%;padding:9px 3px}.nav-item span{font-size:7.5px}.nav-item.active{box-shadow:inset 0 -2px var(--accent);background:#dce5ff}.page-heading{padding-left:12px}.page-heading h1{font-size:25px}.page-heading p{font-size:11px}.legend{gap:12px;font-size:10px}.hero-numbers strong{font-size:25px}.strategy-row-title>div{gap:7px;flex-wrap:wrap}.strategy-row-title small{display:block;width:100%;padding-left:0;margin-top:0}.strategy-row-title>strong{font-size:11px;padding:5px 7px}.strategy-row-bottom>span{font-size:10px}.strategy-row-bottom{align-items:flex-start}.tyre-chip{width:27px;height:27px}.strategy-row.winner{margin:0 -10px;padding-left:10px;padding-right:10px}.field>span{font-size:10px}.segment strong{font-size:25px}.segment>span{font-size:7px}.segment>div{font-size:9px}.hero-numbers span{font-size:9px}.section-head p{font-size:11px}.page-footer{color:#5e7397}.review-selects{grid-template-columns:1fr!important}.review-flow{display:grid;gap:10px;font-size:11px}.review-flow>i{display:none}.review-stats{gap:12px}.review-stats strong{font-size:26px}.review-stats span{font-size:9px}.analysis-intro .section-head .btn{white-space:normal}.review-meta{gap:9px}.review-actions{flex-wrap:wrap}.review-bias{gap:20px}.comparison-table td{padding:14px 9px}.comparison-table td:first-child{white-space:normal;min-width:140px}.trend-group .section-head{flex-wrap:wrap}.residual-row{grid-template-columns:58px 1fr 66px;gap:8px;font-size:10px}}


/* Season workspace and the permanent race library. */
.sidebar{overflow-y:auto}.sidebar .brand{margin-bottom:25px}.nav-item{padding:11px 15px;margin-bottom:3px}.sidebar-bottom{padding-top:12px}.local-note{margin-bottom:10px}
.archive-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:24px;align-items:start}.archive-list{position:sticky;top:22px}.archive-card{display:flex;flex-direction:column;gap:8px;text-align:left;width:100%;padding:21px;margin-bottom:12px;border-radius:17px;border:1px solid white;color:var(--ink)}.archive-card small{font-size:10px;color:var(--muted)}.archive-card strong{font-size:19px;letter-spacing:-.5px}.archive-card span{font-size:11px;color:var(--muted)}.archive-card.selected{border-color:#6a88e1;box-shadow:inset 3px 0 #345be2;background:#ecf1ff}.archive-forecast{display:flex;gap:15px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:14px 0;font-size:12px}.archive-forecast small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.archive-layout .setup-tiles{gap:8px}.archive-layout .setup-tiles strong{font-size:24px}.archive-layout .setup-tiles small{font-size:8px}
.practice-guide .section-head{flex-wrap:wrap}.practice-guide .setup-tiles{margin-top:18px}.tyre-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tyre-evidence>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#f1f4fc;padding:18px;border-radius:12px}.tyre-evidence strong{font:650 19px ui-monospace,monospace}.tyre-evidence small{width:100%;font-size:10px;color:var(--muted)}
.season-hero{border-radius:22px;padding:30px;margin-bottom:23px;border-left:3px solid #824bd5;background:linear-gradient(120deg,#fff,#eef2ff)}.season-hero h2{font-size:28px}.season-hero p{color:var(--muted);margin-top:10px;font-size:12px}.season-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.season-chart{width:100%;height:auto;max-height:280px;margin-top:20px}.season-chart text{font:11px ui-monospace,monospace;fill:#5d7297}.season-metrics .metric strong{font-size:25px}.season-table{min-width:1100px}.season-table td{vertical-align:top;font-size:11px}.season-table td:first-child{max-width:180px}.season-table input{display:block;margin-top:4px;font-size:11px;padding:7px;min-width:60px;width:110px}.season-table td:first-child input{width:150px}.season-table td small{display:block;font-size:9px;color:var(--muted);max-width:170px;white-space:normal;margin-top:6px}.season-table .error small{color:#9f394d}.part-tag{display:block;white-space:normal;max-width:190px;font-size:10px;padding-bottom:4px}.season-table td.error{color:#aa304a}.season-hero~.panel .section-head{flex-wrap:wrap}
@media(max-width:1100px){.archive-layout{grid-template-columns:1fr}.archive-list{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.archive-card{margin:0;padding:15px}.archive-card strong{font-size:16px}.tyre-evidence strong{font-size:16px}}
@media(max-width:760px){.sidebar{overflow:visible}.sidebar nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;width:100%}.nav-item{width:100%;padding:8px 2px;margin:0;min-width:0}.nav-item span{font-size:7px;line-height:1.2;white-space:normal;text-align:center}.nav-item svg{width:18px;height:18px}.archive-list{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-layout{gap:18px}.archive-card{padding:13px}.archive-card small,.archive-card span{font-size:9px}.archive-card strong{font-size:17px}.tyre-evidence{grid-template-columns:1fr;gap:10px}.tyre-evidence>div{padding:12px}.tyre-evidence small{width:auto;flex:1;min-width:90px}.season-hero{padding:23px}.season-hero h2{font-size:23px}.season-hero-actions .btn{font-size:10px}.season-metrics .metric strong{font-size:23px}.archive-layout .setup-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.archive-layout .setup-tiles small{font-size:9px}}

.archive-layout>*{min-width:0;max-width:100%}.archive-layout .panel{min-width:0;max-width:100%}.archive-layout .section-head,.archive-layout .wing-result,.archive-forecast{flex-wrap:wrap}.archive-forecast>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:1100px){.archive-layout{grid-template-columns:minmax(0,1fr)}}

@media(max-width:760px){.panel:has(#archive-search) .section-head{flex-direction:column;align-items:flex-start;gap:16px}}

/* Compact strategy shortlist with an explicit race / lap objective. */
.strategy-objective{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px}.strategy-objective h2{font-size:24px;letter-spacing:-.5px}.strategy-objective p{font-size:12px;color:var(--muted);margin-top:7px}.strategy-mode{display:flex;gap:8px;flex-wrap:wrap}.strategy-mode .btn{font-size:12px;min-height:42px}.strategy-shortlist{display:grid;grid-template-columns:repeat(var(--strategy-count,3),minmax(0,1fr));gap:17px}.strategy-pick{padding:23px;border-radius:21px;min-width:0;display:flex;flex-direction:column;border-top:3px solid #b5c4e1}.strategy-pick.recommended{background:linear-gradient(135deg,#fafaff,#edf1ff);border-top-color:#824bd5;box-shadow:0 10px 35px #5165a014}.pick-heading{display:flex;gap:11px;align-items:center;flex-wrap:wrap}.pick-heading>div{flex:1;min-width:90px}.pick-heading b{display:block;font-size:15px}.pick-heading small{display:block;margin-top:5px;font-size:11px;color:var(--muted)}.pick-heading .pill{font-size:9px;padding:4px 7px}.pick-time{margin:27px 0 18px}.pick-time strong{font:650 28px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:#203a70;letter-spacing:-1px}.pick-time>span{display:block;font-size:10px;color:var(--muted);margin-top:7px}.pick-facts{display:flex;flex-direction:column;gap:9px;color:#586b8c;font-size:11px;margin-bottom:23px}.pick-facts>span:first-child{color:#7144b8;font-weight:650}.pick-actions{display:flex;gap:8px;margin-top:auto}.pick-actions .btn{flex:1;justify-content:center;font-size:11px;padding:10px 8px}.strategy-base-note{margin:15px 0 26px;line-height:1.7}.strategy-layout>div{min-width:0}.strategy-group-select{font-size:10px;color:var(--muted);display:flex;flex-direction:column;gap:6px;flex-shrink:0}.strategy-group-select select{padding:9px;border:1px solid #c7d4eb;border-radius:9px;background:#f4f7ff;color:#2e477a;font-size:11px}.strategy-comparison .section-head{gap:14px}.strategy-group{border-top:1px solid var(--line)}.strategy-group>summary{list-style:none;display:flex;align-items:center;gap:12px;cursor:pointer;padding:18px 0;color:#2f4779}.strategy-group>summary::-webkit-details-marker{display:none}.strategy-group>summary>span{display:flex;align-items:center;gap:11px;flex:1}.strategy-group>summary b{font-size:13px;font-weight:650}.strategy-group>summary small{font-size:11px;color:var(--muted)}.strategy-group>summary:after{content:'+';font-size:20px;color:#6e81a8;width:16px;text-align:center}.strategy-group[open]>summary:after{content:'−'}.strategy-group-body{padding:0 0 20px}.strategy-group-body .strategy-row{border:1px solid #d7e1f2;background:#f8faff;padding:17px;border-radius:13px;margin:8px 0}.strategy-group-body .strategy-row:last-child{padding-bottom:17px}.strategy-evidence{border-radius:18px;margin-bottom:24px;overflow:hidden}.strategy-evidence>summary{padding:21px 24px;cursor:pointer;font-size:13px;font-weight:600;color:#3e5481}.strategy-evidence>.panel{margin:0;border:0;border-top:1px solid var(--line);box-shadow:none;border-radius:0}.lap-explainer{margin-bottom:20px;line-height:1.8}.lap-explainer b{color:#6744a9}.strategy-mode button:focus-visible,.strategy-group summary:focus-visible,.strategy-evidence summary:focus-visible{outline:2px solid #345be2;outline-offset:4px}
@media(max-width:1200px){.strategy-pick{padding:19px}.pick-time strong{font-size:23px}.strategy-shortlist{gap:12px}.strategy-objective{align-items:flex-start;flex-direction:column}.pick-heading .pill{width:fit-content}.pick-facts{font-size:10px}.strategy-comparison .section-head{flex-wrap:wrap}}
@media(max-width:760px){.strategy-shortlist{grid-template-columns:1fr;gap:12px}.strategy-pick{padding:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 12px;border-radius:18px}.pick-heading{grid-column:1/-1}.pick-heading>div{min-width:100px}.pick-time{margin:0;grid-column:1/-1}.pick-time strong{font-size:27px}.pick-facts{grid-column:1/-1;margin:0;font-size:11px;gap:7px}.pick-actions{grid-column:1/-1;width:100%}.pick-actions .btn{min-height:39px;font-size:12px}.strategy-objective{gap:17px;margin-bottom:18px}.strategy-objective h2{font-size:22px}.strategy-mode{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.strategy-mode .btn{font-size:11px;white-space:normal;text-align:center;padding:10px;line-height:1.5}.strategy-comparison .section-head{flex-direction:column;gap:15px}.strategy-group-select{width:100%;font-size:11px}.strategy-group-select select{font-size:13px;min-height:40px}.strategy-group-body .strategy-row{padding:14px}.strategy-group-body .strategy-row:last-child{padding-bottom:14px}.strategy-row-title>strong{white-space:normal;max-width:125px;text-align:right}.strategy-evidence>summary{padding:19px}.strategy-base-note{font-size:10px}.strategy-pick .pick-heading .pill{font-size:8px}.strategy-evidence .tyre-evidence{grid-template-columns:1fr}}

.lap-explainer summary{cursor:pointer;color:#6543a6;font-weight:650}.lap-explainer p{margin-top:12px}.pick-time strong{overflow-wrap:anywhere}

/* Archive seasons and its nested forecast review. */
.archive-filters{display:grid;grid-template-columns:minmax(155px,230px) minmax(0,1fr);align-items:end;gap:20px}.archive-filters select,.archive-filters input{width:100%;min-width:0;box-sizing:border-box}.archive-scope-note{color:var(--muted);font-size:12px;line-height:1.7;padding-bottom:10px}.archive-controls .section-head{flex-wrap:wrap;gap:16px}.archive-sections{margin-bottom:24px}.archive-controls{margin-bottom:22px}.archive-list .empty{font-size:12px;line-height:1.8;padding:20px 0}
@media(max-width:760px){.sidebar nav{grid-template-columns:repeat(6,minmax(0,1fr))}.nav-item span{font-size:8px}.archive-filters{grid-template-columns:1fr;gap:15px}.archive-scope-note{font-size:11px;padding-bottom:0}.archive-sections{gap:24px}.archive-sections button{font-size:12px}.archive-controls .section-head{flex-direction:column;align-items:flex-start}.archive-controls .btn{font-size:11px}}

/* Align all calendar editors on the same row baseline. */
.season-table td{padding-top:16px;padding-bottom:16px;vertical-align:top}.season-table td:first-child{min-width:205px;max-width:none}.season-race-cell{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:center;min-height:36px}.season-track-name{font-size:14px;font-weight:600;line-height:1.4;color:var(--ink)}.season-race-cell>b{font:650 12px ui-monospace,monospace;color:#526c96}.season-table input{height:36px;box-sizing:border-box;margin:0;line-height:20px;padding:7px 9px}.season-table td small{margin-top:8px;line-height:1.6}.season-early-warning{line-height:1.8;margin-top:12px}.season-table .wear-caution{color:#936018}.part-projection{display:block;color:var(--muted);font-size:10px;margin-top:7px;white-space:nowrap}#season-race td{vertical-align:top}#season-race select,#season-race input{height:36px;min-height:36px;box-sizing:border-box;line-height:20px;margin:0}

/* Broadcast-inspired tyre sidewalls; compound colours stay consistent everywhere. */
.tyre-chip{--tyre-mark:#f4f6fb;position:relative;isolation:isolate;box-sizing:border-box;display:inline-grid;place-items:center;width:34px;height:34px;min-width:34px;flex-shrink:0;border-radius:50%;border:1px solid #11151e;font:850 10px/1 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.3px;font-style:normal;box-shadow:0 2px 4px #12203b24,inset 0 1px 2px #ffffff28,inset 0 -2px 3px #0009;text-shadow:0 1px 2px #0009;vertical-align:middle}
.tyre-chip.ES{--tyre-mark:#bb7af4}.tyre-chip.S{--tyre-mark:#ff5367}.tyre-chip.M{--tyre-mark:#ffdb3c}.tyre-chip.H{--tyre-mark:#f5f7fc}.tyre-chip.R{--tyre-mark:#48b4f5}
.tyre-chip.ES,.tyre-chip.S,.tyre-chip.M,.tyre-chip.H,.tyre-chip.R{background:radial-gradient(circle at 35% 20%,#434b58 0,#242a35 38%,#131821 78%);border-color:#11151e;color:var(--tyre-mark);box-shadow:0 2px 4px #12203b24,inset 0 1px 2px #ffffff28,inset 0 -2px 3px #0009}
.tyre-chip:before{content:'';position:absolute;inset:3px;border:2px solid var(--tyre-mark);border-radius:50%;box-shadow:0 0 0 1px #0008,inset 0 0 0 1px #0005;z-index:-1}.tyre-chip:after{content:'';position:absolute;inset:8px;border-radius:50%;border:1px solid #ffffff17;background:radial-gradient(circle at 45% 30%,#35404b38,#0b101750);z-index:-1}
.tyre-speed-panel{container-type:inline-size}.tyre-speed-panel .tyre-evidence{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tyre-speed-panel .tyre-evidence>div{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;min-width:0;padding:17px 15px;border:1px solid #dce4f3;border-radius:15px;background:#f1f4fc}.tyre-speed-panel .tyre-evidence .reference-base{background:#f1ebfc;border-color:#ded0f3}.tyre-speed-panel .tyre-chip{width:42px;height:42px;min-width:42px;font-size:12px}.tyre-speed-panel .tyre-chip:before{inset:4px;border-width:2.5px}.tyre-speed-panel .tyre-chip:after{inset:10px}.tyre-evidence-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.tyre-evidence-copy>b{font-size:11px;line-height:1.4;font-weight:600;color:#536683}.tyre-evidence-copy strong{display:block;white-space:nowrap;font:700 19px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:#253955;letter-spacing:-.5px}.tyre-speed-panel .tyre-evidence small{display:block;width:auto;font-size:10px;line-height:1.5;color:#63718a}
@container(max-width:760px){.tyre-speed-panel .tyre-evidence{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:440px){.tyre-speed-panel .tyre-evidence{grid-template-columns:1fr}.tyre-speed-panel .tyre-evidence>div{padding:14px;gap:14px}.tyre-speed-panel .tyre-evidence-copy{gap:4px}}
@media(max-width:760px){.tyre-chip{width:32px;height:32px;min-width:32px}.tyre-speed-panel .tyre-chip{width:42px;height:42px;min-width:42px}.tyre-speed-panel .tyre-evidence{grid-template-columns:1fr}.tyre-speed-panel .tyre-evidence-copy strong{font-size:19px}}

/* Actual per-lap driver feedback, separate from lap-time highlighting. */
.setup-feedback{display:inline-block;font:650 12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;min-width:2.4em}.feedback-happy{color:#167247}.feedback-level-1{color:#b34c56}.feedback-level-2{color:#b3273b;font-weight:750}.feedback-level-3{color:#820d29;font-weight:850}.feedback-ungraded{color:#a54451;text-decoration:underline dotted;text-underline-offset:4px}.feedback-unknown{color:#7d899f;font-weight:500}.feedback-legend{display:flex;gap:12px 22px;flex-wrap:wrap;align-items:center;margin-top:22px;font-size:11px;font-weight:650}.feedback-legend>span{display:flex;align-items:center;gap:7px}.feedback-legend>span:before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}.feedback-editor{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;align-items:end;padding:13px;border:1px solid var(--line);border-radius:11px;background:#f7f9ff}.feedback-editor .field{min-width:0}.feedback-editor select{width:100%;min-width:0;font-size:12px}.feedback-editor select:disabled{color:#8490a7;opacity:.7}
@media(max-width:760px){#lap-form .fields.two:has(.feedback-editor){grid-template-columns:1fr}.feedback-editor{gap:10px;padding:12px}.feedback-legend{font-size:10px;gap:10px 15px}}

/* Geometric Swiss cross and unclipped weather artwork. */
.flag{display:inline-flex;align-items:center;justify-content:center;align-self:center;flex-shrink:0;line-height:0;background:#dc414a}.flag>svg{display:block;width:16px;height:16px;flex-shrink:0}.weather-summary>svg{display:block;overflow:visible;justify-self:center}
@media(max-width:760px){.flag>svg{width:14px;height:14px}.weather-summary>svg{margin-left:auto}}

/* Practice: contextual next step, optional methodology. */
.practice-method{margin-top:20px;border-top:1px solid var(--line);padding-top:15px;color:var(--muted);font-size:11px}.practice-method>summary{cursor:pointer;width:fit-content;color:#4d628c;font-weight:600}.practice-method>div{max-width:860px;line-height:1.8;padding-top:10px}.practice-method p+p{margin-top:9px}.practice-next{border-radius:18px;margin-bottom:22px;overflow:hidden}.practice-next>summary{cursor:pointer;display:flex;align-items:center;gap:16px;padding:18px 24px;list-style:none;color:#3e5481;font-size:12px}.practice-next>summary::-webkit-details-marker{display:none}.practice-next>summary>b{flex:1;font-weight:600}.practice-next>summary:after{content:'+';font-size:20px}.practice-next[open]>summary:after{content:'−'}.practice-next-body{padding:0 24px 24px}.practice-next-body .footnote{margin:16px 0}.practice-method>summary:focus-visible,.practice-next>summary:focus-visible{outline:2px solid #345be2;outline-offset:4px}@media(max-width:760px){.practice-next>summary{padding:16px;gap:10px;flex-wrap:wrap}.practice-next>summary>b{flex-basis:65%;order:4}.practice-next>summary>.tyre-chip{margin-left:auto}.practice-next-body{padding:0 16px 18px}}

/* Paddock identity, supplied by the selected logo project. */
.sidebar .brand{margin-left:2px;margin-right:2px;gap:10px}.brand img{width:57px;height:36px;object-fit:contain;border-radius:0;box-shadow:none}.brand b{display:block;white-space:nowrap;font:italic 800 18px/1 Arial,sans-serif;letter-spacing:-.6px}.brand b span{margin-left:4px;font:inherit;letter-spacing:-.5px}.brand small{color:#7b674c;font-size:8px;font-weight:500;letter-spacing:1.4px;margin-top:8px}

/* Calendar notices form a separate stack above the table. */
.season-calendar-notices{display:grid;gap:12px;margin:0 0 24px}.season-calendar-notices .notice{margin:0;padding:16px 18px}.season-calendar-notices .notice>b{display:block;font-size:12px;line-height:1.6;margin-bottom:5px;font-weight:650}.season-calendar-notices .notice>span{display:block;line-height:1.75}.season-calendar>.table-wrap{border-radius:12px 12px 0 0}@media(max-width:760px){.season-calendar-notices{gap:10px;margin-bottom:20px}.season-calendar-notices .notice{padding:13px 14px}.season-calendar-notices .notice>b{font-size:11px}}

/* Shared clear-track risk editor; individual race overrides remain in the table. */
.season-calendar>.section-head{flex-wrap:wrap;gap:18px}.season-risk-control{display:grid;grid-template-columns:auto auto;gap:8px 14px;align-items:center;flex-shrink:0}.season-risk-control>label{grid-column:1/-1;font-size:11px;font-weight:600;color:#4d6082}.season-risk-entry{display:flex;gap:8px;align-items:center}.season-risk-entry input{width:78px;min-width:0;height:36px;padding:7px 9px;border:1px solid #c7d4eb;border-radius:9px;background:#fff;color:var(--ink);font-size:13px}.season-risk-entry .btn{height:36px;padding:7px 12px;font-size:11px}.season-risk-presets{display:flex;gap:4px}.season-risk-presets .btn{min-width:35px;height:34px;padding:6px 9px;font-size:11px;border:1px solid transparent}.season-risk-presets .selected{background:#e8edff;border-color:#c9d3f7;color:#345be2}.season-risk-entry input:focus-visible{outline:2px solid #345be2;outline-offset:2px}@media(max-width:760px){.season-risk-control{width:100%;grid-template-columns:1fr auto;gap:8px}.season-risk-entry input{flex:1;width:70px}.season-risk-entry .btn{flex-shrink:0}.season-risk-presets{gap:2px}.season-risk-presets .btn{padding:6px;min-width:29px}}

/* Tournament: compact standings, pinned names and round-based cup cards. */
.tournament-panel{min-width:0}.tournament-heading{flex-wrap:wrap;gap:16px}.tournament-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin-bottom:24px;flex-wrap:wrap}.tournament-toolbar .section-tabs{margin:0;border:0;gap:30px}.tournament-selects{display:flex;gap:14px;margin-bottom:12px;flex-wrap:wrap}.tournament-selects label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--muted)}.tournament-selects select{max-width:225px;border:1px solid #c7d4eb;border-radius:9px;background:#fff;color:var(--ink);padding:8px 10px;font-size:12px}.tournament-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#f1f4ff;border:1px solid #dde3f5;border-radius:14px;margin-bottom:22px}.tournament-metrics>div{padding:18px 22px;border-right:1px solid #dce3f4}.tournament-metrics>div:last-child{border:0}.tournament-metrics span{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.tournament-metrics strong{font-size:26px;font-weight:650;letter-spacing:-.5px;color:#304b80}.tournament-metrics small{font-size:10px;font-weight:400;letter-spacing:0}.tournament-metrics>div>small{display:block;margin-top:5px;color:var(--muted)}.tournament-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 18px}.tournament-search{display:flex;gap:7px;flex:1;min-width:210px;max-width:360px}.tournament-search input{width:100%;min-width:0;height:36px;padding:8px 11px;border:1px solid #c7d4eb;border-radius:9px;background:#fff;font-size:12px}.tournament-search button{font-size:11px;padding:7px 12px}.tournament-modes{display:flex;gap:3px}.tournament-controls .btn,.cup-stages .btn{font-size:11px;padding:8px 11px}.tournament-scroll{max-height:70vh;border:1px solid #dbe3f3;border-radius:12px;isolation:isolate}.standings-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.standings-table th,.standings-table td{text-align:center;white-space:nowrap;padding:11px 12px;min-width:47px}.standings-table thead th{position:sticky;top:0;z-index:3;background:#edf1fa;font-size:10px}.standings-table tbody td{background:#fcfdff;border-bottom:1px solid #e6eaf4;font-size:12px}.standings-table .standings-place{position:sticky;left:0;min-width:55px;z-index:2}.standings-table .standings-name{position:sticky;left:55px;min-width:200px;max-width:300px;text-align:left;z-index:2}.standings-table .standings-points{font-size:13px;color:#284879}.standings-table thead .standings-place,.standings-table thead .standings-name{z-index:4;background:#edf1fa}.standings-table .standings-own td{background:#eaf0ff;color:#2c4d91}.standings-table .standings-own .standings-name{box-shadow:inset 3px 0 #4466d5}.standings-name a{font-size:12px;color:inherit;font-weight:550;text-decoration:none}.standings-name a:hover{text-decoration:underline}.manager-country{font-size:16px;vertical-align:middle;margin-right:8px}.own-label{font-size:9px;font-style:normal;font-weight:600;color:#345be2;background:#dce5ff;border-radius:4px;padding:3px 5px;margin-left:8px;white-space:nowrap}.standings-gap{color:var(--muted)}.race-result{display:inline-grid;place-items:center;min-width:26px;min-height:27px;border-radius:6px;font:550 12px ui-monospace,SFMono-Regular,Consolas,monospace;color:#617190}.race-result.podium{font-weight:750}.podium-1{background:#f7e9b5;color:#705013}.podium-2{background:#e2e8f0;color:#495e78}.podium-3{background:#f2e1d2;color:#80532b}.tournament-caption{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:10px;margin-top:16px;line-height:1.6}.tournament-empty p{font-size:12px;line-height:1.8;max-width:550px;margin:12px auto 0}.tournament-empty h2{color:#3d527a}.cup-stages{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}.cup-matches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.cup-match{border:1px solid #d8e0f1;border-radius:13px;overflow:hidden;background:#fcfdff}.cup-match-own{border-color:#8eaae7;box-shadow:0 0 0 1px #d9e3fc}.cup-match-caption{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;font-size:10px;color:var(--muted);background:#eff3fc}.cup-player{display:grid;grid-template-columns:24px minmax(0,1fr) 28px 16px;gap:9px;align-items:center;padding:15px 16px;font-size:13px;line-height:1.6}.cup-player+.cup-player{border-top:1px solid #e4eaf6}.cup-player small{font:10px ui-monospace,monospace;color:#8d99b3}.cup-player>b{font:700 20px ui-monospace,monospace;text-align:right;color:#365081}.cup-player-winner{font-weight:650}.cup-player-winner>span:last-child{color:#23916b}.cup-player-own{background:#edf2ff;color:#3155a1}.tournament-winner{display:flex;gap:16px;align-items:center;background:#fbf3dc;padding:17px 20px;border-radius:12px;margin-bottom:20px}.tournament-winner span{font-size:11px;color:#8a7440}.tournament-winner strong{font-size:17px}.tournament-panel>.notice{margin:0 0 20px}.tournament-selects select:focus-visible,.tournament-search input:focus-visible{outline:2px solid #345be2;outline-offset:2px}
@media(max-width:1100px){.sidebar .nav-item{padding-top:11px;padding-bottom:11px;margin-bottom:4px}.cup-matches{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar nav{grid-template-columns:repeat(7,minmax(0,1fr))}.sidebar .nav-item{padding:8px 2px;margin:0}.nav-item span{font-size:7px}.tournament-panel{padding:20px 14px}.tournament-heading .inline-actions{width:100%;justify-content:space-between}.tournament-heading .btn{font-size:10px;padding:8px 11px}.tournament-toolbar{gap:14px}.tournament-selects{gap:12px;width:100%;display:grid;grid-template-columns:74px minmax(0,1fr)}.tournament-selects select{max-width:100%;width:100%;font-size:11px}.tournament-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-metrics>div{padding:14px}.tournament-metrics>div:nth-child(2){border-right:0}.tournament-metrics>div:nth-child(-n+2){border-bottom:1px solid #dce3f4}.tournament-metrics strong{font-size:23px}.tournament-search{min-width:0;max-width:none;width:100%;flex-basis:100%}.standings-table .standings-place{left:auto;position:static;min-width:43px}.standings-table .standings-name{left:0;min-width:167px;max-width:167px;white-space:normal}.standings-name a{font-size:11px}.manager-country{font-size:14px;margin-right:5px}.standings-table th,.standings-table td{padding:10px 9px}.standings-table thead .standings-name{left:0}.cup-player{font-size:12px;padding:13px 12px;gap:7px;grid-template-columns:19px minmax(0,1fr) 23px 14px}.cup-player .own-label{display:inline-block;margin:3px 0 0 6px}.tournament-winner{align-items:start;flex-direction:column;gap:5px}}

.archive-search-control{display:flex;align-items:center;gap:10px;min-width:0}.archive-search-control input{flex:1;min-width:0}.archive-search-control .btn{flex:none;min-height:42px;padding:10px 14px}.archive-filters .field>label{font-size:12px;color:var(--muted);margin-bottom:8px}

.page-heading.practice-heading{flex-wrap:wrap}.practice-heading-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
@media(max-width:760px){.practice-heading-actions{width:100%;margin-top:6px}.page-heading .practice-api-refresh{font-size:12px;border-radius:11px;margin-top:0;padding:10px 14px}.practice-heading-actions>.btn:last-child{margin-top:0}}

.api-dialog-actions{flex-wrap:wrap}
#season-parts table{width:100%;min-width:770px;table-layout:fixed}
#season-parts th:first-child{width:17%}
#season-parts th:nth-child(2){width:11%}
#season-parts th,#season-parts td{padding:12px 10px;vertical-align:top;white-space:normal}
#season-parts td input{display:block;width:100%;min-width:0;box-sizing:border-box}
#season-parts td select{width:100%;min-width:60px;box-sizing:border-box;padding-left:10px}
#season-parts td small{display:block;margin-top:6px;color:var(--muted);font-size:10px;line-height:1.4;white-space:normal}
.season-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}.season-toolbar p{font-size:12px;color:var(--muted);line-height:1.7}.season-toolbar>div{display:flex;gap:10px;flex-shrink:0}.season-current .section-head{gap:20px;align-items:flex-start}.season-current h2,.season-start h2{margin:12px 0 8px;font-size:25px}.season-current-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.season-current-grid>div{display:flex;flex-direction:column;gap:9px;padding-right:18px;border-right:1px solid var(--line,#dce3ef)}.season-current-grid>div:last-child{border:0}.season-current-grid span{font-size:11px;color:var(--muted)}.season-current-grid strong{font-size:19px;line-height:1.4}.season-current-grid small{font-size:11px;color:var(--muted);line-height:1.7}.season-prep{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid #d9e2f5;border-radius:14px;background:#f3f6ff}.season-prep.pending{background:#fff8eb;border-color:#eadbbd}.season-prep strong{font-size:12px}.season-prep p{font-size:11px;line-height:1.8;margin:6px 0 0;color:var(--muted)}.season-prep .btn{flex-shrink:0}.season-compact{min-width:880px}.season-compact td:first-child{min-width:175px}.season-compact input{width:65px}.season-compact th,.season-compact td{padding-left:12px;padding-right:12px}.season-compact td strong{font-size:12px;white-space:nowrap}.season-compact .part-tag{font-size:11px;line-height:1.6}.season-compact td small{font-size:10px;max-width:210px}.season-current-row{background:#edf2ff}.season-table .season-now{color:#3657c4;font-weight:650}.season-no-change{color:var(--muted)}.season-model-warning{margin:0 0 24px;line-height:1.8}.season-fold{padding:0;overflow:hidden}.season-fold>summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px 28px;cursor:pointer;list-style:none;font-size:15px;font-weight:650}.season-fold>summary::-webkit-details-marker{display:none}.season-fold>summary:after{content:'+';font-size:22px;font-weight:400;color:#5472b0}.season-fold[open]>summary:after{content:'−'}.season-fold>summary:focus-visible{outline:2px solid #345be2;outline-offset:-4px;border-radius:20px}.season-summary-hint{margin-left:auto;color:var(--muted);font-size:11px;font-weight:400}.season-fold summary small{display:inline-block;margin-left:8px;padding:3px 8px;background:#eaf0fb;border-radius:8px;color:#53678b;font-size:11px}.season-fold-body{padding:0 28px 28px}.season-fold-body .season-hero-actions{margin:0 0 28px}.season-fold-body h3{font-size:15px;margin:28px 0 12px}.season-fold-body.race-columns{margin:0;gap:28px}.season-past-list{display:grid;margin:0 0 20px}.season-past-race{display:grid;grid-template-columns:1fr 1fr auto;gap:24px;align-items:center;padding:18px 0;border-top:1px solid var(--line,#dce3ef)}.season-past-race strong{font-size:13px}.season-past-race small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.season-past-race>div>span{font-size:12px;color:var(--muted)}.season-race-budget{display:flex;gap:16px;flex-wrap:wrap;padding:18px 0 24px;font-size:11px;color:var(--muted)}.season-start p{line-height:1.8;margin-bottom:20px}
@media(max-width:1050px){.season-toolbar{align-items:flex-start;flex-direction:column;gap:12px}}
#season-race table{width:100%;min-width:690px;table-layout:fixed}#season-race th,#season-race td{white-space:normal;padding:14px 9px;line-height:1.6}#season-race th:nth-child(1){width:19%}#season-race th:nth-child(2){width:13%}#season-race th:nth-child(3){width:25%}#season-race th:nth-child(4){width:26%}#season-race th:nth-child(5){width:17%}#season-race select{width:100%;padding:7px 9px;min-width:0;font-size:12px}#season-race input{max-width:100%}.season-down-control{display:block;margin-top:12px}.season-down-control[hidden]{display:none}.season-down-control>span{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin-bottom:5px}.season-down-control input{width:100%}.season-past-race .season-race-cell .season-track-name{font-size:14px}
.season-compact{width:100%;min-width:780px;table-layout:fixed}.season-compact th{white-space:normal;line-height:1.6}.season-compact th:nth-child(1){width:21%}.season-compact th:nth-child(2){width:9%}.season-compact th:nth-child(3){width:23%}.season-compact th:nth-child(4){width:19%}.season-compact th:nth-child(5){width:13%}.season-compact th:nth-child(6){width:15%}.season-compact td:first-child{min-width:0}.season-compact input{max-width:100%;min-width:0}.season-compact .btn{width:100%;white-space:normal;line-height:1.5;padding:7px 5px;font-size:11px}.season-compact .season-track-name{overflow-wrap:anywhere}.season-compact td small{overflow-wrap:anywhere}
.season-budget-audit .section-head{align-items:center;gap:16px;flex-wrap:wrap}.season-budget-audit .section-head p{font-size:12px;line-height:1.8}.season-budget-table{width:100%;min-width:680px;table-layout:fixed}.season-budget-table th{white-space:normal;line-height:1.6}.season-budget-table th:first-child{width:37%}.season-budget-table td{font-size:12px;line-height:1.65;white-space:normal;vertical-align:top}.season-budget-table th,.season-budget-table td{padding:14px 10px}.season-budget-table td:not(:first-child){font-variant-numeric:tabular-nums}.season-budget-audit .footnote{line-height:1.9;margin:16px 0}.season-audit-detail{border-top:1px solid #e0e5f0;margin-top:15px;padding-top:15px}.season-audit-detail>summary{cursor:pointer;font-size:12px;font-weight:600;padding:8px 0}.season-audit-detail .review-meta{margin:15px 0;gap:14px;line-height:1.9}#season-income .field{margin-bottom:16px}
@media(max-width:760px){.season-current-grid{grid-template-columns:1fr;gap:18px;margin:22px 0}.season-current-grid>div{border:0;border-bottom:1px solid #dce3ef;padding:0 0 16px}.season-current-grid>div:last-child{padding-bottom:0}.season-current-grid strong{font-size:18px}.season-current h2,.season-start h2{font-size:22px}.season-prep{align-items:flex-start;flex-direction:column;gap:12px;padding:16px}.season-prep .btn{width:100%}.season-fold>summary{padding:21px 20px;font-size:13px;gap:12px}.season-summary-hint{display:none}.season-fold-body{padding:0 20px 22px}.season-past-race{grid-template-columns:1fr auto;gap:12px}.season-past-race>.status{display:none}.season-past-race .season-track-name{font-size:13px}.season-fold-body.race-columns{grid-template-columns:1fr}.season-compact td:first-child{min-width:150px}}
/* Local circuit artwork and platform-independent national flags. */
.country-flag{display:inline-block;width:24px;height:18px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px #1b2a491c;vertical-align:middle;flex-shrink:0}
.country-flag-unknown{background:#e6ebf5;color:#71809a;text-align:center;line-height:18px;font-size:11px}
.grand-prix-flag{display:inline-flex;align-items:center;align-self:baseline;flex-shrink:0;line-height:0;letter-spacing:0}
.grand-prix-flag .country-flag{width:30px;height:22.5px;border-radius:4px}
.manager-country{display:inline-flex;align-items:center;vertical-align:middle;margin-right:9px}
.manager-country .country-flag{width:23px;height:17.25px}
.circuit-graphic{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;margin:0;padding:4px 16px;align-self:center}
.circuit-outline{display:block;width:210px;height:210px;max-width:100%;overflow:visible;filter:drop-shadow(0 4px 7px #5478c71a)}
.circuit-graphic figcaption{font-size:8px;text-align:center;letter-spacing:2px;text-transform:uppercase;color:#60749a;margin-top:5px}
.circuit-unavailable{font-size:11px;color:#7888a1;text-align:center;padding:24px}
@media(max-width:980px){.weekend{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px}.circuit-graphic{grid-column:2;grid-row:1;padding:0}.circuit-outline{width:170px;height:170px}.weekend .weather-summary{grid-column:1/-1;max-width:none;justify-self:stretch;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;width:100%;border-left:0;border-top:1px solid #657fa326;padding:16px 0 0;text-align:left}.weekend .weather-summary .weather-mini{grid-column:3;grid-row:1;margin:0;justify-content:flex-end}.weather-summary .weather-mini span{text-align:left}.weekend .weather-summary>svg{margin:0}.grand-prix-flag .country-flag{width:26px;height:19.5px}}
@media(max-width:480px){.weekend{padding:20px;gap:16px 8px;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr)}.circuit-outline{height:125px;width:125px}.circuit-graphic figcaption{font-size:7px;letter-spacing:1px}.weekend .track-facts{gap:11px}.weekend .track-facts strong{font-size:19px}.weekend .weather-summary{gap:8px}.weekend .weather-summary strong{font-size:27px}.weather-summary .weather-mini{gap:10px}.weekend-copy h2{font-size:23px;gap:9px;flex-wrap:wrap}.grand-prix-flag .country-flag{width:24px;height:18px}}

.circuit-line{fill:none;stroke:#5275cd;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round}

.grand-prix-flag .country-flag{display:block}
/* Financial planning: verified operations and forecast cash flow. */
.season-section-tabs{display:flex;gap:8px;margin:0 0 24px;border-bottom:1px solid #d7dfee;padding-bottom:12px}.season-section-tabs .btn{background:transparent;border:0;border-radius:10px;color:#657188;padding:11px 20px}.season-section-tabs .active{background:#e5eaff;color:#2e4fbd;font-weight:700}
.finance-chart{position:relative;margin:22px 0 8px}.finance-chart-scroll{overflow-x:auto}.finance-chart svg{display:block;width:100%;min-width:600px;overflow:visible;font-size:12px;color:#64718b}.finance-chart text{fill:currentColor;font-family:inherit}.finance-grid{stroke:#dfe5f0;stroke-width:1}.finance-grid.vertical{stroke:#e9edf5}.finance-zero{stroke:#98a9c7;stroke-width:1.5}.finance-before{stroke:#9b65ad;stroke-width:2;stroke-dasharray:6 5;fill:none}.finance-after{stroke:#345be2;stroke-width:3;fill:none}.finance-hit{fill:transparent;cursor:crosshair}.finance-chart g:focus{outline:none}.finance-guide{visibility:hidden;stroke:#345be277;stroke-width:1;pointer-events:none}.finance-chart g:hover .finance-guide,.finance-chart g:focus .finance-guide{visibility:visible}.finance-tooltip{position:absolute;z-index:3;max-width:min(340px,90%);white-space:pre-line;background:#202d4b;color:#fff;border:1px solid #ffffff30;box-shadow:0 8px 25px #22335a24;border-radius:12px;padding:12px 16px;font-size:12px;line-height:1.8;pointer-events:none;font-variant-numeric:tabular-nums}.finance-tooltip[hidden]{display:none}.finance-legend{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;font-size:11px;color:#657188}.finance-legend span{display:flex;align-items:center;gap:7px}.finance-legend i{width:18px;border-top:3px solid #345be2}.finance-legend .before{border-top:2px dashed #9b65ad}.finance-legend .expense{border-color:#d45b72}.finance-legend small{margin-left:auto;color:#7b879c}.finance-plan-chart{margin-top:0}.finance-budget-insight{display:grid;grid-template-columns:1fr 1fr;gap:30px;background:#eff3ff;border:1px solid #d9e2fa;border-radius:14px;padding:21px 24px;margin-top:26px}.finance-budget-insight span,.finance-budget-insight small{display:block;color:#657188;font-size:11px;line-height:1.8}.finance-budget-insight strong{display:block;font-size:25px;margin:6px 0}.finance-budget-insight p{font-size:12px;line-height:1.9;color:#5b6880;margin:0;align-self:center}.finance-api-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.finance-heading .section-head{align-items:flex-start;flex-wrap:wrap;gap:18px}.finance-filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:24px 0 14px}.finance-filters label{font-size:11px;color:#657188;display:grid;gap:8px;min-width:180px}.finance-filters select{min-width:200px}.finance-source{line-height:1.8}.finance-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.finance-columns .panel{min-width:0}.finance-categories{display:grid;gap:20px;margin-top:26px}.finance-category-head{display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:1.5}.finance-category-head strong{white-space:nowrap;font-size:13px}.finance-category-track{background:#e7ecf5;height:7px;border-radius:10px;overflow:hidden;margin:8px 0 4px}.finance-category-track span{display:block;height:100%;border-radius:10px;background:#345be2}.finance-category-track .expense{background:#d45b72}.finance-categories small{font-size:10px;color:#78849a}.finance-journal{min-width:740px}.finance-journal small{display:block;color:#7b879c;font-size:10px;margin-top:5px}.finance-journal td:nth-child(n+3){white-space:nowrap;font-variant-numeric:tabular-nums}.finance-income{color:#276956}.finance-cost{color:#a8445b}
@media(max-width:760px){.finance-columns,.finance-budget-insight{grid-template-columns:1fr}.finance-budget-insight{gap:14px;padding:18px}.finance-legend small{margin-left:0}.finance-api-actions .btn{flex:1}.finance-filters label{min-width:0;flex:1}.finance-filters select{min-width:160px}.finance-plan-chart .section-head{flex-wrap:wrap;gap:12px}.finance-category-head{font-size:11px}.finance-columns{gap:0}}
.finance-reconcile{display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px 18px;background:#eef6f3;border:1px solid #d3e5dd;border-radius:12px;margin:16px 0;font-size:11px;line-height:1.8;color:#32604c}.finance-observed{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:16px 0;padding:18px;background:#f2f5fc;border-radius:12px}.finance-observed strong{font-size:12px}.finance-observed p{font-size:11px;line-height:1.8;color:#657188;margin:6px 0 0}@media(max-width:760px){.finance-observed{flex-direction:column;align-items:flex-start}}

/* Dedicated finance workspace. */
.finance-query{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.finance-query label{display:grid;gap:8px;font-size:11px;color:#68758b;min-width:0}.finance-query .finance-search{grid-column:1/-1}.finance-query input,.finance-query select{width:100%;min-width:0}.finance-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 0;margin-bottom:14px;border-top:1px solid #dce3ef;border-bottom:1px solid #dce3ef}.finance-totals span{display:block;font-size:11px;color:#68758b;margin-bottom:10px}.finance-totals strong{font-size:22px}.finance-operation-group{margin:18px 0;border:1px solid #dce3ef;border-radius:12px;overflow:hidden}.finance-operation-group summary{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;background:#f1f4fd}.finance-operation-group summary strong{font-size:13px}.finance-operation-group summary span{font-size:11px;color:#64718b}.finance-journal{font-size:11px;min-width:850px}.finance-journal td{vertical-align:top;white-space:normal}.finance-journal td:nth-child(1){min-width:145px;white-space:nowrap}.finance-journal td:nth-child(2){min-width:110px}.finance-journal td:nth-child(3){min-width:200px;white-space:normal}.finance-journal td:nth-child(4){white-space:normal}.finance-journal td:nth-child(5),.finance-journal td:nth-child(6){white-space:nowrap}.finance-journal th .btn{font-size:inherit;padding:0;color:inherit}.finance-forecast-fields[hidden]{display:none}.finance-plan-link{padding:14px 18px;background:#eff3ff;border-radius:12px;font-size:12px;line-height:1.8}.finance-ledger .table-wrap{max-height:660px;overflow:auto}.finance-ledger thead{position:sticky;top:0;z-index:1;background:#edf1fa}.finance-ledger .section-head{flex-wrap:wrap;gap:16px}
@media(max-width:760px){.finance-query{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.finance-totals{grid-template-columns:1fr;gap:18px}.finance-totals strong{font-size:20px}.finance-operation-group summary{flex-direction:column;gap:8px}.finance-ledger .table-wrap{max-height:560px}}

@media(min-width:981px) and (max-height:800px){.sidebar{padding-top:22px;padding-bottom:14px}.sidebar .brand{margin-bottom:28px}.sidebar-bottom{padding-top:14px}.sidebar .nav-item{padding-top:10px;padding-bottom:10px}}

@media(max-width:760px){.sidebar nav{grid-template-columns:repeat(8,minmax(0,1fr))}}

/* Race preparation follows practice, strategy, qualifying, then the race plan. */
.preparation-flow{border-radius:18px;margin:0 0 24px;overflow:hidden}.preparation-flow nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:10px;background:#f7f9ff99}.prep-step{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 8px;border:0;border-radius:10px;background:transparent;color:#7c879d;font-size:12px;cursor:pointer}.prep-step-symbol{display:flex;align-items:center;justify-content:center;width:19px;height:19px;flex:0 0 19px;border:1px solid #ced7e8;border-radius:50%;color:#72819d}.prep-step-symbol i{display:block;width:4px;height:4px;border-radius:50%;background:#b8c4d9}.prep-step.ready{color:#3a705b}.prep-step.ready .prep-step-symbol{border-color:#b5d6c4;background:#e6f2eb;color:#367858}.prep-step.current{background:#e8edff;color:#3155c5;font-weight:700}.prep-step.current .prep-step-symbol{border-color:#4267d7;color:#3155c5}.prep-step:focus-visible{outline:2px solid #345be2;outline-offset:-2px}.preparation-next{padding:19px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #e0e6f2}.preparation-next strong{font-size:13px}.preparation-next p{font-size:12px;line-height:1.8;color:#6c7890;margin:5px 0 0}.preparation-next .btn{flex-shrink:0}.qualification-summary{display:flex;align-items:center;gap:20px;margin-top:24px}.qualification-summary .tyre-chip{width:42px;height:42px;font-size:12px}.qualification-summary>div{display:grid;gap:7px}.qualification-summary>div:last-child{margin-left:auto;text-align:right}.qualification-summary strong{font-size:18px}.qualification-summary span:not(.tyre-chip){font-size:12px;color:#6c7890}.qualification-session .section-head{align-items:center;gap:20px;flex-wrap:wrap}.qualification-session .section-head .btn{font-size:11px}.qualification-fuel{display:grid;grid-template-columns:minmax(180px,260px) 1fr;align-items:center;gap:28px;margin-top:25px;padding-top:22px;border-top:1px solid #dfe5ef}.qualification-fuel p{color:#6c7890;font-size:12px;line-height:1.8;margin:0}.qualification-results input[readonly],.qualification-fuel input[readonly]{background:#f1f4fc;color:#526588}.strategy-pick .pick-actions .btn{white-space:normal;line-height:1.5}
@media(min-width:981px) and (max-height:800px){.sidebar .nav-item{padding-top:8px;padding-bottom:8px}.sidebar .brand{margin-bottom:22px}.sidebar-bottom{padding-top:10px}}
@media(max-width:760px){.preparation-flow nav{overflow-x:auto;grid-template-columns:repeat(5,minmax(100px,1fr));padding:7px}.prep-step{font-size:11px;padding:10px 5px;gap:6px}.preparation-next{padding:17px;align-items:flex-start;flex-direction:column;gap:14px}.preparation-next .btn{width:100%}.qualification-summary{gap:12px}.qualification-summary strong{font-size:15px}.qualification-summary span:not(.tyre-chip){font-size:10px}.qualification-fuel{grid-template-columns:1fr;gap:12px}.sidebar nav{grid-template-columns:repeat(9,minmax(0,1fr))}.sidebar .nav-item span{font-size:6.5px}.sidebar .nav-item svg{width:18px;height:18px}}
.lap-form-error{margin-top:20px;padding:13px 16px;border:1px solid #e2a0ad;border-radius:12px;background:#fff0f3;color:#8a203d;font-size:12px;line-height:1.6;outline:none}.lap-form-error[hidden]{display:none}.lap-form-error:focus-visible{outline:2px solid #b73c5a;outline-offset:3px}
dialog:has(.finance-history){width:min(1080px,calc(100% - 32px))}.finance-history-context{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:11px;color:#66738c;margin-bottom:20px}.finance-history-context>span:first-child{font-weight:650;color:#344765}.finance-history-context .pill{margin-left:auto}.finance-history-note{padding:11px 14px;background:#fff7e8;border:1px solid #ecdfbd;border-radius:10px;font-size:11px;line-height:1.7;color:#856222;margin:0 0 18px}.finance-structure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.finance-structure-card{padding:22px;background:#ffffffb0;border:1px solid #dfe5f2;border-radius:20px;min-width:0}.finance-structure-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.finance-structure-heading h3{font-size:17px;margin:0}.finance-structure-heading>span{font-size:10px;color:#78849a}.finance-donut{width:194px;height:194px;margin:16px auto 20px;position:relative}.finance-donut svg{display:block;width:100%;height:100%;overflow:visible}.finance-donut-track{fill:none;stroke:#e9edf5;stroke-width:21}.finance-donut-slice{animation:finance-donut-reveal 420ms cubic-bezier(.2,.7,.2,1) var(--delay) both}.finance-donut-total{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.finance-donut-total span{font-size:9px;color:#7a869c;margin-bottom:6px}.finance-donut-total strong{font-size:21px;font-weight:650;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.finance-donut-total small{font-size:11px;color:#7a869c;margin-top:4px}.finance-donut-legend{padding:0;margin:0;list-style:none;display:grid;gap:11px}.finance-donut-legend li{display:grid;grid-template-columns:8px minmax(0,1fr) auto 43px;gap:8px;align-items:center;font-size:11px;line-height:1.45}.finance-donut-legend i{width:7px;height:7px;border-radius:50%}.finance-donut-legend li>span{color:#57657f}.finance-donut-legend strong{font-size:11px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.finance-donut-legend small{text-align:right;font-size:10px;color:#7a869c;font-variant-numeric:tabular-nums}.finance-donut-empty{font-size:12px;color:#7a869c;text-align:center;padding:15px}.finance-history-net{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 3px;font-size:12px}.finance-history-net strong{font-size:18px;font-variant-numeric:tabular-nums}.finance-history-net small{margin-left:auto;color:#7a869c;font-size:11px}.finance-history-ledger{border-top:1px solid var(--line);padding-top:16px}.finance-history-ledger summary{font-size:12px;cursor:pointer;color:#435b8c}.finance-history-ledger .table-wrap{margin-top:18px}.finance-race-history td{font-variant-numeric:tabular-nums;white-space:nowrap}.finance-race-history td small{display:block;color:#7a869c;font-size:10px;margin-top:5px}.finance-race-history .btn{padding:3px 0;font-size:12px}.finance-race-history td:first-child strong{font-size:13px}.finance-race-history table{min-width:640px}@keyframes finance-donut-reveal{from{stroke-dasharray:0 100;opacity:.35}to{stroke-dasharray:var(--slice) 100;opacity:1}}@media(prefers-reduced-motion:reduce){.finance-donut-slice{animation:none}}@media(max-width:700px){.finance-structure-grid{grid-template-columns:1fr;gap:14px}.finance-structure-card{padding:18px}.finance-history-context{gap:8px}.finance-history-context .pill{margin-left:0}.finance-history-net{gap:8px}.finance-history-net small{margin-left:0}.finance-donut-legend li{font-size:10px;gap:6px}.finance-donut-legend strong{font-size:10px}}
.finance-overview-season{display:grid;gap:6px;font-size:10px;color:#718098;flex-shrink:0}.finance-overview-season select{border:1px solid #c7d1e3;border-radius:9px;background:#ffffffc0;color:#334968;padding:9px 12px;font-size:12px;min-width:140px}.finance-actual-overview>.section-head{flex-wrap:wrap;gap:16px}.finance-actual-overview>.finance-race-history{margin-top:18px}.finance-plan-chart>.section-head{flex-wrap:wrap;gap:16px}.finance-plan-chart .finance-budget-insight{margin-top:24px}.finance-actual-overview .finance-chart{margin-top:14px}
.sidebar .model-link{padding:8px 0;border-radius:8px;transition:color .15s,background-color .15s}.sidebar-settings{font-size:11px;font-weight:550}.settings-layout{display:grid;gap:18px}.settings-section{padding:19px;border:1px solid #dce3f1;border-radius:16px;background:#ffffff80}.settings-section .section-head{margin:0;gap:16px;flex-wrap:wrap}.settings-section h3{font-size:15px;margin:0 0 8px}.settings-section p{line-height:1.7;margin:10px 0;font-size:11px}.settings-section .field{margin:14px 0}.settings-section .api-dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.settings-section summary,.settings-data summary{font-size:11px}.settings-data{margin-top:0}.settings-data .tool-menu{margin-top:15px}.settings-api #api-progress{font-size:11px;color:#49618d}dialog:has(.settings-layout){width:min(650px,calc(100% - 32px))}button:hover,button:active,.btn:hover,.btn:active{transform:none;translate:none;scale:none}button,.btn,[role=button]{transition-property:background-color,color,border-color,box-shadow,opacity,filter}@media(min-width:761px) and (max-width:980px){.sidebar-bottom{display:flex;flex-direction:column;align-items:center;padding:10px 0;margin-top:auto}.sidebar-bottom>:not(.sidebar-settings):not(.sidebar-method){display:none}.sidebar-settings span,.sidebar-method span{display:none}.sidebar .model-link{padding:10px}.sidebar .model-link svg{width:18px;height:18px}}@media(max-width:760px){.sidebar{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:1px;align-items:stretch}.sidebar nav{display:contents}.sidebar .workspace-label{display:none}.sidebar .nav-item{width:100%;min-width:0}.sidebar .nav-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.sidebar-bottom{display:contents}.sidebar-bottom>*{display:none}.sidebar-bottom>.sidebar-settings{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 2px;font-size:6.5px;min-width:0;margin:0}.sidebar-settings span{display:block}.sidebar-settings svg{width:18px;height:18px}.sidebar .brand{display:none}}
@media(min-width:981px) and (max-height:800px){.sidebar .brand{margin-bottom:18px}.sidebar-bottom .local-note{margin-bottom:10px}.sidebar .btn{padding-top:7px;padding-bottom:7px}.sidebar .model-link{padding-top:6px;padding-bottom:6px}}
.driver-identity{display:flex;align-items:center;gap:20px;margin:28px 0 24px}.driver-identity .driver-monogram{flex:none}.driver-identity h3{font-size:24px;margin:6px 0}.driver-identity p{color:#63718a;font-size:12px;margin:5px 0}.driver-identity .eyebrow{font-size:10px;color:#65728a;letter-spacing:.09em}.driver-overall{margin-left:auto;min-width:150px;padding-left:25px;border-left:1px solid #dbe2f2}.driver-overall>span,.driver-overall small{display:block;font-size:11px;color:#63718a}.driver-overall strong{display:block;font-size:37px;line-height:1.3;color:#3c52aa}.driver-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;gap:0 25px}.driver-values>div{padding:17px 0;border-bottom:1px solid #e4e9f5}.driver-values dt{font-size:11px;color:#65718a}.driver-values dd{margin:8px 0 0;font-size:23px;font-weight:650;color:#2b3e65;font-variant-numeric:tabular-nums}.driver-method{font-size:11px;color:#66728c;margin-top:22px;line-height:1.8}.driver-method summary{cursor:pointer;color:#4a619a}.driver-method p{margin:10px 0 0;max-width:850px}.driver-method a{color:#3c55b0}.driver-compare{min-width:240px;max-width:100%}.driver-gains{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.driver-gains>div{border:1px solid #dfe5f4;background:#f2f5ff;border-radius:12px;padding:15px}.driver-gains>div>span:first-child{display:block;font-size:10px;color:#62718e}.driver-gains strong{display:block;font-size:20px;color:#344b85;margin:9px 0;font-variant-numeric:tabular-nums}.driver-gains i{font-style:normal;font-weight:400;color:#9ba8c2;margin:0 7px}.driver-delta{display:inline-block;font-weight:650;font-size:11px;white-space:nowrap;border-radius:6px;padding:3px 6px}.driver-delta.up{color:#3c529c;background:#e3e9fc}.driver-delta.down{color:#a35a29;background:#fff0e2}.driver-history{width:100%;table-layout:fixed}.driver-history th,.driver-history td{white-space:normal;vertical-align:top;overflow-wrap:anywhere}.driver-history th:first-child{width:20%}.driver-history th:nth-child(2){width:22%}.driver-history th:last-child{width:16%}.driver-history small{display:block;margin-top:7px;font-size:10px;color:#6b7891}.driver-history .driver-change{display:inline-flex;align-items:center;gap:4px;margin:0 10px 7px 0;font-size:11px;white-space:nowrap}.driver-history .btn{font-size:10px;white-space:normal;max-width:100%;text-align:left}.driver-oa-preview{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:16px 20px;background:#eef2ff;border:1px solid #d7dff5;border-radius:12px;margin:22px 0;font-size:12px;color:#4d608a}.driver-oa-preview output{font-size:27px;font-weight:700;color:#3f55a6}.driver-oa-preview small{color:#697894}.driver-evolution .section-head{align-items:start}.driver-evolution .footnote{line-height:1.8}
@media(max-width:760px){.driver-history{min-width:650px}.driver-identity{gap:13px;flex-wrap:wrap}.driver-identity h3{font-size:20px}.driver-identity .driver-monogram{width:52px;height:52px;font-size:21px}.driver-overall{min-width:100px;padding-left:16px}.driver-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.driver-values dd{font-size:22px}.driver-evolution .section-head{flex-wrap:wrap;gap:15px}.driver-compare{width:100%}.driver-gains{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-oa-preview{gap:12px}.driver-oa-preview small{width:100%}}
.finance-donut-sector{transform-origin:100px 100px;transition:transform .18s ease,filter .18s ease;cursor:pointer;outline:none}.finance-donut-sector.is-active{transform:scale(1.055);filter:brightness(1.06) drop-shadow(0 2px 3px #273b6929)}.finance-donut-sector:focus-visible .finance-donut-slice{stroke-width:25}.finance-donut-track{pointer-events:none}.finance-donut-slice{pointer-events:stroke}.finance-donut-tooltip{position:absolute;z-index:8;left:50%;top:calc(100% + 5px);transform:translateX(-50%);width:max-content;max-width:245px;box-sizing:border-box;padding:12px 15px;border:1px solid #ffffff24;border-radius:12px;background:#202e4d;color:#fff;box-shadow:0 7px 20px #1d2e5429;white-space:pre-line;font-size:11px;line-height:1.65;text-align:left;pointer-events:none;font-variant-numeric:tabular-nums}.finance-donut-tooltip[hidden]{display:none}@media(prefers-reduced-motion:reduce){.finance-donut-sector{transition:none}}
/* Grand Prix: large circuit and essential weather only. */
.weekend:has(.weekend-weather){grid-template-columns:minmax(170px,.9fr) minmax(220px,1.2fr) minmax(270px,1.05fr);gap:24px;padding:30px;min-height:300px}.weekend:has(.weekend-weather) .circuit-graphic{padding:0;width:100%;align-self:center}.weekend:has(.weekend-weather) .circuit-outline{width:100%;height:270px;max-width:360px;filter:drop-shadow(0 6px 9px #5478c724)}.weekend:has(.weekend-weather) .circuit-line{stroke-width:3.2}.weekend:has(.weekend-weather) .circuit-graphic figcaption{margin-top:0}
.weekend-weather{min-width:0;padding:23px 25px;border:1px solid #dce4f6;border-radius:21px;background:linear-gradient(135deg,#ffffffdb,#f4f7ffb8);box-shadow:0 5px 20px #466cbb06}.weekend-weather-heading{display:flex;align-items:center;justify-content:space-between;gap:9px}.weekend-weather-heading>span:first-child{font-size:10px;font-weight:600;letter-spacing:1.5px;color:#7484a1}.weather-review{display:flex;align-items:center;gap:5px;font-size:9px;color:#9d6922;white-space:nowrap}.weather-review i{width:4px;height:4px;border-radius:50%;background:#d4a04b}.weekend-weather-current{display:flex;align-items:center;justify-content:center;gap:18px;margin:23px 0 25px}.weekend-weather-icon{width:64px;height:54px;flex:none;overflow:visible}.weekend-weather-temperature{min-width:0}.weekend-weather-temperature strong{font-size:49px;letter-spacing:-2px;color:#263c6d;line-height:1.05;font-weight:600;font-variant-numeric:tabular-nums}.weekend-weather-temperature sup{font-size:31px;vertical-align:top;line-height:1.2;font-weight:450;margin-left:2px}.weekend-weather-temperature>span{display:block;font-size:10px;color:#71829f;margin-top:8px;white-space:nowrap}.weekend-weather-basics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dce4f3;padding-top:18px}.weekend-weather-basics>div{text-align:center;border-right:1px solid #dce4f3}.weekend-weather-basics>div:last-child{border-right:0}.weekend-weather-basics span{display:block;font-size:10px;color:#7b8ba6}.weekend-weather-basics strong{display:block;font-size:21px;font-weight:600;color:#3c588b;margin-top:8px;font-variant-numeric:tabular-nums}
@media(min-width:1500px){.weekend:has(.weekend-weather){padding:30px 40px;gap:30px;grid-template-columns:minmax(220px,1fr) minmax(300px,1.3fr) minmax(320px,1.05fr)}.weekend:has(.weekend-weather) .circuit-outline{height:300px;max-width:390px}.weekend-weather{padding:25px 30px}.weekend-weather-temperature strong{font-size:54px}.weekend-weather-icon{width:70px;height:60px}}
@media(max-width:1199px){.weekend:has(.weekend-weather){grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px 24px;padding:27px}.weekend:has(.weekend-weather) .circuit-graphic{grid-column:2;grid-row:1}.weekend:has(.weekend-weather) .circuit-outline{height:230px;max-width:310px}.weekend-weather{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:25px;padding:21px 24px}.weekend-weather-heading{grid-column:1/-1;margin-bottom:15px}.weekend-weather-current{grid-column:1;margin:0;justify-content:flex-start}.weekend-weather-basics{grid-column:2;align-self:center;border-top:0;border-left:1px solid #dce4f3;padding:8px 0 8px 18px}.weekend-weather-temperature strong{font-size:43px}}
@media(max-width:760px){.weekend:has(.weekend-weather){padding:21px;gap:20px 12px}.weekend:has(.weekend-weather) .circuit-outline{height:200px;max-width:260px}.weekend-weather{display:block;padding:21px;border-radius:17px}.weekend-weather-heading{margin-bottom:0}.weekend-weather-current{justify-content:center;margin:20px 0 23px}.weekend-weather-basics{border-left:0;border-top:1px solid #dce4f3;padding:17px 0 0}.weekend-weather-temperature strong{font-size:48px}}
@media(max-width:480px){.weekend:has(.weekend-weather){padding:19px 16px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px 8px}.weekend:has(.weekend-weather) .circuit-outline{height:160px;max-width:190px}.weekend:has(.weekend-weather) .weekend-copy h2{font-size:25px;gap:8px}.weekend:has(.weekend-weather) .track-facts{gap:13px}.weekend:has(.weekend-weather) .track-facts strong{font-size:20px}.weekend-weather{padding:19px}}
.header-api-refresh{flex-shrink:0;padding:8px 12px;font-size:11px}.topbar .breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis}.topbar .top-actions{gap:17px;flex-shrink:0}@media(max-width:760px){.topbar .saved{display:none}.topbar .top-actions{gap:8px}.header-api-refresh{padding:8px;width:34px;height:34px}.header-api-refresh span{display:none}}

.finance-preview-notice{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.finance-preview-notice p{margin:4px 0 0;font-size:11px}.finance-preview-notice .inline-actions{flex-shrink:0}
/* Unified scrollbars: documents, dialogs and nested scroll regions. */
:root{--scroll-thumb:#9aaed1;--scroll-thumb-hover:#758fbd;--scroll-thumb-active:#5573ab;--scroll-track:#e7edf7}
*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}
html{scrollbar-gutter:stable}
@supports selector(::-webkit-scrollbar){
  *{scrollbar-width:auto;scrollbar-color:auto}
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-track{background:var(--scroll-track);border:3px solid transparent;background-clip:padding-box;border-radius:999px}
  ::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:3px solid transparent;background-clip:padding-box;border-radius:999px;min-height:34px;min-width:34px}
  ::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hover)}
  ::-webkit-scrollbar-thumb:active{background-color:var(--scroll-thumb-active)}
  ::-webkit-scrollbar-button{display:none;width:0;height:0}
  ::-webkit-scrollbar-corner{background:transparent}
  ::-webkit-scrollbar-track:vertical{margin:8px 0}
  ::-webkit-scrollbar-track:horizontal{margin:0 8px}
  .sidebar::-webkit-scrollbar-track:vertical{margin:26px 0}
}
@media(forced-colors:active){*{scrollbar-color:auto;scrollbar-width:auto}::-webkit-scrollbar-track{background:Canvas}::-webkit-scrollbar-thumb{background:CanvasText}}
/* The dialog shell clips its rounded corners; only its inset body scrolls. */
dialog{overflow:hidden;scrollbar-gutter:auto}
dialog[open]{display:flex;flex-direction:column}
.dialog-head{position:relative;top:auto;flex:0 0 auto}
.dialog-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin:0 8px 12px 0;padding-right:20px;scroll-padding-block:20px}
.table-wrap{border-radius:10px}
/* Team switcher shares the glass panels, blue accents and quiet hover states. */
.topbar{position:relative;z-index:6}
.team-select{position:relative;flex-shrink:0;min-width:0}
.team-switch-trigger{gap:9px;padding:6px 10px 6px 6px;min-height:40px;max-width:240px;border:1px solid #d8e1f2;border-radius:13px;background:#ffffffa6;color:#2c426c;box-shadow:0 2px 7px #334e7910;font-size:12px;font-weight:550}
.team-switch-trigger:hover,.team-switch-trigger[aria-expanded=true]{border-color:#b4c3e6}
.team-switch-trigger .avatar,.team-option .avatar{width:28px;height:28px;flex:none;border-radius:9px;background:linear-gradient(135deg,#e2eaff,#eae7fa);border-color:#d6dff3;color:#405b9c}
.team-switch-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.team-switch-chevron{margin-left:3px;color:#7184ac}
.team-options{position:absolute;right:0;top:calc(100% + 9px);width:280px;max-width:calc(100vw - 32px);max-height:min(360px,60vh);overflow:auto;overscroll-behavior:contain;padding:7px;border:1px solid #fff;border-radius:17px;background:#f7f9ff;box-shadow:0 16px 42px #2a416e26,0 0 0 1px #dce3f180;z-index:20;scroll-padding-block:8px}
.team-options[hidden]{display:none}
.team-option{width:100%;display:flex;align-items:center;gap:10px;padding:11px 10px;margin:0;border:1px solid transparent;border-radius:11px;background:transparent;text-align:left;color:#344768}
.team-option:focus-visible{border-color:#d8e2f7;outline:none}
.team-option[aria-selected=true]{background:#e6edff;color:#3453aa}
.team-option:focus-visible{box-shadow:inset 0 0 0 2px #8ca3df}
.team-option-copy{flex:1;min-width:0}
.team-option-copy b,.team-option-copy small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.team-option-copy b{font-size:12px;font-weight:600}
.team-option-copy small{font-size:10px;color:#7a88a5;margin-top:3px}
.team-option-check{width:17px;flex:none;color:#4564bd}
@media(max-width:980px){.team-switch-trigger{max-width:185px;font-size:11px}}
@media(max-width:760px){.team-switch-trigger{max-width:165px;min-height:36px;padding:4px 7px 4px 4px;gap:6px;font-size:10px}.team-switch-trigger .avatar{width:25px;height:25px}.team-switch-chevron{width:12px;margin-left:0}.dialog-body{margin-right:6px;padding-right:15px}}

/* Highlight existing borders only; unframed controls stay unframed. */
:root{--control-hover-border:#b4c3e6}
:where(button,a.btn,.import-zone,summary){transition-property:border-color,outline-color,box-shadow;transition-duration:.15s}
:where(.btn.primary,.btn.secondary,.icon-button,.team-switch-trigger,.import-zone):not(:disabled):not([aria-disabled=true]):not(.season-risk-presets .btn):not(.season-section-tabs .btn):hover{border-color:var(--control-hover-border)}
a.btn:hover{text-decoration:none}
/* Menus keep their established soft highlight, independently of button borders. */
.nav-item:not(.active):hover{background:#e5ebfb;color:#1b3269}
.sidebar .model-link:hover{color:#2e4fbd;background:#e7edff80}
.team-option:not([aria-selected=true]):hover{background:#edf1fc}
/* All framed light actions use the same surface as the team selector. */
.btn.secondary,.team-switch-trigger{background:#ffffffa6;border-color:#d8e1f2;border-radius:13px;box-shadow:0 2px 7px #334e7910;color:#2c426c;font-weight:550}
@media(min-width:761px){.header-api-refresh{min-height:42px;font-size:12px}}

/* The history dialog animates SVG strokes; avoid re-blurring a second backdrop on every frame. */
dialog:has(.finance-history){backdrop-filter:none;-webkit-backdrop-filter:none}
/* Team management shares the existing quiet-button hover and focus rules. */
.settings-teams{margin-top:12px}.settings-team-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.settings-team-row>div{min-width:0;overflow-wrap:anywhere}.settings-team-row small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.settings-team-row .btn{flex-shrink:0}.btn.team-remove{color:#a63c52}

/* Home Screen on iPhone: leave room for the notch and home indicator. */
body{padding-top:env(safe-area-inset-top,0px)}
.pwa-update{position:fixed;right:20px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:25;box-shadow:0 4px 20px #233c7020}
@media(max-width:760px){
  .main{padding-bottom:calc(105px + env(safe-area-inset-bottom,0px));padding-left:max(19px,env(safe-area-inset-left,0px));padding-right:max(19px,env(safe-area-inset-right,0px))}
  .sidebar{bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  #toast,.pwa-update{bottom:calc(95px + env(safe-area-inset-bottom,0px))}
  .field input,.field select,.field textarea,input[data-path],select[data-path]{font-size:16px}
  dialog{max-height:88vh;max-height:88dvh}
}
