: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}.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;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(40px,6vw,80px);font-weight:400;line-height:.78}.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:#ffe4ac;text-shadow:0 0 32px #f5c87a5c}.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.04fr);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:clamp(20px,5.5vw,100px)}.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,1fr);align-self:end;gap:1px;display:grid}.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-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{border-left:none;grid-template-columns:1fr;gap:8px;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){*,: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-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-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)}
