:root{--paper:#f6efe1;--mist:#b8c8ce;--ink:#0a1219;--night:#071016;--ember:#f26d4e;--gold:#f6c87a;--line:#e9f1f047}*{box-sizing:border-box}html,body{background:var(--night);min-height:100%;margin:0}body{color:var(--paper);font-family:Arial,Helvetica,sans-serif}button,a{font:inherit}button{cursor:pointer}.cinematic-ride{--aim-x:63%;--aim-y:48%;isolation:isolate;background:#0d1b23;width:100%;height:100svh;min-height:100svh;position:relative;overflow:hidden}.cinematic-ride canvas{touch-action:none;inset:0;width:100%!important;height:100%!important;position:absolute!important}.mode-target canvas,.mode-aiming canvas{cursor:crosshair}.cinematic-wash{z-index:1;pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(46% 35% at 67% 22%,#ffb16729,#0000 62%),linear-gradient(#040a101f 0%,#0000 38%,#030a0e38 100%);position:absolute;inset:0}.ride-ui{z-index:2;pointer-events:none;text-transform:uppercase;letter-spacing:.12em;position:absolute;inset:0}.ride-ui button,.ride-ui a{pointer-events:auto}.ride-header{justify-content:space-between;align-items:center;display:flex;position:absolute;top:clamp(18px,3.2vw,40px);left:clamp(18px,3vw,48px);right:clamp(18px,3vw,48px)}.ride-mark{color:var(--paper);letter-spacing:.2em;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:10px;font-weight:700;display:flex}.ride-mark span{aspect-ratio:1;width:33px;color:var(--gold);letter-spacing:0;border:1px solid #f6c87ac2;border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:10px;display:grid}.ride-mark i{font-style:normal}.header-actions{align-items:center;gap:8px;display:flex}.sound-button,.menu-button-3d{color:var(--paper);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.14em;background:#06121838;padding:9px 11px;font-size:8px;font-weight:700;transition:border-color .2s,background .2s}.sound-button:hover,.menu-button-3d:hover{border-color:var(--gold);background:#08161c99}.sound-button span{color:#8ff0c7;text-shadow:0 0 8px #8ff0c7cc;margin-left:5px;font-size:7px;display:inline-block}.sound-button:not(.is-muted) span{animation:1.5s ease-in-out infinite audio-pulse}.sound-button.is-muted{color:#eff3eb94}.sound-button.is-muted span{color:#eff3eb6b;text-shadow:none}.sound-button.is-pending span{color:var(--gold);text-shadow:0 0 8px #f6c87ab8}@keyframes audio-pulse{50%{opacity:.42;transform:scale(.72)}}.menu-button-3d b{color:var(--gold);margin-left:6px;font-size:13px;font-weight:400}.route-menu{z-index:5;color:#112026;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;background:#f7eedaed;width:min(310px,100vw - 36px);padding:18px 20px;position:absolute;top:clamp(68px,9vw,98px);right:clamp(18px,3vw,48px);box-shadow:0 20px 50px #0000004d}.route-menu>div{color:#af4b37;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:8px;font-weight:800;display:flex}.route-menu>div button{color:#20333b;background:0 0;border:0;padding:0;font-size:20px;line-height:.7}.route-menu>button,.route-menu>span{color:#183038;text-align:left;letter-spacing:.1em;background:0 0;border:0;border-top:1px solid #13313b29;justify-content:space-between;align-items:center;width:100%;padding:11px 0;font-size:11px;font-weight:800;display:flex}.route-menu>button:hover{color:#d6573e}.route-menu i{color:#b36c57;letter-spacing:.1em;font-size:7px;font-style:normal}.route-menu>span{color:#6f7e7c}.route-rail{color:#d7e1df;align-items:center;gap:10px;font-size:8px;font-weight:700;display:grid;position:absolute;top:50%;left:clamp(18px,3vw,48px);transform:translateY(-50%)}.route-rail i{background:linear-gradient(var(--gold), #f6c87a1a);width:1px;height:78px;margin-left:4px;display:block}.route-rail b{color:#0000;border:1px solid var(--gold);place-items:center;width:10px;height:10px;display:grid;transform:rotate(45deg)}.route-rail em{color:var(--gold);writing-mode:vertical-rl;font-size:8px;font-style:normal;transform:rotate(180deg)}.speed-cluster{color:var(--paper);grid-template-columns:auto auto;align-items:end;column-gap:8px;display:grid;position:absolute;bottom:clamp(21px,3vw,42px);left:clamp(18px,3vw,48px)}.speed-cluster span{color:#ebf2f0a8;grid-column:span 2;margin-bottom:5px;font-size:8px;font-weight:700}.speed-cluster strong{letter-spacing:-.05em;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,4vw,52px);font-weight:400;line-height:.72}.speed-cluster small{color:var(--gold);padding-bottom:1px;font-size:8px;font-weight:700}.scene-caption{color:var(--paper);text-align:right;gap:4px;font-size:8px;font-weight:700;display:grid;position:absolute;bottom:clamp(130px,12vw,158px);right:clamp(18px,3vw,48px)}.scene-caption b{color:#ebf2f09e;font-size:7px;font-weight:500}.entry-screen{pointer-events:auto;background:linear-gradient(90deg,#040a0edb 0%,#040a0e70 45%,#040a0e0d 80%);flex-direction:column;justify-content:center;padding:clamp(24px,7vw,100px);display:flex;position:absolute;inset:0}.entry-screen p{color:var(--gold);margin:0 0 22px;font-size:clamp(8px,.8vw,11px);font-weight:700}.entry-screen h1{letter-spacing:-.075em;max-width:720px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(58px,10vw,158px);font-weight:400;line-height:.78}.entry-screen h1 em{color:#f1b36d;font-weight:400}.entry-screen>div{align-items:center;gap:22px;margin-top:38px;display:flex}.entry-screen>div span{color:#f1f5efbd;letter-spacing:.08em;max-width:160px;font-size:10px;font-weight:600;line-height:1.5}.entry-screen>div button,.skills-footer button{color:#101b20;background:var(--gold);letter-spacing:.14em;border:0;padding:14px 17px;font-size:9px;font-weight:800;transition:transform .2s,background .2s}.entry-screen>div button:hover,.skills-footer button:hover{background:#ffe0a4;transform:translateY(-2px)}.entry-screen>div button b,.skills-footer button b{margin-left:8px;font-size:14px;font-weight:400}.entry-screen small{color:#f1f5ef8c;letter-spacing:.12em;margin-top:18px;font-size:8px;font-weight:600}.countdown-overlay{color:var(--paper);pointer-events:none;mix-blend-mode:screen;place-items:center;display:grid;position:absolute;inset:0}.countdown-overlay>*{grid-area:1/1}.countdown-overlay span{color:var(--gold);align-self:start;margin-top:29vh;font-size:9px;font-weight:800}.countdown-overlay strong{letter-spacing:-.11em;text-shadow:0 0 50px #ff8f4f7a;font-family:Georgia,Times New Roman,serif;font-size:min(48vw,620px);font-weight:400;line-height:.6}.countdown-overlay i{color:var(--paper);align-self:end;margin-bottom:28vh;font-size:8px;font-style:normal;font-weight:700}.target-readout{color:var(--paper);gap:7px;display:grid;position:absolute;top:50%;left:clamp(76px,13vw,220px);transform:translateY(-50%)}.target-readout span{color:var(--gold);font-size:9px;font-weight:800}.target-readout h2{letter-spacing:-.07em;color:#ffe259;text-shadow:0 0 18px #ffe25959;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(40px,6vw,80px);font-weight:400;line-height:.78;transition:color .3s,text-shadow .3s}.target-readout div{align-items:center;gap:10px;display:flex}.target-readout div i{color:var(--ember);font-size:26px;font-style:normal}.target-readout div b{font-size:10px;font-weight:800}.target-readout button{width:max-content;color:var(--paper);border:0;border-bottom:1px solid var(--gold);letter-spacing:.13em;background:0 0;margin-top:11px;padding:10px 0;font-size:8px;font-weight:800}.target-readout .target-prompt{color:#eff3ebb8;letter-spacing:.13em;width:max-content;margin-top:11px;font-size:8px;font-weight:800}.target-readout.is-open>span{color:#fff0ad;text-shadow:0 0 18px #ffc44e94}.target-readout.is-locked h2{color:#ff3b30;text-shadow:0 0 32px #ff3b308c,0 0 64px #ff3b3040}.target-readout .aim-assist{color:#ffe4acc2;letter-spacing:.16em;width:max-content;font-size:7px;font-weight:800}.crosshair-3d{top:var(--aim-y);left:var(--aim-x);aspect-ratio:1;filter:drop-shadow(0 0 8px #f3694a70);border:1px solid #ffdba3eb;border-radius:50%;width:54px;transition:width .13s,border-color .13s,filter .13s;position:absolute;transform:translate(-50%,-50%)}.crosshair-3d.is-hot{filter:drop-shadow(0 0 13px #ffc243eb);border-color:#fff3ad;width:34px;animation:.42s ease-in-out infinite alternate target-lock-pulse}.crosshair-3d.is-hot i{background:#fff7c8;box-shadow:0 0 12px #ffb93f}.crosshair-3d:before,.crosshair-3d:after{content:"";background:#f2c178;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crosshair-3d:before{width:calc(100% + 16px);height:1px}.crosshair-3d:after{width:1px;height:calc(100% + 16px)}.crosshair-3d i{aspect-ratio:1;background:var(--ember);border-radius:50%;width:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ride-instruction{color:var(--gold);white-space:nowrap;margin:0;font-size:8px;font-weight:800;position:absolute;bottom:clamp(22px,3vw,42px);left:50%;transform:translate(-50%)}.drive-controls-mobile{pointer-events:none;z-index:3;position:absolute;inset:0}.drive-pad{pointer-events:auto;-webkit-user-select:none;user-select:none;grid-template-rows:auto 44px 44px;grid-template-columns:repeat(3,44px);gap:6px;display:grid;position:absolute;bottom:clamp(20px,3vw,38px);right:clamp(18px,3vw,48px)}.drive-pad>span{color:#eff3ebb8;text-align:right;letter-spacing:.16em;grid-column:1/-1;margin-bottom:3px;font-size:8px;font-weight:800}.drive-pad button{width:44px;height:44px;color:var(--paper);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);touch-action:none;background:#051117ad;border:1px solid #eef0e652;border-radius:6px;place-items:center;padding:0;font-size:16px;font-weight:700;transition:border-color .16s,background .16s,transform .12s;display:grid;position:relative;box-shadow:0 4px 14px #00000059}.drive-pad button:hover,.drive-pad button:active{color:#172027;border-color:var(--gold);background:var(--gold);transform:scale(.94)}.drive-pad button i{color:currentColor;opacity:.62;font-size:7px;font-style:normal;font-weight:800;position:absolute;bottom:3px;right:4px}.drive-up{grid-area:2/2}.drive-left{grid-area:3/1}.drive-down{grid-area:3/2}.drive-right{grid-area:3/3}.fire-pad{pointer-events:auto;-webkit-user-select:none;user-select:none;position:absolute;bottom:clamp(140px,16vw,175px);right:clamp(18px,3vw,48px)}.fire-trigger-btn{min-width:82px;min-height:82px;color:var(--paper);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:.12em;touch-action:manipulation;background:radial-gradient(circle,#eb4e3859 0%,#0d1b23d9 100%);border:2px solid #f6c87a73;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:10px;font-size:9px;font-weight:800;transition:transform .14s,border-color .2s,box-shadow .2s;display:flex;box-shadow:0 0 20px #0006}.fire-trigger-btn span{text-align:center;font-size:8px;font-weight:800}.fire-trigger-btn i{font-size:20px;font-style:normal}.fire-trigger-btn.is-vulnerable{color:#fffde6;background:radial-gradient(circle,#ffc44e8c 0%,#14242ce6 100%);border-color:#ffe259;animation:.45s infinite alternate fire-pulse;box-shadow:0 0 28px #ffc44ed9}.fire-trigger-btn:active{transform:scale(.92)}@keyframes fire-pulse{0%{filter:brightness();transform:scale(1)}to{filter:brightness(1.25);transform:scale(1.08)}}.skills-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;background:linear-gradient(90deg,#050e13a3,#050e1340 72%,#0000);border-top:1px solid #f6c87ac7;border-left:1px solid #f6c87ac7;grid-template-columns:minmax(240px,.96fr) minmax(420px,1.4fr);gap:clamp(30px,7vw,125px);padding:clamp(22px,3vw,42px) 0 clamp(18px,2vw,26px) clamp(22px,3vw,42px);display:grid;position:absolute;bottom:clamp(80px,15vh,150px);left:clamp(90px,14vw,260px);right:0}.skills-heading p{color:var(--gold);margin:0 0 15px;font-size:8px;font-weight:800}.skills-heading h2{letter-spacing:-.065em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,4.1vw,67px);font-weight:400;line-height:.84}.skills-heading h2 em{color:#f1aa64;font-weight:400}.skills-heading>span{color:#f4f1e694;margin-top:19px;font-size:8px;font-weight:600;display:block}.skills-columns{border-left:1px solid #ecefe638;grid-template-columns:repeat(3,minmax(0,1fr));align-self:end;gap:1px;width:100%;display:grid}.skills-columns.group-count-2,.skills-columns.group-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-columns article{background:linear-gradient(#0d263054,#0000);border-right:1px solid #ecefe638;min-height:135px;padding:13px 16px}.skills-columns b{color:var(--gold);font-size:8px}.skills-columns p{color:var(--paper);letter-spacing:-.02em;text-transform:none;margin:18px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(13px,1.4vw,20px);line-height:1.27}.skills-columns p span{margin-bottom:8px;display:block}.skills-links{flex-wrap:wrap;gap:7px 11px;margin-top:13px;display:flex}.skills-links a{color:var(--gold);letter-spacing:.12em;border-bottom:1px solid #f6c87a6b;font-size:7px;font-weight:800;text-decoration:none;transition:color .2s,border-color .2s}.skills-links a:hover,.skills-links a:focus-visible{color:#fff1c7;border-color:#fff1c7}.skills-footer{color:#f4f1e69e;grid-column:1/-1;justify-content:space-between;align-items:center;padding-right:clamp(22px,3vw,42px);font-size:8px;font-weight:700;display:flex}@keyframes target-lock-pulse{0%{transform:translate(-50%,-50%)scale(.94)}to{transform:translate(-50%,-50%)scale(1.06)}}@media (max-width:840px){.route-rail,.scene-caption{display:none}.entry-screen{padding:clamp(20px,5vw,36px);padding-bottom:max(32px, env(safe-area-inset-bottom));justify-content:flex-end}.entry-screen h1{font-size:clamp(44px,12vw,84px);line-height:.88}.entry-screen>div{flex-direction:column;align-items:stretch;gap:14px;margin-top:24px}.entry-screen>div span{max-width:none;font-size:11px}.entry-screen>div button{justify-content:center;width:100%;min-height:52px;font-size:11px}.drive-pad{left:max(16px, env(safe-area-inset-left));right:auto;bottom:max(16px, env(safe-area-inset-bottom));grid-template-rows:auto 44px 44px;grid-template-columns:repeat(3,44px);gap:6px}.drive-pad>span{text-align:left}.fire-pad{right:max(16px, env(safe-area-inset-right));left:auto;bottom:max(16px, env(safe-area-inset-bottom))}.fire-trigger-btn{min-width:88px;min-height:88px}.target-readout{top:max(72px,12vh);left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));max-width:calc(100vw - 32px);transform:none}.target-readout h2{font-size:clamp(34px,8vw,54px)}.target-readout button{border:1px solid var(--gold);background:#f6c87a26;border-radius:4px;min-height:44px;padding:10px 14px;font-size:10px}.speed-cluster{left:auto;right:max(16px, env(safe-area-inset-right));text-align:right;top:max(72px,12vh);bottom:auto}.speed-cluster span{text-align:right}.ride-instruction{text-align:center;white-space:normal;max-width:86vw;font-size:8px;line-height:1.4;bottom:max(125px,18vh);left:50%;transform:translate(-50%)}.skills-overlay{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;background:#061118f0;border-radius:10px;grid-template-columns:1fr;gap:18px;max-height:calc(100svh - 70px);padding:20px 18px;position:fixed;overflow-y:auto;box-shadow:0 16px 40px #000000b3}.skills-heading h2{font-size:clamp(28px,7vw,42px)}.skills-columns,.skills-columns.group-count-2,.skills-columns.group-count-4{border-left:none;grid-template-columns:1fr;gap:8px;width:100%;margin-right:0}.skills-columns article{border-left:2px solid var(--gold);background:#0d263073;border-right:none;border-radius:4px;min-height:auto;padding:12px 14px}.skills-columns p{margin:6px 0 0;font-size:13px}.skills-footer{flex-direction:column;align-items:stretch;gap:12px;margin-top:10px;padding-right:0}.skills-footer button{border-radius:6px;justify-content:center;width:100%;min-height:48px;font-size:11px}.finale-overlay{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;width:auto;max-height:calc(100svh - 80px);padding:24px 20px;overflow-y:auto}.finale-overlay h2{font-size:clamp(34px,10vw,56px)}.finale-actions button,.finale-actions a{flex:140px;min-height:48px}}@media (max-width:480px){.ride-header{top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right))}.ride-mark i{display:none}.sound-button,.menu-button-3d{padding:7px 9px;font-size:7px}.countdown-overlay strong{font-size:38vw}.route-menu{top:max(58px, calc(env(safe-area-inset-top) + 48px));right:max(12px, env(safe-area-inset-right));width:calc(100vw - 24px);max-height:calc(100svh - 80px);padding:14px 16px}}@media (prefers-reduced-motion:reduce){.sound-button:not(.is-muted) span{animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.ride-loader{min-height:100svh;color:var(--paper);letter-spacing:.18em;background:radial-gradient(circle at 50% 42%,#17303a 0%,#071016 55%,#04090d 100%);place-content:center;justify-items:center;gap:15px;font-size:9px;font-weight:800;display:grid}.ride-loader span{aspect-ratio:1;width:42px;color:var(--gold);border:1px solid var(--gold);letter-spacing:0;border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:12px;display:grid}.ride-loader p{margin:0}.ride-loader i{background:#f6c87a38;width:90px;height:1px;overflow:hidden}.ride-loader i:after{content:"";background:var(--gold);width:38%;height:100%;animation:1.2s ease-in-out infinite loader-travel;display:block}@keyframes loader-travel{0%{transform:translate(-110%)}to{transform:translate(300%)}}.retry-checkpoint{color:#ffe9c0d1!important;border-bottom-color:#ffe9c075!important;margin-top:2px!important;font-size:7px!important}.retry-checkpoint:hover{color:#fff0c6!important;border-bottom-color:var(--gold)!important}.finale-sequence{color:var(--gold);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.18em;background:#050e1347;border-left:1px solid #f6c87ab3;margin:0;padding:9px 12px;font-size:8px;font-weight:800;position:absolute;bottom:clamp(82px,11vh,130px);left:clamp(70px,9vw,148px)}.route-menu>button.is-complete{color:#70807f}.route-menu>button.is-complete:hover{color:#425b5f}.route-menu>button.is-active{color:#b84935}.route-menu>button.is-active:after{content:"";background:#f3c477;border:1px solid #b84935;flex:none;width:7px;height:7px;margin-left:10px;transform:rotate(45deg);box-shadow:0 0 0 3px #b849351a}.route-menu-status{color:#a56b58;letter-spacing:.12em;white-space:nowrap;align-items:center;gap:6px;margin-left:auto;font-size:7px;font-weight:800;display:inline-flex}.route-menu>button.is-complete .route-menu-status{color:#778583}.route-menu>button.is-active .route-menu-status{color:#b84935}.route-menu>button.is-disabled,.route-menu>button:disabled{color:#b8b3a8;opacity:.45;cursor:not-allowed;pointer-events:none}.route-menu>button.is-disabled:hover,.route-menu>button:disabled:hover,.route-menu>button.is-disabled .route-menu-status,.route-menu>button:disabled .route-menu-status{color:#b8b3a8}.route-menu>button.route-menu-restart{color:#913a2f}.route-menu>button.route-menu-restart:hover{color:#c34b38}.route-menu>button.route-menu-restart .route-menu-status{color:#913a2f}.route-rail .route-count{color:#e0e9e6a8;letter-spacing:.14em;writing-mode:vertical-rl;font-size:7px;font-weight:800;transform:rotate(180deg)}.section-note{color:#eff3eb9e;letter-spacing:.04em;text-transform:none;max-width:52ch;margin:16px 0 0;font-size:9px;font-weight:500;line-height:1.65}.finale-overlay{z-index:4;width:min(590px,100vw - 140px);color:var(--paper);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);pointer-events:auto;background:linear-gradient(100deg,#040e14b8 0%,#040e147a 62%,#040e141f 100%);border-top:1px solid #f6c87aa3;border-left:1px solid #f6c87aa3;padding:clamp(24px,3vw,38px) clamp(24px,3.5vw,46px);position:absolute;bottom:clamp(72px,10vh,118px);left:clamp(70px,9vw,148px);box-shadow:0 24px 70px #0000002e}.finale-kicker{color:var(--gold);letter-spacing:.18em;margin:0 0 13px;font-size:8px;font-weight:800}.finale-overlay h2{letter-spacing:-.06em;max-width:560px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,5.6vw,78px);font-weight:400;line-height:.84}.finale-overlay h2 em{color:#f1aa64;font-weight:400}.finale-copy{color:#f2f4ecbf;letter-spacing:.025em;text-transform:none;max-width:48ch;margin:19px 0 0;font-size:clamp(11px,1vw,14px);font-weight:400;line-height:1.65}.finale-links{flex-wrap:wrap;gap:9px 18px;margin-top:20px;display:flex}.finale-links a,.finale-links span{color:var(--paper);letter-spacing:.14em;border-bottom:1px solid #f6c87a85;padding:6px 0;font-size:8px;font-weight:800;text-decoration:none;transition:color .2s,border-color .2s}.finale-links a:hover{color:var(--gold);border-color:var(--gold)}.finale-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:23px;display:flex}.finale-actions button,.finale-actions a{color:#101b20;border:1px solid var(--gold);background:var(--gold);letter-spacing:.13em;justify-content:center;align-items:center;min-height:38px;padding:11px 15px;font-size:8px;font-weight:800;text-decoration:none;transition:color .2s,background .2s,transform .2s;display:inline-flex}.finale-actions button:hover,.finale-actions a:hover{color:var(--paper);background:#061218a3;transform:translateY(-2px)}.finale-actions button b{margin-left:8px;font-size:14px;font-weight:400}.finale-actions button.finale-menu-action{color:var(--paper);background:#0612188a}.finale-actions button.finale-menu-action:hover{color:#101b20;background:var(--gold)}.mobile-touch-controls,.touch-control-copy{display:none}.touch-control-group{bottom:max(16px, env(safe-area-inset-bottom));pointer-events:auto;-webkit-user-select:none;user-select:none;justify-items:center;gap:7px;display:grid;position:absolute}.touch-navigation{left:max(18px, env(safe-area-inset-left))}.touch-acceleration{right:max(18px, env(safe-area-inset-right))}.touch-control-group>span{color:#f6efe1b8;letter-spacing:.18em;text-shadow:0 2px 8px #000000b3;font-size:7px;font-weight:800}.touch-control-ring{--touch-x:0px;--touch-y:0px;aspect-ratio:1;width:112px;color:var(--paper);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 50% 45%,#1a36408a,#051016c7 64%,#030a0ee0);border:1px solid #f6c87a6b;border-radius:50%;padding:0;transition:border-color .16s,background .16s,box-shadow .16s;position:relative;overflow:hidden;box-shadow:inset 0 0 0 9px #f6c87a09,0 12px 34px #0000006b}.touch-control-ring:before{content:"";border:1px dashed #f6efe12e;border-radius:50%;position:absolute;inset:8px}.touch-control-ring:after{aspect-ratio:1;content:"";opacity:0;width:27px;transform:translate(calc(-50% + var(--touch-x)), calc(-50% + var(--touch-y)));background:#f6c87a33;border:1px solid #ffefbbeb;border-radius:50%;transition:opacity .12s;position:absolute;top:50%;left:50%;box-shadow:0 0 20px #f6c87abd}.touch-control-guide{background:linear-gradient(90deg,#0000,#f6efe157,#0000);height:1px;position:absolute;inset:50% 17px auto;transform:translateY(-50%)}.touch-control-guide:before,.touch-control-guide:after{content:"";border-top:1px solid #f6c87a8f;border-left:1px solid #f6c87a8f;width:7px;height:7px;position:absolute;top:-3px}.touch-control-guide:before{left:0;transform:rotate(-45deg)}.touch-control-guide:after{right:0;transform:rotate(135deg)}.touch-control-thumb{z-index:1;aspect-ratio:1;color:#f6efe1db;width:48px;transform:translate(calc(-50% + var(--touch-x)), calc(-50% + var(--touch-y)));background:radial-gradient(circle at 40% 35%,#ffffff24,#0c1d25db);border:1px solid #f6efe14d;border-radius:50%;place-items:center;transition:color .12s,border-color .12s,background .12s,box-shadow .12s;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 6px 18px #00000075}.touch-control-thumb em{letter-spacing:.12em;font-size:7px;font-style:normal;font-weight:900}.touch-control-ring small{color:#f6efe173;letter-spacing:.12em;font-size:6px;font-weight:800;position:absolute;bottom:10px;left:0;right:0}.touch-control-ring.is-active{background:radial-gradient(circle at 50% 45%,#4c4228b3,#09191fe0 68%);border-color:#ffe0a2f0;box-shadow:inset 0 0 0 9px #f6c87a14,0 0 0 4px #f6c87a14,0 0 32px #f6c87a57}.touch-control-ring.is-active:after{opacity:1}.touch-control-ring.is-active .touch-control-thumb{color:#172027;background:var(--gold);border-color:#ffe1a6;box-shadow:0 0 0 5px #f6c87a21,0 0 24px #f6c87ab8}.touch-throttle .touch-control-guide{background:linear-gradient(#0000,#f6efe157,#0000);width:1px;height:auto;inset:17px 50% 17px auto;transform:translate(50%)}.touch-throttle .touch-control-guide:before{top:0;left:-3px;transform:rotate(45deg)}.touch-throttle .touch-control-guide:after{top:auto;bottom:0;right:-3px;transform:rotate(225deg)}.touch-throttle.is-active:not(.is-braking){animation:.7s ease-in-out infinite alternate touch-throttle-charge}.touch-throttle.is-braking{border-color:#f26d4ee6;box-shadow:inset 0 0 0 9px #f26d4e17,0 0 30px #f26d4e4d}.touch-throttle.is-braking .touch-control-thumb{color:#fff4e8;background:var(--ember);border-color:#ff9b83;box-shadow:0 0 24px #f26d4eb8}@keyframes touch-throttle-charge{0%{filter:brightness()}to{filter:brightness(1.16)}}@media (max-width:840px),(hover:none) and (pointer:coarse){html,body{overscroll-behavior:none}.cinematic-ride{height:100dvh;min-height:100svh}.drive-pad{display:none}.mobile-touch-controls{display:block;position:absolute;inset:0}.ride-header{top:max(12px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right))}.sound-button,.menu-button-3d{min-height:42px}.entry-screen{padding-top:max(76px, calc(env(safe-area-inset-top) + 64px));overscroll-behavior:contain;overflow-y:auto}.entry-screen small{font-size:0;line-height:0}.entry-screen small:after{content:"DRAG LEFT CIRCLE TO STEER / HOLD RIGHT CIRCLE TO ACCELERATE";font-size:8px;line-height:1.5;display:block}.route-menu{top:max(62px, calc(env(safe-area-inset-top) + 54px));right:max(12px, env(safe-area-inset-right));max-height:calc(100dvh - max(76px, calc(env(safe-area-inset-top) + 68px)) - env(safe-area-inset-bottom));overscroll-behavior:contain;overflow-y:auto}.route-menu>button{min-height:44px}.speed-cluster{top:max(76px, calc(env(safe-area-inset-top) + 64px));right:max(14px, env(safe-area-inset-right))}.speed-cluster strong{font-size:clamp(28px,8vw,40px)}.target-readout{top:max(76px, calc(env(safe-area-inset-top) + 64px));right:max(94px, calc(env(safe-area-inset-right) + 82px));max-width:none}.target-readout h2{font-size:clamp(30px,8vw,48px)}.target-readout .target-prompt{width:auto;max-width:60vw;line-height:1.45}.ride-instruction{bottom:calc(max(16px, env(safe-area-inset-bottom)) + 137px);width:min(78vw,460px);font-size:0;line-height:0}.ride-instruction:after{content:attr(data-touch-instruction);font-size:8px;line-height:1.45;display:block}.fire-pad{right:max(28px, calc(env(safe-area-inset-right) + 10px));bottom:calc(max(16px, env(safe-area-inset-bottom)) + 136px)}.fire-trigger-btn{min-width:68px;min-height:68px;padding:8px}.fire-trigger-btn i{font-size:16px}.skills-overlay,.finale-overlay{top:max(68px, calc(env(safe-area-inset-top) + 58px));right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:auto;max-height:none;position:fixed;overflow-y:auto}.finale-overlay{padding:24px 20px}.finale-overlay h2{font-size:clamp(34px,10vw,56px)}.finale-sequence{right:max(16px, env(safe-area-inset-right));bottom:max(22px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left))}}@media (max-width:480px){.touch-control-ring{width:104px}.touch-navigation{left:max(12px, env(safe-area-inset-left))}.touch-acceleration{right:max(12px, env(safe-area-inset-right))}.ride-instruction{bottom:calc(max(14px, env(safe-area-inset-bottom)) + 127px);width:72vw}.fire-pad{bottom:calc(max(14px, env(safe-area-inset-bottom)) + 126px)}.skills-overlay{gap:14px;padding:18px 16px}.skills-heading>span,.section-note{margin-top:10px}.route-menu{bottom:max(10px, env(safe-area-inset-bottom));max-height:none}}@media (max-width:360px){.touch-control-ring{width:94px}.touch-control-thumb{width:43px}.touch-control-ring small{font-size:5px;bottom:7px}.touch-control-group>span{font-size:6px}.ride-instruction{bottom:calc(max(12px, env(safe-area-inset-bottom)) + 116px)}.fire-pad{bottom:calc(max(12px, env(safe-area-inset-bottom)) + 114px)}.fire-trigger-btn{min-width:62px;min-height:62px}.speed-cluster strong{font-size:27px}.target-readout{right:max(80px, calc(env(safe-area-inset-right) + 70px))}}@media (max-height:560px) and (orientation:landscape) and (hover:none),(max-width:940px) and (orientation:landscape) and (pointer:coarse){.ride-header{top:max(8px, env(safe-area-inset-top))}.ride-mark i{display:none}.sound-button,.menu-button-3d{min-height:36px;padding:7px 9px;font-size:7px}.touch-control-group{bottom:max(8px, env(safe-area-inset-bottom));gap:4px}.touch-control-group>span{display:none}.touch-control-ring{width:90px}.touch-control-thumb{width:40px}.touch-control-ring small{font-size:5px;bottom:6px}.ride-instruction{bottom:calc(max(8px, env(safe-area-inset-bottom)) + 98px);width:54vw}.fire-pad{right:calc(max(12px, env(safe-area-inset-right)) + 102px);bottom:max(12px, env(safe-area-inset-bottom))}.fire-trigger-btn{min-width:64px;min-height:64px}.speed-cluster{top:max(54px, calc(env(safe-area-inset-top) + 42px))}.target-readout{top:max(52px, calc(env(safe-area-inset-top) + 40px));max-width:54vw;right:auto}.target-readout h2{font-size:clamp(28px,6vw,42px)}.target-readout .target-prompt{display:none}.entry-screen{padding:max(56px, calc(env(safe-area-inset-top) + 48px)) max(22px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));justify-content:center}.entry-screen p{margin-bottom:10px}.entry-screen h1{max-width:70vw;font-size:clamp(42px,9vw,72px)}.entry-screen>div{flex-direction:row;align-items:center;margin-top:14px}.entry-screen>div button{width:auto;min-height:42px}.entry-screen small{display:none}.route-menu{top:max(50px, calc(env(safe-area-inset-top) + 42px));bottom:max(8px, env(safe-area-inset-bottom));max-height:none}.route-menu>button{min-height:38px;padding:7px 0}.skills-overlay,.finale-overlay{top:max(50px, calc(env(safe-area-inset-top) + 42px));bottom:max(8px, env(safe-area-inset-bottom));padding:14px 16px}.skills-overlay{gap:10px}.skills-heading h2{font-size:clamp(26px,5vw,36px)}.skills-heading>span,.section-note{margin-top:8px}.skills-columns article{padding:9px 12px}.skills-footer{margin-top:0}.finale-overlay h2{font-size:clamp(30px,7vw,44px)}.finale-copy{margin-top:12px}.finale-actions{margin-top:14px}}@media (prefers-reduced-motion:reduce){.touch-throttle.is-active:not(.is-braking){animation:none}}
