:root{--font:Bahnschrift, "Barlow Semi Condensed", "DIN Alternate", "Segoe UI", system-ui, sans-serif;font-family:var(--font);color:#ebe3f2;font-synthesis:none;-webkit-font-smoothing:antialiased;--panel:#1d1726e8;--edge:#9470b647;--muted:#b3a6c0;--accent:#c4a2ed;--key:#2a2135;--key-top:#392c48;--key-shadow:#0d0a12;background:#120f18}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}html{-webkit-tap-highlight-color:transparent}body{background:radial-gradient(at 50% 38%,#2c2337 0,#1b1623 55%,#120f18 100%)}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:3px;outline:2px solid #d7b9ff}button:disabled{cursor:not-allowed;opacity:.45}[hidden]{display:none!important}h1,p{margin:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.room-page{position:fixed;inset:0}.room-canvas{position:absolute;inset:0}.room-canvas canvas{touch-action:none;width:100%;height:100%;display:block}.room-canvas[data-camera=free] canvas{cursor:grab}.room-canvas[data-camera=free] canvas:active{cursor:grabbing}.room-bar,.room-tools{z-index:2;border:1px solid var(--edge);background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;position:absolute;box-shadow:inset 0 1px #ffffff12,0 10px 24px #0005}.room-bar{align-items:center;padding:6px;display:flex;top:16px;left:16px}.language-switch button{letter-spacing:1px;min-height:28px;padding:0 9px;font-size:11px}.menu-toggle{z-index:3;border:1px solid var(--edge);color:#e6dcf1;background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;place-items:center;width:46px;height:46px;transition:background-color .16s;display:grid;position:absolute;top:16px;right:16px;box-shadow:inset 0 1px #ffffff12,0 10px 24px #0005}.menu-toggle:hover{background-color:#2a2135f0}.menu-icon{gap:4px;width:18px;display:grid;position:relative}.menu-icon span{background:currentColor;border-radius:2px;height:2px;transition:transform .2s,opacity .16s;display:block}.menu-toggle[aria-expanded=true] .menu-icon span:first-child{transform:translateY(6px)rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .menu-icon span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.zoom-controls{z-index:2;gap:8px;display:grid;position:absolute;top:70px;right:16px}.zoom-controls[hidden]{display:none}.zoom-button{border:1px solid var(--edge);color:#e6dcf1;background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;place-items:center;width:46px;height:46px;transition:background-color .16s,transform .12s;display:grid;box-shadow:inset 0 1px #ffffff12,0 10px 24px #0005}.zoom-button:hover{background-color:#2a2135f0}.zoom-button:active{transform:translateY(2px)}.zoom-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:22px;height:22px}.room-tools{transform-origin:100% 0;gap:12px;width:max-content;max-width:calc(100% - 32px);padding:14px;animation:.2s cubic-bezier(.2,1.2,.4,1) both tools-in;display:grid;top:70px;right:16px}@keyframes tools-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}}.tool-group{grid-template-columns:96px auto;align-items:center;gap:12px;display:grid}.tool-group>.tool-toggle,.tool-group>.tool-segmented{justify-self:start}.tool-label{letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font-size:10px}.tool-segmented{background:#120e18;border-radius:8px;gap:4px;padding:3px;display:flex;box-shadow:inset 0 1px 2px #00000080}.tool-segmented button,.tool-toggle,.room-retry{color:#d9cde6;background:linear-gradient(#ffffff0a, #0000), var(--key);min-height:36px;box-shadow:0 2px 0 var(--key-shadow), 0 1px 0 #ffffff14 inset;border:1px solid #ffffff10;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12px;transition:transform .12s,box-shadow .12s,background-color .16s;display:inline-flex}.tool-segmented button:hover,.tool-toggle:hover,.room-retry:hover{background-color:var(--key-top);color:#f3eafc}.tool-segmented button:active,.tool-toggle:active,.room-retry:active{box-shadow:0 0 0 var(--key-shadow), 0 1px 0 #ffffff10 inset;transform:translateY(2px)}.tool-segmented button[aria-pressed=true],.tool-toggle[aria-pressed=true]{color:#f6eeff;background:linear-gradient(#ffffff14,#0000),#5a3f75;border-color:#b18cd277;box-shadow:0 2px #2a1b39,0 0 12px #9a6fd640,inset 0 1px #fff2}.toggle-track{background:#120e18;border-radius:10px;width:26px;height:14px;position:relative;box-shadow:inset 0 1px 2px #000000a0}.toggle-track:after{content:"";background:#9d90aa;border-radius:50%;width:10px;height:10px;transition:transform .14s;position:absolute;top:2px;left:2px}.tool-toggle[aria-pressed=true] .toggle-track:after{background:#f1e4ff;transform:translate(12px)}.room-overlay{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#17121ecc;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.room-overlay-card{text-align:center;max-width:380px}.room-overlay-card h1{color:#ece0f6;font-size:21px;font-weight:500}.room-overlay-card p{color:var(--muted);margin-top:12px;font-size:13px;line-height:1.75}.room-retry{margin-top:22px}@media (width<=760px){.room-bar{top:12px;left:12px}.menu-toggle{top:12px;right:12px}.zoom-controls{top:66px;right:12px}.room-tools{width:auto;max-width:none;top:66px;left:12px;right:12px}.tool-group{grid-template-columns:84px auto}}:root[data-reduced-motion=true] *,:root[data-reduced-motion=true] :before,:root[data-reduced-motion=true] :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){:root:not([data-reduced-motion]) *,:root:not([data-reduced-motion]) :before,:root:not([data-reduced-motion]) :after{transition:none!important;animation:none!important}}.start-screen{z-index:5;--start-below:150px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed;inset:0}.start-art{width:100%;height:100%;display:block;position:absolute;inset:0}.start-backdrop{fill:#17121e}.start-hole{fill:#fff;transition:fill .42s}.start-screen:is([data-start=ready],[data-start=opening]) .start-hole{fill:#000}.start-glass{-webkit-backdrop-filter:blur(12px)saturate(.8);backdrop-filter:blur(12px)saturate(.8);background:#1c0f33b8;transition:background-color .9s ease-in,-webkit-backdrop-filter .9s ease-in,backdrop-filter .9s ease-in;position:absolute;inset:0}.start-screen[data-start=opening] .start-glass{-webkit-backdrop-filter:blur()saturate();backdrop-filter:blur()saturate();background-color:#1c0f3300}.start-ghost,.start-line{fill:none;stroke-linejoin:round;stroke-linecap:round}.start-ghost{stroke:#c4a2ed26;stroke-width:.8px}.start-line{stroke:#c4a2ed;stroke-dasharray:.16 .84;stroke-dashoffset:0;filter:drop-shadow(0 0 4px #a77ff0aa);animation:1.6s linear infinite start-run}@keyframes start-run{to{stroke-dashoffset:-1px}}.start-screen:is([data-start=ready],[data-start=opening]) .start-line{stroke-dasharray:none;animation:none}.start-screen .start-button{color:#e6d8f8;font:600 26px/1 var(--font);letter-spacing:10px;text-indent:10px;text-shadow:0 0 10px #8a5cf066;opacity:0;pointer-events:none;background:0 0;border:0;padding:14px 22px;transition:opacity .4s .2s,color .16s,text-shadow .16s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.start-screen .start-button:focus{outline:none}.start-screen .start-button:is(:hover,:focus-visible){color:#fff;text-shadow:0 0 6px #fffc,0 0 18px #c4a2ed,0 0 34px #8a5cf0;outline:none}.start-screen .start-button:active{color:#fff;text-shadow:0 0 8px #fff,0 0 24px #d7b9ff,0 0 48px #8a5cf0}.start-screen[data-start=ready] .start-button{opacity:1;pointer-events:auto}.start-screen[data-start=opening] .start-button{opacity:0;transition:opacity .16s}.start-percent{left:50%;top:calc(50% + var(--start-below) + 22px);color:#b3a6c0;font:500 12px/1 var(--font);letter-spacing:3px;font-variant-numeric:tabular-nums;transition:opacity .3s;animation:.6s cubic-bezier(.2,.7,.2,1) .12s backwards start-rise;position:absolute;transform:translate(-50%)}.start-screen:not([data-start=loading]) .start-percent{opacity:0}.start-screen.start-fade{opacity:0;transition:opacity .28s}.start-outline{animation:.7s cubic-bezier(.2,.7,.2,1) backwards start-appear}@keyframes start-appear{0%{opacity:0}to{opacity:1}}@keyframes start-rise{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}html[data-reduced-motion] .start-outline,html[data-reduced-motion] .start-percent{animation-duration:1ms}.touch-controls{z-index:2;pointer-events:none;padding:0 max(16px, env(safe-area-inset-right)) calc(72px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));justify-content:space-between;align-items:flex-end;gap:16px;animation:.4s both touch-in;display:flex;position:absolute;inset:auto 0 0}@keyframes touch-in{0%{opacity:0;transform:translateY(12px)}}.touch-controls *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.touch-controls button:is(:focus,:focus-visible){outline:none}.touch-stick{pointer-events:auto;touch-action:none;background:radial-gradient(circle,#2a213555 0,#1d172699 70%);border:2px solid #c4a2ed55;border-radius:50%;flex:none;width:148px;height:148px;position:relative;box-shadow:0 0 0 1px #0005,0 10px 24px #0006}.touch-stick.is-active{border-color:#c4a2edaa}.touch-knob{background:linear-gradient(#ffffff26,#0000),#6c48c9;border:1px solid #e3cdfb;border-radius:50%;width:62px;height:62px;margin:-31px 0 0 -31px;position:absolute;top:50%;left:50%;box-shadow:0 4px #2e1d52,0 0 18px #8a5cf066}.touch-steer{pointer-events:none;gap:14px;display:flex}.touch-stick[hidden],.touch-steer[hidden]{display:none}.touch-steer .touch-button{width:74px;height:74px;padding:12px}.touch-side{pointer-events:none;flex-direction:column;align-items:flex-end;gap:12px;display:flex}.touch-zone{pointer-events:auto;touch-action:none;color:#f6eeff;max-width:220px;height:46px;font:600 15px/1 var(--font);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;background:radial-gradient(circle at 50% 35%,#5a3f75e6,#2a2135e6);border:1px solid #b18cd277;border-radius:23px;align-items:center;gap:6px;padding:0 18px 0 10px;transition:transform 90ms,background-color .12s;animation:.22s both touch-zone-in;display:inline-flex;overflow:hidden;box-shadow:0 3px #120e18,0 8px 18px #0006}.touch-zone[hidden]{display:none}.touch-zone svg{fill:currentColor;flex:none;width:30px;height:30px}.touch-zone span{text-overflow:ellipsis;overflow:hidden}.touch-zone[data-zone=link]{border-color:#e3cdfbaa;box-shadow:0 3px #120e18,0 8px 18px #0006,0 0 16px #8a5cf055}.touch-zone.is-down{color:#2a2135;background:radial-gradient(circle at 50% 35%,#f1e4ff,#c4a2ed);transform:translateY(2px)scale(.96)}@keyframes touch-zone-in{0%{opacity:0;transform:translateY(8px)scale(.9)}}.touch-buttons{pointer-events:none;direction:rtl;grid-template-columns:repeat(3,66px);grid-auto-rows:66px;gap:10px;display:grid}.touch-button{pointer-events:auto;touch-action:none;color:#f6eeff;direction:ltr;background:radial-gradient(circle at 50% 35%,#5a3f75e6,#2a2135e6);border:1px solid #b18cd277;border-radius:50%;place-items:center;width:66px;height:66px;padding:9px;transition:transform 90ms,background-color .12s;display:grid;box-shadow:0 3px #120e18,0 8px 18px #0006}.touch-button svg{fill:currentColor;width:100%;height:100%;display:block}.touch-button.is-down{color:#2a2135;background:radial-gradient(circle at 50% 35%,#f1e4ff,#c4a2ed);transform:translateY(2px)scale(.95)}.touch-button[aria-pressed=true]{color:#2a2135;background:radial-gradient(circle at 50% 35%,#f1e4ff,#c4a2ed)}.touch-controls[data-mode=riding] .touch-button[data-action=accelerate]{grid-area:1/1}.touch-controls[data-mode=riding] .touch-button[data-action=reverse]{grid-area:2/1}.touch-controls[data-mode=riding] .touch-button[data-action=nitro]{grid-area:2/2}.touch-controls[data-mode=riding] .touch-button[data-action=sit]{grid-area:1/2}.touch-button.is-hint{animation:1.6s ease-in-out infinite touch-hint}@keyframes touch-hint{0%,to{color:#f6eeff;border-color:#b18cd277;box-shadow:0 3px #120e18,0 8px 18px #0006}50%{color:#fff;border-color:#e3cdfb;box-shadow:0 3px #120e18,0 8px 18px #0006,0 0 0 3px #c4a2ed55,0 0 22px #a77bf0cc,inset 0 0 16px #c4a2ed88}}.touch-button[data-action=nitro]{background:radial-gradient(circle at 50% 35%,#c2462fe6,#5a1f1ae6)}@media (width<=440px){.touch-controls{gap:10px}.touch-stick{width:124px;height:124px}.touch-knob{width:54px;height:54px;margin:-27px 0 0 -27px}.touch-buttons{grid-template-columns:repeat(3,56px);grid-auto-rows:56px;gap:8px}.touch-button{width:56px;height:56px;padding:7px}.touch-zone{height:42px;padding:0 15px 0 8px;font-size:14px}.touch-zone svg{width:27px;height:27px}.touch-steer{gap:10px}.touch-steer .touch-button{width:64px;height:64px;padding:10px}}@media (height<=460px){.touch-controls{padding-bottom:calc(36px + env(safe-area-inset-bottom))}.touch-stick{width:124px;height:124px}.touch-buttons{grid-template-columns:repeat(5,54px);grid-auto-rows:54px;gap:8px}.touch-button{width:54px;height:54px;padding:7px}.touch-side{gap:8px}.touch-zone{height:40px;padding:0 14px 0 8px;font-size:14px}.touch-zone svg{width:26px;height:26px}.touch-steer .touch-button{width:62px;height:62px;padding:10px}}.nitro-gauge{z-index:2;aspect-ratio:34/106;pointer-events:none;opacity:0;visibility:hidden;transform-origin:50% 100%;height:136px;transition:opacity .26s,transform .26s,visibility 0s linear .26s;position:absolute;bottom:24px;right:24px;transform:translateY(14px)scale(.92)}.nitro-gauge.is-shown{opacity:1;visibility:visible;transition:opacity .26s,transform .26s;transform:none}.nitro-gauge svg{filter:drop-shadow(0 6px 10px #00000080);width:100%;height:100%;display:block;overflow:visible}.nitro-glass{fill:#dcefe924}.nitro-outline{fill:none;stroke:#eef8f4e0;stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:stroke .2s}.nitro-shine{fill:none;stroke:#fff5;stroke-width:2.2px;stroke-linecap:round}.nitro-mark{stroke:#eef8f466;stroke-width:1.5px;vector-effect:non-scaling-stroke}.nitro-cola{fill:url(#nitro-cola-fill);animation:1.6s linear infinite nitro-wave}.nitro-foam{fill:#ecd9b3;opacity:0;transition:opacity .2s;animation:.7s linear infinite reverse nitro-wave}.nitro-liquid{transition:transform .12s linear}@keyframes nitro-wave{to{transform:translate(16px)}}.nitro-bubble{fill:#f3dfb8aa;opacity:0}.nitro-gauge[data-state=boosting] .nitro-bubble{animation:.8s ease-in infinite nitro-bubble}.nitro-gauge[data-state=refilling] .nitro-bubble{animation:2.2s ease-in infinite nitro-bubble}@keyframes nitro-bubble{0%{opacity:0;transform:translateY(0)}15%{opacity:1}to{opacity:0;transform:translateY(-78px)}}.nitro-gauge[data-state=boosting] .nitro-foam{opacity:1}.nitro-gauge[data-state=boosting] svg{animation:90ms linear infinite alternate nitro-shake}@keyframes nitro-shake{0%{transform:translate(-1px)rotate(-2deg)}to{transform:translate(1px)rotate(2deg)}}.nitro-gauge[data-state=empty] .nitro-outline{stroke:#ff7a6a;animation:.9s ease-in-out infinite nitro-empty}@keyframes nitro-empty{50%{stroke:#ff7a6a55}}.nitro-gauge[data-state=full] svg{animation:.7s ease-out nitro-full}@keyframes nitro-full{40%{filter:drop-shadow(0 6px 10px #00000080)drop-shadow(0 0 12px #ffd7a0cc);transform:scale(1.06)}}:root[data-touch=true] .nitro-gauge{--gauge:72px;height:var(--gauge);width:calc(var(--gauge) * 34 / 106);top:182px;bottom:auto;right:calc(16px + (46px - var(--gauge) * 34 / 106) / 2);transform-origin:50% 0}@media (width<=760px){:root[data-touch=true] .nitro-gauge{top:178px;right:calc(12px + (46px - var(--gauge) * 34 / 106) / 2)}}@media (height<=460px){:root[data-touch=true] .nitro-gauge{--gauge:42px}}:root[data-touch=true] .zoom-controls[hidden]~.nitro-gauge{display:none}
