:root{--bg:#0f1216;--panel:#0f1216c7;--text:#f2f4f6;--muted:#9aa4ae;--accent:#ffd400;--bad:#ff4d4f;--good:#3ccf6e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font-family:system-ui,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;overflow:hidden}#view{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}button{font:inherit;color:var(--text);cursor:pointer;background:#2a3038;border:1px solid #3c444e;border-radius:8px;padding:10px 14px}button:hover{background:#343b45}button.primary{background:var(--accent);color:#111;border-color:var(--accent);font-weight:600}#hud{pointer-events:none;position:fixed;inset:0}#exam-panel{background:var(--panel);border-radius:10px;max-width:46vw;padding:10px 14px;position:absolute;top:16px;left:16px}#score-wrap{color:var(--muted);font-size:14px}#score{color:var(--good);font-size:30px;font-weight:700}#score.fail{color:var(--bad)}#item{margin-top:2px;font-size:14px}#hint{text-align:center;background:var(--panel);border-radius:10px;max-width:min(720px,100vw - 32px);padding:8px 16px;position:absolute;top:16px;left:50%;transform:translate(-50%)}#hint-zh{font-size:18px;font-weight:600}#hint-en{color:var(--muted);font-size:13px}#minimap{border:2px solid #ffffff40;border-radius:10px;width:220px;height:220px;position:absolute;top:16px;right:16px}#dash{background:var(--panel);border-radius:12px;align-items:center;gap:14px;padding:8px 16px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}#speed{font-variant-numeric:tabular-nums;font-size:34px;font-weight:700}.sig{color:#3a3a3a;font-size:22px}.sig.on{color:#2fe36b}#gears span{color:#666;padding:2px 6px;font-weight:700}#gears span.on{color:#111;background:var(--accent);border-radius:4px}#belt,#hbrake{color:#666;border-radius:4px;padding:3px 6px;font-size:12px}#belt.warn,#hbrake.warn{color:#fff;background:var(--bad)}#look{color:var(--accent);text-shadow:0 1px 3px #000;font-size:18px;position:absolute;bottom:90px;left:50%;transform:translate(-50%)}#toasts{flex-direction:column;gap:6px;width:260px;display:flex;position:absolute;top:250px;right:16px}.toast{background:#a01414e0;border-radius:8px;padding:6px 10px;font-size:14px;animation:.2s ease-out pop}.toast small{color:#ffd0d0}@keyframes pop{0%{opacity:0;transform:translate(30px)}}#message{background:var(--panel);opacity:0;border-radius:10px;padding:10px 18px;font-size:22px;transition:opacity .3s;position:absolute;top:26%;left:50%;transform:translate(-50%,-50%)}.overlay{background:#080a0cb8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.card{background:#161a1f;border:1px solid #2c333b;border-radius:14px;width:100%;max-width:760px;max-height:calc(100vh - 32px);padding:22px 26px;overflow:auto}.card h1{margin:0 0 4px;font-size:24px}.card h1.pass{color:var(--good)}.card h1.fail{color:var(--bad)}.sub,.fine{color:var(--muted);font-size:13px}.row{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.keys td{vertical-align:top;padding:3px 10px 3px 0;font-size:13px}.keys td:first-child{white-space:nowrap;color:var(--accent)}#debrief-list{margin:0;padding-left:0;line-height:1.5;list-style:none}#debrief-list small{color:var(--muted)}#debrief-list li{cursor:pointer;border-radius:6px;align-items:baseline;gap:8px;padding:4px 6px;display:flex}#debrief-list li:hover{background:#232930}#debrief-list li.sel{outline:1px solid var(--accent);background:#2f2a12}#debrief-list .num{color:#111;background:#ffb020;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:inline-grid}#debrief-list .num.serious{color:#fff;background:#ff4d4f}.debrief-body{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start;gap:16px;margin:10px 0 14px;display:grid}#debrief-map{aspect-ratio:1;cursor:pointer;border:1px solid #2c333b;border-radius:10px;width:100%}@media (max-width:640px){.debrief-body{grid-template-columns:1fr}}#editor{background:#111;flex-direction:column;padding:0}#editor-canvas{cursor:crosshair;touch-action:none;flex:1;width:100%;min-height:0}#ed-bar{background:#161a1f;flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding:8px 12px;display:flex}#ed-status{color:var(--muted);flex:1;min-width:200px;font-size:13px}#touch{display:none}body.touch #touch{display:block}body.touch #touch *{pointer-events:auto}#steer-pad{touch-action:none;background:#ffffff1f;border-radius:35px;width:200px;height:70px;position:absolute;bottom:16px;left:16px}#steer-knob{background:#ffffff80;border-radius:50%;width:60px;height:60px;position:absolute;top:5px;left:70px}.tbtns{grid-template-columns:repeat(4,52px);gap:6px;display:grid;position:absolute;bottom:100px;left:16px}.tbtns button,.pedals button{touch-action:none;background:#282e36cc;padding:8px 4px;font-size:13px}.pedals{gap:10px;display:flex;position:absolute;bottom:16px;right:16px}.pedals button{width:76px;height:110px;font-size:16px}#t-gas{background:#28783cd9}#t-brake{background:#962828d9}@media (max-width:720px){#minimap{width:120px;height:120px}#hint{top:150px}#toasts{width:200px;top:150px}body.touch #dash{bottom:140px}}.titlebar{justify-content:space-between;align-items:center;gap:12px;display:flex}.card.wide{max-width:1100px}.setup-cols{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:20px;display:grid}@media (max-width:820px){.setup-cols{grid-template-columns:1fr}}#setup-live .ax{grid-template-columns:60px 1fr 52px;align-items:center;gap:8px;margin:4px 0;font-size:13px;display:grid}#setup-live .bar{background:#2a3038;border-radius:5px;height:10px;position:relative}#setup-live .bar i{background:var(--accent);border-radius:2px;width:4px;height:16px;margin-left:-2px;position:absolute;top:-3px}#setup-live .btns{color:var(--muted);margin-top:10px;font-size:13px}#setup-rows table{border-collapse:collapse;width:100%;font-size:13px}#setup-rows td{border-bottom:1px solid #252b32;padding:4px 6px}#setup-rows button{padding:4px 10px;font-size:12px}#hint-main{font-size:17px;font-weight:600}body.cockpit #dash{display:none}.set-grid{flex-wrap:wrap;align-items:center;gap:10px 22px;font-size:14px;display:flex}.set-grid label{align-items:center;gap:8px;display:flex}#settings select,#settings input[type=url]{font:inherit;color:var(--text);background:#2a3038;border:1px solid #3c444e;border-radius:6px;min-width:0;padding:6px 8px;font-size:13px}#settings input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}#settings-slots{grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr));gap:12px;display:grid}.slot{background:#1c2127;border:1px solid #2c333b;border-radius:10px;align-items:flex-start;gap:12px;padding:10px;display:flex}.slot-preview{background:#101214;border-radius:4px;flex:none;width:160px;height:80px}.slot-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.slot-name{color:var(--muted);font-size:13px}.slot-extra{gap:6px;font-size:12px}.slot-extra input[type=url]{flex:1}.slot-extra button{padding:4px 10px;font-size:12px}.slot-status{color:var(--good);overflow-wrap:anywhere;min-height:1em;font-size:12px}.slot-status.bad{color:var(--bad)}@media (max-width:520px){.slot{flex-direction:column}}#hint-coach{color:#bff6ff;border-top:1px solid #00e5ff59;margin-top:6px;padding-top:6px;font-size:15px;line-height:1.35}#hint-coach .coach-watch{color:#062025;background:#00e5ff;border-radius:6px;margin-right:8px;padding:1px 7px;font-size:12px;font-weight:700;display:inline-block}.item-card{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;width:152px;padding:8px;display:flex}.item-card .diagram{line-height:0;display:block}.item-card .diagram svg{width:134px;height:auto}.item-card b{font-size:14px}.item-card small{color:var(--muted);font-size:12px;line-height:1.3}@media (max-width:520px){.item-card{width:calc(50% - 5px)}.item-card .diagram svg{width:100%}}#road-panel{box-sizing:border-box;color:#fff;z-index:30;background:#0f1216db;border-radius:12px;width:min(440px,100vw - 32px);height:118px;padding:6px 12px 8px;font:600 15px/1.3 system-ui,sans-serif;position:absolute;top:16px;left:50%;overflow:hidden;transform:translate(-50%)}#road-panel.practice{width:min(540px,100vw - 32px)}#road-panel .rb-status{opacity:.75;white-space:nowrap;text-overflow:ellipsis;text-align:center;font-variant-numeric:tabular-nums;height:16px;font-size:12px;font-weight:500;overflow:hidden}#road-panel .rb-row{align-items:center;gap:12px;height:84px;margin-top:4px;display:flex}#road-panel .rb-sym{color:#fff;background:#1f6feb;border-radius:10px;flex:0 0 72px;place-items:center;height:72px;display:grid}#road-panel .rb-main{flex:auto;min-width:0}#road-panel .rb-dist{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:30px;font-weight:700;line-height:1.05}#road-panel .rb-num{text-align:right;min-width:3.2ch;display:inline-block}#road-panel .rb-unit{opacity:.8;font-size:18px;font-weight:600}#road-panel .rb-street,#road-panel .rb-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#road-panel .rb-street{color:#ffd400;height:20px;font-size:15px;display:flex}#road-panel .rb-name{text-overflow:ellipsis;min-width:0;overflow:hidden}#road-panel .rb-lane{flex:none}#road-panel .rb-street{pointer-events:auto}#road-panel .rb-text{opacity:.75;height:18px;font-size:12.5px;font-weight:500}#road-panel .rb-lanes{display:none}#road-panel.practice .rb-lanes{background:#ffffff0f;border-radius:10px;flex:0 0 112px;place-items:center;height:72px;display:grid}#road-panel .rb-lanes svg{max-width:104px}body.road-route #hint{top:146px}.menu-card{max-width:820px}.title-btns{flex-shrink:0;align-items:center;gap:8px;display:flex}button.icon{padding:7px;line-height:0}button:focus-visible,[role=button]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.flow-head{flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0 6px;display:flex}.flow-back{padding:6px 12px}.flow-back:disabled{display:none}.flow-steps{color:var(--muted);flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.flow-steps li{border-radius:999px;align-items:center;gap:6px;padding:3px 8px 3px 3px;display:flex}.flow-steps li+li:before{content:"·";color:#4a535d;margin-right:6px}.flow-steps .num{background:#2a3038;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-grid}.flow-steps li.now{color:var(--text)}.flow-steps li.now .num{background:var(--accent);color:#111}.flow-steps li.done{cursor:pointer}.flow-steps li.done .num{background:var(--good);color:#062010}.flow-steps li.done:hover .lbl{text-decoration:underline}.flow-q{margin:14px 0 4px;font-size:18px}.big-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:12px 0;display:grid}.big-card{text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;display:flex}.big-card .diagram{background:#22352a;border-radius:10px;width:100%;line-height:0;display:block}.big-card .diagram svg{aspect-ratio:5/3;width:100%;height:auto}.big-card b{font-size:19px}.big-card small{color:var(--muted);font-size:13px;line-height:1.35}.big-card:hover,.item-card:hover{border-color:var(--accent)}.zh-tag{color:var(--accent);margin-left:4px;font-size:.8em;font-weight:500}.item-card.extra{border-style:dashed}.flow-link{color:var(--muted);text-underline-offset:3px;background:0 0;border:none;padding:6px 2px;text-decoration:underline}.flow-link:hover{color:var(--text);background:0 0}.seg{flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0;display:flex}.seg-label{color:var(--muted);margin-right:4px;font-size:13px}.seg button{padding:7px 12px}.seg button.on{background:var(--accent);color:#111;border-color:var(--accent);font-weight:600}@media (max-width:520px){.menu-card{padding:16px}.menu-card .titlebar h1{font-size:19px}.flow-steps .lbl{display:none}.flow-steps li.now .lbl{display:inline}}
