*{box-sizing:border-box}:root{--ink:#0b0c0f;--text:#eeece6;--muted:#8f949c;--line:#ffffff1a;--line-strong:#ffffff3d;--panel:#111317f5;--accent:#ff4a1c;--accent-2:#ffb21c;--display:"Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, system-ui, sans-serif}html,body{background:var(--ink);height:100%;color:var(--text);-webkit-user-select:none;user-select:none;margin:0;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;overflow:hidden}#app canvas{display:block}#hud{text-shadow:0 2px 6px #00000080;pointer-events:none;align-items:flex-end;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}#speed{font-variant-numeric:tabular-nums}#speed-value{font-size:56px;font-weight:700;line-height:1}#speed .unit{opacity:.85;margin-left:6px;font-size:18px}#gear{background:#00000073;border-radius:8px;place-items:center;width:40px;height:40px;font-size:22px;font-weight:700;display:grid}#help{pointer-events:none;background:#00000073;border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.8;position:fixed;top:16px;left:16px}#help.hidden{display:none}kbd{text-align:center;background:#ffffff2e;border-radius:4px;min-width:20px;margin:0 1px;padding:0 5px;font-family:inherit;font-size:12px;display:inline-block}#loading{background:#0f1115;place-items:center;font-size:20px;display:grid;position:fixed;inset:0}#help .map{margin-bottom:2px;font-size:15px;font-weight:700}#help #gamepad-state{opacity:.85;margin-top:4px}#help #gamepad-state.hidden{display:none}#toast{opacity:0;pointer-events:none;background:#0000008c;border-radius:999px;padding:8px 18px;font-size:15px;transition:opacity .25s;position:fixed;top:24px;left:50%;transform:translate(-50%)}#toast.visible{opacity:1}#online,#ranking,#menu{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));z-index:10;background:#00000059;display:flex;position:fixed;inset:0;overflow-y:auto}#online.hidden,#ranking.hidden,#menu.hidden{display:none}.dialog-panel{-webkit-user-select:none;user-select:none;background:#141820f2;border-radius:12px;width:min(440px,100vw - 32px);margin:auto;padding:16px 20px;box-shadow:0 10px 40px #00000080}.dialog-panel h2{margin:0 0 6px;font-size:17px}.dialog-panel .note{opacity:.85;margin:6px 0;font-size:12px;line-height:1.6}.dialog-buttons{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.dialog-buttons .spacer{flex:1}.dialog-buttons button{font:inherit;color:#fff;cursor:pointer;background:#282e3ae6;border:1px solid #ffffff40;border-radius:8px;min-width:96px;min-height:36px;padding:6px 12px;font-size:13px}.dialog-buttons button:disabled{opacity:.4;cursor:default}.dialog-buttons .primary{background:#2f5fa8;border-color:#6aa8ff}.dialog-panel .field{margin:10px 0;font-size:13px;display:block}.dialog-panel .row{gap:6px;display:flex}.dialog-panel input[type=text]{width:100%;font:inherit;color:#fff;-webkit-user-select:text;user-select:text;background:#00000059;border:1px solid #ffffff40;border-radius:6px;margin-top:4px;padding:6px 8px;font-size:14px;display:block}.dialog-panel .row input{flex:1;min-width:0}.dialog-panel .row button{font:inherit;color:#fff;cursor:pointer;white-space:nowrap;background:#282e3ae6;border:1px solid #ffffff40;border-radius:6px;margin-top:4px;padding:0 10px;font-size:13px}#online-room{letter-spacing:.3em;text-transform:uppercase;font-weight:700}#online-status:empty,.dialog-buttons .hidden{display:none}#net-status{pointer-events:none;background:#00000073;border-radius:8px;max-width:280px;padding:8px 12px;font-size:13px;line-height:1.6;position:fixed;top:16px;right:16px}#net-status.hidden{display:none}#net-status .code{letter-spacing:.15em;font-weight:700}html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-touch-callout:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}#touch.hidden,#touch-install.hidden,#touch-quick .hidden{display:none}#touch button{font:inherit;color:#fff;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#1418208c;border:1px solid #ffffff4d}#touch-quick button,#touch-side button{touch-action:none}#touch-top{top:calc(env(safe-area-inset-top) + 10px);left:calc(env(safe-area-inset-left) + 10px);z-index:5;gap:8px;display:flex;position:fixed}#touch-quick{gap:8px;display:flex}#touch-top button{border-radius:10px;min-width:44px;height:44px;padding:0 12px;font-size:14px}#touch-menu-button{justify-content:center;align-items:center;width:44px;display:flex;padding:0!important}#touch-menu-button .bars{pointer-events:none;flex-direction:column;justify-content:space-between;width:20px;height:15px;display:flex}#touch-menu-button .bars i{background:currentColor;height:3px;display:block}#touch-steer{touch-action:none;width:50vw;height:70vh;position:fixed;bottom:0;left:0}#touch-steer .hint{left:calc(env(safe-area-inset-left) + 24px);bottom:calc(env(safe-area-inset-bottom) + 24px);white-space:nowrap;opacity:.6;text-shadow:0 1px 4px #000000b3;pointer-events:none;font-size:13px;position:absolute}#touch-steer.active .hint{display:none}#touch-steer-base{pointer-events:none;background:#0000004d;border:1px solid #ffffff59;border-radius:20px;width:168px;height:40px;margin:-20px 0 0 -84px;display:none;position:absolute}#touch-steer.active #touch-steer-base{display:block}#touch.tilt #touch-steer-base{left:calc(env(safe-area-inset-left) + 24px);bottom:calc(env(safe-area-inset-bottom) + 64px);margin:0;display:block}#touch.tilt #touch-steer-knob{transition:transform 50ms linear}#touch.tilt #touch-steer .hint{white-space:normal;max-width:40vw}#touch-steer-knob{background:#ffffffbf;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%}#touch-pedals{right:calc(env(safe-area-inset-right) + 16px);bottom:calc(env(safe-area-inset-bottom) + 16px);align-items:flex-end;gap:12px;display:flex;position:fixed}#touch-pedals button{touch-action:none;border-radius:16px;font-weight:700}#touch-pedals button.pressed{background:#508cff99}#touch-brake{width:84px;height:84px;font-size:14px;line-height:1.3}#touch-brake small{opacity:.8;font-size:10px;font-weight:400}#touch-accel{width:92px;height:132px;font-size:16px}#menu{background:linear-gradient(90deg,#07080af0 0%,#07080acc 42%,#07080a80 100%);padding:0;overflow:hidden}#menu[data-stage=pause]{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#07080ac7}#menu[data-stage=title]{background:linear-gradient(90deg,#07080aeb 0%,#07080a8c 55%,#07080a26 100%)}#menu button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}#menu .hidden{display:none!important}#menu-title-screen{cursor:pointer;flex-direction:column;justify-content:center;padding:0 max(28px,8vw);display:flex;position:absolute;inset:0;overflow:hidden}.title-stripes{opacity:.9;gap:10px;display:flex;position:absolute;bottom:14vh;left:-6vw;transform:skew(-24deg)}.title-stripes i{background:var(--accent);width:26vw;height:6px;display:block}.title-stripes i:nth-child(2){background:var(--accent-2);width:14vw}.title-stripes i:nth-child(3){background:var(--text);width:6vw}.title-logo{animation:.7s cubic-bezier(.2,.8,.2,1) both title-in}.title-kicker{font-family:var(--display);letter-spacing:.32em;color:var(--muted);margin:0 0 10px;font-size:clamp(11px,1.1vw,15px)}.title-logo h1{font-family:var(--display);letter-spacing:-.03em;margin:0;font-size:clamp(64px,12vw,180px);font-style:italic;font-weight:900;line-height:.86}.title-logo h1 span{color:var(--accent);margin-left:.2em}.title-sub{letter-spacing:.2em;margin:18px 0 0;font-size:clamp(13px,1.4vw,18px);font-weight:700}.title-press{font-family:var(--display);letter-spacing:.4em;margin:0;font-size:clamp(14px,1.4vw,18px);font-weight:700;animation:1.6s step-end infinite blink;position:absolute;bottom:max(28px,7vh);left:max(28px,8vw)}.title-press .tap,body.touch .title-press .pc{display:none}body.touch .title-press .tap{display:inline}.title-rotate{border-left:3px solid var(--accent-2);background:#0a0b0eb8;align-items:center;gap:14px;max-width:420px;margin:28px 0 0;padding:12px 14px;font-size:14px;font-weight:700;line-height:1.5;animation:.7s cubic-bezier(.2,.8,.2,1) .2s both title-in;display:none}.title-rotate b{color:var(--accent-2)}.title-rotate small{color:var(--muted);font-size:12px;font-weight:400;display:block}.rotate-phone{border:2px solid var(--text);border-radius:4px;flex:none;width:18px;height:30px;animation:2.4s ease-in-out infinite rotate-phone}@keyframes rotate-phone{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (orientation:portrait) and (pointer:coarse){.title-rotate{display:flex}}@media (orientation:portrait){body.touch .title-rotate{display:flex}}@keyframes blink{60%{opacity:.15}}@keyframes title-in{0%{opacity:0;transform:translate(-40px)}}#menu-frame{width:100%;max-width:1560px;height:100%;padding:max(24px, env(safe-area-inset-top)) max(40px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(40px, env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr) auto;gap:18px;margin:0 auto;animation:.25s ease-out both frame-in;display:grid}@keyframes frame-in{0%{opacity:0}}.menu-head{grid-template-columns:auto 1fr;align-items:end;gap:6px 32px;display:grid}#menu-crumb{font-family:var(--display);letter-spacing:.28em;color:var(--accent);text-transform:uppercase;grid-column:1/-1;margin:0;font-size:12px;font-weight:700}.menu-head h2{flex-direction:column;margin:0;display:flex}#menu-title-en{font-family:var(--display);letter-spacing:.18em;color:var(--muted);white-space:pre;font-size:14px;font-style:italic;font-weight:700}#menu-title{letter-spacing:.02em;font-size:clamp(28px,3vw,44px);font-weight:900;line-height:1.1}#menu-steps{place-self:end;gap:6px;width:100%;max-width:720px;margin:0;padding:0;list-style:none;display:flex}#menu-steps li{border-top:3px solid var(--line-strong);min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;padding-top:8px;font-size:12px;overflow:hidden}#menu-steps li span{font-family:var(--display);margin-right:6px;font-style:italic;font-weight:700}#menu-steps li.done{color:var(--text);border-color:#ff4a1c73}#menu-steps li.current{border-color:var(--accent);color:var(--text);font-weight:700}#menu-summary{border-top:1px solid var(--line);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;margin:4px 0 0;padding-top:10px;font-size:13px;overflow:hidden}.menu-body{grid-template-columns:minmax(300px,5fr) minmax(0,7fr);gap:32px;min-height:0;display:grid}#menu-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#fff3 transparent;min-height:0;padding:2px 14px 2px 0;overflow-y:auto}#menu .item,#menu .choice{clip-path:polygon(0 0,100% 0,calc(100% - 16px) 100%,0 100%);text-align:left;background:linear-gradient(90deg,#ffffff0f,#ffffff04);border:0;border-left:3px solid #0000;align-items:center;gap:14px;width:100%;margin:0 0 4px;padding:12px 34px 12px 18px;transition:background .15s,transform .15s,border-color .15s;display:flex;position:relative}#menu .item:hover,#menu .choice:hover{background:linear-gradient(90deg,#ffffff1f,#ffffff08)}#menu .item.cursor,#menu .choice.selected{background:linear-gradient(90deg, var(--accent) 0%, #ff4a1cc7 60%, #ff4a1c59 100%);border-left-color:#fff;transform:translate(8px)}#menu .text{flex-direction:column;flex:1;min-width:0;display:flex}#menu .label{align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}#menu .en{font-family:var(--display);letter-spacing:.2em;opacity:.55;font-size:11px;font-style:italic;font-weight:700}#menu .item small,#menu .choice small{opacity:.7;margin-top:2px;font-size:12px}#menu .choice{flex-direction:column;align-items:flex-start;gap:0;padding:10px 34px 10px 18px}#menu .badge{font-family:var(--display);letter-spacing:.12em;color:#111;background:var(--accent-2);padding:1px 7px;font-size:10px;font-style:italic;transform:skew(-12deg)}.d-lock{color:#ffd27a;background:#00000059;border-left:3px solid #ffd27a;margin:8px 0;padding:6px 10px;font-size:13px}#menu .choice.locked .label,#menu .choice.locked small{opacity:.45}#menu .choice.locked .badge{color:#fff;background:#555}#menu .item.major{padding:16px 40px 16px 18px}#menu .item.major .label{font-size:clamp(18px,1.7vw,24px);font-weight:900}#menu .idx{width:44px;font-family:var(--display);color:var(--muted);font-size:30px;font-style:italic;font-weight:900;line-height:1}#menu .item.cursor .idx{color:#fff}#menu .items.home .item:not(.major){width:calc(33.3% - 6px);margin-right:4px;padding:10px 26px 10px 14px;display:inline-flex}#menu .items.home .item.major+.item:not(.major){margin-top:14px}#menu .arrow:after{content:"";opacity:0;border-top:2px solid;border-right:2px solid;width:8px;height:8px;display:block;transform:rotate(45deg)}#menu .item.cursor .arrow:after{opacity:1}#menu .value{font-family:var(--display);white-space:nowrap;font-size:15px;font-style:italic;font-weight:700}#menu .value:before{content:"‹ ";opacity:.5}#menu .value:after{content:" ›";opacity:.5}#menu .group{margin-bottom:18px}#menu .group h3{letter-spacing:.12em;color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:700}#menu .group.focused h3{color:var(--accent)}#menu .choices.multi .list{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:4px;display:grid}#menu .choices.multi .choice{margin:0}#menu .choices.multi .choice.selected{transform:none}#menu-detail{overscroll-behavior:contain;border:1px solid var(--line);border-top:3px solid var(--accent);scrollbar-width:thin;background:linear-gradient(160deg,#1c1f26f0,#0e1014f0);min-height:0;position:relative;overflow-y:auto}#menu-detail.empty{visibility:hidden}#menu-detail:before{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(-55deg,#ffffff24 0 3px,#0000 3px 9px);width:120px;height:22px;position:absolute;top:0;right:0}.d-hero{border-bottom:1px solid var(--line);height:clamp(170px,32vh,380px);position:relative}.d-map{background:linear-gradient(#ffffff09 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#ffffff09 1px,#0000 1px) 0 0/32px 32px,radial-gradient(#1d2128,#101215)}.d-stage{background:radial-gradient(at 50% 70%,#2a2e36,#0f1114 70%)}.d-map canvas,.d-stage .preview-slot,.d-stage canvas{width:100%;height:100%;display:block}.d-tag{font-family:var(--display);letter-spacing:.14em;border-left:3px solid var(--accent);background:#0009;padding:3px 12px;font-size:12px;font-style:italic;font-weight:700;position:absolute;top:14px;left:16px}.d-tag.hot{color:#111;background:var(--accent-2);border:0;top:30px;left:auto;right:16px;transform:skew(-12deg)}.d-tags{pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:6px 10px;display:flex;position:absolute;top:14px;left:16px;right:16px}.d-tags .d-tag{white-space:nowrap;text-overflow:ellipsis;max-width:100%;position:static;overflow:hidden}.d-tags .d-tag.hot{letter-spacing:.04em}@media (max-height:480px){.d-tags{top:10px;left:10px;right:10px}.d-tags .d-tag{padding:3px 9px;font-size:11px}}.d-body{padding:20px 24px 24px;position:relative}.d-name{margin:0 0 6px;font-size:clamp(22px,2.2vw,32px);font-weight:900;line-height:1.2}.d-team{font-family:var(--display);letter-spacing:.2em;color:var(--accent);margin:0;font-size:12px;font-weight:700}.d-text{color:#cfcdc6;margin:0 0 10px;font-size:14px;line-height:1.75}.d-note{color:var(--muted);margin:12px 0 0;font-size:12px}.d-label{font-family:var(--display);letter-spacing:.2em;color:var(--muted);margin-right:10px;font-size:11px;font-weight:700;display:inline-block}.d-specs{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:1px;margin:14px 0;display:grid}.d-specs div{background:#15181d;min-width:0;padding:8px 12px}.d-specs dt{color:var(--muted);font-size:11px}.d-specs dd{font-family:var(--display);overflow-wrap:anywhere;margin:2px 0 0;font-size:19px;font-weight:700;line-height:1.25}.d-profile{margin:10px 0}.d-profile canvas{border-bottom:1px solid var(--line-strong);width:100%;height:72px;margin-top:4px;display:block}.d-features{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.d-features span{border:1px solid var(--line-strong);padding:3px 10px;font-size:12px}.d-reco{margin:12px 0 0;font-size:14px;font-weight:700}.d-stats{gap:9px;margin-top:16px;display:grid}.d-stats .stat{grid-template-columns:76px 1fr 78px;align-items:center;gap:12px;font-size:13px;display:grid}.d-stats .k{color:var(--muted)}.d-stats .v{font-family:var(--display);text-align:right;font-style:italic;font-weight:700}.bar{grid-template-columns:repeat(10,1fr);gap:3px;display:grid}.bar i{background:#ffffff1a;height:10px;transform:skew(-20deg)}.bar i.on{background:linear-gradient(90deg, var(--accent), var(--accent-2))}.d-sky{background:linear-gradient(#5fa8e8,#bfe0f5 70%);overflow:hidden}.d-sky.sky-morning{background:linear-gradient(#5a6fa8,#f2a874 62%,#ffd9a0)}.d-sky.sky-night{background:linear-gradient(#05070d,#16213a 70%)}.d-sky .ridge{clip-path:polygon(0 60%,12% 35%,22% 52%,36% 18%,48% 45%,60% 30%,74% 55%,86% 25%,100% 48%,100% 100%,0 100%);background:#1a2a22;height:55%;position:absolute;inset:auto 0 0}.d-sky.sky-night .ridge{background:#070a0c}.d-sky.wx-fog:after{content:"";position:absolute;inset:0}.d-sky.wx-rain{background:linear-gradient(#59636e,#8e99a3 72%)}.d-sky.wx-rain.sky-morning{background:linear-gradient(#4a5160,#8a8584 65%,#a39a90)}.d-sky.wx-rain.sky-night{background:linear-gradient(#030406,#0e131b 70%)}.d-sky.wx-rain:before{content:"";background:radial-gradient(40% 60% at 20% 10%,#282e368c,#0000 70%),radial-gradient(50% 70% at 75% 0,#24283099,#0000 70%),radial-gradient(35% 50% at 50% 35%,#464e5859,#0000 70%);position:absolute;inset:0 0 40%}.d-sky.wx-rain .ridge{background:#26322d}.d-sky.wx-rain.sky-night .ridge{background:#06080a}.d-sky .d-tag{z-index:2}.d-rain{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.d-sky.wx-fog:after{background:linear-gradient(#dce1e659,#dce1e6d9)}.d-garage{background:radial-gradient(at 50% 70%,#2a2e36,#0000 70%);height:210px;margin-top:18px}.d-garage .preview-slot,.d-garage canvas{width:100%;height:100%;display:block}.d-rival .d-specs{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}.d-rival .d-specs dd{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;font-size:15px;display:-webkit-box;overflow:hidden}.d-rival{grid-template-columns:minmax(150px,38%) minmax(0,1fr);min-height:100%;display:grid}.d-portrait{border-right:1px solid var(--line);background:#0e1013;position:relative}.d-portrait .photo{object-fit:cover;width:100%;height:100%;min-height:260px;display:block}.d-portrait .photo.none{background:repeating-linear-gradient(-55deg,#ffffff0a 0 2px,#0000 2px 12px),linear-gradient(160deg,#2b2f37,#111317);place-items:center;display:grid}.d-portrait .photo.none span{color:#ffffff29;font-size:clamp(64px,8vw,120px);font-weight:900}.d-portrait .d-tag.hot{top:14px}.d-level{align-items:center;gap:10px;margin:0 0 6px;font-weight:700;display:flex}.stars{color:var(--accent-2);letter-spacing:2px;font-size:16px}.stars i{color:#ffffff24;font-style:normal}.d-plain{min-height:100%;position:relative;overflow:hidden;container-type:inline-size}.d-plain .d-body{padding-top:32px}.d-big{font-family:var(--display);color:#0000;-webkit-text-stroke:1px #ffffff1a;white-space:nowrap;pointer-events:none;font-size:min(clamp(120px,16vw,260px),21cqw);font-style:italic;font-weight:900;line-height:1;position:absolute;bottom:-.12em;right:16px}.menu-foot{border-top:1px solid var(--line);align-items:center;gap:16px;padding-top:14px;display:flex}.menu-foot .spacer{flex:1}.menu-keys{color:var(--muted);margin:0;font-size:12px}.menu-keys kbd{margin-left:8px}body.touch .menu-keys{display:none}#menu .ghost,#menu .go{letter-spacing:.08em;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);border:0;min-width:140px;min-height:46px;padding:0 30px;font-size:15px;font-weight:700}#menu .ghost{background:#ffffff1a}#menu .ghost:hover{background:#ffffff2e}#menu .go{background:var(--text);color:#111;min-width:200px}#menu .go:after{content:"  ▶";font-size:11px}#menu .go.start{background:var(--accent);color:#fff;animation:1.6s ease-in-out infinite go-glow}@keyframes go-glow{50%{filter:brightness(1.18)}}#menu .go:disabled{opacity:.35;cursor:not-allowed;animation:none}@media (min-width:1400px) and (min-height:820px){#menu .label{font-size:18px}#menu .choice{padding:13px 36px 13px 20px}.d-text{font-size:15px}}@media (max-height:540px){#menu-frame{padding:max(8px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));gap:8px}.menu-head{grid-template-columns:auto 1fr;row-gap:2px}#menu-crumb,#menu-summary{display:none}#menu-title{font-size:20px}#menu-title-en{font-size:11px}#menu-steps li{padding-top:4px;font-size:10px}.menu-body{grid-template-columns:minmax(200px,4fr) minmax(0,6fr);gap:14px}#menu .item,#menu .choice{margin-bottom:3px;padding:8px 26px 8px 12px}#menu .item.major{padding:9px 30px 9px 12px}#menu .item.major .label{font-size:16px}#menu .idx{width:30px;font-size:20px}#menu .label{font-size:14px}#menu .choice small{font-size:10px}.d-course,.d-car{grid-template-columns:45% minmax(0,1fr);min-height:100%;display:grid}.d-hero{border-bottom:0;border-right:1px solid var(--line);height:auto;min-height:160px}.d-body{padding:12px 14px 14px}.d-name{font-size:18px}.d-text{margin-bottom:6px;font-size:12px;line-height:1.6}.d-specs{grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0}.d-specs div{padding:4px 8px}.d-specs dd{font-size:15px}.d-rival .d-specs{grid-template-columns:minmax(0,1fr)}.d-rival .d-specs dd{font-size:13px}.d-rival .d-specs div:first-child dd{-webkit-line-clamp:1;min-height:1.25em}.d-profile canvas{height:44px}.d-stats{gap:5px;margin-top:8px}.d-stats .stat{grid-template-columns:58px 1fr 62px;gap:8px;font-size:11px}.bar i{height:7px}.d-portrait .photo{min-height:0}.d-reco,.d-features{margin-top:6px;font-size:12px}.menu-foot{padding-top:6px}#menu .ghost,#menu .go{min-width:110px;min-height:38px;font-size:13px}#menu .go{min-width:150px}#menu .items.home .item:not(.major){width:calc(50% - 4px)}}@media (max-height:540px) and (orientation:landscape){.dialog-panel{width:min(660px,100vw - 32px);padding:12px 18px}.dialog-panel .field{margin:6px 0}#online .dialog-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:14px;display:grid}#online .dialog-panel>:not(.field),#online .dialog-panel>.field:nth-of-type(3){grid-column:1/-1}}@media (max-width:760px) and (orientation:portrait){#menu-frame{padding:max(14px, env(safe-area-inset-top)) 14px max(12px, env(safe-area-inset-bottom));gap:10px}.menu-head{grid-template-columns:minmax(0,1fr)}#menu-steps{justify-self:stretch}#menu-steps li{font-size:0}#menu-steps li span{font-size:11px}#menu-summary{display:none}.menu-body{grid-template-rows:minmax(0,46fr) minmax(0,54fr);grid-template-columns:minmax(0,1fr);gap:10px}#menu-detail{order:-1}#menu.detail-plain .menu-body{grid-template-rows:auto minmax(0,1fr)}#menu.detail-plain #menu-detail{min-height:min-content;overflow:hidden}.d-plain .d-body{padding:16px 16px 12px}.d-plain .d-name{font-size:20px}.d-plain .d-text{margin-bottom:6px;font-size:13px;line-height:1.6}.d-plain .d-big{font-size:min(96px,21cqw);right:10px}.d-hero{height:150px}.d-rival{grid-template-columns:38% minmax(0,1fr)}.d-rival .d-specs{grid-template-columns:minmax(0,1fr)}.d-rival .d-specs dd{font-size:13px}.d-rival .d-specs div:first-child dd{-webkit-line-clamp:1;min-height:1.25em}.d-portrait .photo{min-height:0}#menu .items.home .item:not(.major){width:calc(50% - 4px)}#menu .ghost,#menu .go{min-width:110px}}body.touch #help{display:none}body.touch #hud{bottom:auto;left:50%;right:auto;top:calc(env(safe-area-inset-top) + 8px);transform:translate(-50%)}body.touch #speed-value{font-size:36px}body.touch #gear{width:32px;height:32px;font-size:18px}body.touch #toast{top:calc(env(safe-area-inset-top) + 60px);text-align:center;max-width:calc(100vw - 32px)}body.touch #net-status{top:calc(env(safe-area-inset-top) + 10px);right:calc(env(safe-area-inset-right) + 10px);max-width:200px;font-size:11px}body.touch #race-result kbd{display:none}.dialog-panel{-webkit-user-select:none;max-height:calc(100dvh - 24px);overflow-y:auto}body.touch .dialog-panel input[type=text]{font-size:16px}@media (orientation:portrait){body.touch #hud{left:auto;right:calc(env(safe-area-inset-right) + 12px);top:calc(env(safe-area-inset-top) + 64px);transform:none}body.touch #net-status{right:auto;left:calc(env(safe-area-inset-left) + 10px);top:calc(env(safe-area-inset-top) + 64px)}body.touch #toast{top:calc(env(safe-area-inset-top) + 120px)}}#race{top:calc(env(safe-area-inset-top) + 10px);text-align:center;pointer-events:none;font-variant-numeric:tabular-nums;background:#0000008c;border-radius:12px;padding:6px 16px 8px;position:fixed;left:50%;transform:translate(-50%)}#race.hidden{display:none}#race .row{justify-content:center;align-items:baseline;gap:14px;display:flex}#race-lap{opacity:.85;font-size:15px;font-weight:700}#race-pos{color:#ffd75e;font-size:22px;font-weight:700}#race-pos small{opacity:.8;margin-left:2px;font-size:14px}#race-pos:empty{display:none}#race-time{font-size:28px;font-weight:700}#race-best{opacity:.8;font-size:12px}#race-best:empty{display:none}#race-field{text-align:left;margin:4px 0 0;padding:0;font-size:12px;line-height:1.5;list-style:none}#race-field:empty{display:none}#race-field li{opacity:.85}#race-field li.me{opacity:1;font-weight:700}#race-field .dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}#race-split{margin-top:2px;font-size:15px;font-weight:700;display:none}#race-split.visible{display:block}#race-split.good{color:#7dff9a}#race-laps{border-collapse:collapse;margin:4px auto 0;font-size:13px}#race-laps td{text-align:right;padding:0 4px}#race-laps td:first-child{opacity:.7}#race-laps td:first-child:before{content:"L"}#race-laps td:last-child{min-width:48px;font-size:12px}#race-laps .fastest td:nth-child(2){color:#d9a6ff}#race-laps .current td{opacity:.85}#race-laps .good{color:#7dff9a}#race-laps .bad{color:#ff8f8f}#minimap{pointer-events:none;justify-content:flex-end;width:180px;display:flex;position:fixed;top:16px;right:16px}#minimap canvas{background:#0006;border-radius:10px}#minimap.hidden{display:none}body.racing #net-status{top:200px}body.touch #minimap{top:calc(env(safe-area-inset-top) + 10px);right:calc(env(safe-area-inset-right) + 10px);width:150px}body.touch.racing #net-status{top:calc(env(safe-area-inset-top) + 130px)}body.touch.racing #hud{top:auto;bottom:calc(env(safe-area-inset-bottom) + 10px)}body.racing #toast{top:calc(env(safe-area-inset-top) + 100px)}#countdown{white-space:nowrap;text-shadow:0 4px 16px #0009;opacity:0;pointer-events:none;font-size:96px;font-weight:700;position:fixed;top:38%;left:50%;transform:translate(-50%,-50%)}#countdown.visible{opacity:1}#countdown.ready{white-space:nowrap;background:#00000073;border-radius:12px;padding:10px 22px;font-size:26px;animation:1.4s ease-in-out infinite ready-pulse}@keyframes ready-pulse{50%{opacity:.55}}#race-warning{text-align:center;opacity:0;pointer-events:none;background:#c81e1ecc;border-radius:10px;max-width:calc(100vw - 32px);padding:8px 18px;font-size:18px;font-weight:700;transition:opacity .2s;position:fixed;top:28%;left:50%;transform:translate(-50%)}#race-warning.visible{opacity:1}#race-result{top:calc(env(safe-area-inset-top) + 100px);width:min(360px,100vw - 32px);max-height:calc(100dvh - env(safe-area-inset-top) - 110px);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;background:#141820eb;border-radius:12px;padding:12px 18px;position:fixed;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 10px 40px #00000080}#race-result.hidden{display:none}#race-result h2{margin:0;font-size:17px}#race-result .total{margin:4px 0;font-size:34px;font-weight:700}#race-result .note{opacity:.85;margin:4px 0;font-size:12px}#race-result .new{color:#7dff9a;font-weight:700}#race-result .big{margin:4px 0;font-size:14px}#race-result table{border-collapse:collapse;width:100%;font-size:13px}#race-result td{padding:2px 0}#race-result td:last-child{text-align:right}#race-result kbd{margin-left:6px}#race-result .standings td{padding:3px 4px}#race-result .standings td:first-child{width:1.5em;font-weight:700}#race-result .standings td:nth-child(2){text-align:left}#race-result .standings tr.me{background:#ffd75e2e;font-weight:700}#race-result .standings .dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}@media (max-height:480px){#race-time{font-size:22px}#race-result{top:calc(env(safe-area-inset-top) + 70px);max-height:calc(100dvh - env(safe-area-inset-top) - 80px)}#race-result .total{font-size:26px}body.racing #toast{top:calc(env(safe-area-inset-top) + 80px)}#race{padding:4px 12px 6px}#race-laps{font-size:11px}#race-laps td:last-child{font-size:10px}body.touch #minimap{width:130px}body.touch.racing #net-status{top:calc(env(safe-area-inset-top) + 110px)}}@media (orientation:portrait){body.touch #race{left:calc(env(safe-area-inset-left) + 10px);top:calc(env(safe-area-inset-top) + 64px);transform:none}body.touch.racing #hud{left:auto;right:calc(env(safe-area-inset-right) + 12px);top:auto;bottom:calc(env(safe-area-inset-bottom) + 160px)}body.touch #minimap{top:calc(env(safe-area-inset-top) + 64px)}body.touch.racing #net-status{left:auto;right:calc(env(safe-area-inset-right) + 10px);top:calc(env(safe-area-inset-top) + 200px)}}#ranking .dialog-panel{flex-direction:column;display:flex}.ranking-scroll{overscroll-behavior:contain;flex:auto;min-height:72px;overflow-y:auto}#ranking-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}#ranking-table td{white-space:nowrap;border-top:1px solid #ffffff14;padding:4px}#ranking-table td.name{text-overflow:ellipsis;max-width:120px;overflow:hidden}#ranking-table td.car{text-overflow:ellipsis;opacity:.75;max-width:110px;font-size:11px;overflow:hidden}#ranking-table button{font:inherit;color:#fff;cursor:pointer;background:#783c0a99;border:1px solid #ffa040b3;border-radius:6px;padding:3px 8px;font-size:12px}#ranking-table .note,#race-result .note.rank{opacity:.7}#race-ranking.hidden{display:none}.dialog-panel{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:0;padding:18px 22px;box-shadow:0 20px 60px #0009}.dialog-panel h2,#race-result h2{letter-spacing:.04em;font-size:19px;font-weight:900}.dialog-buttons button,#race-result .dialog-buttons button{clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);background:#ffffff1a;border:0;border-radius:0;min-height:40px;padding:6px 22px;font-weight:700}.dialog-buttons button:hover{background:#ffffff2e}.dialog-buttons .primary{background:var(--accent);border:0}.dialog-buttons .primary:hover{background:#ff6236}#race-result .dialog-buttons button{flex:auto;min-width:0;padding:6px 14px}#race-result .dialog-buttons .primary{background:var(--accent)}.dialog-panel input[type=text],.dialog-panel .row button{border-color:var(--line-strong);border-radius:0}.dialog-panel input[type=text]:focus{border-color:var(--accent);outline:none}#ranking-table tr.me{background:#ff4a1c29}#ranking-table button{border-color:var(--accent);background:#ff4a1c40;border-radius:0}kbd{border:1px solid var(--line-strong);font-family:var(--display);background:0 0;border-radius:2px;font-size:11px;font-weight:700}#toast,#net-status,#help{border-left:3px solid var(--accent);background:#0a0b0eb8;border-radius:0}#loading{background:var(--ink);font-family:var(--display);letter-spacing:.4em;font-style:italic;font-weight:700}#speed-value{font-family:var(--display);letter-spacing:-.02em;font-style:italic;font-weight:900}#speed .unit{font-family:var(--display);font-style:italic;font-weight:700}#gear{font-family:var(--display);border-bottom:3px solid var(--accent);background:#0a0b0eb3;border-radius:0;font-style:italic}#race,#race-result{border-top:3px solid var(--accent);border-radius:0}#race-result{background:var(--panel)}#race-result .total{font-family:var(--display);font-style:italic;font-weight:900}#race-warning{clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);border-radius:0}#countdown{font-family:var(--display);font-style:italic;font-weight:900}#countdown.ready{border-left:3px solid var(--accent);border-radius:0;font-family:inherit;font-style:normal;font-weight:700}#touch button{border-radius:0!important}body.menu-open #hud,body.menu-open #help,body.menu-open #touch,body.menu-open #race,body.menu-open #minimap,body.menu-open #toast,body.menu-open #countdown,body.menu-open #race-warning{visibility:hidden}#subtitle{left:50%;bottom:calc(env(safe-area-inset-bottom) + 92px);color:#fff;text-align:center;text-shadow:0 1px 2px #000;pointer-events:none;opacity:0;z-index:4;background:#08090bb8;border-radius:6px;width:max-content;max-width:min(640px,100vw - 32px);padding:7px 14px 8px;font-size:16px;line-height:1.45;transition:opacity .2s;position:fixed;transform:translate(-50%)}#subtitle.visible{opacity:1}#subtitle .text,#scene .scene-text{white-space:pre-line}#subtitle.effect .text,#scene.effect .scene-text{color:#ffd27a;font-style:italic;font-weight:800}#scene.effect .scene-name{display:none}#subtitle .who{color:var(--accent-2);margin-right:.6em;font-weight:800;display:inline-block}#subtitle .who.me,#scene .scene-name.me{color:#6fd3ff}#touch:not(.hidden)~#subtitle{left:calc(env(safe-area-inset-left) + 16px);right:calc(env(safe-area-inset-right) + 220px);bottom:calc(env(safe-area-inset-bottom) + 58px);width:-moz-fit-content;width:fit-content;max-width:none;margin:0 auto;font-size:14px;transform:none}#scene{z-index:8;padding:0 calc(env(safe-area-inset-right) + 16px) calc(env(safe-area-inset-bottom) + 16px) calc(env(safe-area-inset-left) + 16px);cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(#0000 45%,#0000008c);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}#scene.hidden{display:none}#scene .scene-box{border:1px solid var(--line-strong);border-left:4px solid var(--accent);background:#0e0f12eb;border-radius:8px;gap:16px;width:min(820px,100%);padding:16px 18px;animation:.25s ease-out scene-in;display:flex;position:relative}@keyframes scene-in{0%{opacity:0;transform:translateY(12px)}}#scene .scene-face{background:linear-gradient(160deg,#2b2f37,#111317);border-radius:6px;flex:none;place-items:center;width:96px;height:128px;display:grid;overflow:hidden}#scene .scene-face img{object-fit:cover;width:100%;height:100%}#scene .scene-face span{color:#fff3;font-size:48px;font-weight:900}#scene .scene-main{flex-direction:column;flex:auto;min-width:0;display:flex}#scene .scene-name{color:var(--accent-2);letter-spacing:.04em;font-size:15px;font-weight:800}#scene .scene-text{color:#fff;overflow-wrap:anywhere;flex:auto;margin:6px 0 8px;font-size:19px;line-height:1.6}#scene .scene-hint{color:#ffffff80;align-self:flex-end;font-size:12px}#scene .scene-hint .end,#scene.last .scene-hint .more{display:none}#scene.last .scene-hint .end{display:inline}#scene .scene-skip{border:1px solid var(--line-strong);color:#fff;background:#0e0f12cc;border-radius:999px;padding:6px 12px;font-size:12px;position:absolute;top:-40px;right:0}body.in-scene .touch-drive,body.in-scene #countdown{visibility:hidden}@media (max-height:540px) and (orientation:landscape){#scene .scene-box{gap:12px;padding:10px 14px}#scene .scene-face{width:66px;height:88px}#scene .scene-face span{font-size:34px}#scene .scene-text{margin:2px 0 4px;font-size:15px;line-height:1.5}#scene .scene-skip{top:-34px}}#debug-where{left:calc(env(safe-area-inset-left) + 8px);bottom:calc(env(safe-area-inset-bottom) + 8px);color:#9f9;pointer-events:none;z-index:4;background:#0009;padding:2px 6px;font:12px ui-monospace,monospace;position:fixed}.d-rival.no-portrait{grid-template-columns:minmax(0,1fr)}.d-team .d-win{background:var(--accent);color:#fff;letter-spacing:.08em;border-radius:3px;margin-left:10px;padding:1px 8px;font-size:11px;font-weight:900}#scene .scene-face[hidden]{display:none}#ranking .dialog-panel{width:min(980px,100vw - 32px);height:min(640px,100dvh - 16px);padding:16px 20px 14px}.rk-head{align-items:center;gap:16px;margin-bottom:10px;display:flex}.rk-head h2{flex:1;align-items:baseline;gap:10px;margin:0;display:flex}.rk-head h2 .en,.rk-board .en,#online h2 .en{font-family:var(--display);letter-spacing:.2em;color:var(--muted);font-size:12px;font-style:italic;font-weight:700}#online h2 .en{margin-left:.6em}#ranking .rk-head .field{width:min(280px,45%);color:var(--muted);white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:700;display:flex}#ranking .rk-head .field input{margin:0}.rk-body{flex:auto;grid-template-columns:minmax(180px,30%) minmax(0,1fr);gap:16px;min-height:0;display:grid}.rk-courses{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#fff3 transparent;min-height:0;padding-right:10px;overflow-y:auto}.rk-course,.rk-car{font:inherit;color:var(--text);cursor:pointer;border:0}.rk-course{clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);text-align:left;background:linear-gradient(90deg,#ffffff0f,#ffffff04);border-left:3px solid #0000;flex-direction:column;width:100%;margin:0 0 4px;padding:8px 28px 8px 14px;transition:background .15s,transform .15s;display:flex}.rk-course span{font-size:14px;font-weight:700}.rk-course small{opacity:.7;margin-top:1px;font-size:11px}.rk-course:hover{background:linear-gradient(90deg,#ffffff1f,#ffffff08)}.rk-course.selected{background:linear-gradient(90deg, var(--accent) 0%, #ff4a1cc7 60%, #ff4a1c59 100%);border-left-color:#fff;transform:translate(6px)}.rk-board{flex-direction:column;min-width:0;min-height:0;display:flex}.rk-cars{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#fff3 transparent;gap:6px;padding-bottom:6px;display:flex;overflow-x:auto}.rk-car{clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);white-space:nowrap;background:#ffffff14;flex:none;padding:6px 16px;font-size:12px;font-weight:700}.rk-car:hover{background:#ffffff29}.rk-car.selected{background:var(--accent);color:#fff}.rk-board #ranking-status{margin:4px 0}#ranking-status:empty{display:none}#ranking-table td{padding:6px}#ranking-table td:first-child{width:2.2em;font-family:var(--display);color:var(--muted);text-align:center;font-size:15px;font-style:italic;font-weight:900}#ranking-table tr:nth-child(-n+3) td:first-child{color:var(--accent-2)}#ranking-table td.name{max-width:160px;font-weight:700}#ranking-table td.car{max-width:150px}#ranking .dialog-buttons{flex-wrap:nowrap;align-items:center;margin-top:10px}#ranking .dialog-buttons .note{color:var(--muted);flex:1;margin:0;font-size:11px}@media (max-height:540px) and (orientation:landscape){#ranking .dialog-panel{width:calc(100vw - 16px);height:calc(100dvh - 16px);padding:10px 14px 8px}.rk-head{margin-bottom:6px}.rk-head h2{font-size:16px}.rk-body{grid-template-columns:minmax(150px,28%) minmax(0,1fr);gap:10px}.rk-course{margin-bottom:3px;padding:5px 24px 5px 10px}.rk-course span{font-size:12px}.rk-course small{font-size:10px}#ranking-table td{padding:4px}#ranking .dialog-buttons{margin-top:6px}#ranking .dialog-buttons button{min-height:32px}#ranking .dialog-buttons .note{font-size:10px;line-height:1.4}}@media (max-width:760px) and (orientation:portrait){#ranking .dialog-panel{width:calc(100vw - 16px);height:calc(100dvh - 16px);padding:12px 12px 10px}.rk-head{flex-direction:column;align-items:stretch;gap:6px}#ranking .rk-head .field{width:100%}.rk-body{flex-direction:column;gap:6px;display:flex}.rk-courses{flex:none;gap:6px;padding:0 0 6px;display:flex;overflow:auto hidden}.rk-course{flex:none;width:auto;margin:0;padding:6px 22px 6px 10px}.rk-course.selected{transform:none}.rk-course span{white-space:nowrap;font-size:12px}.rk-board{flex:auto}#ranking-table td.car{max-width:90px}#ranking-table td.name{max-width:96px}#ranking-table .date{display:none}#ranking .dialog-buttons{flex-wrap:wrap}}#online-race{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));z-index:10;background:#00000059;display:flex;position:fixed;inset:0;overflow-y:auto}#online-race.hidden{display:none}#online-race .dialog-panel{flex-direction:column;width:min(820px,100vw - 32px);height:min(560px,100dvh - 16px);display:flex}.or-cond{color:var(--accent-2);font-size:14px;font-weight:800}#or-status{margin:0 0 8px}.or-col{flex-direction:column;min-height:0;display:flex}.or-label{color:var(--muted);letter-spacing:.1em;margin-bottom:6px;font-size:11px;font-weight:800}.or-entrants{margin:0;padding:0;list-style:none;overflow-y:auto}.or-entrants li{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:grid}.or-entrants li.me{background:#ff4a1c1f}.or-entrants .dot,#emote-feed .dot{border-radius:50%;width:10px;height:10px;display:inline-block}.or-entrants .name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.or-entrants .name i{border:1px solid var(--accent-2);color:var(--accent-2);margin-left:6px;padding:0 5px;font-size:10px;font-style:normal}.or-entrants .car{color:var(--muted);font-size:12px}.or-entrants .mark{text-align:right;min-width:4.5em;color:var(--muted);font-size:11px;font-weight:800}.or-entrants li.ready .mark{color:#6ee08a}.or-entrants li.out{opacity:.55}@media (max-height:540px) and (orientation:landscape){#online-race .dialog-panel{width:calc(100vw - 16px);height:calc(100dvh - 16px);padding:10px 14px 8px}#or-status{margin-bottom:4px;font-size:11px}.or-entrants li{padding:5px 8px;font-size:12px}}@media (max-width:760px) and (orientation:portrait){#online-race .dialog-panel{width:calc(100vw - 16px);height:auto;max-height:calc(100dvh - 16px);padding:12px}#online-race .or-col:first-child{flex:none}}#emote-feed{left:calc(env(safe-area-inset-left) + 16px);bottom:calc(env(safe-area-inset-bottom) + 200px);z-index:4;pointer-events:none;margin:0;padding:0;list-style:none;position:fixed}#emote-feed li{border-left:3px solid var(--accent);background:#0a0b0eb8;align-items:center;gap:6px;margin-top:4px;padding:4px 10px;font-size:13px;transition:opacity .4s;animation:.2s ease-out scene-in;display:flex}#emote-feed li.fade{opacity:0}#emote-feed b{color:var(--accent-2)}body.touch #emote-feed{left:calc(env(safe-area-inset-left) + 10px);bottom:calc(env(safe-area-inset-bottom) + 64px)}@media (max-height:540px) and (orientation:landscape){#emote-feed li{font-size:11px}}body.online-race #race-retry,body.online-race #race-change{display:none}#touch-side{right:calc(env(safe-area-inset-right) + 16px);bottom:calc(env(safe-area-inset-bottom) + 158px);gap:6px;display:flex;position:fixed}#touch-side button{touch-action:none;border-radius:10px;min-width:56px;height:36px;padding:0 8px;font-size:12px;font-weight:700}#touch-side .hidden{display:none}#touch-side button:active{background:#508cff99}@media (max-height:420px) and (orientation:landscape){#touch-side{bottom:calc(env(safe-area-inset-bottom) + 154px)}#touch-side button{min-width:50px;height:32px}}.mirror-frame{z-index:2;pointer-events:none;border:3px solid #15171b;border-radius:3px;position:fixed;box-shadow:0 0 0 1px #ffffff40,0 6px 18px #00000073}.mirror-frame.hidden{display:none}@media (orientation:landscape){body.mirrors-on:not(.touch) #race{top:calc(env(safe-area-inset-top) + var(--mirror-bottom,10px))}body.touch #race{left:calc(env(safe-area-inset-left) + 10px);top:calc(env(safe-area-inset-top) + 62px);transform:none}body.touch.mirrors-on #race{top:calc(env(safe-area-inset-top) + max(62px, var(--mirror-bottom,0px)))}}@media (orientation:landscape) and (max-height:480px){body.touch #race-result{top:calc(env(safe-area-inset-top) + 10px);left:calc(env(safe-area-inset-left) + 240px);right:calc(env(safe-area-inset-right) + 12px);width:auto;max-width:420px;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px);z-index:6;margin:0 auto;transform:none}}body.touch.menu-driving #touch-top{z-index:11}body.touch.menu-driving #touch-menu-button{visibility:visible;color:#111;background:var(--accent);border-color:var(--accent)}body.touch.menu-driving #touch-quick{visibility:hidden}body.touch.menu-driving .menu-head{min-height:calc(var(--top-shift,0px) + 46px);padding-left:74px}body.touch #menu[data-stage=pause] .menu-foot{display:none}#net-status,body.racing #net-status{top:calc(16px + var(--minimap-h,0px) + 10px)}body.mirrors-on:not(.touch) #help{top:calc(env(safe-area-inset-top) + var(--mirror-bottom,16px))}body.mirrors-on #toast{top:calc(env(safe-area-inset-top) + var(--mirror-bottom,24px))}body.mirrors-on:not(.touch).racing #toast{top:calc(env(safe-area-inset-top) + var(--mirror-bottom,24px) + 96px)}#touch-top{top:calc(env(safe-area-inset-top) + 10px + var(--top-shift,0px))}body.touch #minimap{top:calc(env(safe-area-inset-top) + 10px)}body.touch #net-status,body.touch.racing #net-status{left:auto;right:calc(env(safe-area-inset-right) + 10px);top:calc(env(safe-area-inset-top) + 10px + var(--minimap-h,0px) + 8px)}body.touch #hud,body.touch.racing #hud{top:auto;left:50%;right:auto;bottom:calc(env(safe-area-inset-bottom) + 10px);transform:translate(-50%)}@media (orientation:portrait){body.touch #minimap{top:calc(env(safe-area-inset-top) + 64px + var(--top-shift,0px))}body.touch #net-status,body.touch.racing #net-status{top:calc(env(safe-area-inset-top) + 64px + var(--top-shift,0px) + var(--minimap-h,0px) + 8px)}body.touch #race{top:calc(env(safe-area-inset-top) + 64px + var(--top-shift,0px))}body.touch #toast,body.touch.racing #toast,body.touch.mirrors-on #toast{top:calc(env(safe-area-inset-top) + 120px + var(--top-shift,0px))}body.touch #hud,body.touch.racing #hud{left:calc(env(safe-area-inset-left) + 16px);bottom:calc(env(safe-area-inset-bottom) + 48px);transform:none}}.dialog-buttons{grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.dialog-buttons button{white-space:nowrap}body:not(.touch) #race-result{width:min(560px,100vw - 32px)}#race-result .dialog-buttons{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));grid-auto-flow:row}#race-result .dialog-buttons .primary{grid-column:1/-1}.dialog-buttons .spacer{display:none}.dialog-buttons button,#race-result .dialog-buttons button,.dialog-panel .row button,#touch-quick button,#touch-side button{text-align:center;justify-content:center;align-items:center;gap:6px;line-height:1.2;display:inline-flex}#race-result .dialog-buttons button{min-width:0;padding:6px 10px}#ranking .dialog-buttons{display:flex}#ranking .dialog-buttons button{flex:none}.dialog-panel .row button{min-width:6.5em}#touch-quick,#touch-side{grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.rk-car{text-align:center;min-width:124px}#menu .ghost,#menu .go{white-space:nowrap;justify-content:center;align-items:center;width:180px;min-width:0;padding:0 16px;display:inline-flex}@media (max-height:540px){#menu .ghost,#menu .go{width:160px}}@media (max-width:760px) and (orientation:portrait){#menu .ghost,#menu .go{letter-spacing:.02em;width:160px}}#toast,#countdown.ready,#race-warning{--band:#0a0b0ed1;--band-line:var(--accent);clip-path:none;background:linear-gradient(90deg, transparent, var(--band-line) 22%, var(--band-line) 78%, transparent) top / 100% 2px no-repeat, linear-gradient(90deg, transparent, var(--band-line) 22%, var(--band-line) 78%, transparent) bottom / 100% 2px no-repeat, linear-gradient(90deg, transparent, var(--band) 16%, var(--band) 84%, transparent);color:#fff;letter-spacing:.06em;text-align:center;text-shadow:0 2px 6px #000000b3;white-space:nowrap;border:0;border-radius:0;font-style:italic;font-weight:800}#toast{white-space:normal;width:max-content;max-width:calc(100vw - 16px);padding:7px 56px 8px;font-size:15px}#countdown.ready{padding:12px 84px 13px;font-size:24px;animation:1.8s ease-in-out infinite ready-pulse}#race-warning{--band:#aa1212e0;--band-line:#ffd0c8;white-space:normal;width:max-content;max-width:calc(100vw - 16px);padding:8px 64px 9px;font-size:18px}@media (max-width:760px),(max-height:480px){#countdown.ready{padding:9px 56px 10px;font-size:18px}#toast{padding:6px 40px 7px;font-size:13px}#race-warning{padding:7px 44px 8px;font-size:15px}}#net-status,#help{border-left:0;border-top:2px solid var(--accent)}#net-status .ns-label{font-family:var(--display);letter-spacing:.14em;color:var(--muted);font-size:10px;font-style:italic;font-weight:700}.title-rotate{border-left:0;border-top:2px solid var(--accent-2);border-bottom:2px solid var(--accent-2)}#scene .scene-box{border-left:1px solid var(--line-strong);border-top:3px solid var(--accent);border-radius:0}#confirm{z-index:20;background:#0009;padding:16px;display:flex;position:fixed;inset:0}#confirm.hidden{display:none}#confirm .dialog-panel{border-top-color:#d8261c;width:min(380px,100vw - 32px)}#confirm h2{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}#confirm h2 .en{font-family:var(--display);letter-spacing:.2em;color:#ff8a80;font-size:12px;font-style:italic;font-weight:700}#confirm-text p{margin:0 0 4px;font-size:14px;line-height:1.6}#confirm .dialog-buttons{gap:10px;margin-top:16px}#confirm .dialog-buttons .danger{background:#c8201a}#confirm .dialog-buttons .danger:hover{background:#e02a22}#confirm .dialog-buttons button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #fff}#ranking-table th{z-index:1;background:var(--panel);letter-spacing:.08em;color:var(--muted);text-align:left;white-space:nowrap;padding:4px 6px;font-size:11px;font-weight:700;position:sticky;top:0}#ranking-table th:first-child{text-align:center}#race-notice{clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);white-space:nowrap;opacity:0;pointer-events:none;z-index:6;background:#0e1016db;border-top:2px solid #f2f2f2;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:7px 20px 7px 14px;font-size:16px;transition:opacity .2s,transform .2s;display:flex;position:fixed;top:40%;left:50%;transform:translate(-50%,-6px)}#race-notice.visible{opacity:1;transform:translate(-50%)}#race-notice .flag{background:conic-gradient(#111 25%, #f2f2f2 0 50%, #111 0 75%, #f2f2f2 0) 0 0 / 6px 6px;flex:none;width:18px;height:12px}#race-notice .dot{border-radius:50%;flex:none;width:9px;height:9px}#race-notice b{text-overflow:ellipsis;overflow:hidden}#race-notice .detail{font-family:var(--display);color:var(--muted);margin-left:6px;font-style:italic;font-weight:700}body.touch #race-notice{font-size:14px}#net-status{width:196px;line-height:1.5}#net-status .ns-head{align-items:baseline;gap:6px;display:flex}#net-status .ns-count{font-family:var(--display);color:var(--muted);margin-left:auto;font-size:12px;font-style:italic;font-weight:700}#net-status .ns-who{flex-wrap:wrap;align-items:center;gap:2px 7px;min-width:0;margin-top:3px;display:flex}#net-status .ns-dots{flex:none;gap:3px;display:flex}#net-status .ns-dot{border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 1px #00000080}#net-status .ns-names{text-overflow:ellipsis;white-space:nowrap;min-width:64px;max-width:100%;font-size:12px;overflow:hidden}#net-status .ns-race{background:var(--accent);white-space:nowrap;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700}body.touch #net-status{width:150px;padding:6px 10px;font-size:12px}body.touch #net-status .ns-dots{gap:2px}body.touch #net-status .ns-dot{width:7px;height:7px}body.touch #net-status .ns-names{min-width:40px}#confirm.safe .dialog-panel{border-top-color:var(--accent)}#confirm.safe h2 .en{color:var(--muted)}#confirm-input{margin-top:10px;font-size:16px}#confirm-input.hidden{display:none}#race-result .sections{border-top:1px solid #ffffff26;margin-top:10px;padding-top:8px}#race-result .section-map{width:100%;height:120px;display:block}#race-result .section-gaps{flex-wrap:wrap;gap:4px;margin:6px 0;padding:0;list-style:none;display:flex}#race-result .section-gaps li{border-bottom:3px solid var(--c);background:#ffffff0f;border-radius:6px;flex-direction:column;align-items:center;min-width:3.6em;padding:2px 4px;font-size:11px;display:flex}#race-result .section-gaps b{color:var(--c);font-size:13px}#race-result .section-line{margin:4px 0;font-size:12px;line-height:1.5}.off-terms{color:#ffd27a;background:#00000059;border-left:3px solid #ffd27a;margin:0 0 10px;padding:6px 10px;font-size:13px}body.replaying #hud,body.replaying #help,body.replaying #race,body.replaying #race-result,body.replaying #countdown,body.replaying #race-warning,body.replaying #race-notice,body.replaying #touch,body.replaying #subtitle,body.replaying #emote-feed,body.replaying .mirror-frame{display:none!important}#replay.hidden{display:none}#replay{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}#replay button{font:inherit;color:var(--text);border:1px solid var(--line-strong);cursor:pointer;touch-action:manipulation;background:#0a0b0eb8;padding:6px 10px;font-size:13px}#replay button.primary{border-color:var(--accent);background:#ff4a1c59}#replay button kbd{margin-left:6px}body.touch #replay kbd{display:none}#replay .spacer{flex:1}#replay .rp-top{top:calc(env(safe-area-inset-top) + 16px);left:calc(env(safe-area-inset-left) + 16px);align-items:center;gap:10px;min-width:0;display:flex;position:fixed;right:212px}#replay .rp-tag{background:var(--accent);color:#fff;font-family:var(--display);letter-spacing:.12em;padding:3px 8px;font-size:13px;font-weight:700}#replay .rp-title{text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px #000;min-width:0;font-size:14px;overflow:hidden}#replay .rp-cars{top:calc(env(safe-area-inset-top) + 56px);left:calc(env(safe-area-inset-left) + 16px);flex-wrap:wrap;align-items:center;gap:6px;display:flex;position:fixed;right:212px}#replay .rp-cars button{padding:4px 9px;font-size:12px}#replay .rp-cars button.selected{border-color:var(--accent-2);background:#ffb21c40}#replay .rp-cars .dot{vertical-align:0;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}#replay .rp-tele{left:calc(env(safe-area-inset-left) + 16px);bottom:calc(env(safe-area-inset-bottom) + 108px);border-left:3px solid var(--accent);background:#0a0b0eb8;width:min(460px,100vw - 32px);padding:10px 12px;position:fixed}#replay .rp-now{align-items:center;gap:12px;display:flex}#replay .rp-speed{min-width:74px;font-family:var(--display)}#replay .rp-speed b{font-size:30px}#replay .rp-speed small{color:var(--muted);margin-left:3px;font-size:11px}#replay .rp-wheel{color:#ddd;width:44px;height:44px}#replay .rp-wheel svg{width:100%;height:100%}#replay .rp-steer{flex-direction:column;min-width:70px;font-size:13px;display:flex}#replay .rp-under{color:var(--accent-2);visibility:hidden;font-size:11px;font-weight:700}#replay .rp-under.on{visibility:visible}#replay .rp-pedals{gap:10px;display:flex}#replay .rp-pedal{background:#ffffff1a;flex:none;width:30px;height:44px;position:relative}#replay .rp-pedal i{height:0;position:absolute;bottom:0;left:0;right:0}#replay .rp-pedal.thr i{background:#5fe08a}#replay .rp-pedal.brk i{background:#ff5a4f}#replay .rp-pedal span{white-space:nowrap;color:var(--muted);font-size:9px;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}#replay .rp-graph{width:100%;height:110px;margin-top:16px;display:block}#replay .rp-legend{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:11px;display:flex}#replay .rp-legend span:before{content:"";vertical-align:middle;width:10px;height:3px;margin-right:4px;display:inline-block}#replay .rp-legend .s:before{background:#f4f4f4}#replay .rp-legend .t:before{background:#5fe08a;height:8px}#replay .rp-legend .b:before{background:#ff5a4f;height:8px}#replay .rp-legend .u:before{background:#ffb21c99;height:8px}#replay .rp-noinput{color:var(--accent-2);margin:4px 0 0;font-size:11px}#replay .rp-noinput.hidden{display:none}#replay .rp-bar{left:calc(env(safe-area-inset-left) + 16px);right:calc(env(safe-area-inset-right) + 16px);bottom:calc(env(safe-area-inset-bottom) + 16px);background:#0a0b0eb8;padding:8px 10px;position:fixed}#replay .rp-overview{cursor:pointer;touch-action:none;width:100%;height:28px;display:block}#replay .rp-controls{align-items:center;gap:6px;margin-top:8px;display:flex}#replay .rp-controls button{min-width:40px}#replay .rp-time{white-space:nowrap;margin-left:6px;font-size:13px}#ranking-table td.actions{white-space:nowrap}#ranking-table td.actions button+button{margin-left:4px}@media (max-width:560px){#replay .rp-cars{right:16px}#replay .rp-top{flex-wrap:wrap;row-gap:4px}#replay .rp-title{white-space:normal;flex-basis:100%;order:3;font-size:12px}#replay .rp-cars{top:calc(env(safe-area-inset-top) + 28px + var(--minimap-h,160px))}#replay .rp-graph{height:56px;margin-top:14px}#replay .rp-legend{gap:2px 8px;font-size:10px}#replay .rp-now{gap:9px}#replay .rp-time{font-size:11px}#replay .rp-controls button{min-width:34px;padding:6px 7px}}@media (max-height:480px){#replay .rp-tele{bottom:calc(env(safe-area-inset-bottom) + 96px);padding:6px 10px}#replay .rp-graph{height:60px;margin-top:12px}#replay .rp-legend{display:none}}#steer-meter{text-align:center;width:180px;font-size:12px;position:absolute;bottom:calc(100% + 6px);right:0}#steer-meter.hidden{display:none}#steer-meter .sm-track{background:#0a0b0e8c;height:10px;position:relative;box-shadow:inset 0 0 0 1px #fff3}#steer-meter .sm-track i{position:absolute;top:0;bottom:0}#steer-meter .sm-zone{background:#5fe08a47;box-shadow:inset 2px 0 #5fe08a,inset -2px 0 #5fe08a}#steer-meter .sm-fill{background:#fff}#steer-meter.over .sm-fill{background:var(--accent-2)}#steer-meter .sm-center{background:#ffffffb3;width:2px;top:-3px;bottom:-3px;left:calc(50% - 1px)}#steer-meter .sm-text{white-space:nowrap;margin-top:2px}#steer-meter.over .sm-text{color:var(--accent-2);font-weight:700}body.touch #steer-meter{width:150px;left:50%;right:auto;transform:translate(-50%)}@media (orientation:portrait){body.touch #steer-meter{left:0;transform:none}}
