@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&family=DM+Mono:wght@400;500&display=swap";:root{color:#252923;font-synthesis:none;--paper:#f8f6f0;--ink:#252923;--line:#cccfc4;--muted:#676e65;--accent:#c34b36;--mono:"DM Mono", monospace;--display:"Barlow Condensed", sans-serif;--driver:#c34b36;background:#efede6;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:var(--ink);background:0 0;border:1px solid #b9beb2;border-radius:3px;padding:10px 16px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#e1e3d8}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;padding:9px 18px}button.primary:hover:not(:disabled){background:#a93727}button.primary small{font:10px var(--mono);opacity:.85;margin-top:3px;display:block}button.dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}button.dark:hover:not(:disabled){background:#465040}button.quiet{color:var(--muted);border-color:#0000;padding:7px 9px}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #668daf}[hidden]{display:none!important}.shell{max-width:1480px;margin:auto;padding:0 28px}.masthead{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:20px;min-height:80px;display:flex}.brand{font:700 26px var(--display);line-height:1;text-decoration:none}.brand span{color:var(--accent)}.brand small{font:9px var(--mono);letter-spacing:1px;color:var(--muted);margin-top:7px;display:block}nav{gap:22px;font-size:13px;display:flex}nav a{padding:9px 0;text-decoration:none}nav a[aria-current]{border-bottom:2px solid var(--accent);font-weight:700}.intro{align-items:center;gap:28px;padding:24px 0 22px;display:flex}.eyebrow{font:10px var(--mono);letter-spacing:.7px;color:var(--muted);margin:0}h1{font:700 clamp(36px, 4.2vw, 56px) / .95 var(--display);text-transform:uppercase;letter-spacing:-.4px;margin:8px 0 0}.speed-lines{color:var(--accent);letter-spacing:-5px;margin-left:12px;font-size:.75em;font-style:italic}.intro>p{color:var(--muted);margin:14px 0 0;font-size:14px;line-height:1.6}.session{grid-template-columns:8px auto;align-items:center;gap:8px;margin-left:auto;font-size:12px;display:grid}.session b{font:500 27px var(--mono);grid-column:2}.status-dot{background:#969d90;border-radius:50%;width:7px;height:7px}.status-dot.active{background:#53836a;box-shadow:0 0 0 4px #53836a16}.controls{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:9px;padding:12px 0;display:flex}.control-divider{background:var(--line);width:1px;height:24px;margin:0 4px}.assist-control{align-items:center;gap:6px;margin-left:auto;font-size:12px;display:flex}.assist-control input{accent-color:var(--accent);width:15px;height:15px}.assist-control>span{color:var(--muted)}.pace-control{color:var(--muted);align-items:center;gap:6px;margin-left:12px;font-size:11px;display:flex}select{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:2px;padding:7px;font-size:12px}.notice{color:var(--muted);padding:0 0 14px;font-size:12px;line-height:1.5}.download{border:1px solid var(--line);background:var(--paper);margin-bottom:14px;padding:12px 16px}.download>div{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.download progress{width:100%;height:7px;accent-color:var(--accent)}.error{border-left:3px solid var(--accent);background:#f2ded7;padding:12px 16px;font-size:13px;line-height:1.5}.workspace{grid-template-columns:minmax(0,1fr) 304px;align-items:start;gap:22px;display:grid}.race-column{min-width:0}.circuit{background:#dce0cc;border:1px solid #b4bcaa;border-radius:3px;position:relative;overflow:hidden}.circuit-heading{z-index:1;pointer-events:none;justify-content:space-between;align-items:start;gap:20px;display:flex;position:absolute;top:20px;left:22px;right:22px}.circuit-heading h2{font:600 25px var(--display);margin:5px 0}.track-key{color:#48513f;gap:12px;font-size:10px;display:flex}.track-key span{align-items:center;gap:5px;display:flex}.track-key i{background:#7e8887;border-radius:1px;width:7px;height:7px;display:inline-block}.track-key i.colored-dot{background:var(--accent)}#circuit{touch-action:pan-y;width:100%;height:clamp(370px,39vw,525px);display:block}.circuit-foot{pointer-events:none;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;bottom:10px;left:18px;right:12px}.circuit-foot span{color:#56604f;background:#dce0ccd9;padding:4px;font-size:11px}.circuit-foot button{pointer-events:auto;background:#e6e9dcbf;font-size:11px}.telemetry{border-bottom:1px solid var(--line);background:var(--ink);color:var(--paper);border-radius:0 0 3px 3px;grid-template-columns:repeat(5,1fr);padding:15px 5px;display:grid}.telemetry>div{border-right:1px solid #515748;padding:0 13px}.telemetry>div:last-child{border:0}.telemetry strong{font:500 21px var(--mono);white-space:nowrap;display:block}.telemetry span{color:#c3c9b8;margin-top:5px;font-size:10px;display:block}.section-label{justify-content:space-between;align-items:baseline;gap:8px;margin:20px 0 11px;display:flex}.section-label h2,.section-label h3{margin:0;font-size:14px;font-weight:600}.section-label>span{color:var(--muted);font-size:11px}.drivers{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.driver-card{text-align:left;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--driver);border-radius:2px;min-width:0;padding:13px 11px 11px;position:relative}.driver-card.selected{box-shadow:inset 0 0 0 1px var(--driver);background:#fffdf7}.driver-card:hover:not(:disabled){border-color:var(--driver);background:#fffdf7}.card-top{align-items:baseline;gap:8px;display:flex}.card-number{font:500 13px var(--mono);color:var(--driver)}.card-name{font:600 21px var(--display)}.card-style{color:var(--muted);margin:3px 0 11px;font-size:10px;font-weight:400;display:block}.card-speed{font:500 24px var(--mono);display:block}.card-speed small{font:10px var(--mono);color:var(--muted)}.card-action{color:var(--driver);white-space:nowrap;text-overflow:ellipsis;margin-top:8px;font-size:11px;font-weight:500;display:block;overflow:hidden}.card-progress{font:9px var(--mono);color:var(--muted);margin-top:7px;display:block}.run-status{color:var(--muted);margin:13px 0;font-size:12px;line-height:1.5}.how{border-top:1px solid var(--line);margin-top:22px;padding:15px 0}.how summary{cursor:pointer;font-size:13px;font-weight:600}.how>div{max-width:760px}.how p{color:var(--muted);font-size:13px;line-height:1.7}.inspector{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--driver);scrollbar-width:thin;border-radius:2px;max-height:calc(100dvh - 24px);padding:17px 18px;position:sticky;top:12px;overflow:auto}.inspector-top{justify-content:space-between;align-items:center;display:flex}.inspector-top button{display:none}.driver-heading{align-items:center;gap:13px;margin:15px 0 20px;display:flex}.race-number{font:600 33px var(--display);background:var(--driver);color:#fff;text-align:center;border-radius:2px;min-width:48px;padding:3px 9px}.driver-heading h2{font:600 29px/1 var(--display);margin:0}.driver-heading p{color:var(--muted);margin:5px 0 0;font-size:12px}.driver-stats{grid-template-columns:1fr 1fr;gap:12px 16px;margin:0 0 18px;display:grid}.driver-stats>div{border-bottom:1px solid var(--line);padding-bottom:7px}.driver-stats dt{color:var(--muted);margin-bottom:4px;font-size:11px}.driver-stats dd{font:400 22px var(--mono);margin:0}.driver-stats dd b{font-weight:400}.driver-stats dd small{color:var(--muted);font-size:10px}.current-move{border-left:2px solid var(--driver);background:#e9ece1;margin-bottom:18px;padding:11px 12px}.current-move>div{justify-content:space-between;align-items:center;gap:7px;display:flex}.current-move .eyebrow{font-size:9px}.source{color:var(--muted);font-size:10px}.current-move>strong{margin-top:6px;font-size:14px;display:block}.current-move p{color:var(--muted);margin:6px 0 0;font-size:11px;line-height:1.5}.current-move.assisting{background:#f4e5ce;border-color:#b08439}.policy>label{margin-bottom:8px;font-size:13px;font-weight:600;display:block}textarea{resize:vertical;width:100%;min-height:116px;max-height:280px;color:var(--ink);background:#fffdf8;border:1px solid #bfc5b7;border-radius:2px;padding:10px;font-size:12px;line-height:1.6;display:block}.policy-actions{align-items:center;gap:3px;margin-top:8px;display:flex}.policy-actions button{padding:7px 10px;font-size:11px}.policy-actions>span{font:9px var(--mono);color:var(--muted);margin-left:auto}.policy>p{color:var(--muted);min-height:32px;margin:8px 0 0;font-size:11px;line-height:1.5}.choice-section,.history-section,.traffic-details,.observation-details{border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.choice-section .section-label{margin:0 0 9px}.choice-section .section-label>span{font:9px var(--mono)}#decision-action{font-size:13px}#no-decision{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.scores{margin-top:10px}.score{grid-template-columns:1fr 70px 30px;align-items:center;gap:8px;padding:4px 0;font-size:11px;display:grid}.score meter{appearance:none;width:100%;height:8px}.score meter::-webkit-meter-bar{background:#dddeda;border:0;border-radius:0}.score meter::-webkit-meter-optimum-value{background:#9da797}.score.chosen{color:var(--driver);font-weight:700}.score.chosen meter::-webkit-meter-optimum-value{background:var(--driver)}.score b{text-align:right;font:9px var(--mono)}.fine{color:var(--muted);margin:8px 0 0;font-size:10px;line-height:1.5}summary{cursor:pointer;font-size:12px;font-weight:600}summary>span{float:right;font:10px var(--mono);color:var(--muted)}table{border-collapse:collapse;width:100%;margin-top:8px;font-size:11px}th{text-align:right;color:var(--muted);font-size:10px;font-weight:500}td{text-align:right;font:10px var(--mono);padding:7px 0}td:first-child,th:first-child{text-align:left}tr.current-lane td{color:var(--driver);font-weight:500}tbody tr+tr{border-top:1px solid #e4e5da}.history-section h3{margin:0 0 10px;font-size:12px}#history{margin:0;padding:0;list-style:none}#history li{border-top:1px solid #e4e5da;grid-template-columns:37px 1fr auto;gap:7px;padding:7px 0;font-size:11px;display:grid}#history time{font:9px var(--mono);color:var(--muted);padding-top:1px}#history small{color:var(--muted);font-size:9px}#history li.empty{color:var(--muted);border:0;display:block}.observation-details pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:250px;font:10px/1.55 var(--mono);background:#eeeee5;padding:9px;overflow:auto}.observation-details .fine{overflow-wrap:anywhere}footer{border-top:1px solid var(--ink);font:10px var(--mono);color:var(--muted);justify-content:space-between;gap:20px;margin-top:28px;padding:17px 0 23px;display:flex}@media (min-width:1550px){.shell{padding:0 36px}}@media (max-width:1120px){.workspace{grid-template-columns:minmax(0,1fr) 280px;gap:14px}.shell{padding:0 20px}.intro{gap:20px}.intro>p{font-size:12px}.assist-control{margin-left:0}.pace-control{margin-left:auto}.track-key{display:none}.driver-card{padding:11px 8px}.card-style{font-size:9px}.telemetry>div{padding:0 9px}.telemetry strong{font-size:18px}.telemetry span{font-size:9px}#circuit{height:440px}.circuit-foot span{font-size:10px}}@media (max-width:850px){.workspace{display:block}.inspector{z-index:5;max-height:70dvh;padding:16px 19px;display:none;position:fixed;inset:auto 12px 12px;box-shadow:0 -8px 35px #20282126}.inspector.open{display:block}.inspector-top button{padding:0 5px;font-size:23px;line-height:1;display:block}.driver-heading{margin:10px 0 15px}.driver-stats{grid-template-columns:repeat(4,1fr);gap:10px}.driver-stats dd{font-size:19px}.driver-stats dd small{font-size:8px}#circuit{height:460px}.intro>p{display:none}.controls{gap:7px}.pace-control{margin-left:0}.assist-control{margin-left:auto}.telemetry span{font-size:10px}.telemetry strong{font-size:20px}.card-style{font-size:10px}.driver-card{padding:12px}.circuit-heading{top:15px;left:18px}.track-key{display:flex}}@media (max-width:540px){.shell{padding:0 12px}.masthead{gap:10px;min-height:70px}.brand{font-size:23px}.brand small{letter-spacing:.5px;font-size:7px}nav{gap:12px;font-size:11px}nav a:last-child{display:none}.intro{gap:15px;padding:18px 0 17px}.intro .eyebrow{font-size:8px}h1{font-size:40px}.session{font-size:10px}.session b{font-size:22px}.controls button{padding:9px 11px;font-size:11px}.controls button.primary{padding:8px 12px}.controls button.primary small{font-size:8px}.control-divider{display:none}.assist-control{margin-left:0;font-size:11px}.pace-control{margin-left:auto;font-size:10px}.notice{font-size:11px}#circuit{height:340px}.circuit-heading{top:14px;left:14px}.circuit-heading .eyebrow{font-size:8px}.circuit-heading h2{font-size:21px}.track-key{display:none}.circuit-foot{bottom:6px;left:10px;right:6px}.circuit-foot span{max-width:230px;font-size:9px;line-height:1.4}.circuit-foot button{font-size:9px}.telemetry{grid-template-columns:repeat(4,1fr);padding:13px 0}.telemetry>div:last-child{display:none}.telemetry>div:nth-child(4){border:0}.telemetry strong{font-size:18px}.telemetry span{font-size:8px;line-height:1.4}.section-label>span{font-size:10px}.drivers{grid-template-columns:repeat(2,1fr);gap:8px}.driver-card{padding:10px 12px}.card-top{gap:8px}.card-name{font-size:21px}.card-style{margin:3px 0 8px}.card-speed{font-size:22px}.card-action{margin-top:6px}.card-progress{text-align:right;max-width:45px;font-size:8px;line-height:1.8;position:absolute;top:13px;right:12px}.run-status{font-size:11px}footer{flex-wrap:wrap;gap:10px;margin-top:16px;font-size:9px}footer span:nth-child(2){margin-left:auto}footer a{flex-basis:100%}.inspector{max-height:74dvh}.driver-stats{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.seed-control{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.seed-control input{border:1px solid var(--line);background:var(--paper);width:63px;color:var(--ink);font:11px var(--mono);border-radius:2px;padding:7px}.race-result{background:#dce7d7;border-left:3px solid #507766;margin-bottom:12px;padding:13px 17px;font-size:13px;font-weight:600;line-height:1.5}.selected-race{font:10px var(--mono);color:var(--driver);margin:-5px 0 14px}.condition-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.condition-grid label{color:var(--muted);font-size:10px;display:block}.condition-grid b{float:right;font:9px var(--mono);color:var(--ink)}.condition-grid meter{width:100%;height:6px;margin-top:6px;display:block}.condition-grid meter::-webkit-meter-bar{background:#dadfd2;border:0;border-radius:0}.condition-grid meter::-webkit-meter-optimum-value{background:#7e9375}#boost-meter::-webkit-meter-optimum-value{background:#4e8ea3}#damage-meter::-webkit-meter-optimum-value{background:#c34b36}.corner-brief{background:#f0eee2;border:1px solid #deddd1;grid-template-columns:1fr auto;gap:5px;margin-bottom:14px;padding:9px 10px;display:grid}.corner-brief>span{color:var(--muted);font-size:10px}.corner-brief strong{font:11px var(--mono)}.corner-brief p{color:var(--muted);grid-column:1/-1;margin:0;font-size:10px;line-height:1.5}.race-events{border-top:1px solid var(--line);margin-top:18px;padding-top:0}.race-events ol{margin:0;padding:0;list-style:none}.race-events li{border-top:1px solid #d7d9ce;grid-template-columns:40px 62px 1fr;gap:12px;padding:9px 0;font-size:12px;line-height:1.45;display:grid}.race-events time{font:10px var(--mono);color:var(--muted);padding-top:3px}.event-type{text-transform:uppercase;font:9px var(--mono);color:var(--muted);padding-top:3px}.incident .event-type{color:var(--accent)}.race-events .empty{color:var(--muted);font-size:12px;display:block}.driver-card.retired{opacity:.58}.driver-card.boosting .card-speed{color:#3a849b}.driver-stats{margin-bottom:13px}.current-move{margin-bottom:14px}.controls .assist-control{margin-left:auto}.controls .pace-control{margin-left:0}.card-progress{font-size:9px}@media (max-width:540px){.card-progress{text-align:left;max-width:none;font-size:9px;position:static}.controls .assist-control{margin-left:0}.race-events li{grid-template-columns:34px 54px 1fr;gap:7px;font-size:11px}.race-events .section-label>span{font-size:9px}.condition-grid{gap:14px}.seed-control{font-size:10px}.seed-control input{width:60px}}.card-rate{font:10px var(--mono);color:var(--muted);margin-top:7px;display:block}.timing-note{color:#535b4d;font:10px/1.5 var(--mono);background:#e3e6db;margin:0;padding:9px 10px}
