:root{--ink: #000;--panel: rgba(0, 0, 0, .82);--panel-solid: rgba(0, 0, 0, .85);--panel-head: rgba(0, 0, 0, .9);--steel: #2f639c;--steel-hi: #4f86c2;--steel-dim: #16324f;--steel-fill: #0c1e33;--amber: #f7931e;--amber-hi: #ffb04a;--hot: #cc4416;--grey: #6a6a6a;--red: #dc2418;--red-hi: #ff3b2b;--hud-bar: #7a1810;--text: #fff;--muted: #d0d0d0;--faint: #8f8f8f;--cyan: #2fd0ff;--focus: #ffe600;--silver: linear-gradient(180deg, #ffffff 0%, #e2e2e2 42%, #a9a9a9 100%);--brand-blue: #2552b8;--r-frame: 12px;--r-box: 8px;--r-tile: 7px;--r-ctl: 5px;--r-pill: 999px;--b-frame: 2px;--b-tile: 3px;--outline: 0 0 0 2px #000;--f-jp: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", Meiryo, "Noto Sans CJK JP", "Noto Sans JP";--f-cond: "Helvetica Neue", "Arial Narrow", "Roboto Condensed", "Bahnschrift", "Avenir Next Condensed", "Liberation Sans Narrow", var(--f-jp), sans-serif-condensed, sans-serif;--f-body: system-ui, -apple-system, "Segoe UI", Roboto, var(--f-jp), sans-serif;--fs-xs: 11px;--fs-s: 12.5px;--fs-m: 14px;--fs-l: 18px;--fs-xl: 28px;--fs-xxl: 40px;--track-caps: .04em;--gutter: 16px;--tile: 34px;--t: .12s;color-scheme:dark}@media(prefers-reduced-motion:reduce){:root{--t: 0ms}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;background:var(--ink);color:var(--text);font:600 13px/1.35 var(--f-cond);font-stretch:condensed;overflow:hidden;-webkit-font-smoothing:antialiased}#app{position:fixed;inset:0}canvas#view{position:absolute;display:block;outline:none;touch-action:none;left:0;top:0;width:100%;height:100%}canvas#view.over-car{cursor:pointer}canvas#view.grab-car{cursor:grab}canvas#view.dragging-car{cursor:grabbing}canvas#view.aim{cursor:crosshair}button,input,select{font:inherit;font-stretch:inherit;color:inherit}#app{-webkit-user-select:none;user-select:none}#app input,#app textarea{-webkit-user-select:text;user-select:text}button{cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}img.pixel,.pixel img{image-rendering:pixelated}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ico{display:block;flex:none}.title-silver,.panel-title,.modal-head h2,.preview-title .model,.error-screen h1,.boot-title{font-family:var(--f-cond);font-stretch:condensed;font-weight:900;text-transform:uppercase;line-height:.95;letter-spacing:.005em;color:#e6e6e6;background:var(--silver) 0 0 / 100% .95em repeat-y;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.caps{text-transform:uppercase;letter-spacing:var(--track-caps)}.glass{background:var(--panel);border:var(--b-frame) solid var(--steel);border-radius:var(--r-frame)}.tile{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--tile);height:var(--tile);border-radius:var(--r-tile);border:var(--b-tile) solid var(--amber);background:#000;color:var(--amber);transition:background var(--t),color var(--t),border-color var(--t)}.tile .ico{width:64%;height:64%}.tile.solid{background:var(--amber);color:#000}.crumbs{display:inline-flex;align-items:center;min-width:0}.crumb{display:inline-block;height:22px;padding:0 16px 0 11px;border-radius:var(--r-pill);background:var(--grey);color:#fff;font:800 12px/22px var(--f-cond);font-stretch:condensed;letter-spacing:var(--track-caps);text-transform:uppercase;white-space:nowrap;flex:none}.crumb.on{position:relative;margin-left:-12px;padding-left:14px;background:var(--hot);box-shadow:-2px 0 #000;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:0 12px;border-radius:var(--r-ctl);border:var(--b-frame) solid var(--steel);background:#000;color:var(--text);white-space:nowrap;font-weight:800;font-size:var(--fs-s);letter-spacing:var(--track-caps);text-transform:uppercase;transition:background var(--t),border-color var(--t),color var(--t)}.btn:hover{border-color:var(--steel-hi);background:var(--steel-fill)}.btn:disabled{opacity:.4;cursor:default}.btn:disabled:hover{border-color:var(--steel);background:#000}.btn.primary{background:var(--amber);border-color:var(--amber);color:#000;border-radius:4px var(--r-pill) var(--r-pill) 4px;padding:0 18px 0 12px}.btn.primary:hover{background:var(--amber-hi);border-color:var(--amber-hi)}.btn.primary:disabled:hover{background:var(--amber);border-color:var(--amber)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--steel-fill);border-color:var(--steel)}.btn[aria-pressed=true]{background:var(--amber);border-color:var(--amber);color:#000}.btn.icon{width:32px;padding:0}.btn.small{min-height:26px;padding:0 9px;font-size:11.5px}.btn.small.icon{width:26px;padding:0}.btn .ico{width:15px;height:15px}.btn.confirm,.btn.confirm:hover{background:var(--red);border-color:var(--red);color:#fff}.exit{display:inline-flex;align-items:center;justify-content:center;flex:none;width:46px;height:30px;padding:0 4px 0 8px;border:0;border-radius:var(--r-pill) 4px 4px var(--r-pill);background:var(--amber);color:#000;transition:background var(--t)}.exit:hover{background:var(--amber-hi)}.exit .ico{width:20px;height:20px}.exit.small{width:38px;height:24px}.exit.small .ico{width:16px;height:16px}.kbd{display:inline-block;min-width:20px;padding:0 6px;border:1.5px solid var(--steel-hi);border-radius:4px;background:#000;font-weight:800;font-size:var(--fs-xs);line-height:18px;text-align:center;color:#fff;letter-spacing:.02em}.chip{display:inline-block;padding:0 8px;border-radius:var(--r-pill);font-weight:800;font-size:10.5px;line-height:17px;letter-spacing:var(--track-caps);text-transform:uppercase;background:var(--grey);color:#fff;white-space:nowrap}.chip.night{background:var(--steel)}.chip.evening{background:var(--amber);color:#000}.chip.r{background:var(--red);color:#fff}.chip.gt1{background:#fff;color:#000}.chip.grade{background:var(--steel);color:#fff}.qbtn{position:relative;display:inline-flex;padding:0;border:0;background:none;border-radius:var(--r-tile);flex:none}.qbtn .tile{box-shadow:var(--outline)}.qbtn:hover .tile{background:var(--amber-hi);border-color:var(--amber-hi)}.qbtn[aria-pressed=true] .tile,.qbtn[aria-expanded=true] .tile{background:#000;color:var(--amber);border-color:var(--amber)}.qbtn .label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.qbtn .count:not(:empty){position:absolute;top:-7px;right:-7px;min-width:19px;padding:0 5px;border-radius:var(--r-pill);border:2px solid #000;background:var(--red);color:#fff;font-weight:800;font-size:var(--fs-xs);line-height:15px;text-align:center}.qbtn .count:empty{display:none}#ui{position:absolute;inset:0;pointer-events:none;z-index:2}#ui>*{pointer-events:auto}#ui .passthrough{pointer-events:none}#ui.hidden>:not(.keep){opacity:0;visibility:hidden;transition:opacity var(--t),visibility 0s var(--t)}.topbar{position:absolute;top:var(--gutter);left:var(--gutter);display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:calc(100% - 2 * var(--gutter))}.course-btn{display:flex;align-items:center;gap:10px;padding:5px 14px 5px 5px;text-align:left;min-width:0;max-width:420px;color:var(--text)}.course-btn .map-tile{--tile: 46px;overflow:hidden}.course-btn .map-tile img{width:38px;height:38px;display:block}.course-btn .info{min-width:0;display:flex;flex-direction:column;gap:4px}.course-btn .sub{color:var(--amber);font-weight:800;font-size:var(--fs-xs);letter-spacing:var(--track-caps);text-transform:uppercase;display:flex;gap:6px;align-items:center;white-space:nowrap;padding-left:3px}.course-btn:hover{border-color:var(--steel-hi)}.course-btn:hover .crumb.on{background:#dd5020}.course-btn:hover .map-tile{border-color:var(--amber-hi)}.sectors{display:flex;align-items:center;gap:2px;padding:4px}.sector{min-width:40px;height:36px;border:0;border-radius:var(--r-ctl);background:transparent;color:var(--amber);font-weight:900;font-style:italic;font-size:17px;letter-spacing:.01em;text-shadow:1px 1px 0 #000,-1px 1px 0 #000}.sector:hover:not(:disabled){color:var(--amber-hi);background:var(--steel-fill)}.sector[aria-pressed=true]{background:var(--hud-bar);color:var(--amber-hi)}.sector:disabled{opacity:.35;cursor:default}.quick{display:flex;gap:8px;align-items:center}.scenes-wrap{position:relative;display:flex}.scenes-pop{position:absolute;top:calc(100% + 10px);left:0;width:min(380px,calc(100vw - 2 * var(--gutter)));max-height:min(560px,calc(100vh - 120px));overflow-y:auto;padding:10px;z-index:5;background:var(--panel-solid);scrollbar-width:thin;scrollbar-color:var(--steel) transparent}.options-pop{width:min(400px,calc(100vw - 2 * var(--gutter)));max-height:min(640px,calc(100vh - 110px))}.options-pop .pop-head .tile{--tile: 32px}.options-pop .psec{margin-top:8px}.options-pop .seg.wrap .seg-btn{flex:1 0 calc(33.333% - 2px);text-transform:none;letter-spacing:0;font-size:13px}.options-pop .help-foot{line-height:1.6}.sizesel.wide{width:100%}.credit a{color:var(--cyan)}.heart{color:var(--red-hi)}.pop-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.pop-title{margin:0;font-weight:900;font-size:var(--fs-l);text-transform:uppercase;letter-spacing:.01em}.scene-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.scene-item{display:flex;align-items:center;gap:6px;padding:4px;border:var(--b-frame) solid var(--steel);border-radius:var(--r-box)}.scene-item:hover{border-color:var(--steel-hi)}.scene-load{flex:1;min-width:0;display:flex;gap:10px;align-items:center;padding:0;border:0;border-radius:5px;background:transparent;text-align:left}.scene-load img,.scene-thumb{width:76px;height:43px;object-fit:cover;border-radius:4px;background:#111;flex:none}.scene-text{min-width:0;display:flex;flex-direction:column;gap:1px}.scene-text .n{font-weight:800;font-size:var(--fs-m);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-text .d{color:var(--amber);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--track-caps)}.reset{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--amber);visibility:hidden}.reset .ico{width:15px;height:15px}.reset.changed{visibility:visible}.reset:hover{color:#000;background:var(--amber)}.hint{position:absolute;top:calc(var(--gutter) + 68px);left:50%;transform:translate(-50%);padding:8px 16px;font-size:var(--fs-m);font-weight:700;max-width:min(600px,calc(100% - 2 * var(--gutter)));text-align:center;pointer-events:none!important}.hint:empty{display:none}.hint.warn{border-color:var(--red)}.car-handle{position:absolute;left:0;top:0;z-index:1;display:flex;align-items:center;gap:3px;padding:4px 6px 4px 4px;border-radius:var(--r-pill);background:var(--panel);will-change:transform;transition:opacity var(--t)}.car-handle[hidden]{display:none}.dial-wrap{display:flex;align-items:center;gap:4px}.dial{width:44px;height:44px;border-radius:50%;cursor:grab;touch-action:none;flex:none}.dial:focus-visible{outline-offset:1px}.car-handle.turning .dial{cursor:grabbing}.dial-svg{width:100%;height:100%;display:block;overflow:visible}.dial-ring{fill:#000;stroke:var(--steel-hi);stroke-width:2}.dial:hover .dial-ring,.car-handle.turning .dial-ring{stroke:#7aa6d8}.dial-tick{stroke:var(--steel-hi);stroke-width:1.5}.dial-road{fill:var(--amber)}.dial-needle path{fill:#fff;stroke:#000;stroke-width:1}.dial-hub{fill:var(--amber)}.dial-value{min-width:34px;font-weight:900;font-size:var(--fs-m);font-variant-numeric:tabular-nums;color:var(--amber);text-align:right;padding-right:2px}.hsep{width:2px;align-self:stretch;margin:6px 3px;background:var(--steel);border-radius:1px}.hbtn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--r-ctl);background:transparent;color:var(--amber)}.hbtn .ico{width:18px;height:18px}.hbtn:hover{background:var(--amber);color:#000}.carmenu-btn{display:flex;width:100%;align-items:center;gap:8px;min-height:44px;padding:3px 30px 3px 4px;border-radius:var(--r-ctl);border:var(--b-frame) solid var(--steel-hi);background:#000;text-align:left;position:relative}.carmenu-btn:hover{border-color:#7aa6d8}.carmenu-btn:disabled{opacity:.4;cursor:default}.carmenu-caret{position:absolute;right:10px;top:50%;width:10px;height:6px;margin-top:-3px;background:var(--amber);clip-path:polygon(0 0,100% 0,50% 100%)}.carmenu-btn[aria-expanded=true] .carmenu-caret{transform:rotate(180deg)}.carmenu-face{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.carmenu-list{margin-top:4px;max-height:236px;overflow-y:auto;border:var(--b-frame) solid var(--steel);border-radius:var(--r-ctl);background:#000;outline:none;scrollbar-width:thin;scrollbar-color:var(--steel) transparent}.carmenu-list:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.carmenu-item{display:flex;align-items:center;gap:8px;padding:3px 8px 3px 4px;border-bottom:1px solid var(--steel-dim);cursor:pointer}.carmenu-item:last-child{border-bottom:0}.carmenu-item.focus{background:var(--steel-fill)}.carmenu-item[aria-selected=true]{background:var(--red)}.carmenu-thumb{width:64px;height:36px;object-fit:contain;flex:none}.carmenu-thumb.any{display:inline-flex;align-items:center;justify-content:center;color:var(--amber)}.carmenu-thumb.any .ico{width:26px;height:26px}.carmenu-text{display:flex;flex-direction:column;min-width:0}.carmenu-text .n{display:flex;align-items:center;font-weight:800;font-size:var(--fs-m);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.carmenu-text .n .car-nm{overflow:hidden;text-overflow:ellipsis}.carmenu-text .d{color:var(--amber);font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:var(--track-caps);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.carmenu-item[aria-selected=true] .d{color:#fff}.bottom{position:absolute;left:0;right:0;bottom:0;padding:var(--gutter);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:16px;pointer-events:none!important}.bottom>*{pointer-events:auto}.carstrip{display:flex;gap:8px;align-items:flex-end;min-width:0;justify-self:start;max-width:100%}.carstrip-list{display:flex;gap:8px;align-items:flex-end;overflow-x:auto;overscroll-behavior-x:contain;padding:8px 4px 4px;min-width:0;scrollbar-width:thin;scrollbar-color:var(--steel) transparent}.carstrip-list:empty{display:none}.addcar-wrap{position:relative;flex:none;padding-bottom:4px}.carcount{position:absolute;top:-2px;right:4px;padding:0 5px;border-radius:var(--r-pill);background:var(--steel);color:#fff;font-weight:800;font-size:10px;line-height:15px;font-variant-numeric:tabular-nums}.carcount:empty{display:none}.carchip-wrap{position:relative;flex:none}.carchip{position:relative;display:block;flex:none;width:96px;padding:3px 3px 0;border-radius:var(--r-box);border:var(--b-frame) solid var(--steel);background:var(--panel);text-align:center;overflow:hidden}.carchip:hover{border-color:var(--steel-hi)}.carchip[aria-pressed=true]{border-color:var(--red)}.carchip img{display:block;width:86px;height:48px;object-fit:contain}.carchip .lbl{display:flex;justify-content:center;align-items:center;margin:2px -3px 0;padding:2px 4px 3px;font-weight:800;font-size:10.5px;letter-spacing:.03em;text-transform:uppercase;color:#fff;white-space:nowrap;overflow:hidden}.carchip .lbl .car-nm{overflow:hidden;text-overflow:ellipsis}.carchip .lbl .rmark{margin-left:3px}.carchip[aria-pressed=true] .lbl{background:var(--red)}.carchip-wrap .x{position:absolute;top:-6px;right:-6px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border-radius:50%;border:2px solid #000;background:var(--grey);color:#fff;opacity:0}.carchip-wrap .x .ico{width:11px;height:11px}.carchip-wrap:hover .x,.carchip-wrap:focus-within .x,.carchip-wrap:has(.carchip[aria-pressed=true]) .x{opacity:1}.carchip-wrap .x:hover{background:var(--red)}.addcar{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;width:76px;padding:0 0 2px;border:0;background:none;color:#fff;font-weight:800;font-size:10.5px;letter-spacing:var(--track-caps);text-transform:uppercase;text-shadow:0 0 2px #000,0 0 2px #000,1px 1px 0 #000}.addcar .tile{--tile: 50px;border-width:var(--b-tile);box-shadow:var(--outline)}.addcar:hover .tile{border-color:var(--amber-hi);color:var(--amber-hi)}.addcar:disabled{opacity:.4;cursor:default}.dock{position:relative;justify-self:center}.tabs{display:flex;padding:5px;gap:4px}.tab{min-width:108px;height:44px;padding:0 14px 0 5px;border:0;border-radius:var(--r-box);background:transparent;color:var(--text);font-weight:900;font-size:var(--fs-m);letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:9px}.tab .tile{--tile: 34px}.tab:hover{background:var(--steel-fill)}.tab:hover .tile{border-color:var(--amber-hi);color:var(--amber-hi)}.tab[aria-selected=true] .tile{background:var(--amber);color:#000}.tab[aria-selected=true]:hover .tile{background:var(--amber-hi);color:#000}.panel{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);width:396px;max-height:min(calc(100vh - 190px),580px);overflow-y:auto;padding:0 8px 8px;background:var(--panel);animation:rise var(--t) ease-out;scrollbar-width:thin;scrollbar-color:var(--steel) transparent}.panel[hidden]{display:none}@keyframes rise{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.panel-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;margin:0 -8px;padding:8px 12px 6px;background:var(--panel-head);border-radius:calc(var(--r-frame) - 2px) calc(var(--r-frame) - 2px) 0 0}.panel-head .tile{--tile: 36px}.panel-title{margin:0;font-size:var(--fs-xl)}.psec{padding:9px 11px 11px;margin-top:6px;border:var(--b-frame) solid var(--steel);border-radius:var(--r-box);background:transparent}.psec-title{margin:0 0 8px;font-weight:900;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#fff}.row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.row+.row,.ctl+.row,.row+.ctl,.ctl+.ctl{margin-top:9px}.empty{color:var(--muted);padding:14px 4px;font-family:var(--f-body);font-weight:400;font-stretch:normal}.empty p{margin:0 0 10px}.note{color:var(--muted);font-family:var(--f-body);font-weight:400;font-stretch:normal;font-size:11.5px;line-height:1.4;margin:7px 0 0}.shutter-group{justify-self:end;display:flex;align-items:center;gap:10px}.shutter-group .side{display:flex;flex-direction:column;gap:8px;align-items:stretch}.shutter-group .side .row{justify-content:flex-end;gap:8px;flex-wrap:nowrap}.shutter{width:70px;height:70px;border-radius:50%;border:3px solid #fff;background:var(--red);box-shadow:0 0 0 3px #000,inset 0 0 0 3px #00000047;flex:none;transition:transform 80ms,background var(--t);position:relative}.shutter:hover{background:var(--red-hi)}.shutter:active{transform:scale(.94)}.shutter:disabled{opacity:.6}.shutter:focus-visible{outline-offset:5px}.shutter .sr-only{position:absolute}.sizesel{height:30px;border-radius:var(--r-ctl);border:var(--b-frame) solid var(--steel);background:#000;padding:0 26px 0 9px;font-weight:800;font-size:var(--fs-s);letter-spacing:var(--track-caps);text-transform:uppercase;-webkit-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0h10L5 6z' fill='%23f7931e'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:10px 6px}.sizesel:hover{border-color:var(--steel-hi)}.sizesel option{background:#000;color:#fff;text-transform:none}.ctl{display:block}.ctl-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.ctl-label,.switch-label{font-weight:800;font-size:var(--fs-s);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text)}.ctl>.ctl-label{display:block;margin-bottom:6px}.slider.disabled{opacity:.4}.num-wrap{display:inline-flex;align-items:center;gap:4px}.num{width:62px;height:24px;padding:0 6px;border-radius:4px;border:1.5px solid var(--steel-hi);background:#000;text-align:right;font-variant-numeric:tabular-nums;font-weight:800;font-size:var(--fs-m);-moz-appearance:textfield}.num:hover{border-color:#7aa6d8}.num:focus-visible{outline-offset:1px}.num::-webkit-inner-spin-button,.num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.unit{color:var(--amber);font-weight:800;font-size:var(--fs-xs);min-width:14px;text-transform:uppercase}input[type=range]{--a: 0%;--b: 0%;-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;margin:3px 0 0;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:4px;border:1.5px solid var(--steel-hi);background:linear-gradient(90deg,transparent var(--a),var(--amber) var(--a),var(--amber) var(--b),transparent var(--b)),#000}input[type=range]::-moz-range-track{height:8px;border-radius:4px;border:1.5px solid var(--steel-hi);background:linear-gradient(90deg,transparent var(--a),var(--amber) var(--a),var(--amber) var(--b),transparent var(--b)),#000}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:20px;border-radius:3px;background:linear-gradient(180deg,#fff,#c9c9c9 60%,#a5a5a5);border:2px solid #000;margin-top:-7.5px}input[type=range]::-moz-range-thumb{width:8px;height:16px;border-radius:3px;background:linear-gradient(180deg,#fff,#c9c9c9 60%,#a5a5a5);border:2px solid #000}input[type=range]:hover::-webkit-slider-runnable-track{border-color:#7aa6d8}input[type=range]:focus-visible{outline:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--focus)}input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--focus)}input[type=range]:disabled{cursor:default}.seg{display:flex;padding:2px;border-radius:7px;background:#000;border:var(--b-frame) solid var(--steel);gap:2px}.seg.wrap{flex-wrap:wrap}.seg.wrap .seg-btn{flex:1 0 calc(25% - 2px)}.seg-btn{flex:1 1 auto;min-height:28px;padding:0 9px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-weight:800;font-size:var(--fs-s);letter-spacing:var(--track-caps);text-transform:uppercase;white-space:nowrap;transition:background var(--t),color var(--t)}.seg-btn:hover{color:#fff;background:var(--steel-fill)}.seg-btn:focus-visible{outline-offset:0}.seg-btn[aria-checked=true]{background:var(--amber);color:#000}.seg-btn:disabled{opacity:.4;cursor:default}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0}.switch-row.disabled{opacity:.4}.switch-label{cursor:pointer}.switch{display:inline-flex;flex:none;padding:0;background:none;border:0;border-radius:var(--r-pill)}.switch-track{width:42px;height:22px;border-radius:var(--r-pill);background:#000;border:var(--b-frame) solid var(--steel-hi);position:relative;flex:none;transition:background var(--t),border-color var(--t)}.switch-knob{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#9a9a9a;transition:transform var(--t),background var(--t)}.switch-row:hover .switch-track{border-color:#7aa6d8}.switch[aria-checked=true] .switch-track{background:var(--amber);border-color:var(--amber)}.switch[aria-checked=true] .switch-knob{transform:translate(20px);background:#000}.switch:disabled{cursor:default}.lbl-wrap{display:inline-flex;align-items:center;gap:5px;min-width:0}.ctl-label.lbl-wrap{display:flex}.ibtn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;margin:-3px 0;padding:2px;border:0;border-radius:50%;background:transparent;color:var(--amber);cursor:help}.ibtn svg{width:15px;height:15px;display:block;fill:currentColor}.ibtn:hover,.ibtn[aria-expanded=true]{color:var(--amber-hi);background:var(--steel-fill)}.ibtn:focus-visible{outline-offset:0}.tipbox{position:fixed;z-index:60;max-width:min(280px,calc(100vw - 16px));padding:8px 11px;border:var(--b-frame) solid var(--steel-hi);border-radius:var(--r-box);background:#000000f0;color:#f2f2f2;font:400 12.5px/1.45 var(--f-body);font-stretch:normal;text-transform:none;letter-spacing:0;pointer-events:auto;animation:fade var(--t)}.tipbox:after{content:"";position:absolute;left:calc(var(--caret, 50%) - 6px);bottom:-8px;border:6px solid transparent;border-top:6px solid var(--steel-hi);border-bottom:0}.tipbox.below:after{bottom:auto;top:-8px;border-top:0;border-bottom:6px solid var(--steel-hi)}.rmark{display:inline-flex;align-items:flex-end;vertical-align:-.12em;margin-left:.3em;flex:none;line-height:1}.rmark-box{width:1.05em;height:1.05em;min-width:12px;min-height:12px;display:block}.rmark-bg{fill:var(--red);stroke:#fff;stroke-width:0}.rmark-fg{fill:#fff}.rmark-n{margin-left:1px;font-weight:900;font-size:.68em;line-height:1;color:inherit}.rmarks{display:inline-flex;gap:3px;align-items:center;flex:none}.rmarks .rmark{margin-left:0;font-size:15px}.carrow[aria-selected=true] .rmark-bg,.carchip[aria-pressed=true] .rmark-bg,.carmenu-item[aria-selected=true] .rmark-bg{fill:#000}.car-nm{min-width:0}.swatches{display:flex;flex-wrap:wrap;gap:9px;padding:4px}.swatch{width:26px;height:26px;border-radius:6px;border:1.5px solid rgba(255,255,255,.45);padding:0;position:relative}.swatch:hover{border-color:#fff}.swatch[aria-checked=true]{border-color:#000;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--red)}.swatch-name{margin-top:6px;color:var(--amber);font-weight:800;font-size:var(--fs-s);letter-spacing:var(--track-caps);text-transform:uppercase;min-height:17px}.car-head{display:flex;gap:10px;align-items:center;padding:6px 4px 4px}.car-head .logo{height:32px;max-width:132px;object-fit:contain;object-position:left center}.car-head .names{flex:1;min-width:0}.car-head .maker{color:var(--amber);font-weight:800;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase}.car-head .model{font-weight:800;font-size:15px;line-height:1.2}.car-head .model .chip{margin-left:6px;vertical-align:1px}.pad{display:grid;grid-template-columns:repeat(3,32px);grid-template-rows:repeat(2,30px);gap:4px}.pad .btn{min-height:0;padding:0}.pad .btn .ico{width:15px;height:15px;color:var(--amber)}.pad .btn:hover .ico{color:var(--amber-hi)}.frame-guides{position:absolute;pointer-events:none!important;overflow:visible}.frame-guides line{stroke:#ffffff80;stroke-width:1}.flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none!important}.flash.on{animation:flash .26s ease-out}@keyframes flash{0%{opacity:.75}to{opacity:0}}@media(prefers-reduced-motion:reduce){.flash.on{animation-duration:.12s}}.hidden-note{position:absolute;top:var(--gutter);left:50%;transform:translate(-50%);padding:7px 16px;font-weight:800;letter-spacing:var(--track-caps);text-transform:uppercase;opacity:0;pointer-events:none!important;transition:opacity .4s}.hidden-note.show{opacity:1}.toasts{position:absolute;top:84px;right:var(--gutter);display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none!important;max-width:calc(100% - 2 * var(--gutter))}.toast{pointer-events:auto;padding:8px 12px 8px 8px;max-width:380px;display:flex;gap:10px;align-items:center;border-radius:var(--r-box);animation:rise2 var(--t) ease-out;border-left-width:6px}.toast:not(:has(img)){padding-left:12px}.toast.error{border-color:var(--red)}.toast .t-main{font-weight:900;font-size:var(--fs-m);letter-spacing:var(--track-caps);text-transform:uppercase}.toast img{width:96px;height:auto;max-height:64px;object-fit:cover;border-radius:4px;border:1.5px solid var(--steel);flex:none}.toast .t-sub{color:var(--muted);font-family:var(--f-body);font-weight:400;font-stretch:normal;font-size:11.5px;word-break:break-all;margin-top:1px}@keyframes rise2{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:14px 20px;display:flex;gap:12px;align-items:center;z-index:30;pointer-events:none!important;font-weight:800;letter-spacing:var(--track-caps);text-transform:uppercase}.loading[hidden]{display:none}.spinner{width:20px;height:20px;border-radius:50%;border:3px solid rgba(247,147,30,.25);border-top-color:var(--amber);animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.modal{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:var(--gutter);background:#00000080;animation:fade var(--t)}@keyframes fade{0%{opacity:0}}.modal-box{display:flex;flex-direction:column;max-height:100%;width:min(1180px,100%);background:var(--panel-solid);border-radius:14px}.modal-head{display:flex;align-items:center;gap:14px;padding:16px 18px 14px;flex-wrap:wrap}.modal-head .tile{--tile: 48px}.modal-head h2{margin:0 auto 0 0;font-size:var(--fs-xxl)}.modal-head .crumbs{margin-left:auto}.search{height:34px;width:260px;max-width:100%;padding:0 14px 0 34px;border-radius:var(--r-pill);border:var(--b-frame) solid var(--steel-hi);background:#000;font-weight:700;font-size:var(--fs-m);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f7931e' fill-rule='evenodd' d='M10 1.5a8.5 8.5 0 1 0 5 15.4l5.5 5.6 2.4-2.4-5.6-5.5A8.5 8.5 0 0 0 10 1.5z M10 4.8a5.2 5.2 0 1 1 0 10.4 5.2 5.2 0 1 1 0-10.4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center;background-size:15px}.search::placeholder{color:var(--faint);text-transform:uppercase;letter-spacing:var(--track-caps)}.search:focus-visible{outline-offset:0}.search::-webkit-search-cancel-button{filter:grayscale(1) brightness(1.6)}.course-modal .modal-box{height:min(860px,100%)}.cats{display:flex;gap:0}.cats .btn{min-height:26px;padding:0 16px;border:0;border-radius:var(--r-pill);background:var(--grey);color:#fff;font-size:var(--fs-s);position:relative;box-shadow:-2px 0 #000}.cats .btn+.btn{margin-left:-8px;padding-left:18px}.cats .btn:hover{background:#7d7d7d}.cats .btn[aria-pressed=true]{background:var(--hot);z-index:1}.course-grid{flex:1;overflow-y:auto;margin:0 18px 18px;padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:10px;align-content:start;grid-auto-rows:max-content;border:var(--b-frame) solid var(--steel);border-radius:var(--r-frame);scrollbar-color:var(--steel) transparent}.ccard{position:relative;border-radius:var(--r-box);border:var(--b-frame) solid var(--steel);background:#0009;display:flex;flex-direction:column;overflow:hidden}.ccard:hover{border-color:var(--steel-hi)}.ccard.current{border-color:var(--red)}.ccard.current:before{content:attr(data-current);position:absolute;top:8px;left:8px;z-index:1;padding:0 8px;border-radius:var(--r-pill);background:var(--red);color:#fff;font-weight:800;font-size:10.5px;line-height:17px;letter-spacing:var(--track-caps);text-transform:uppercase;pointer-events:none}.ccard-main{display:flex;flex-direction:column;align-items:stretch;text-align:left;border:0;background:transparent;padding:0;flex:1;color:var(--text)}.ccard-main:focus-visible{outline-offset:-3px;border-radius:calc(var(--r-box) - 2px)}.ccard-main:hover .ccard-map{background-color:#10243a}.ccard-map{height:112px;display:flex;align-items:center;justify-content:center;background:#0a0a0abf;border-bottom:1px solid var(--steel-dim);transition:background-color var(--t)}.ccard-map img{width:96px;height:96px;image-rendering:pixelated}.ccard-map .nomap{color:var(--faint);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--track-caps)}.ccard-body{padding:8px 10px 10px}.ccard-name{font-weight:900;font-size:15px;line-height:1.15;text-transform:uppercase;letter-spacing:.02em}.ccard-meta{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:5px;color:var(--amber);font-weight:800;font-size:var(--fs-s);text-transform:uppercase;letter-spacing:var(--track-caps)}.ccard-rev{position:absolute;top:8px;right:8px}.games .btn{min-width:44px}.course-grid .empty{grid-column:1 / -1;text-align:center}.car-modal .modal-box{height:min(800px,100%)}.garage{flex:1;display:grid;grid-template-columns:190px minmax(240px,1fr) minmax(300px,1.25fr);gap:10px;min-height:0;padding:0 18px 18px}.makers,.carlist,.preview{border:var(--b-frame) solid var(--steel);border-radius:var(--r-frame);scrollbar-width:thin;scrollbar-color:var(--steel) transparent}.makers{overflow-y:auto;padding:6px}.maker{display:flex;width:100%;justify-content:space-between;gap:6px;padding:5px 9px;border:0;border-radius:var(--r-ctl);background:transparent;color:var(--muted);text-align:left;font-weight:800;font-size:var(--fs-s);letter-spacing:var(--track-caps);text-transform:uppercase}.maker:hover{color:#fff;background:var(--steel-fill)}.maker[aria-selected=true]{color:#fff;background:var(--red)}.maker .count{color:var(--faint);font-variant-numeric:tabular-nums}.maker[aria-selected=true] .count{color:#fff}.carlist{overflow-y:auto;position:relative;outline:none}.carlist:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.carlist-inner{position:relative}.carrow{position:absolute;left:0;right:0;height:48px;display:flex;align-items:center;gap:10px;padding:0 12px;border-bottom:1px solid var(--steel-dim);cursor:pointer}.carrow:hover{background:var(--steel-fill)}.carrow[aria-selected=true]{background:var(--red);border-bottom-color:var(--red)}.carrow .logo{width:92px;height:30px;object-fit:contain;object-position:left center;flex:none}.carrow .logo.none{display:inline-block}.carrow .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800;font-size:var(--fs-m)}.carrow .chip.gt1{flex:none}.carrow .mk{color:var(--amber);font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:var(--track-caps)}.carrow[aria-selected=true] .mk{color:#fff}.carrow[aria-selected=true] .chip.r{background:#000}.preview{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:12px;gap:12px}.preview-img{position:relative;aspect-ratio:16 / 9;border-radius:var(--r-box);background:radial-gradient(ellipse at 50% 72%,#262626,#0b0b0b 62%,#000);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}.preview-img img{width:100%;height:100%;object-fit:contain}.preview-img .spinner{position:absolute}.preview-title .maker{color:var(--amber);font-weight:800;font-size:var(--fs-s);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}.preview-title .model{font-size:26px}.preview-title .model .rmark{vertical-align:-.05em}.preview-title .model .rmark-n{-webkit-text-fill-color:#fff;color:#fff}.preview-title .logo{height:40px;max-width:220px;object-fit:contain;object-position:left;display:block;margin-bottom:6px}.preview-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:auto;padding-top:8px}.keys{color:var(--muted);font-family:var(--f-body);font-weight:400;font-stretch:normal;font-size:11.5px;display:flex;gap:12px;flex-wrap:wrap}.help-box{width:min(660px,100%);padding:0 18px 18px;overflow-y:auto;max-height:100%;scrollbar-color:var(--steel) transparent}.help-box .modal-head{padding:16px 0 6px;position:sticky;top:0;background:var(--panel-head);z-index:1}.help-box .psec{margin-top:8px}.help-box table{width:100%;border-collapse:collapse}.help-box td{padding:5px 4px;border-top:1px solid var(--steel-dim);vertical-align:top}.help-box tr:first-child td{border-top:0}.help-box td:first-child{white-space:nowrap;width:40%}.help-box td:last-child{font-family:var(--f-body);font-weight:400;font-stretch:normal;font-size:12.5px;color:#e8e8e8}.help-foot{margin:14px 0 0;color:var(--faint);font-family:var(--f-body);font-weight:400;font-stretch:normal;font-size:11.5px}.help-foot a,.error-screen a{color:var(--cyan)}.gallery{position:absolute;right:var(--gutter);bottom:116px;width:min(420px,calc(100% - 2 * var(--gutter)));padding:10px}.gallery[hidden]{display:none}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.gallery-cell{position:relative}.gallery-item{position:relative;display:block;width:100%;border:var(--b-frame) solid var(--steel);padding:0;border-radius:6px;overflow:hidden;background:#000;aspect-ratio:16 / 9}.gallery-item:hover{border-color:var(--steel-hi)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.gallery-dl{position:absolute;right:4px;bottom:4px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;padding:0;border:0;border-radius:4px;background:var(--amber);color:#000;box-shadow:var(--outline)}.gallery-dl:hover{background:var(--amber-hi)}.gallery-dl .ico{width:14px;height:14px}.lightbox .modal-box{width:auto;max-width:100%;padding:12px;gap:10px}.lightbox img{max-width:min(1400px,calc(100vw - 64px));max-height:calc(100vh - 140px);object-fit:contain;display:block;border-radius:6px}.lightbox .row{justify-content:space-between}.lightbox .note{margin:0}.boot{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:var(--ink)}.brand-strip{display:flex;gap:7px}.brand-strip span{display:block;width:46px;height:13px;transform:skew(-28deg);background:var(--brand-blue)}.brand-strip span+span{background:var(--red)}.boot-title{font-size:var(--fs-xxl);font-style:italic;letter-spacing:.01em;padding:0 .1em}.boot-line{display:flex;gap:10px;align-items:center;color:#fff;font-weight:800;letter-spacing:var(--track-caps);text-transform:uppercase}.boot p{max-width:420px;color:var(--muted);font-family:var(--f-body);font-weight:400;font-stretch:normal}.error-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50;background:var(--ink)}.error-screen .glass{max-width:620px;padding:20px 24px 22px;background:#000}.error-screen h1{font-size:var(--fs-xl);margin:0 0 12px}.error-screen p{font-family:var(--f-body);font-weight:400;font-stretch:normal;color:#e8e8e8}.error-screen code{display:block;margin-top:12px;padding:10px 12px;border-radius:6px;background:#000;border:1.5px solid var(--steel);color:var(--amber);font-family:ui-monospace,Menlo,monospace;font-size:12.5px;user-select:all}@media(max-width:899px){:root{--gutter: 10px;--fs-xxl: 30px;--fs-xl: 24px}.bottom{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"strip strip" "dock shutter";gap:8px}.carstrip{grid-area:strip}.dock{grid-area:dock;justify-self:stretch;position:static;min-width:0}.shutter-group{grid-area:shutter;gap:8px}.tabs{justify-content:space-between;padding:4px;gap:2px}.tab{min-width:0;flex:1;flex-direction:column;justify-content:center;gap:3px;height:56px;font-size:10px;letter-spacing:.02em;padding:0 1px}.tab .tile{--tile: 30px}.panel{position:fixed;left:0;right:0;bottom:calc(84px + env(safe-area-inset-bottom));top:auto;transform:none;width:auto;max-height:52vh;max-height:52dvh;border-radius:14px 14px 0 0;border-bottom:0;animation:sheet var(--t) ease-out;background:#000000db}.panel-head{border-radius:12px 12px 0 0}#ui.panel-open .carstrip{display:none}.modal-head{gap:10px;padding:12px 12px 10px}.modal-head .tile{--tile: 40px}.modal-head h2{order:0}.modal-head>.exit{order:1}.modal-head .crumbs{display:none}.modal-head .cats{order:2}.modal-head .search{order:3}.preview-title .logo,.shutter-group .btn .label{display:none}@keyframes sheet{0%{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}.shutter{width:58px;height:58px}.shutter-group .side .sizesel{display:none}.shutter-group .side .row{flex-direction:column;gap:8px}.shutter-group .qbtn .tile{--tile: 30px}.carchip{width:74px}.carchip img{width:64px;height:36px}.addcar{width:60px}.addcar .tile{--tile: 42px}.topbar{gap:8px}.topbar .label{display:none}.course-btn{padding-right:10px;max-width:calc(100vw - 2 * var(--gutter))}.course-btn .map-tile{--tile: 38px}.course-btn .map-tile img{width:30px;height:30px}.crumb:not(.on){display:none}.crumb.on{margin-left:0;padding-left:11px;box-shadow:none}.sector{min-width:34px;height:30px;font-size:15px}.qbtn .tile{--tile: 32px}.gallery{bottom:160px}.garage{grid-template-columns:1fr;grid-template-rows:auto 220px auto;overflow-y:auto;padding:0 10px 10px;gap:8px}.makers{display:flex;overflow-x:auto;padding:5px;gap:4px}.maker{width:auto;flex:none}.maker .count{display:none}.carlist{min-height:0}.preview{overflow:visible}.preview-img{max-height:30vh}.preview-title .model{font-size:22px}.modal{padding:0}.modal-box{border-radius:0;height:100%!important;border-width:0}.search{width:100%}.course-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:0 10px 10px;padding:8px;gap:8px}.ccard-map{height:88px}.ccard-map img{width:72px;height:72px}.hint{top:112px;font-size:var(--fs-s)}.scenes-pop{position:fixed;top:116px;left:var(--gutter);right:var(--gutter);width:auto}.options-pop{max-height:calc(100dvh - 130px)}.car-handle{padding:3px 5px 3px 3px}.dial{width:40px;height:40px}.hbtn{width:34px;height:34px}.toasts{top:120px}}html.lang-cjk body{font-stretch:normal;line-height:1.5}html.lang-cjk .caps,html.lang-cjk .ctl-label,html.lang-cjk .switch-label,html.lang-cjk .psec-title,html.lang-cjk .btn,html.lang-cjk .seg-btn,html.lang-cjk .tab,html.lang-cjk .crumb,html.lang-cjk .chip,html.lang-cjk .maker,html.lang-cjk .toast .t-main{letter-spacing:0}html.lang-cjk .title-silver,html.lang-cjk .panel-title,html.lang-cjk .modal-head h2,html.lang-cjk .preview-title .model,html.lang-cjk .error-screen h1,html.lang-cjk .boot-title{line-height:1.2;background-size:100% 1.2em;font-weight:800}html.lang-cjk .crumb{line-height:22px;font-weight:700}html.lang-cjk .note,html.lang-cjk .tipbox,html.lang-cjk .help-box td:last-child{line-height:1.6}html.lang-cjk .tab{font-weight:800;letter-spacing:0}.tod{margin-top:10px}
