:root{color-scheme:dark;font-family:"Arial Narrow",Impact,system-ui,sans-serif;background:#000;color:#f7f3ea;--safe:1.25%}
.route-selection{transform:translateY(2%)}.route-choice.available{top:13%;height:62%;background:transparent}.route-choice.available.route-1{left:1.5%;width:31%}.route-choice.available.route-2{left:34%;width:31%}.route-choice.available.route-3{left:66.5%;width:32%}.route-choice.locked:disabled{background:#090d11bb;color:#a5adb2;opacity:.9;cursor:default}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#000}button,input{font:inherit;color:inherit}
#viewport{width:100%;height:100%;display:grid;place-items:center;overflow:hidden;background:#000}.game-shell{position:relative;width:min(100vw,calc(100vh * 16 / 9));height:min(100vh,calc(100vw * 9 / 16));aspect-ratio:16/9;overflow:hidden;background:#03070b;isolation:isolate}
.screen,.loading-screen{position:absolute}.screen{inset:var(--safe);display:grid;place-items:center;overflow:hidden;background:#03070b center/cover no-repeat}.loading-screen{inset:0}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.loading-screen{z-index:80;display:grid;place-content:center;justify-items:center;gap:14px;background:radial-gradient(circle,#101b26,#03070b 62%);letter-spacing:.2em}.loading-screen h1{font-size:clamp(34px,6vw,76px);margin:0;text-shadow:0 0 22px #e33}.loading-screen p{margin:0;color:#e44336}.load-track{width:320px;max-width:60vw;height:8px;border:1px solid #6c7680;background:#080b0f}.load-track span{display:block;width:0;height:100%;background:#e34132;box-shadow:0 0 12px #e34132;transition:width .2s}.loading-screen output{font:700 14px system-ui;color:#9eb1c4}
.art-composition{position:relative;justify-self:center;height:100%;max-width:100%;aspect-ratio:3/2;overflow:hidden;background:#02060a}.art-screen{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none}.hotspot{position:absolute;border:0;background:transparent;cursor:pointer;border-radius:8px}.hotspot:focus-visible{outline:2px solid #fff;box-shadow:0 0 14px #f33}.start-btn{left:30.1%;top:60.7%;width:38.7%;height:13.1%}.start-inventory{left:23.2%;top:78.2%;width:16.4%;height:8.7%}.start-achievements{left:40.2%;top:78.2%;width:18.9%;height:8.7%}.start-settings{left:59.6%;top:78.2%;width:18.2%;height:8.7%}.how-back{left:3%;bottom:2%;width:18%;height:8%}.how-go{left:calc(50% - 18px);bottom:calc(4% - 12px);width:min(300px,28%);height:clamp(42px,5.8%,52px);transform:translateX(-50%);border:2px solid #ff745b;background:linear-gradient(#a93228ee,#59110dee);box-shadow:0 0 15px #f33,inset 0 0 10px #ff9b7788;color:#fff;font-size:clamp(11px,1.45vw,20px);font-weight:900;letter-spacing:.12em;text-shadow:0 2px 3px #000}
.button-tooltip{position:absolute;z-index:5;min-width:max-content;padding:.38em .72em;border:1px solid #75463b;background:#05090ddd;color:#d9e2e8;font:700 clamp(8px,.82vw,12px) system-ui;letter-spacing:.06em;opacity:0;pointer-events:none;transform:translate(-50%,-100%) translateY(4px);transition:opacity .18s,transform .18s;box-shadow:0 3px 10px #0009}.button-tooltip.show{opacity:1;transform:translate(-50%,-100%) translateY(0)}
.audio-toggle{position:absolute;z-index:72;right:1.8%;top:2%;width:3.5%;min-width:28px;aspect-ratio:1;border:1px solid #b75b38;border-radius:50%;background:#071018e8;box-shadow:0 0 9px #e94b2d88;color:#fff;font-size:clamp(13px,1.6vw,22px);line-height:1;cursor:pointer}.audio-toggle:hover,.audio-toggle:focus-visible{outline:2px solid #ff9a70;background:#15212a}.audio-panel{position:absolute;z-index:71;right:1.8%;top:8.2%;width:19%;min-width:190px;padding:1.2% 1.4%;border:1px solid #b45937;background:linear-gradient(145deg,#101820f5,#04080cf5);box-shadow:0 7px 22px #000d,0 0 12px #e1492b55;font:700 clamp(9px,.9vw,13px) system-ui}.audio-panel h2{margin:0 0 .8em;color:#f26a48;letter-spacing:.16em;font-size:1.05em}.audio-panel label{display:grid;grid-template-columns:3.8em 1fr 3em;gap:.5em;align-items:center;margin:.65em 0}.audio-panel input{width:100%;accent-color:#dc4b2f}.audio-panel output{text-align:right;color:#a9d7f1}.audio-panel button{width:100%;margin-top:.5em;padding:.45em;border:1px solid #824632;background:#2a1510;cursor:pointer;letter-spacing:.1em}
.branding-badge{display:block;width:min(420px,65vw);max-width:420px;margin-top:.8em;line-height:0;cursor:pointer;opacity:.9;transition:opacity .16s,filter .16s}.branding-badge img{display:block;width:100%;max-width:420px;height:auto}.branding-badge:hover,.branding-badge:focus-visible{opacity:1;filter:brightness(1.06)}.branding-badge:focus-visible{outline:1px solid #fff;outline-offset:2px}
.hud{position:absolute;z-index:15;left:8%;top:-7%;width:84%;aspect-ratio:2172/724}.hud>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.hud-lives{position:absolute;left:13.7%;top:47.5%;display:flex;align-items:center;justify-content:center;gap:3%;width:13.2%;height:19.5%;overflow:hidden}.life-dot{width:29%;aspect-ratio:1;background:url('assets/ui/life.png') center/contain no-repeat;filter:drop-shadow(0 0 3px #f22)}.life-dot.lost{filter:grayscale(1);opacity:.22}.energy-bar{position:absolute;left:32.9%;top:52.05%;width:13.95%;height:9.5%;overflow:hidden;border-radius:3px;clip-path:inset(0 round 3px)}.energy-bar span{display:block;height:100%;width:100%;transform-origin:left center;background:linear-gradient(90deg,#148642,#53dc77);box-shadow:inset 0 0 4px #d8ffe477,0 0 4px #22b95855;transition:width .35s}.energy-bar.low span{background:#e33;animation:pulse .8s infinite alternate}.hud-score,.hud-time,.hud-secrets{position:absolute;top:49.5%;height:16%;display:flex;align-items:center;justify-content:center;margin:0;padding:0;font-weight:900;font-size:clamp(13px,1.78vw,25px);line-height:1;text-align:center;text-shadow:0 2px 3px #000}.hud-score{left:50.4%;width:11.2%}.hud-time{left:63.2%;width:10.8%;color:#b7eaff}.hud-secrets{left:75.6%;width:8.8%}.backpack{right:1%;top:21%;width:10%;height:65%;border-radius:50%;overflow:visible}.backpack-content{position:absolute;left:20%;top:51.4%;width:66%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.22em;transform:translate(-50%,-50%);pointer-events:none}.backpack-icon{display:block;width:100%;aspect-ratio:1;background:url('assets/optimized/ui/backpack.webp') center/contain no-repeat}.backpack-count{color:#fff;font:900 min(.9vw,1.6vh)/1 system-ui;text-align:center;text-shadow:0 1px 3px #000,0 0 4px #ff9a52}.backpack.collect-pulse{animation:backpackPulse .65s ease-out}@keyframes backpackPulse{50%{box-shadow:0 0 22px 8px #61df8aaa;filter:brightness(1.5)}}@keyframes pulse{to{opacity:.55;filter:brightness(1.6)}}
.hud.route-screen-hud{top:-15%}
.mission-intro-panel{position:absolute;z-index:6;left:50%;top:25%;width:min(60%,760px);max-height:44%;padding:1.7% 3.4% 1.5%;transform:translateX(-50%);clip-path:polygon(2.4% 0,97.6% 0,100% 12%,100% 88%,97.6% 100%,2.4% 100%,0 88%,0 12%);border:1px solid #58c8e5;background:linear-gradient(135deg,#07131bea,#03070cef 55%,#0c1218e8);box-shadow:inset 0 0 22px #020609,0 0 18px #43c8eb55;color:#eef5f7;text-align:center}.mission-intro-panel::before,.mission-intro-panel::after{content:"";position:absolute;top:0;width:18%;height:2px;background:linear-gradient(90deg,transparent,#f07a3b);box-shadow:0 0 8px #e86b35}.mission-intro-panel::before{left:5%}.mission-intro-panel::after{right:5%;transform:scaleX(-1)}.mission-intro-panel h2{margin:0;color:#ef6549;font:900 clamp(18px,2.6vw,36px)/1.05 "Arial Narrow",Impact,sans-serif;letter-spacing:.16em;text-shadow:0 0 12px #c63e2a77,0 2px 4px #000}.mission-intro-panel>p{margin:.65em auto .8em;max-width:90%;color:#e2e9ed;font:600 clamp(9px,1.08vw,15px)/1.45 system-ui;letter-spacing:.025em}.mission-intro-objective{display:grid;justify-items:center;gap:.28em;margin:0 auto;padding:.72em 4% 0;border-top:1px solid #53bcd06b;box-shadow:inset 0 1px #071017}.mission-intro-objective span{color:#e8a84d;font:800 clamp(7px,.72vw,10px)/1 system-ui;letter-spacing:.22em}.mission-intro-objective strong{color:#fff4dd;font:900 clamp(10px,1.16vw,16px)/1.2 system-ui;letter-spacing:.1em;text-shadow:0 0 8px #ee8b3f44}.mission-intro-compact{top:13%;width:min(52%,620px);max-height:24%;padding:1.25% 2.8%}.mission-intro-compact h2{font-size:clamp(15px,2vw,28px)}.mission-intro-compact>p{margin:.55em auto 0;font-size:clamp(8px,.92vw,13px)}
.mission-intro-panel:not(.mission-intro-compact){top:32%}
.scene-title{position:absolute;top:33%;left:18%;right:18%;text-align:center;text-transform:uppercase;letter-spacing:.15em;text-shadow:0 2px 8px #000;font:600 clamp(9px,1.02vw,14px) system-ui}.scene-title strong{display:block;margin-bottom:.28em;color:#ef5c49;font:900 clamp(14px,1.7vw,23px) "Arial Narrow",Impact,sans-serif;letter-spacing:.2em}.scene-title span{display:block}.phone{position:absolute;left:18.5%;top:64%;width:5.4%;height:12%;object-fit:contain;filter:drop-shadow(0 0 6px #d22);animation:phoneCue 1.8s ease-in-out infinite;cursor:pointer}.phone:focus-visible{outline:2px solid #fff}.phone-callout{position:absolute;left:13.8%;top:61.5%;padding:.28em .55em;border:1px solid #9d3e36;background:#05090dce;letter-spacing:.08em;color:#eee;font:700 clamp(7px,.7vw,10px) system-ui;box-shadow:0 2px 8px #0008}@keyframes phoneCue{0%,72%,100%{transform:rotate(16deg) scale(1);filter:drop-shadow(0 0 4px #c22)}76%{transform:rotate(14deg) scale(1.025)}80%{transform:rotate(18deg) scale(1.025);filter:drop-shadow(0 0 9px #f33)}84%{transform:rotate(15deg)}88%{transform:rotate(17deg)}}
.nightfall-collectible{position:absolute;z-index:11;display:grid;place-items:center;margin:0;padding:0;border:0;background:transparent;cursor:pointer;isolation:isolate;animation:nightfallFloat 2.8s ease-in-out infinite}.nightfall-collectible img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 0 5px #63c9ff) drop-shadow(0 0 12px #8a56ff) brightness(1.08);transition:filter .18s,transform .18s}.nightfall-collectible::before{content:"";position:absolute;z-index:-1;inset:12%;border-radius:50%;background:radial-gradient(circle,#78d9ff55,#8a55e728 46%,transparent 72%);box-shadow:0 0 18px #6fd7ff66,0 0 30px #7d4cff44;animation:nightfallPulse 1.65s ease-in-out infinite alternate}.nightfall-collectible:hover img,.nightfall-collectible:focus-visible img{transform:scale(1.09);filter:drop-shadow(0 0 8px #bcefff) drop-shadow(0 0 18px #a878ff) brightness(1.24)}.nightfall-collectible:focus-visible{outline:1px solid #a6eaff;outline-offset:4px}.nightfall-sparks,.nightfall-sparks i{position:absolute;inset:0;pointer-events:none}.nightfall-sparks i::before{content:"";position:absolute;width:4px;aspect-ratio:1;border-radius:50%;background:#b8efff;box-shadow:0 0 7px #8adfff}.nightfall-sparks i:nth-child(1)::before{left:8%;top:18%;animation:nightfallSpark 2.1s .1s infinite}.nightfall-sparks i:nth-child(2)::before{right:5%;top:34%;animation:nightfallSpark 2.5s .6s infinite}.nightfall-sparks i:nth-child(3)::before{left:18%;bottom:4%;animation:nightfallSpark 2.3s 1s infinite}.nightfall-sparks i:nth-child(4)::before{right:15%;bottom:12%;animation:nightfallSpark 2.7s 1.4s infinite}.nightfall-medallion{left:74%;top:49%;width:11%;height:20%}.nightfall-usb{right:1.5%;bottom:7%;width:9.5%;height:17%}.nightfall-processor{left:1.5%;bottom:7%;width:10%;height:18%}.nightfall-fieldNotes{left:1.8%;bottom:8%;width:10.5%;height:19%}.nightfall-core{right:1.5%;top:42%;width:11%;height:20%}.nightfall-collectible.collected{pointer-events:none;animation:nightfallCollect .65s ease-in forwards}.nightfall-notice{position:absolute;z-index:55;left:50%;top:43%;min-width:25%;padding:.8em 1.35em;border:1px solid #72d5ff;background:linear-gradient(145deg,#061424f4,#120c28f4);box-shadow:inset 0 0 18px #4f8fd333,0 0 20px #7459ff88;color:#eaf9ff;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.92);transition:opacity .22s,transform .22s}.nightfall-notice.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.nightfall-notice strong,.nightfall-notice span{display:block}.nightfall-notice strong{color:#8de6ff;font:900 clamp(13px,1.55vw,21px) system-ui;letter-spacing:.15em;text-shadow:0 0 9px #58bfff}.nightfall-notice span{margin-top:.4em;color:#c7b9ff;font:800 clamp(9px,.95vw,13px) system-ui;letter-spacing:.1em}.nightfall-notice.nightfall-unlocked{border-color:#aa86ff;box-shadow:inset 0 0 22px #684acb55,0 0 26px #785bffbb}@keyframes nightfallFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes nightfallPulse{to{opacity:.58;transform:scale(1.12)}}@keyframes nightfallSpark{0%,65%,100%{opacity:0;transform:translateY(5px) scale(.5)}75%{opacity:.9}90%{opacity:0;transform:translateY(-8px) scale(1)}}@keyframes nightfallCollect{35%{transform:scale(1.2);filter:brightness(1.65)}100%{opacity:0;transform:scale(.08) rotate(18deg)}}
.question-stage{position:absolute;inset:0;background:linear-gradient(#07101aaa,#090503c7),url('assets/optimized/backgrounds/home_bedroom.webp') center/cover}.question-panel{position:absolute;left:11%;top:28.5%;width:78%;height:68.5%;background:url('assets/ui/question_panel_clean.png') center/100% 100% no-repeat;filter:drop-shadow(0 7px 16px #000)}.question-copy{position:absolute;left:15%;right:15%;top:23%;height:25%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.eyebrow{margin:0 0 .2em;color:#ff9c28;letter-spacing:.14em;font-size:clamp(12px,1.35vw,19px)}.instruction{margin:0 0 .28em;color:#80cfee;font:700 clamp(11px,1.15vw,16px) system-ui}.sentence{display:flex;flex-direction:column;justify-content:center;align-items:center;width:82%;max-width:82%;margin:0;padding:.08em 0;text-align:center;white-space:normal;overflow-wrap:normal;font:700 clamp(19px,2.45vw,33px) system-ui;line-height:1.12}.progress{position:absolute;right:12.5%;top:18.5%;font:900 clamp(8px,.9vw,12px) system-ui;color:#ffc35b}.answers{position:absolute;left:15%;right:14%;top:52%;bottom:22%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));column-gap:7%;row-gap:9%}.answer{display:grid;grid-template-columns:22% minmax(0,1fr);align-items:stretch;min-width:0;border:0;background:transparent;padding:0;text-align:left;font:700 clamp(15px,1.75vw,24px)/1 system-ui;cursor:pointer;text-shadow:0 2px 3px #000;transition:filter .15s,box-shadow .15s,background .15s}.answer-copy{grid-column:2;display:flex;align-items:center;justify-content:flex-start;min-width:0;padding:0 5%;white-space:nowrap}.signal-stage .answer-copy{font-size:clamp(5px,.46vw,6.5px)}.answer:nth-child(n+3){position:relative;top:-10px}.answer:hover,.answer:focus-visible{outline:1px solid #ff9c2877;box-shadow:inset 0 0 12px #ff9c283d}.answer.correct{outline:1px solid #65e39a99;background:#1a9e5540;box-shadow:inset 0 0 16px #52e28c88,0 0 7px #43d77e55}.answer.wrong{outline:1px solid #ff625b99;background:#b8272740;box-shadow:inset 0 0 15px #f23b3b88;animation:shake .28s}.answer:disabled{cursor:default}.answer:disabled:not(.correct){opacity:.72}@keyframes shake{50%{transform:translateX(-4px)}}
.feedback{position:absolute;z-index:40;left:34%;right:34%;bottom:3.8%;padding:.25em .5em;text-align:center;pointer-events:none;opacity:0;transform:translateY(5px);font-size:clamp(10px,1.25vw,17px);font-weight:900;letter-spacing:.1em;text-shadow:0 2px 5px #000,0 0 7px currentColor;transition:.18s}.feedback.show{opacity:1;transform:translateY(0)}.feedback.good{color:#73eca5}.feedback.bad{color:#ff6c5f}.feedback.info{color:#ffd068}
.typing-stage .question-panel::after{content:"";position:absolute;z-index:1;left:12%;right:11%;top:49%;bottom:13%;border:1px solid #9b573c;background:linear-gradient(145deg,#091923f7,#030a0ff8);box-shadow:inset 0 0 18px #000,0 0 8px #d65b3444}.typing-stage .question-copy,.typing-stage .progress{z-index:2}.typing-controls{position:absolute;z-index:2;left:18%;right:18%;top:59%;display:grid;grid-template-columns:minmax(0,70fr) minmax(0,23fr);gap:4%;height:12%}.typing-input,.typing-controls button{min-width:0;border:1px solid #a95437;background:linear-gradient(#0d2230f2,#061018f2);box-shadow:inset 0 0 10px #000,0 0 7px #e54b2d55;color:#f5f7f8;font:700 clamp(13px,1.55vw,21px) system-ui}.typing-input{padding:0 5%;outline:0}.typing-input::placeholder{color:#8da0aa}.typing-input:focus{border-color:#ff9b72;box-shadow:inset 0 0 10px #000,0 0 10px #ef6948}.typing-input.wrong{border-color:#ff625b;background:#46191bf2;animation:shake .28s}.typing-controls button{cursor:pointer;color:#ffcf9e;font-weight:900;letter-spacing:.08em}.typing-controls button:hover,.typing-controls button:focus-visible{outline:1px solid #ffc09e;background:linear-gradient(#17384b,#091821)}.typing-controls :disabled{cursor:default;opacity:.75}.item-found{position:absolute;z-index:45;inset:0;display:grid;place-items:center;background:#020609b8;text-align:center;pointer-events:none}.reward-card{width:34%;height:54%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2%;border:1px solid #68c889;background:linear-gradient(145deg,#0b1917f5,#030908f8);box-shadow:inset 0 0 22px #000,0 0 18px #4ad27a66}.reward-card p{margin:0 0 .35em;color:#77e7a0;font:900 clamp(13px,1.55vw,21px) system-ui;letter-spacing:.16em}.reward-card img{width:72%;height:66%;object-fit:contain;filter:drop-shadow(0 0 14px #66da9088)}.reward-card strong{margin-top:.2em;font-size:clamp(14px,1.8vw,24px);letter-spacing:.1em;text-shadow:0 2px 6px #000}.inventory-popup{position:absolute;z-index:73;right:8.5%;top:17%;width:31%;padding:1.2%;border:1px solid #a35d3b;background:linear-gradient(145deg,#0b1720f8,#03080cf8);box-shadow:inset 0 0 18px #000,0 8px 24px #000c,0 0 12px #db654555}.inventory-popup h2{margin:0 0 .7em;color:#ff9b62;font-size:clamp(12px,1.35vw,18px);letter-spacing:.16em}.inventory-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65em}.inventory-slot{min-height:7em;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5em;border:1px solid #63584f;background:#071018;text-align:center}.inventory-slot img{width:72%;height:4.5em;object-fit:contain}.inventory-slot span{margin-top:.25em;font:800 clamp(8px,.8vw,11px) system-ui;letter-spacing:.05em}.inventory-slot.empty{opacity:.38;filter:grayscale(1)}.inventory-slot.empty img{visibility:hidden}.route-selection .route-instruction{position:absolute;z-index:3;left:30%;right:30%;bottom:1.8%;height:6%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#080b0f;border:1px solid #aa3d2e;color:#fff;text-align:center}.route-instruction strong{color:#ff745b;font-size:clamp(9px,1vw,14px);letter-spacing:.1em}.route-instruction span{font:700 clamp(7px,.75vw,11px) system-ui}.route-card-shade{position:absolute;z-index:1;top:18%;height:57%;pointer-events:none}.route-card-1{left:1.5%;width:31%}.route-card-2{left:34%;width:31%}.route-card-3{left:66.5%;width:32%}.route-card-shade.locked{background:#02060972;backdrop-filter:grayscale(.8)}.route-card-shade.completed{background:#0206098c;backdrop-filter:grayscale(.65)}.route-card-shade.available{display:none}.route-choice{position:absolute;z-index:2;top:68%;height:7%;border-radius:0;color:#fff;font:900 clamp(10px,1.2vw,17px) system-ui;letter-spacing:.08em}.route-1{left:4%;width:27%}.route-2{left:36.5%;width:27%}.route-3{left:69%;width:27%}.route-choice.locked{background:#090d11bb;color:#a5adb2;cursor:pointer}.route-choice:disabled{background:#07120ddd;color:#73df96;opacity:.9;cursor:default}
.mission-success{padding:1.2em 2em;text-align:center;background:#04090bc9;border-block:1px solid #519b76;box-shadow:0 0 24px #37bd7770;animation:successIn .35s ease-out}.mission-success h2{margin:0;color:#7bf0ac;font-size:clamp(19px,3vw,40px);letter-spacing:.08em;text-shadow:0 0 15px #199958}.mission-success p{margin:.55em 0 0;font:800 clamp(10px,1.2vw,16px) system-ui;letter-spacing:.16em}.scene-arrival{animation:sceneArrival 1s ease-out}.street-copy{position:absolute;top:32%;left:19%;right:19%;text-align:center;text-shadow:0 3px 8px #000}.street-copy h2{margin:0;color:#ef5b47;font-size:clamp(22px,3.5vw,47px);letter-spacing:.18em}.street-copy p{margin:.55em 0 1.2em;font:600 clamp(10px,1.25vw,17px) system-ui}.street-copy strong{display:block;color:#ffbf55;font-size:clamp(12px,1.5vw,20px);letter-spacing:.12em}.street-copy span{display:block;margin-top:.6em;color:#c7d2d9;font:600 clamp(8px,.9vw,12px) system-ui;letter-spacing:.08em}@keyframes successIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes sceneArrival{from{opacity:0}to{opacity:1}}
.rescue-stage{position:absolute;inset:0;background:linear-gradient(#020609d8,#020609ed),url('assets/ui/emergency_rescue_panel.png') center/cover}.rescue-content{position:absolute;left:19%;right:19%;top:30.5%;padding:1.2% 2%;border:1px solid #a94f35;background:linear-gradient(145deg,#08141ef7,#03070bf8);box-shadow:inset 0 0 22px #020609,0 0 12px #e34d2e55;text-align:center}.rescue-content h2,.rescue-result h2{margin:0 0 .5em;color:#ff664e;letter-spacing:.14em;font-size:clamp(17px,2.2vw,30px);text-shadow:0 0 12px #e33a}.rescue-instruction{margin:0;font:700 clamp(9px,1vw,14px) system-ui;color:#d8e1e7}.rescue-progress{margin:.35em 0 .65em;font:900 clamp(10px,1.1vw,15px) system-ui;color:#ffb05e}.rescue-sentence{display:flex;align-items:center;justify-content:center;min-height:4.5em;margin:0 0 .75em;padding:.75em 1.4em;border:1px solid #7f4b3a;background:linear-gradient(145deg,#0c1c29,#050b11);box-shadow:inset 0 0 16px #020609;color:#fff;font:700 clamp(15px,1.75vw,24px)/1.25 system-ui}.rescue-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,3em);gap:.65em}.rescue-answers button,.rescue-result button{display:flex;align-items:center;justify-content:center;padding:.45em 1em;border:1px solid #a55138;background:linear-gradient(#102534,#071019);box-shadow:inset 0 0 9px #020609,0 0 5px #d94c2d44;color:#f5f7f8;font:700 clamp(11px,1.18vw,16px)/1.1 system-ui;cursor:pointer}.rescue-answers button:hover,.rescue-answers button:focus-visible{outline:1px solid #ff9d73;background:linear-gradient(#17354a,#0a1824)}.rescue-answers button.correct{border-color:#57dd8c;background:#174c32;box-shadow:inset 0 0 12px #46d47b55,0 0 7px #46d47b66}.rescue-answers button.wrong{border-color:#ff625b;background:#591b1b;box-shadow:inset 0 0 12px #f33a}.rescue-result{text-align:center;padding:1.4em 2em;background:#05090de8;border:1px solid #a94a3b}.rescue-result p{font:800 1em system-ui}.rescue-result button{margin-top:.8em}
.energy-bar.warning span{background:linear-gradient(90deg,#b66b12,#f0b73e)}.energy-bar.critical span{background:#e33;animation:pulse .8s infinite alternate}.signal-stage .answer-copy{justify-content:center;max-width:100%;white-space:normal;overflow-wrap:normal;text-align:center;text-wrap:balance;font-family:"Arial Narrow",Arial,sans-serif;font-size:clamp(20px,1.9vw,24px);line-height:1.12}.signal-stage .answer-copy.answer-medium{font-size:clamp(18px,1.7vw,22px)}.signal-stage .answer-copy.answer-long{font-size:clamp(17px,1.55vw,20px)}.energy-recovery{position:absolute;z-index:75;inset:20% 27%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2%;border:1px solid #d14e35;background:linear-gradient(145deg,#101820fa,#03070bfc);box-shadow:inset 0 0 22px #000,0 0 24px #e33a;text-align:center}.energy-recovery h2{margin:0;color:#ff5948;font-size:clamp(19px,2.4vw,33px);letter-spacing:.13em;text-shadow:0 0 12px #e33}.energy-recovery>p{margin:.6em 0 1.1em;color:#e8edf0;font:700 clamp(11px,1.15vw,16px)/1.35 system-ui}.energy-supplies{width:100%;display:flex;align-items:stretch;justify-content:center;gap:3%}.energy-supplies button{width:29%;min-width:0;padding:.7em .35em;border:1px solid #5dbb79;background:linear-gradient(#10291c,#06110b);box-shadow:inset 0 0 10px #000,0 0 7px #4bd27855;color:#fff;cursor:pointer}.energy-supplies button:hover,.energy-supplies button:focus-visible{outline:1px solid #8bf0aa;filter:brightness(1.25)}.energy-supplies img{display:block;width:100%;height:5.5em;object-fit:contain}.energy-supplies span{display:block;margin-top:.3em;font:800 clamp(8px,.78vw,11px) system-ui}.energy-empty{color:#ff8a72;font:800 clamp(10px,1vw,14px) system-ui;letter-spacing:.08em}
.signal-stage .answer-copy{grid-column:1/-1;max-width:none;padding-left:19%;padding-right:3%;font-size:clamp(20px,1.75vw,22px)}.signal-stage .answer-copy.answer-medium{font-size:clamp(18px,1.6vw,20px)}.signal-stage .answer-copy.answer-long{font-size:clamp(16px,1.45vw,18px)}
.detector-stage .question-panel::after{content:"";position:absolute;z-index:1;left:12%;right:11%;top:49%;bottom:13%;border:1px solid #8e583e;background:linear-gradient(145deg,#091923f8,#030a0ffc);box-shadow:inset 0 0 18px #000,0 0 8px #d65b3444}.detector-stage .question-copy{z-index:2}.detector-stage .sentence.corrected{color:#8af0ae;text-shadow:0 0 8px #35c66c77}.detector-segments{position:absolute;z-index:2;left:16%;right:15%;top:54%;bottom:19%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10% 5%}.detector-segment{min-width:0;border:1px solid #85533e;background:linear-gradient(145deg,#102532ed,#071018f2);box-shadow:inset 0 0 10px #000,0 0 5px #d9543244;color:#f4f6f7;font:700 clamp(12px,1.25vw,17px)/1.15 system-ui;text-align:center;cursor:pointer;text-shadow:0 2px 3px #000}.detector-segment:hover,.detector-segment:focus-visible{outline:1px solid #ff9b72;background:linear-gradient(#17384a,#0a1822)}.detector-segment.correct{border-color:#62dc8d;background:#17482f;box-shadow:inset 0 0 12px #48d17b66,0 0 8px #48d17b66}.detector-segment.wrong{border-color:#ff625b;background:#591b1b;animation:shake .28s}.detector-segment:disabled{cursor:default}
.bridge-environment{position:absolute;inset:0;overflow:hidden;background-position:center;background-size:cover;animation:bridgeDrift 14s ease-in-out infinite alternate}.bridge-environment::before{content:"";position:absolute;z-index:1;inset:-20%;pointer-events:none;background:repeating-linear-gradient(105deg,transparent 0 20px,#b9dcf326 21px 23px,transparent 24px 43px);transform:translate3d(-8%,-18%,0);animation:bridgeRain .75s linear infinite}.bridge-atmosphere{position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,#02070a66,transparent 35% 70%,#02070a77),radial-gradient(ellipse at 50% 78%,#b8d8e31c,transparent 45%);box-shadow:inset 0 0 80px #000b;animation:bridgeLightning 9s steps(1) infinite}.bridge-game{position:absolute;inset:0}.bridge-console{position:absolute;z-index:3;left:12%;right:12%;top:29%;bottom:7%;display:grid;grid-template-rows:auto auto 1fr auto;padding:1.6% 2.2% 1.2%;border:1px solid #c25337;background:linear-gradient(155deg,#07141bea,#020609f5);box-shadow:inset 0 0 28px #000,0 12px 35px #000d,0 0 15px #df4a3155;clip-path:polygon(2% 0,98% 0,100% 7%,100% 93%,98% 100%,2% 100%,0 93%,0 7%)}.bridge-console header{text-align:center}.bridge-console header p{margin:0;color:#ff7154;font-size:clamp(15px,2vw,27px);font-weight:900;letter-spacing:.12em;text-shadow:0 0 11px #e43b2d}.bridge-console header strong{display:block;margin:.25em 0 .55em;color:#a9dff2;font:700 clamp(9px,1.05vw,14px) system-ui;letter-spacing:.05em}.bridge-modules{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2%;margin:0 auto .8%;width:58%}.bridge-modules i{display:grid;place-items:center;height:1.6em;border:1px solid #65483f;background:#091016;color:#68737b;font:900 clamp(9px,1vw,14px) system-ui;box-shadow:inset 0 0 8px #000}.bridge-modules i.active{border-color:#ff7656;color:#ffab82;box-shadow:inset 0 0 8px #d93c2844,0 0 7px #e64a3266;animation:pulse 1s infinite alternate}.bridge-modules i.restored{border-color:#53d586;background:#123723;color:#8bf0ae;box-shadow:0 0 7px #43d47a55}.bridge-form{display:flex;min-height:0;flex-direction:column;align-items:center;justify-content:center}.bridge-sentence{width:94%;margin:.2em 0 .8em;padding:.85em 1em;border:1px solid #396b7d;background:#051019e8;box-shadow:inset 0 0 18px #000;color:#fff;font:700 clamp(14px,1.75vw,24px)/1.65 system-ui;text-align:center;text-wrap:balance}.bridge-input{display:inline-block;width:22%;min-width:8em;height:2.25em;margin:0 .28em;padding:.1em .5em;border:1px solid #d56343;background:#0b1d28;color:#fff;font:700 .78em/1 system-ui;text-align:center;vertical-align:middle;outline:0;box-shadow:inset 0 0 9px #000}.bridge-input:focus{border-color:#ffb08b;box-shadow:inset 0 0 9px #000,0 0 9px #ec674b}.bridge-input.wrong{border-color:#ff514a;background:#441719;animation:shake .28s}.bridge-input.correct{border-color:#58d88a;background:#123b27}.bridge-form>button{min-width:28%;padding:.62em 1.2em;border:1px solid #e16542;background:linear-gradient(#a63427,#58120e);box-shadow:inset 0 0 10px #ff9a6b55,0 0 10px #e64b3355;color:#fff;font:900 clamp(10px,1.15vw,16px) system-ui;letter-spacing:.1em;cursor:pointer}.bridge-form>button:hover,.bridge-form>button:focus-visible{outline:1px solid #ffc1a6;filter:brightness(1.18)}.bridge-form>button:disabled{cursor:default;opacity:.65}.bridge-barrier{position:relative;height:.62em;margin:.65% 9% 0;border:1px solid #784437;background:#06090b;overflow:hidden}.bridge-barrier span{display:block;width:calc(var(--bridge-progress,0) * 25%);height:100%;background:repeating-linear-gradient(135deg,#e75d36 0 14px,#f5b640 14px 28px);box-shadow:0 0 9px #e75d36;transition:width .55s}.bridge-console.module-restored{--bridge-progress:4;animation:moduleSurge .6s ease-out}.bridge-success{position:relative;z-index:3}.bridge-success strong,.bridge-success span{display:block;margin-top:.7em;font:800 clamp(10px,1.15vw,16px) system-ui;letter-spacing:.11em}.bridge-success strong{color:#ffca63}.bridge-success span{color:#9ba9b1;font-size:clamp(8px,.9vw,12px)}@keyframes bridgeRain{to{transform:translate3d(8%,18%,0)}}@keyframes bridgeLightning{0%,47%,49%,100%{filter:brightness(1)}48%{filter:brightness(1.8);background-color:#d6edff28}}@keyframes bridgeDrift{from{background-position:49% 50%}to{background-position:51% 49%}}@keyframes moduleSurge{50%{border-color:#5ae08d;box-shadow:inset 0 0 30px #2fc66a44,0 0 24px #43d77e99}}
.rooftop-game,.rooftop-complete{position:absolute;inset:0;overflow:hidden;background:#03070b center/cover no-repeat}.rooftop-game::before{content:"";position:absolute;z-index:2;inset:-18%;pointer-events:none;background:repeating-linear-gradient(106deg,transparent 0 22px,#c5e8ff31 23px 25px,transparent 26px 47px);animation:rooftopRain .72s linear infinite}.rooftop-game::after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;background:#dcefff00;box-shadow:inset 0 0 85px #000c;animation:rooftopLightning 10s steps(1) infinite}.rooftop-fog{position:absolute;z-index:1;inset:45% -18% -15%;pointer-events:none;background:radial-gradient(ellipse at 30% 55%,#b9d2db35,transparent 32%),radial-gradient(ellipse at 72% 70%,#a8c6d02e,transparent 37%);filter:blur(12px);animation:rooftopFog 17s ease-in-out infinite alternate}.rooftop-lights{position:absolute;z-index:2;left:8%;right:8%;bottom:8%;height:30%;pointer-events:none;background:radial-gradient(circle at 12% 80%,#e43d2d88 0 1%,transparent 3%),radial-gradient(circle at 82% 62%,#298bd188 0 1%,transparent 3%),radial-gradient(circle at 56% 88%,#e8b43c66 0 1%,transparent 3%);animation:distantLights 2.4s steps(2) infinite}.rooftop-beacon{position:absolute;z-index:4;right:8%;top:29%;width:1.1%;aspect-ratio:1;border-radius:50%;background:#ff2618;box-shadow:0 0 5px 2px #ff3828,0 0 20px 8px #e52b2277;animation:beaconBlink 1.25s steps(1) infinite}.rooftop-question{position:absolute;z-index:7;left:15%;right:15%;top:24%;min-height:18%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.8% 3%;border:1px solid #3c778d;background:linear-gradient(145deg,#06151ded,#02080ced);box-shadow:inset 0 0 24px #000,0 8px 24px #000b;text-align:center}.rooftop-question p{margin:0;color:#ff7356;font:900 clamp(14px,1.8vw,25px) system-ui;letter-spacing:.11em;text-shadow:0 0 10px #e84935}.rooftop-question strong{margin:.25em 0 .45em;color:#8bd9ef;font:700 clamp(9px,1vw,14px) system-ui;letter-spacing:.06em}.rooftop-question span{color:#fff;font:800 clamp(16px,2vw,27px)/1.15 system-ui;text-wrap:balance}.drone-field{position:absolute;z-index:6;left:0;right:0;top:44%;bottom:4%;overflow:hidden}.signal-drone{position:absolute;top:calc(2% + var(--lane) * 23%);left:0;width:24%;height:24%;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;animation:droneFlight var(--flight-duration) linear var(--flight-delay) infinite;filter:drop-shadow(0 5px 7px #000);will-change:transform}.signal-drone img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.signal-drone span{position:absolute;z-index:1;left:23%;right:23%;top:38%;display:grid;place-items:center;min-height:28%;padding:.2em .35em;border:1px solid #5aa1b9;background:#031018e8;box-shadow:inset 0 0 8px #000;color:#fff;font:900 clamp(8px,.92vw,13px)/1.05 system-ui;text-align:center;text-shadow:0 1px 3px #000;pointer-events:none}.signal-drone:hover,.signal-drone:focus-visible{outline:0;filter:drop-shadow(0 0 9px #62dfff) brightness(1.18)}.signal-drone.correct{filter:drop-shadow(0 0 15px #54f59a) brightness(1.45)}.signal-drone.wrong{filter:drop-shadow(0 0 13px #ff4c3e);animation:droneFlight var(--flight-duration) linear var(--flight-delay) infinite,shake .28s}.signal-drone:disabled{cursor:default}.rooftop-complete::after{content:"";position:absolute;inset:0;background:linear-gradient(#06101866,#020609aa);pointer-events:none}.rooftop-complete .mission-success{position:relative;z-index:2}@keyframes droneFlight{from{transform:translateX(-28vw)}to{transform:translateX(122vw)}}@keyframes rooftopRain{to{transform:translate3d(7%,18%,0)}}@keyframes rooftopFog{from{transform:translateX(-5%);opacity:.45}to{transform:translateX(7%);opacity:.75}}@keyframes rooftopLightning{0%,53%,55%,100%{background-color:#dcefff00}54%{background-color:#dcefff30}}@keyframes beaconBlink{0%,58%,100%{opacity:.25}60%,72%{opacity:1}}@keyframes distantLights{0%,100%{filter:brightness(.65)}50%{filter:brightness(1.5)}}
.train-game,.train-complete{position:absolute;inset:0;overflow:hidden;background:#03070b center/cover no-repeat}.train-game::after,.train-complete::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(#02070a55,#02070a22 45%,#01040599);box-shadow:inset 0 0 75px #000c}.station-lights{position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(circle at 14% 38%,#e94c3744 0 1%,transparent 5%),radial-gradient(circle at 82% 35%,#e94c3738 0 1%,transparent 5%);animation:stationBlink 2.8s steps(2) infinite}.train-header{position:absolute;z-index:5;left:14%;right:14%;top:23%;height:19%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5% 2%;border:1px solid #365f70;background:#030b11e8;box-shadow:inset 0 0 18px #000,0 6px 18px #000b;text-align:center}.train-header p{margin:0;color:#ff7156;font:900 clamp(14px,1.75vw,24px) system-ui;letter-spacing:.12em}.train-header>strong{margin:.18em 0;color:#8bd9ef;font:700 clamp(8px,.9vw,13px) system-ui}.train-progress{position:absolute;right:2%;top:9%;color:#ffc564;font:900 clamp(9px,1vw,14px) system-ui}.train-clues{display:flex;justify-content:center;gap:.65em;flex-wrap:wrap}.train-clues span{padding:.25em .55em;border:1px solid #704b39;background:#0a1217;color:#ffe0a1;font:800 clamp(8px,.86vw,12px) system-ui;letter-spacing:.05em}.assembly-track{position:absolute;z-index:5;left:5%;right:5%;top:44%;height:24%;border-bottom:4px solid #704f3d;background:linear-gradient(transparent 78%,#111a20 79% 88%,#633f2c 89% 92%,#10171c 93%);box-shadow:0 7px 8px #0008}.assembled-train{position:absolute;left:5%;right:5%;bottom:4%;height:91%;display:flex;align-items:flex-end;transition:transform 1.05s ease-in}.train-engine{flex:0 0 24%;width:24%;height:100%;object-fit:contain;align-self:flex-end;filter:drop-shadow(0 5px 6px #000)}.attached-wagons{display:flex;align-items:flex-end;flex:1;height:100%;min-width:0}.attached-wagons .timeline-wagon{position:relative;left:auto;top:auto;flex:1 1 0;width:auto;height:100%;transform:none;animation:none;cursor:default}.attached-wagons .timeline-wagon.coupling{animation:wagonCouple .34s ease-out}.assembled-train.departing{transform:translateX(125%)}.railway-signal{position:absolute;z-index:3;right:1%;bottom:13%;width:2.4%;height:48%;border:2px solid #383f43;border-radius:999px;background:#090d10;box-shadow:0 4px 7px #000}.railway-signal i{display:block;width:58%;aspect-ratio:1;margin:35% auto 0;border-radius:50%;background:#811c19;box-shadow:0 0 8px #e22b21}.railway-signal.green i{background:#35dc70;box-shadow:0 0 12px #46ef7f}.source-track{position:absolute;z-index:6;left:0;right:0;top:72%;bottom:3%;overflow:hidden;border-bottom:4px solid #5d4539;background:linear-gradient(#03070a88,transparent 48%,#0d151a 82% 90%,#5b3b2c 91% 94%,transparent 95%)}.timeline-wagon{position:absolute;left:0;top:3%;width:26%;height:91%;padding:0;border:0;background:transparent;color:#fff;cursor:grab;animation:wagonRoll 24s linear var(--wagon-delay) infinite;filter:drop-shadow(0 5px 6px #000);will-change:transform}.timeline-wagon:active,.timeline-wagon.dragging{cursor:grabbing;filter:drop-shadow(0 0 11px #6fe0ff) brightness(1.14)}.timeline-wagon img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.timeline-wagon span{position:absolute;z-index:1;left:17%;right:17%;top:34%;min-height:31%;display:flex;align-items:center;justify-content:center;padding:.12em .25em;color:#fff;font:900 clamp(8px,.9vw,13px)/1.05 system-ui;text-align:center;text-shadow:0 1px 3px #000;pointer-events:none}.timeline-wagon.rejected{animation:wagonRoll 24s linear var(--wagon-delay) infinite,wagonReject .34s ease-out}.timeline-wagon.attached span{font-size:clamp(7px,.75vw,11px)}.train-complete .mission-success{position:relative;z-index:3}@keyframes wagonRoll{from{transform:translateX(-30vw)}to{transform:translateX(130vw)}}@keyframes wagonCouple{from{transform:translateX(12%)}to{transform:translateX(0)}}@keyframes wagonReject{50%{filter:drop-shadow(0 0 14px #ff453a) brightness(1.25)}}@keyframes stationBlink{0%,100%{filter:brightness(.75)}50%{filter:brightness(1.3)}}
.train-header{top:27.5%;height:15.5%}.assembled-train{flex-direction:row-reverse}.attached-wagons{flex-direction:row;justify-content:flex-end}.attached-wagons .timeline-wagon{flex:0 0 33.333%}.timeline-wagon span{left:19%;right:19%;top:32%;height:36%;min-height:0;max-height:2.2em;padding:0 .35em;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:normal;overflow-wrap:normal;word-break:normal;text-wrap:balance;font:900 clamp(10px,1.05vw,15px)/1.08 system-ui;text-align:center}.timeline-wagon.attached span{font-size:clamp(8px,.82vw,12px)}
.radio-game,.radio-complete{position:absolute;inset:0;overflow:hidden;background:#03070b center/cover no-repeat}.radio-game::after,.radio-complete::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(#02070a66,#02070a22 45%,#01040799);box-shadow:inset 0 0 80px #000c}.radio-header{position:absolute;z-index:5;left:16%;right:16%;top:27%;height:14%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.45% 2%;border:1px solid #37687a;background:#030c12eb;box-shadow:inset 0 0 18px #000,0 6px 18px #000b;text-align:center}.radio-header p{margin:0;color:#ff7356;font:900 clamp(14px,1.75vw,24px) system-ui;letter-spacing:.12em}.radio-header strong{margin:.25em 0;color:#91dcef;font:700 clamp(8px,.92vw,13px) system-ui}.radio-header span{color:#ffc65c;font:900 clamp(9px,1.05vw,14px) system-ui;letter-spacing:.08em}.radio-unit{position:absolute;z-index:4;inset:39% 3% 0}.radio-unit>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 15px #000)}.radio-display{position:absolute;z-index:2;left:36.2%;top:36.5%;width:27.8%;height:35.5%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:.4% 1%;color:#9df8ff;text-align:center;text-shadow:0 0 6px #00cce8}.radio-display>b{position:relative;z-index:2;font:900 clamp(10px,1.2vw,17px) system-ui;letter-spacing:.1em}.radio-frequency{position:relative;z-index:2;margin:.2em 0;color:#d4fbff;font:800 clamp(8px,.9vw,13px) system-ui}.radio-wave{position:absolute;z-index:0;inset:10% 4% 33%;opacity:.4;background:repeating-linear-gradient(90deg,transparent 0 5px,#31dff0 6px 7px,transparent 8px 12px);clip-path:polygon(0 48%,5% 35%,10% 60%,15% 42%,20% 55%,25% 25%,30% 68%,35% 38%,40% 58%,45% 18%,50% 73%,55% 33%,60% 62%,65% 40%,70% 55%,75% 27%,80% 67%,85% 38%,90% 57%,95% 42%,100% 50%,100% 54%,95% 48%,90% 63%,85% 44%,80% 73%,75% 33%,70% 61%,65% 46%,60% 68%,55% 39%,50% 79%,45% 24%,40% 64%,35% 44%,30% 74%,25% 31%,20% 61%,15% 48%,10% 66%,5% 41%,0 54%);animation:radioWave .7s linear infinite}.radio-display.near .radio-wave{opacity:.7;animation-duration:1.4s}.radio-display.signal-found .radio-wave{opacity:.85;animation-duration:2.2s}.radio-strength{position:relative;z-index:2;width:72%;height:5px;margin:.15em 0 .25em;border:1px solid #217786;background:#031319}.radio-strength i{display:block;width:var(--radio-strength,8%);height:100%;background:linear-gradient(90deg,#31d587,#f2cb49);transition:width .16s}.radio-controls{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:.35em;width:84%;min-height:26%}.radio-tuner{width:90%;accent-color:#ffb42f;cursor:pointer}.radio-controls .drift-marker{position:absolute;top:12%;bottom:12%;width:2px;background:#67e7ef;box-shadow:0 0 5px #67e7ef;pointer-events:none}.radio-controls button,.radio-message button{padding:.4em .65em;border:1px solid #d06b3c;background:linear-gradient(#812a20,#42100e);color:#fff;font:900 clamp(7px,.72vw,10px) system-ui;letter-spacing:.04em;cursor:pointer}.radio-display.interference{animation:radioGlitch .34s}.radio-display.grammar-ready{justify-content:flex-start;padding-top:1.5%}.radio-display.grammar-ready>b{color:#62eca0;font-size:clamp(8px,.85vw,12px)}.radio-message{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;width:96%;min-height:0}.radio-message p{margin:.2em 0;color:#effeff;font:800 clamp(9px,1.02vw,14px)/1.35 system-ui;text-shadow:0 1px 3px #000;text-wrap:balance}.radio-message input{max-width:42%;height:1.75em;margin:.08em .15em;padding:.1em .3em;border:1px solid #42a8b9;background:#06171e;color:#fff;font:800 .9em/1 system-ui;text-align:center;outline:0}.radio-message input:focus{border-color:#a4f4ff;box-shadow:0 0 6px #45dcec}.radio-message input.wrong{border-color:#ff4d46;background:#421416}.radio-message input.correct{border-color:#4be188;background:#103b29}.radio-message button{margin-top:.2em}.radio-damaged .radio-wave{opacity:.25;animation-duration:.38s}.radio-complete .mission-success{position:relative;z-index:3}@keyframes radioWave{to{transform:translateX(12px)}}@keyframes radioGlitch{25%{transform:translateX(-3px);filter:brightness(1.7)}60%{transform:translateX(3px)}}
.radio-display.grammar-ready{padding:.7% 1% 1.2%}.radio-display.grammar-ready>b{flex:0 0 auto;margin:0 0 .15em}.radio-display.grammar-ready .radio-message{left:-2.5%;justify-content:flex-start;padding-top:1.5%}.radio-display.grammar-ready .radio-message p{max-height:none;margin:.05em 0 .35em;overflow:visible;white-space:normal;font:800 clamp(11px,1.25vw,17px)/1.22 system-ui;text-align:center;text-wrap:balance}.radio-display.grammar-ready .radio-message input{min-width:5.5em;max-width:48%;height:2.15em;margin:.1em .18em;padding:.12em .45em;font-size:.95em}.radio-display.grammar-ready .radio-message button{flex:0 0 auto;margin-top:.35em;padding:.48em .85em}.radio-damaged .radio-message p{font-size:clamp(10px,1.14vw,16px);line-height:1.18}
.checkpoint-game,.checkpoint-complete{position:absolute;inset:0;overflow:hidden;background:#03070b center/cover no-repeat}.checkpoint-game::after,.checkpoint-complete::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(#02070a77,#02070a22 45%,#01040788);box-shadow:inset 0 0 85px #000c}.checkpoint-header{position:absolute;z-index:8;left:18%;right:18%;top:27%;height:10.5%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #7c5635;background:#050b0fe8;box-shadow:inset 0 0 18px #000,0 6px 18px #000b;text-align:center}.checkpoint-header p{margin:0;color:#ff7356;font:900 clamp(14px,1.7vw,23px) system-ui;letter-spacing:.11em}.checkpoint-header strong{margin:.15em 0;color:#91dcef;font:700 clamp(8px,.9vw,13px) system-ui}.checkpoint-header span{color:#ffc45b;font:900 clamp(8px,.92vw,13px) system-ui}.checkpoint-board{position:absolute;z-index:4;left:50%;top:38%;height:60%;aspect-ratio:1672/941;max-width:94%;transform:translateX(-50%)}.checkpoint-board>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 16px #000)}.checkpoint-modules,.checkpoint-statuses{position:absolute;inset:0}.checkpoint-module{position:absolute;top:18%;height:70%;width:22%;border:0;background:transparent;cursor:pointer}.checkpoint-module.module-1{left:4.5%}.checkpoint-module.module-2{left:27.5%}.checkpoint-module.module-3{left:50.5%}.checkpoint-module.module-4{left:73.5%}.checkpoint-module.locked{cursor:default;background:#0005}.checkpoint-module.current{outline:1px solid #e9983b88;box-shadow:inset 0 0 18px #e56b2644}.checkpoint-module.activated{animation:checkpointActivate .55s ease-out}.checkpoint-module.restored{box-shadow:inset 0 0 22px #3ddd7b55}.checkpoint-status{position:absolute;top:67%;width:18%;height:7%;display:grid;place-items:center;color:#718089;font:900 clamp(6px,.6vw,9px) system-ui;text-align:center;text-shadow:0 1px 2px #000}.checkpoint-status.status-1{left:6.5%}.checkpoint-status.status-2{left:29.5%}.checkpoint-status.status-3{left:52.5%}.checkpoint-status.status-4{left:75.5%}.checkpoint-status.online{color:#6df1a0;text-shadow:0 0 7px #35d978}.checkpoint-object-zone{position:absolute;z-index:7;left:2%;top:57%;width:14%;height:30%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35em}.checkpoint-object{width:70%;height:66%;object-fit:contain;cursor:grab;filter:drop-shadow(0 5px 8px #000) drop-shadow(0 0 6px #e68e3b)}.checkpoint-object:active{cursor:grabbing}.checkpoint-object.installed{opacity:0;transform:scale(.2);transition:.4s}.checkpoint-instruction{padding:.4em .55em;border:1px solid #85563b;background:#040a0edb;color:#ffd18a;font:800 clamp(7px,.72vw,10px)/1.2 system-ui;text-align:center}.checkpoint-challenge{position:absolute;z-index:12;left:18%;right:18%;top:43%;bottom:7%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.2% 2.5%;border:1px solid #b96b3e;background:linear-gradient(145deg,#07151bed,#020609f6);box-shadow:inset 0 0 28px #000,0 10px 30px #000e}.checkpoint-challenge h2{margin:0 0 .35em;color:#ff8b55;font:900 clamp(14px,1.65vw,22px) system-ui;letter-spacing:.12em}.checkpoint-clues{display:flex;gap:.55em;margin-bottom:.45em}.checkpoint-clues span{padding:.3em .55em;border:1px solid #6b5a43;background:#091218;color:#ffe1a2;font:800 clamp(8px,.8vw,11px) system-ui}.checkpoint-task{width:100%;text-align:center}.checkpoint-form{display:flex;flex-direction:column;align-items:center;justify-content:center}.checkpoint-form p,.checkpoint-form label{max-width:96%;margin:.25em 0 .55em;color:#fff;font:800 clamp(13px,1.55vw,21px)/1.35 system-ui;text-align:center;text-wrap:balance}.checkpoint-original{color:#ffcf9b!important}.checkpoint-form input{max-width:38%;height:2.1em;margin:.08em .22em;padding:.12em .45em;border:1px solid #4c9db2;background:#071a22;color:#fff;font:800 .82em/1 system-ui;text-align:center;outline:0}.checkpoint-form input:focus{border-color:#b8f5ff;box-shadow:0 0 8px #56d9ed}.checkpoint-form input.wrong{border-color:#ff5148;background:#421416}.checkpoint-form>button,.checkpoint-answers button{padding:.58em 1em;border:1px solid #df7248;background:linear-gradient(#963024,#4a110e);color:#fff;font:900 clamp(9px,1vw,14px) system-ui;cursor:pointer}.checkpoint-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6em;width:75%;margin:.6em auto 0}.checkpoint-answers button.correct{border-color:#63e699;background:#174d31}.challenge-beacon .checkpoint-task>p{margin:.2em auto;color:#fff;font:800 clamp(14px,1.7vw,23px) system-ui}.challenge-beacon{box-shadow:inset 0 0 28px #000,0 0 20px #e34b3577;animation:beaconPanelPulse 1.2s infinite alternate}.checkpoint-complete .checkpoint-board{top:25%;height:70%}.checkpoint-board.all-restored{filter:drop-shadow(0 0 13px #48dc7b)}.checkpoint-success{position:absolute;z-index:10;left:28%;right:28%;top:48%}@keyframes checkpointActivate{50%{filter:brightness(1.7);box-shadow:inset 0 0 30px #55d98b88}}@keyframes beaconPanelPulse{to{border-color:#ff9b69;box-shadow:inset 0 0 30px #d8482944,0 0 28px #ec513a99}}
.checkpoint-header{top:32%;height:9.5%}.checkpoint-board{top:43%;height:54%}.checkpoint-object-zone{top:59%}.checkpoint-statuses{pointer-events:none}.checkpoint-modules{z-index:2}.checkpoint-module.current{cursor:pointer}.checkpoint-module.current:hover,.checkpoint-module.current:focus-visible{outline:2px solid #ffc45f;box-shadow:inset 0 0 28px #f18c3866,0 0 12px #ffab48}.checkpoint-object{touch-action:none;user-select:none;-webkit-user-drag:none;pointer-events:auto}.checkpoint-object.dragging{cursor:grabbing;filter:drop-shadow(0 8px 12px #000) drop-shadow(0 0 12px #ffb04b)}.checkpoint-module.drop-ready{outline:2px solid #ffd065;box-shadow:inset 0 0 30px #ef923a77,0 0 15px #ffb14f;animation:pulse .65s infinite alternate}.checkpoint-instruction{font-size:clamp(9px,.95vw,14px);letter-spacing:.06em}
.transmission-game,.transmission-complete{position:absolute;inset:0;overflow:hidden;background:#03070b center/cover no-repeat}.transmission-game::after,.transmission-complete::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(#02070a66,#02070a16 48%,#01040788);box-shadow:inset 0 0 80px #000b}.transmission-header{position:absolute;z-index:8;left:16%;right:16%;top:31%;height:10%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #476f7e;background:#040c11e8;box-shadow:inset 0 0 18px #000,0 6px 18px #000b;text-align:center}.transmission-header p{margin:0;color:#ff7356;font:900 clamp(14px,1.7vw,23px) system-ui;letter-spacing:.11em}.transmission-header strong{margin:.15em 0;color:#94def0;font:700 clamp(8px,.9vw,13px) system-ui}.transmission-header span{color:#ffc45d;font:900 clamp(8px,.94vw,13px) system-ui}.helicopter-flight{position:absolute;z-index:5;left:5%;right:5%;top:42%;height:20%;overflow:visible}.moving-helicopter{position:absolute;z-index:3;left:0;top:0;width:25%;height:100%;padding:0;border:0;background:transparent;cursor:pointer;animation:helicopterPatrol var(--helicopter-speed) ease-in-out infinite alternate;filter:drop-shadow(0 7px 9px #000);will-change:transform}.moving-helicopter img{width:100%;height:100%;object-fit:contain;pointer-events:none;animation:helicopterFacing var(--helicopter-speed) steps(1,end) infinite alternate}.moving-helicopter:hover,.moving-helicopter:focus-visible{outline:0;filter:drop-shadow(0 0 12px #7ee8ff) brightness(1.12)}.signal-zone{position:absolute;z-index:2;left:40%;top:8%;width:21%;height:84%;border:2px dashed #5cd5e899;background:#22b9d61b;box-shadow:inset 0 0 18px #43cde844,0 0 12px #43cde844;opacity:0;transition:opacity .25s}.signal-zone::after{content:"SIGNAL ZONE";position:absolute;left:0;right:0;bottom:3%;color:#aaf7ff;font:900 clamp(7px,.72vw,10px) system-ui;text-align:center;letter-spacing:.08em}.transmission-active .signal-zone{opacity:1}.signal-zone.zone-wide{left:35%;width:30%}.signal-zone.zone-narrow{left:43%;width:16%}.signal-zone.zone-moving{left:39%;width:18%;animation:signalZoneDrift 5s ease-in-out infinite alternate}.transmission-terminal{position:absolute;z-index:7;left:13%;right:13%;top:63%;bottom:5%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1% 2.5%;border:1px solid #44778a;background:linear-gradient(145deg,#06151deb,#02070bf5);box-shadow:inset 0 0 24px #000,0 8px 24px #000c;text-align:center}.transmission-clues{display:flex;gap:.6em;margin-bottom:.5em}.transmission-clues span{padding:.28em .55em;border:1px solid #76543e;background:#091218;color:#ffe0a0;font:800 clamp(8px,.82vw,12px) system-ui}.transmission-form{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.transmission-form p{max-width:98%;margin:.15em 0 .65em;color:#fff;font:800 clamp(14px,1.7vw,23px)/1.45 system-ui;text-align:center;text-wrap:balance}.transmission-form input{max-width:34%;height:2.15em;margin:.08em .2em;padding:.12em .45em;border:1px solid #4b9eb3;background:#061a22;color:#fff;font:800 .78em/1 system-ui;text-align:center;outline:0}.transmission-form input:focus{border-color:#b8f5ff;box-shadow:0 0 8px #57d9ef}.transmission-form input.wrong{border-color:#ff5148;background:#431416}.transmission-form input.correct{border-color:#56df8c;background:#123b28}.transmission-form button{padding:.58em 1em;border:1px solid #dc7047;background:linear-gradient(#963024,#4a110e);color:#fff;font:900 clamp(9px,1vw,14px) system-ui;cursor:pointer}.transmission-terminal>strong{color:#69efa0;font:900 clamp(18px,2.4vw,32px) system-ui;letter-spacing:.12em;text-shadow:0 0 12px #35d777}.transmission-terminal>p{margin:.45em 0;color:#d5faff;font:800 clamp(11px,1.25vw,17px) system-ui;letter-spacing:.1em}.transmission-terminal>output{color:#ffc75c;font:900 clamp(12px,1.4vw,19px) system-ui}.reconnecting .signal-zone{opacity:.2}.packet-sent .helicopter-flight::after{content:"";position:absolute;z-index:4;left:48%;bottom:-75%;width:4px;height:90%;transform:rotate(25deg);transform-origin:bottom;background:#79efff;box-shadow:0 0 12px #79efff;animation:packetBeam .65s ease-out}.transmission-complete .final-helicopter-pass{position:absolute;z-index:4;top:34%;left:-30%;width:27%;height:27%;object-fit:contain;filter:drop-shadow(0 7px 10px #000);animation:finalHelicopterPass 3.8s ease-in forwards}.transmission-success{position:relative;z-index:5}.transmission-success strong{display:block;margin-top:.7em;color:#ffd06a;font:900 clamp(11px,1.2vw,17px) system-ui;letter-spacing:.11em}@keyframes helicopterPatrol{from{transform:translateX(0)}to{transform:translateX(300%)}}@keyframes helicopterFacing{from{transform:scaleX(1)}to{transform:scaleX(-1)}}@keyframes signalZoneDrift{from{transform:translateX(-35%)}to{transform:translateX(35%)}}@keyframes packetBeam{from{opacity:0;transform:scaleY(.15) rotate(25deg)}50%{opacity:1}to{opacity:0;transform:scaleY(1) rotate(25deg)}}@keyframes finalHelicopterPass{to{left:112%}}
.moving-helicopter{animation-timing-function:linear}.moving-helicopter img{animation:none;transform:scaleX(1)}.moving-helicopter.returning img{transform:scaleX(-1)}.transmission-game .signal-zone{animation:signalZoneWander 8.5s ease-in-out infinite}.transmission-game.packet-2 .signal-zone{animation-duration:8s}.transmission-game.packet-3 .signal-zone{animation-duration:7.5s}.transmission-game.packet-4 .signal-zone{animation-duration:7s}@keyframes signalZoneWander{0%,100%{transform:translate(-16%,-6%)}25%{transform:translate(12%,5%)}50%{transform:translate(18%,-4%)}75%{transform:translate(-10%,6%)}}
.transmission-game.signal-success .signal-zone{border-color:#62f29f;background:#39d97d33;box-shadow:inset 0 0 22px #41e98d99,0 0 22px #41e98dcc}.transmission-game.signal-success .signal-zone::after{color:#8effb9;text-shadow:0 0 8px #35e884}
.evacuation-game,.evacuation-task,.landing-clear-stage{position:absolute;inset:0;overflow:hidden;background:#03070b center/cover no-repeat}.evacuation-game::after,.evacuation-task::after,.landing-clear-stage::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(#02070a66,#02070a12 45%,#01040788);box-shadow:inset 0 0 75px #000b}.evacuation-header{position:absolute;z-index:8;left:14%;right:14%;top:29%;height:14%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #47798a;background:#030b10e8;box-shadow:inset 0 0 18px #000,0 7px 20px #000c;text-align:center}.evacuation-header p{margin:0;color:#ff7653;font:900 clamp(13px,1.55vw,21px) system-ui;letter-spacing:.1em}.evacuation-header strong{margin:.1em 0;color:#dcfaff;font:900 clamp(10px,1.15vw,16px) system-ui;letter-spacing:.12em}.evacuation-header span{color:#9cd4e3;font:700 clamp(8px,.82vw,12px) system-ui}.evacuation-header output{margin-top:.2em;color:#ffc45e;font:900 clamp(9px,1vw,14px) system-ui;letter-spacing:.08em}.evacuation-stations{position:absolute;z-index:4;inset:43% 2% 2%}.evacuation-station{position:absolute;padding:0;border:1px solid #4a839566;background:#03101866;cursor:pointer;filter:drop-shadow(0 7px 9px #000);transition:border-color .2s,box-shadow .2s,filter .2s}.evacuation-station>img,.gate-layers{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.evacuation-station.available:hover,.evacuation-station.available:focus-visible{outline:0;border-color:#78e8ff;box-shadow:inset 0 0 18px #3bd7ef44,0 0 15px #49dff088;filter:brightness(1.12) drop-shadow(0 7px 9px #000)}.evacuation-station.completed{border-color:#62dc9566;box-shadow:inset 0 0 18px #45dc7c33;cursor:default;filter:drop-shadow(0 0 8px #3ad97966)}.evacuation-station.locked{filter:grayscale(.7) brightness(.55);cursor:not-allowed}.station-passengers{left:0;top:2%;width:24%;height:49%}.station-lights{left:25%;top:5%;width:20%;height:39%}.station-gate{right:0;top:0;width:34%;height:51%}.station-landing{left:35%;bottom:0;width:30%;height:35%}.station-label{position:absolute;z-index:5;left:5%;right:5%;bottom:1%;padding:.32em .4em;border:1px solid #477b89;background:#02090edb;color:#d9f9ff;font:900 clamp(7px,.7vw,10px) system-ui;letter-spacing:.06em;text-align:center}.evacuation-station>b{position:absolute;z-index:6;right:4%;top:4%;display:grid;place-items:center;width:1.5em;aspect-ratio:1;border-radius:50%;background:#175f39;color:#7dffac;font:900 clamp(11px,1.4vw,19px) system-ui}.evacuation-station>em{position:absolute;z-index:6;left:7%;right:7%;top:5%;color:#84edff;font:900 clamp(6px,.62vw,9px) system-ui;font-style:normal;text-align:center;text-shadow:0 1px 3px #000}.evacuation-station.completed>em{color:#70ee9e}.gate-layers .gate-base{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.gate-layers .gate-barrier{position:absolute;z-index:2;left:28%;top:42%;width:66%;height:auto;transform:rotate(0);transform-origin:4% 50%;transition:transform 1.5s cubic-bezier(.2,.75,.25,1);filter:drop-shadow(0 4px 5px #000)}.station-gate.completed .gate-barrier{transform:rotate(-76deg)}.station-gate.just-completed .gate-barrier{animation:evacuationGateRaise 1.5s cubic-bezier(.2,.75,.25,1) both}.light-sequence{position:absolute;z-index:3;left:20%;right:20%;top:35%;display:flex;justify-content:space-between;pointer-events:none}.light-sequence i{width:14%;aspect-ratio:1;border-radius:50%;background:#ff9d35;box-shadow:0 0 4px #ff9d35;opacity:0}.station-lights.completed .light-sequence i{opacity:1;box-shadow:0 0 13px 4px #ffad45;animation:evacuationLightPulse 1.8s ease-in-out infinite alternate}.station-lights.just-completed .light-sequence i{animation:evacuationLightOn .45s ease-out both,evacuationLightPulse 1.8s ease-in-out 1.4s infinite alternate}.station-lights.just-completed .light-sequence i:nth-child(2){animation-delay:.3s,1.5s}.station-lights.just-completed .light-sequence i:nth-child(3){animation-delay:.6s,1.6s}.evacuation-task-panel{position:absolute;z-index:6;left:14%;right:14%;top:31%;bottom:6%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2% 3%;border:1px solid #4b899c;background:linear-gradient(145deg,#071820f2,#02070bf8);box-shadow:inset 0 0 28px #000,0 10px 28px #000e;text-align:center}.evacuation-task-panel h2{margin:0 0 .3em;color:#ff7653;font:900 clamp(14px,1.65vw,22px) system-ui;letter-spacing:.1em}.evacuation-task-panel>strong{color:#9ce5f5;font:800 clamp(9px,.95vw,14px) system-ui;letter-spacing:.06em}.evacuation-task-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;flex:1;min-height:0}.evacuation-sentence{max-width:94%;margin:.4em auto .8em;color:#fff;font:800 clamp(16px,1.8vw,25px)/1.38 system-ui;text-align:center;text-wrap:balance}.evacuation-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65em;width:78%}.evacuation-answers button,.evacuation-form>button,.evacuation-correction button{padding:.7em 1em;border:1px solid #bd673f;background:linear-gradient(#79271f,#3c0d0b);color:#fff;font:900 clamp(9px,1vw,14px) system-ui;cursor:pointer}.evacuation-answers button.correct{border-color:#58e18c;background:#174d31}.evacuation-answers button.wrong,.evacuation-task input.wrong,.evacuation-gate-sentence button.wrong{border-color:#ff5148;background:#491517;animation:radioGlitch .34s}.evacuation-form{display:flex;flex-direction:column;align-items:center;width:100%}.evacuation-form input,.evacuation-correction input{min-width:10em;max-width:44%;height:2.2em;margin:.1em .22em;padding:.15em .5em;border:1px solid #4da3b8;background:#071b23;color:#fff;font:800 .82em/1 system-ui;text-align:center;outline:0}.evacuation-double input:last-of-type{min-width:15em}.evacuation-form input:focus,.evacuation-correction input:focus{border-color:#bcf7ff;box-shadow:0 0 8px #59dced}.evacuation-gate-sentence{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.55em;width:90%;margin:.7em auto}.evacuation-gate-sentence button{padding:.65em .8em;border:1px solid #46798a;background:#071820;color:#fff;font:800 clamp(11px,1.2vw,17px) system-ui;cursor:pointer}.evacuation-gate-sentence button.selected{border-color:#ffb155;background:#53301c}.evacuation-correction form{display:flex;flex-direction:column;align-items:center;gap:.55em}.evacuation-correction label{display:flex;flex-direction:column;align-items:center;gap:.4em;color:#ffd194;font:800 clamp(10px,1vw,14px) system-ui}.landing-clear-stage header{position:absolute;z-index:7;left:15%;right:15%;top:29%;height:14%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #4b899a;background:#031017e8;text-align:center}.landing-clear-stage h2{margin:0;color:#ff7653;font:900 clamp(14px,1.7vw,23px) system-ui;letter-spacing:.1em}.landing-clear-stage p{margin:.2em;color:#cceef5;font:700 clamp(9px,1vw,14px) system-ui}.landing-clear-stage output{color:#ffc45e;font:900 clamp(9px,1vw,14px) system-ui}.landing-boundary{position:absolute;z-index:3;left:31%;top:51%;width:39%;height:39%;border:3px dashed #f0ba4baa;border-radius:50%;box-shadow:inset 0 0 20px #eaa62b22,0 0 12px #eaa62b33;pointer-events:none}.landing-boundary span{position:absolute;left:0;right:0;bottom:5%;color:#ffd77b;font:900 clamp(8px,.9vw,13px) system-ui;letter-spacing:.12em;text-align:center}.landing-obstacles{position:absolute;z-index:5;inset:0}.landing-obstacle{position:absolute;width:15%;height:16%;object-fit:contain;transform:translate(-50%,-50%) rotate(var(--box-rotation));filter:drop-shadow(0 7px 8px #000);cursor:grab;touch-action:none;user-select:none;-webkit-user-drag:none}.landing-obstacle.dragging{z-index:8;cursor:grabbing;filter:drop-shadow(0 0 12px #65e5ff) brightness(1.12)}.landing-obstacle.cleared{filter:drop-shadow(0 0 8px #4ee68a)}.final-clearance-message{position:absolute;z-index:12;left:24%;right:24%;top:48%;display:grid;place-items:center;min-height:12%;padding:1em;border:1px solid #d27643;background:#03080ded;color:#ffcf68;font:900 clamp(18px,2.4vw,33px) system-ui;letter-spacing:.1em;text-align:center;text-shadow:0 0 10px #f08a35;box-shadow:inset 0 0 22px #000,0 0 18px #de633b77;transition:top .35s,opacity .35s}.final-clearance-message.authorized{top:44%}.final-clearance-message.evacuation-complete{color:#7dffac;border-color:#4dda83;text-shadow:0 0 10px #3cdb79}.evacuation-helicopter{position:absolute;z-index:9;left:50%;top:34%;width:35%;height:auto;object-fit:contain;filter:drop-shadow(0 9px 12px #000);animation:evacuationHelicopterArrival 7s cubic-bezier(.18,.65,.25,1) forwards;will-change:transform}.final-clearance-message.authorized~.evacuation-helicopter{pointer-events:none}@keyframes evacuationGateRaise{from{transform:rotate(0)}to{transform:rotate(-76deg)}}@keyframes evacuationLightOn{from{opacity:0;filter:brightness(.6)}to{opacity:1;filter:brightness(1.45)}}@keyframes evacuationLightPulse{to{filter:brightness(1.3);box-shadow:0 0 18px 5px #ffb347}}@keyframes evacuationHelicopterArrival{0%{transform:translate(-230%,-125%) scale(.18)}58%{transform:translate(-45%,-62%) scale(.62)}78%{transform:translate(-48%,-25%) scale(.76)}100%{transform:translate(-50%,68%) scale(.82)}}
.evacuation-stations{overflow:visible}.evacuation-station{overflow:visible;pointer-events:auto}.evacuation-station>*{pointer-events:none}.station-passengers{z-index:3;left:2%;top:3%;width:20%;height:34%}.station-lights{z-index:5;left:3%;top:55%;width:14%;height:26%;cursor:pointer}.station-landing{z-index:2;left:auto;right:16%;top:3%;bottom:auto;width:18%;height:34%}.station-gate{z-index:7;right:2%;top:55%;width:25%;height:34%;overflow:visible}.gate-layers{overflow:visible}.gate-layers .gate-base{z-index:1}.gate-layers .gate-barrier{z-index:10;overflow:visible}.evacuation-task-panel h2{font-size:clamp(16px,1.8vw,25px)}.evacuation-task-panel>strong{font-size:clamp(12px,1.2vw,17px)}.evacuation-sentence{font-size:clamp(17px,1.95vw,27px);line-height:1.36}.evacuation-gate-sentence button{padding:.72em .9em;font-size:clamp(14px,1.45vw,20px);line-height:1.2}.evacuation-correction form{gap:.65em}.evacuation-correction label{gap:.45em;font-size:clamp(13px,1.25vw,18px)}.evacuation-correction input{min-width:16em;height:2.4em;font-size:1em}
.station-landing.completed>img{opacity:1}.final-clearance-message.arrival-hidden{opacity:0;pointer-events:none}.final-clearance-message.landed-status{left:3%;right:auto;top:auto;bottom:4%;width:20%;min-height:7%;padding:.55em .7em;font-size:clamp(11px,1.25vw,17px);letter-spacing:.07em}.evacuation-helicopter{top:34%;width:35%;animation-name:evacuationHelicopterArrivalCentered}@keyframes evacuationHelicopterArrivalCentered{0%{transform:translate(-230%,-125%) scale(.18)}58%{transform:translate(-45%,-55%) scale(.62)}78%{transform:translate(-48%,-8%) scale(.78)}100%{transform:translate(-50%,32%) scale(.88)}}
.final-layout .final-clearance-message.landed-status{left:50%;right:auto;top:auto;bottom:2%;width:28%;min-height:6%;transform:translateX(-50%);padding:.5em .8em;font-size:clamp(11px,1.3vw,18px)}.final-layout .evacuation-helicopter{top:34%;width:42%;animation-name:evacuationHelicopterArrivalFinal}@keyframes evacuationHelicopterArrivalFinal{0%{transform:translate(-230%,-125%) scale(.18)}58%{transform:translate(-45%,-45%) scale(.62)}78%{transform:translate(-48%,0) scale(.82)}100%{transform:translate(-50%,22%) scale(1.1)}}
.rooftop-game::before{content:none;display:none;animation:none}
.nightfall-transition,.nightfall-stage,.final-results{position:absolute;inset:0;overflow:hidden;background:#02050a center/cover no-repeat}.nightfall-transition{z-index:20;display:grid;place-items:center;background:radial-gradient(circle,#0b1831,#010207 70%);opacity:0;transition:opacity .8s}.nightfall-transition.active{opacity:1}.nightfall-transition div{position:relative;padding:1.2em 2em;border:1px solid #5e8bab;background:#04101bed;box-shadow:inset 0 0 24px #000,0 0 20px #487de877;color:#9be9ff;font:900 clamp(15px,2vw,28px) system-ui;letter-spacing:.16em;text-align:center;text-shadow:0 0 9px #51b5eb}.nightfall-transition i{display:block;width:100%;height:2px;margin-top:.7em;background:#77dfff;box-shadow:0 0 8px #77dfff;animation:nightfallScan 1.4s ease-in-out infinite}.nightfall-incomplete{display:flex;z-index:20;flex-direction:column;align-items:center;gap:.65em;padding:1.5em 2em;border:1px solid #7a6599;background:#060a13f2;box-shadow:inset 0 0 24px #000,0 0 18px #7050bc66;text-align:center}.nightfall-incomplete strong{color:#b8a3ff;font:900 clamp(15px,2vw,27px) system-ui;letter-spacing:.11em}.nightfall-incomplete span{color:#b8d8e7;font:800 clamp(11px,1.25vw,17px) system-ui}.nightfall-incomplete button,.nightfall-form>button,.final-results button{padding:.7em 1.4em;border:1px solid #668fb1;background:linear-gradient(#18425d,#071723);color:#eafaff;font:900 clamp(9px,1vw,14px) system-ui;letter-spacing:.1em;cursor:pointer}.nightfall-stage::before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(#01040ab8,#07102066 45%,#01040ad1),repeating-linear-gradient(0deg,#8bdfff08 0 1px,transparent 1px 4px);box-shadow:inset 0 0 90px #000}.nightfall-header{position:absolute;z-index:6;left:22%;right:22%;top:28%;height:12%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #516f91;background:#030a13e8;box-shadow:inset 0 0 18px #000,0 0 15px #536ac666;text-align:center}.nightfall-header p{margin:0;color:#a67dff;font:900 clamp(15px,1.8vw,25px) system-ui;letter-spacing:.16em;text-shadow:0 0 10px #7156df}.nightfall-header span{color:#6edcf4;font:800 clamp(7px,.75vw,11px) system-ui;letter-spacing:.14em}.nightfall-header strong{margin-top:.15em;color:#e8f8ff;font:900 clamp(9px,1vw,14px) system-ui;letter-spacing:.1em}.nightfall-terminal{position:absolute;z-index:5;left:12%;right:12%;top:41%;bottom:5%;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.75fr);grid-template-rows:1fr auto;gap:2%;padding:1.3% 1.8%;border:1px solid #476f91;background:linear-gradient(145deg,#06121cf2,#02050af8);box-shadow:inset 0 0 28px #000,0 9px 28px #000e,0 0 18px #5d4bbf55}.nightfall-form{display:flex;min-height:0;flex-direction:column;align-items:center;justify-content:center}.nightfall-rows{display:grid;gap:.38em;width:100%}.nightfall-row{display:grid;grid-template-columns:2.3em minmax(0,1fr);align-items:center;min-height:3.1em;padding:.35em .55em;border:1px solid #29485c;background:#04101a;color:#ecf9ff;transition:border-color .2s,background .2s}.nightfall-row>b{color:#74dff7;font:900 clamp(9px,.9vw,13px) system-ui}.nightfall-sentence{font:750 clamp(10px,1.05vw,15px)/1.35 system-ui;text-align:left}.nightfall-row input{width:15em;max-width:42%;height:2.05em;margin:0 .32em;padding:.1em .45em;border:1px solid #507ea1;background:#071b29;color:#fff;font:800 .92em/1 system-ui;text-align:center;outline:0}.nightfall-row input:focus{border-color:#8be8ff;box-shadow:0 0 8px #57c9eb}.nightfall-row.decrypted{border-color:#4fd895;background:#08231a;box-shadow:inset 0 0 10px #2bba6f33}.nightfall-row.decrypted input{border-color:#5cdda0;background:#0d3424;color:#aaffcc}.nightfall-row.wrong{border-color:#eb584d;background:#2d1014;animation:nightfallError .28s}.nightfall-form>button{margin-top:.55em}.nightfall-form>button:disabled{opacity:.55;cursor:default}.nightfall-file{position:relative;min-height:0;overflow:hidden;border:1px solid #3b607a;background:#02090f;box-shadow:inset 0 0 22px #000}.nightfall-file header{position:absolute;z-index:3;left:8%;right:8%;top:8%;text-align:center}.nightfall-file header b,.nightfall-file header span{display:block}.nightfall-file header b{color:#9981ea;font:900 clamp(10px,1.15vw,16px) system-ui;letter-spacing:.12em}.nightfall-file header span{margin-top:.2em;color:#5f8295;font:800 clamp(7px,.72vw,10px) system-ui;letter-spacing:.1em}.nightfall-file-lines{position:absolute;z-index:2;left:10%;right:10%;top:35%;bottom:12%;display:grid;gap:9%}.nightfall-file-lines i{display:block;background:linear-gradient(90deg,#4bd2ec,#8a6bf1);box-shadow:0 0 7px #55c7e8;opacity:.1;transform:scaleX(.1);transform-origin:left;transition:.55s}.nightfall-file[data-progress="25"] .nightfall-file-lines i:nth-child(1),.nightfall-file[data-progress="50"] .nightfall-file-lines i:nth-child(-n+2),.nightfall-file[data-progress="75"] .nightfall-file-lines i:nth-child(-n+3),.nightfall-file[data-progress="100"] .nightfall-file-lines i{opacity:.85;transform:scaleX(1)}.nightfall-redactions{position:absolute;z-index:4;inset:30% 8% 8%;display:grid;gap:8%;transition:opacity .55s}.nightfall-redactions span{background:repeating-linear-gradient(90deg,#151d2b 0 12px,#0b111b 12px 18px);box-shadow:0 0 7px #000}.nightfall-file[data-progress="25"] .nightfall-redactions span:nth-child(1),.nightfall-file[data-progress="50"] .nightfall-redactions span:nth-child(-n+2),.nightfall-file[data-progress="75"] .nightfall-redactions span:nth-child(-n+3),.nightfall-file[data-progress="100"] .nightfall-redactions span{opacity:0}.nightfall-progress{grid-column:1/-1;color:#76e8ff;font:900 clamp(11px,1.3vw,18px) system-ui;letter-spacing:.1em;text-align:center;text-shadow:0 0 8px #55cfe9}.nightfall-unlock-status{position:absolute;z-index:8;left:25%;right:25%;bottom:2%;color:#88ffc0;font:900 clamp(10px,1.15vw,16px) system-ui;letter-spacing:.12em;text-align:center;text-shadow:0 0 10px #43dc89}.nightfall-evidence{position:absolute;z-index:7;left:3%;right:3%;top:39%;bottom:4%;pointer-events:none}.nightfall-evidence img{position:absolute;width:6%;height:13%;object-fit:contain;filter:drop-shadow(0 0 5px #62ccff) drop-shadow(0 0 9px #7956dd);animation:nightfallEvidence 2.4s ease-in-out infinite alternate}.nightfall-evidence img:nth-child(1){left:0;top:5%}.nightfall-evidence img:nth-child(2){left:0;top:43%;animation-delay:.3s}.nightfall-evidence img:nth-child(3){right:0;top:5%;animation-delay:.6s}.nightfall-evidence img:nth-child(4){right:0;top:43%;animation-delay:.9s}.nightfall-evidence img:nth-child(5){right:1%;bottom:0;animation-delay:1.2s}.file-unlocked .nightfall-terminal{border-color:#61e5a0;box-shadow:inset 0 0 30px #34c77a22,0 0 24px #45df8a88}.nightfall-reveal::before,.nightfall-case-solved::before{background:linear-gradient(#01040a99,#020611d8),repeating-linear-gradient(0deg,#8bdfff08 0 1px,transparent 1px 4px)}.classified-reveal{position:absolute;z-index:5;left:22%;right:22%;top:30%;bottom:9%;padding:2% 4%;border:1px solid #675da4;background:#040914ed;box-shadow:inset 0 0 25px #000,0 0 22px #6151bd77}.classified-reveal header{text-align:center}.classified-reveal header p{margin:0;color:#a788ff;font:900 clamp(17px,2vw,28px) system-ui;letter-spacing:.16em}.classified-reveal header strong{color:#70daf2;font:900 clamp(9px,1vw,14px) system-ui;letter-spacing:.18em}.classified-story{margin-top:1.3em}.classified-story p{margin:.65em 0;color:#eaf8ff;font:750 clamp(12px,1.35vw,19px)/1.35 system-ui;opacity:0;transform:translateY(5px);transition:.35s}.classified-story p.visible{opacity:1;transform:none}.nightfall-case-solved{display:grid;place-items:center}.nightfall-case-solved section{position:relative;z-index:5;min-width:42%;padding:2em;border:1px solid #5e84a4;background:#030a13ed;box-shadow:inset 0 0 25px #000,0 0 28px #6857dd99;text-align:center}.nightfall-case-solved p{margin:0;color:#9b80ff;font:900 clamp(16px,2vw,28px) system-ui;letter-spacing:.16em}.nightfall-case-solved strong{display:block;margin-top:.35em;color:#7affb3;font:900 clamp(24px,3.4vw,47px) system-ui;letter-spacing:.14em;text-shadow:0 0 15px #45db88}.nightfall-case-solved .nightfall-evidence img{animation:nightfallEvidenceSolved .8s ease-in-out infinite alternate}.final-results{display:grid;place-items:center;background-size:cover}.final-results::before{content:"";position:absolute;inset:0;background:radial-gradient(circle,#14203355,#010307dd 74%)}.final-results>section{position:relative;z-index:2;width:60%;min-height:62%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.2% 4%;border:1px solid #a35b3d;background:#050a10e8;box-shadow:inset 0 0 30px #000,0 0 24px #d75a3b66;text-align:center}.final-results h1{margin:0 0 .55em;color:#ff7857;font:900 clamp(25px,3.5vw,48px) system-ui;letter-spacing:.14em;text-shadow:0 0 13px #dd4e3a}.final-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.8em;width:100%}.final-stats p{margin:0;padding:.8em .45em;border:1px solid #3b6577;background:#06131c}.final-stats span,.final-stats strong{display:block}.final-stats span{color:#8fcfe1;font:800 clamp(8px,.78vw,11px) system-ui;letter-spacing:.08em}.final-stats strong{margin-top:.25em;color:#fff;font:900 clamp(15px,1.8vw,25px) system-ui}.final-achievements{display:flex;justify-content:center;gap:1em;margin:.8em 0}.final-achievements figure{width:7em;margin:0}.final-achievements img{width:100%;height:5.5em;object-fit:contain;filter:drop-shadow(0 0 8px #e9b359)}.final-achievements figcaption{color:#ffd77f;font:900 clamp(7px,.72vw,10px) system-ui;letter-spacing:.07em}.final-results button{margin-top:1em;border-color:#dc6d47;background:linear-gradient(#8a2d22,#46100d)}@keyframes nightfallScan{50%{opacity:.35;transform:scaleX(.72)}}@keyframes nightfallError{50%{transform:translateX(-5px)}}@keyframes nightfallEvidence{to{transform:translateY(-4px);filter:drop-shadow(0 0 8px #8de6ff) drop-shadow(0 0 13px #9877ff)}}@keyframes nightfallEvidenceSolved{to{filter:drop-shadow(0 0 12px #9ff4ff) drop-shadow(0 0 20px #b18cff);transform:scale(1.08)}}
.classified-reveal{display:flex;flex-direction:column;align-items:stretch}.classified-story{flex:1}.classified-continue{align-self:center;min-width:28%;margin-top:.6em;padding:.72em 1.5em;border:1px solid #6fd8ee;background:linear-gradient(#174b61,#071a25);box-shadow:inset 0 0 12px #5cd8ef33,0 0 10px #54cfe766;color:#effcff;font:900 clamp(10px,1.1vw,15px) system-ui;letter-spacing:.12em;cursor:pointer;opacity:0;transform:translateY(5px);transition:opacity .28s,transform .28s,filter .18s}.classified-continue.visible{opacity:1;transform:none}.classified-continue:hover,.classified-continue:focus-visible{outline:1px solid #c2f7ff;filter:brightness(1.22)}.nightfall-case-solved{opacity:1;transition:opacity .65s}.nightfall-case-solved.ending-fade{opacity:0}.final-results{background-position:center;background-size:cover}.final-results::before{background:linear-gradient(#02070aa6,#02070a92 48%,#010306c2),radial-gradient(circle at 50% 58%,transparent 0 30%,#0103089c 78%)}.final-results>section{width:82%;min-height:78%;padding:2% 5%;border:1px solid #b06a43;background:linear-gradient(145deg,#07121ae0,#03070ceb);box-shadow:inset 0 0 38px #000,0 0 26px #e2613d66,0 0 55px #2d91b633;clip-path:polygon(2% 0,98% 0,100% 4%,100% 96%,98% 100%,2% 100%,0 96%,0 4%)}.final-results>section::before,.final-results>section::after{content:"";position:absolute;top:2%;bottom:2%;width:4px;background:linear-gradient(transparent,#e8683f,#63d8f2,#e8683f,transparent);box-shadow:0 0 9px currentColor}.final-results>section::before{left:1.2%}.final-results>section::after{right:1.2%}.final-results h1{margin:0;color:#ff7958;font-size:clamp(31px,4.4vw,60px);letter-spacing:.16em}.final-results h2{margin:.2em 0 .8em;color:#9eefff;font:900 clamp(12px,1.45vw,20px) system-ui;letter-spacing:.14em;text-shadow:0 0 9px #4bb9dc}.final-results h3{margin:.85em 0 .2em;color:#f3d58c;font:900 clamp(9px,.95vw,13px) system-ui;letter-spacing:.14em}.final-stats{gap:1.2em;width:88%}.final-stats p{padding:1em .65em;border-color:#527f91;background:linear-gradient(#091d28d9,#041019e8);box-shadow:inset 0 0 15px #000,0 0 9px #3a9fbb44}.final-stats span{font-size:clamp(8px,.9vw,13px)}.final-stats strong{font-size:clamp(19px,2.35vw,32px);color:#fff;text-shadow:0 0 8px #66cfe5}.final-achievements{gap:1.5em;margin:.25em 0 .45em}.final-achievements figure{width:11em}.final-achievements img{height:9.2em;filter:drop-shadow(0 0 10px #f0c65f) drop-shadow(0 0 16px #55aee8)}.final-achievements figcaption{margin-top:.1em;font-size:clamp(9px,.9vw,13px);color:#ffe09a;text-shadow:0 0 7px #d9a945}.final-results button{min-width:25%;margin-top:.45em;padding:.85em 1.7em;font-size:clamp(11px,1.25vw,17px);box-shadow:inset 0 0 13px #ff977044,0 0 13px #da5c3e66}.final-results button:hover,.final-results button:focus-visible{outline:1px solid #ffc2a9;filter:brightness(1.2)}
.nightfall-reveal .classified-reveal{left:18%;right:18%;top:29%;bottom:4%;display:flex;padding:2.2% 4% 1.8%;overflow:hidden;border:1px solid #78d7f4;background:linear-gradient(145deg,#03101bdc,#060923e8);box-shadow:inset 0 0 35px #02040b,0 0 8px #69d9f2,0 0 22px #7957e288;clip-path:polygon(3% 0,97% 0,100% 5%,100% 95%,97% 100%,3% 100%,0 95%,0 5%)}.nightfall-reveal .classified-reveal::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(90deg,#7555ef33 1px,transparent 1px),linear-gradient(#65cfea20 1px,transparent 1px),repeating-linear-gradient(0deg,#b8f4ff0b 0 1px,transparent 1px 4px);background-size:36px 36px,36px 36px,100% 4px}.nightfall-reveal .classified-reveal::after{content:"";position:absolute;inset:1.4%;pointer-events:none;border:1px solid #7658d466;box-shadow:inset 0 0 16px #4a99cf2b;clip-path:polygon(4% 0,96% 0,100% 5%,100% 95%,96% 100%,4% 100%,0 95%,0 5%)}.nightfall-reveal .classified-reveal header{position:relative;z-index:2;padding-bottom:1em}.nightfall-reveal .classified-reveal header p{font-size:clamp(22px,2.75vw,38px);letter-spacing:.2em;text-shadow:0 0 8px #a17cff,0 0 18px #7652dc}.nightfall-reveal .classified-reveal header strong{display:block;margin-top:.2em;font-size:clamp(10px,1.2vw,17px);color:#8feaff;text-shadow:0 0 8px #55cce7}.nightfall-reveal .classified-reveal header i{display:block;width:86%;height:1px;margin:.85em auto 0;background:linear-gradient(90deg,transparent,#6ddcf4 16% 84%,transparent);box-shadow:0 0 7px #6bd8f2}.nightfall-reveal .classified-story{position:relative;z-index:2;display:flex;flex:1;min-height:0;flex-direction:column;align-items:center;justify-content:center;width:100%;margin:0 auto;padding:.3em 1em 3.8em;text-align:center}.nightfall-reveal .classified-story p{width:100%;max-width:38em;margin:.55em auto;color:#d9fbff;font:700 clamp(13px,1.55vw,21px)/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:center;text-wrap:balance;opacity:1;transform:none;text-shadow:0 0 6px #60cbd866}.terminal-cursor{display:inline-block;width:.55em;height:1.05em;margin-left:.12em;background:#8cecff;box-shadow:0 0 7px #67dff5;vertical-align:-.14em;animation:terminalCursor .72s steps(1,end) infinite}.nightfall-reveal .classified-continue{position:absolute;z-index:4;left:35%;right:35%;bottom:6%;min-width:0;margin:0;padding:.9em 1.2em;border-color:#9d79ff;background:linear-gradient(#17265bdf,#080d2be8);box-shadow:inset 0 0 14px #65d9ef33,0 0 9px #69dff0,0 0 18px #7959e8;color:#f1f8ff;font-size:clamp(11px,1.3vw,18px)}.nightfall-reveal .classified-evidence{z-index:6;left:0;right:0;top:29%;bottom:3%}.nightfall-reveal .classified-evidence img{box-sizing:border-box;margin:0;padding:.35%;border:1px solid #7479d766;background:radial-gradient(circle,#6554c329,transparent 70%);filter:drop-shadow(0 0 6px #62ccff) drop-shadow(0 0 11px #7956dd);animation:classifiedEvidenceFloat 3.4s ease-in-out infinite alternate}.nightfall-reveal .classified-evidence .evidence-medallion{left:4%;top:7%;width:9%;height:19%}.nightfall-reveal .classified-evidence .evidence-usb{left:4%;top:59%;width:9%;height:17%;animation-delay:.55s}.nightfall-reveal .classified-evidence .evidence-processor{right:4%;top:5%;width:9%;height:17%;animation-delay:1.1s}.nightfall-reveal .classified-evidence .evidence-fieldNotes{right:3.5%;top:33%;width:10%;height:22%;animation-delay:1.65s}.nightfall-reveal .classified-evidence .evidence-core{right:4%;top:67%;bottom:auto;width:9%;height:17%;animation-delay:2.2s}@keyframes terminalCursor{50%{opacity:0}}@keyframes classifiedEvidenceFloat{to{transform:translateY(-4px);filter:drop-shadow(0 0 8px #91e8ff) drop-shadow(0 0 15px #9b79ff)}}
.final-results>.final-dashboard{width:94%;height:94%;min-height:0;padding:1.4% 2.2%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;align-items:stretch;justify-content:stretch;gap:1%;overflow:hidden}.final-results-heading{text-align:center}.final-results-heading h1{margin:0;font-size:clamp(27px,3.6vw,49px);line-height:1}.final-results-heading h2{margin:.18em 0 .35em}.final-dashboard .final-stats{width:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65em}.final-dashboard .final-stats p{min-width:0;padding:.62em .35em}.final-dashboard .final-stats span{min-height:2.2em;display:flex;align-items:center;justify-content:center;font-size:clamp(6px,.66vw,9px);line-height:1.15}.final-dashboard .final-stats strong{margin-top:.1em;font-size:clamp(14px,1.55vw,21px)}.final-results-lower{min-height:0;display:grid;grid-template-columns:minmax(0,3fr) minmax(180px,1fr);gap:1.2%;align-items:stretch}.final-achievement-report,.survival-report{min-height:0;padding:.8% 1.2%;border:1px solid #476f82;background:linear-gradient(145deg,#07151fd9,#03090ee8);box-shadow:inset 0 0 18px #000,0 0 9px #48bcd044}.final-achievement-report h3,.survival-report h3{margin:0 0 .45em;color:#f1c575;font:900 clamp(8px,.9vw,13px)/1 system-ui;letter-spacing:.15em;text-align:center}.final-dashboard .final-achievements{height:calc(100% - 1.5em);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:.55em;margin:0}.final-dashboard .final-achievements figure{position:relative;width:auto;min-width:0;margin:0;text-align:center}.final-dashboard .final-achievements img{display:block;width:100%;height:min(12vh,88px);object-fit:contain}.final-dashboard .final-achievements figcaption{min-height:2.2em;margin-top:.2em;color:#ffe09a;font:900 clamp(6px,.62vw,9px)/1.12 system-ui;letter-spacing:.05em}.final-dashboard .final-achievements figure.unlocked img{filter:drop-shadow(0 0 8px #f0c65f) drop-shadow(0 0 13px #55aee8)}.final-dashboard .final-achievements figure.locked img{filter:grayscale(1) brightness(.38);opacity:.48}.final-dashboard .final-achievements figure.locked figcaption{color:#7b8990}.final-dashboard .final-achievements figure>span{display:block;margin-top:.12em;color:#69767d;font:800 clamp(5px,.52vw,8px)/1 system-ui;letter-spacing:.12em}.survival-report dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.32em .7em;margin:0;font:700 clamp(7px,.72vw,10px)/1.15 system-ui}.survival-report dt{color:#93c8d7}.survival-report dd{margin:0;color:#fff;text-align:right}.final-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35em}.final-dashboard .final-actions button{min-width:22%;margin:0;padding:.62em 1.7em}.final-dashboard .branding-badge{width:min(340px,38vw);max-width:340px;margin:0}.final-dashboard .branding-badge img{max-width:340px}
.final-results>.final-dashboard{height:auto;max-height:94%;grid-template-rows:auto auto auto auto;gap:.55em;padding:1.15% 2%;overflow:visible}.final-dashboard .final-stats p:first-child{border-color:#e7aa50;background:linear-gradient(#1c1b16e8,#0b1118ed);box-shadow:inset 0 0 18px #e99d2633,0 0 11px #d98d3455}.final-dashboard .final-stats p:first-child span{color:#ffd27a}.final-dashboard .final-stats p:first-child strong{color:#fff0bc;font-size:clamp(18px,2vw,28px);text-shadow:0 0 9px #e4a23e}.final-results-lower{grid-template-columns:minmax(0,3.45fr) minmax(190px,1fr);gap:.8em}.final-achievement-report,.survival-report{padding:.72em;border-color:#568ca1;background:linear-gradient(145deg,#081923e8,#03090fed);box-shadow:inset 0 0 22px #000,0 0 10px #48bdd05c}.final-achievement-report{border-color:#8d7549;box-shadow:inset 0 0 22px #000,0 0 11px #d6983e55}.final-achievement-report h3,.survival-report h3{margin:0 0 .55em;font-size:clamp(9px,1vw,14px)}.final-dashboard .final-achievements{height:auto;align-items:stretch;gap:.6em}.final-dashboard .final-achievements figure{min-height:clamp(148px,23vh,178px);display:grid;grid-template-rows:minmax(0,1fr) auto auto;align-items:center;padding:.55em .35em .42em;border:1px solid #496d7b;background:linear-gradient(155deg,#0b1b24e8,#050a0fed);box-shadow:inset 0 0 15px #000,0 3px 8px #0008}.final-dashboard .final-achievements figure.unlocked{border-color:#b48a46;background:linear-gradient(155deg,#1b1a14e8,#07141ded);box-shadow:inset 0 0 17px #000,0 0 9px #d4a34d55}.final-dashboard .final-achievements img{height:min(19vh,138px)}.final-dashboard .final-achievements figcaption{min-height:2em;margin-top:.25em;font-size:clamp(7px,.72vw,10px)}.final-dashboard .final-achievements figure.unlocked img{filter:drop-shadow(0 0 10px #f0c65f) drop-shadow(0 0 16px #55aee8)}.final-dashboard .final-achievements figure.locked img{filter:grayscale(1) brightness(.34);opacity:.44}.survival-report dl{gap:0;font-size:clamp(7px,.76vw,11px)}.survival-report dt,.survival-report dd{display:flex;align-items:center;min-height:2.18em;padding:.42em .25em;border-bottom:1px solid #315363}.survival-report dt{color:#a3d7e3;letter-spacing:.035em}.survival-report dd{justify-content:flex-end;color:#fff2c7;font-size:1.08em;text-shadow:0 0 6px #5ccbe2}.survival-report dt:nth-last-of-type(1),.survival-report dd:nth-last-of-type(1){margin-top:.22em;border-top:1px solid #d49b47;border-bottom:0;color:#ffd477;font-weight:900;font-size:1.18em}.final-actions{gap:.25em}.final-dashboard .final-actions button{margin-top:.05em;padding:.72em 1.9em;box-shadow:inset 0 0 14px #ff977044,0 0 14px #da5c3e77}.final-dashboard .branding-badge{margin-top:0}
.final-results>.final-dashboard{max-height:none;gap:.42em;padding-top:1%;padding-bottom:.45%}.final-dashboard .final-actions button{border:1px solid #d9783f;background:linear-gradient(180deg,#20272b,#0a0f12 58%,#15191c);box-shadow:inset 0 0 12px #f18a3a20,0 0 9px #e875364f;color:#f7f1e9;text-shadow:0 1px 3px #000;font-weight:900}.final-dashboard .final-actions button:hover,.final-dashboard .final-actions button:focus-visible{outline:1px solid #ffad72;border-color:#f09a5b;background:linear-gradient(180deg,#293136,#0d1317 58%,#1b2024);box-shadow:inset 0 0 15px #ff9a4638,0 0 13px #f0803e78;filter:none}
.final-results>.final-dashboard{align-self:center;height:fit-content!important;min-height:0!important;max-height:none;margin:0 auto;padding-bottom:clamp(20px,3vh,30px)}
.final-results{display:flex;flex-direction:column;align-items:center;justify-content:safe center}.final-results>.final-dashboard{flex:0 0 auto;margin:0 auto;padding-bottom:clamp(20px,3vh,30px)}.final-dashboard .final-actions{padding-top:clamp(12px,1.8vh,18px)}.final-results>.branding-badge{flex:0 0 auto;align-self:center;width:clamp(420px,36vw,500px);max-width:calc(100% - 40px);margin:clamp(22px,2.8vh,32px) auto 0}.final-results>.branding-badge img{width:100%;max-width:none;height:auto}
.nightfall-fallback{filter:brightness(1.12)}.nightfall-fallback::before{box-shadow:0 0 23px #70dcff88,0 0 38px #8b5cff66;animation-duration:1.35s}.fallback-game2{left:1%;right:auto;top:auto;bottom:7%;width:10.5%;height:19%}.fallback-game4{left:auto;right:1%;top:auto;bottom:7%;width:10.5%;height:19%}.fallback-game6{left:auto;right:1%;top:auto;bottom:8%;width:11%;height:20%}.fallback-game10{left:.5%;right:auto;top:42%;bottom:auto;width:9%;height:14%}.game12-secret{z-index:12;width:8%;height:13%}.game12-secret-1{left:23%;right:auto;top:44%;bottom:auto}.game12-secret-2{left:auto;right:34%;top:44%;bottom:auto}.game12-secret-3{left:22%;right:auto;top:auto;bottom:3%}.game12-secret-4{left:auto;right:29%;top:auto;bottom:3%}.game12-secret-5{left:46%;right:auto;top:auto;bottom:1%}.nightfall-signal-detected{position:absolute;z-index:45;left:31%;right:31%;top:45%;padding:.75em 1em;border:1px solid #765dda;background:#06101bea;box-shadow:inset 0 0 15px #000,0 0 17px #765ce888;color:#a9eaff;font:900 clamp(10px,1.15vw,16px) system-ui;letter-spacing:.12em;text-align:center;text-shadow:0 0 8px #65d5ec;pointer-events:none;animation:nightfallSignal 2.2s ease both}@keyframes nightfallSignal{0%,100%{opacity:0;transform:translateY(5px)}15%,82%{opacity:1;transform:none}}
.nightfall-core{right:.5%;top:42%;width:8.5%;height:16%}
.nightfall-collectible.game12-secret-1{left:23%;right:auto;top:44%;bottom:auto;width:8%;height:13%}.nightfall-collectible.game12-secret-2{left:auto;right:34%;top:44%;bottom:auto;width:8%;height:13%}.nightfall-collectible.game12-secret-3{left:22%;right:auto;top:auto;bottom:3%;width:8%;height:13%}.nightfall-collectible.game12-secret-4{left:auto;right:29%;top:auto;bottom:3%;width:8%;height:13%}.nightfall-collectible.game12-secret-5{left:46%;right:auto;top:auto;bottom:1%;width:8%;height:13%}

.nightfall-reveal .classified-reveal{left:14%;right:14%;top:28%;bottom:0;padding:8.5% 8% 7%;border:0;background:transparent url('assets/ui/nightfall_panel.png') center/100% 100% no-repeat;box-shadow:none;clip-path:none}
.nightfall-reveal .classified-reveal::before,.nightfall-reveal .classified-reveal::after{content:none}
.nightfall-reveal .classified-reveal header{padding-bottom:.45em}
.nightfall-reveal .classified-reveal header p{box-sizing:border-box;width:100%;margin:0;padding:0 7%;font-size:clamp(15px,1.65vw,23px);line-height:1.2;letter-spacing:.12em;text-align:center;white-space:nowrap}
.nightfall-reveal .classified-story{padding:.2em 2em 3.4em}

.street-grid-stage{position:absolute;inset:0;overflow:hidden;background:center/cover no-repeat}.street-grid-question{position:absolute;z-index:5;left:17%;right:17%;top:27.5%;min-height:15%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.6% 2%;border:1px solid #3f7891;background:linear-gradient(145deg,#061520ed,#03080deb);box-shadow:inset 0 0 18px #000,0 0 13px #2caedf55;text-align:center}.street-grid-question p,.street-grid-question strong,.street-grid-question span{display:block}.street-grid-question p{margin:0;color:#ff8a45;font:900 clamp(12px,1.4vw,19px) system-ui;letter-spacing:.14em}.street-grid-question strong{margin:.18em 0;color:#7feaff;font:900 clamp(9px,.95vw,13px) system-ui;letter-spacing:.14em}.street-grid-question span{color:#f4fbff;font:750 clamp(16px,1.9vw,26px)/1.18 system-ui;text-shadow:0 2px 5px #000}.street-grid-progress{position:absolute;z-index:7;right:9%;top:30%;padding:.5em .8em;border:1px solid #dc7435;background:#07121ce8;box-shadow:inset 0 0 10px #000,0 0 10px #ed6d2f66;color:#ffbf62;font:900 clamp(9px,1vw,14px) system-ui;letter-spacing:.1em}.street-power-grid{position:absolute;z-index:2;left:6%;right:6%;top:41%;bottom:2%;pointer-events:none}.street-power-grid>img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 12px #000)}.street-grid-nodes{position:absolute;inset:0}.street-grid-node{position:absolute;width:15.5%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#071018 0 47%,transparent 49%);opacity:.35;transition:opacity .25s,filter .25s}.street-grid-node.node-1{left:14.5%;top:7%}.street-grid-node.node-2{right:5.1%;top:14%}.street-grid-node.node-3{left:8.1%;bottom:2.5%}.street-grid-node.node-4{right:1.8%;bottom:1%}.street-grid-node.powered{opacity:1;background:radial-gradient(circle,#dffcff 0 8%,#25cfff 16%,#097bb8b8 38%,transparent 62%);box-shadow:0 0 15px #3bdcff,0 0 34px #148dff;animation:streetNodeIdle 1.45s ease-in-out infinite alternate}.street-grid-node.powering{animation:streetNodePower .75s ease-out,streetNodeIdle 1.45s .75s ease-in-out infinite alternate}.street-grid-signals{position:absolute;z-index:6;inset:0;pointer-events:none}.street-signal{position:absolute;width:20%;min-height:8%;padding:.55em 1em;border:1px solid #54cef1;border-radius:999px;background:radial-gradient(circle at 20% 50%,#93f2ff,#1378a7 18%,#071826eb 62%);box-shadow:inset 0 0 12px #69e7ff66,0 0 9px #35cce8,0 0 18px #1988c488;color:#fff;font:800 clamp(10px,1.08vw,15px)/1.15 system-ui;text-align:center;text-shadow:0 1px 4px #000;cursor:pointer;pointer-events:auto;will-change:transform}.street-signal::before{content:"";position:absolute;left:.55em;top:50%;width:.45em;aspect-ratio:1;border-radius:50%;background:#e9ffff;box-shadow:0 0 7px #fff,0 0 13px #3ee3ff;transform:translateY(-50%)}.street-signal.signal-1{left:23%;top:47%;animation:streetSignalOne 2.8s ease-in-out infinite alternate}.street-signal.signal-2{right:16%;top:52%;animation:streetSignalTwo 3.2s ease-in-out infinite alternate}.street-signal.signal-3{left:25%;top:73%;animation:streetSignalThree 3s ease-in-out infinite alternate}.street-signal.signal-4{right:20%;top:76%;animation:streetSignalFour 3.4s ease-in-out infinite alternate}.street-signal:hover,.street-signal:focus-visible{outline:1px solid #e8ffff;filter:brightness(1.35)}.street-signal:disabled{cursor:default}.street-signal.correct{border-color:#77ffbd;background:#147047;box-shadow:0 0 16px #48ef9b;animation:none}.street-signal.wrong{border-color:#ff554d;background:#761b20;box-shadow:0 0 15px #ff3434;animation:streetSignalWrong .36s ease}.street-travel-pulse{position:absolute;z-index:9;width:2.4%;aspect-ratio:1;border-radius:50%;background:#eaffff;box-shadow:0 0 11px #fff,0 0 24px #3eeaff,0 0 38px #178cff;transform:translate(-50%,-50%);pointer-events:none;animation:streetPulseTravel .78s ease-in forwards}.street-grid-complete .street-power-grid{top:31%;bottom:4%}.street-grid-complete .street-grid-progress{top:29%;right:42%}.street-grid-complete.network-powered .street-power-grid{filter:brightness(1.3) drop-shadow(0 0 18px #3dcfff);animation:streetNetworkPower .8s ease-out}.street-grid-success{position:absolute;z-index:12;left:25%;right:25%;top:48%}@keyframes streetSignalOne{to{transform:translate(22px,5px)}}@keyframes streetSignalTwo{to{transform:translate(-20px,7px)}}@keyframes streetSignalThree{to{transform:translate(25px,-5px)}}@keyframes streetSignalFour{to{transform:translate(-22px,-6px)}}@keyframes streetSignalWrong{25%,75%{transform:translateX(-7px)}50%{transform:translateX(7px)}}@keyframes streetPulseTravel{to{transform:translate(calc(-50% + var(--travel-x)),calc(-50% + var(--travel-y))) scale(.45);opacity:.2}}@keyframes streetNodePower{45%{filter:brightness(2.3);transform:scale(1.16)}100%{transform:scale(1)}}@keyframes streetNodeIdle{to{filter:brightness(1.35)}}@keyframes streetNetworkPower{50%{filter:brightness(2) drop-shadow(0 0 28px #66eaff)}}
.street-power-grid{left:21.5%;right:21.5%}.street-grid-complete .street-power-grid{left:17.5%;right:17.5%}.street-grid-node{width:18%;transform:translate(-50%,-50%)}.street-grid-node.node-1{left:22.61%;top:26.78%}.street-grid-node.node-2{left:84.39%;right:auto;top:32.84%}.street-grid-node.node-3{left:16.75%;top:79.6%;bottom:auto}.street-grid-node.node-4{left:88.16%;right:auto;top:80.55%;bottom:auto}@keyframes streetNodePower{45%{filter:brightness(2.3);transform:translate(-50%,-50%) scale(1.16)}100%{transform:translate(-50%,-50%) scale(1)}}
.phone-memory-stage{position:absolute;z-index:5;left:14%;right:14%;top:27%;bottom:1%;filter:drop-shadow(0 8px 20px #000);animation:phoneMemoryIn .38s ease-out}.phone-memory-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.phone-memory-screen{position:absolute;left:10.5%;right:10.5%;top:15%;bottom:15.5%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:3.3% 5% 2%;overflow:hidden;text-align:center}.phone-memory-screen::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#7adfff08 0 1px,transparent 1px 4px);animation:phoneMemoryScan 2.2s linear infinite}.phone-memory-round{min-height:1.3em;margin:0;color:#ffad50;font:900 clamp(9px,.9vw,13px) system-ui;letter-spacing:.15em}.phone-memory-screen h2{margin:.2em 0 0;color:#a6f4ff;font:900 clamp(15px,2vw,27px) system-ui;letter-spacing:.15em;text-shadow:0 0 10px #35cce8}.phone-memory-screen h3{margin:.35em 0;color:#ffae59;font:900 clamp(10px,1.15vw,16px) system-ui;letter-spacing:.16em}.phone-memory-sequence{min-height:2.2em;display:flex;align-items:center;justify-content:center;margin:auto 0;color:#eaffff;font:900 clamp(29px,4vw,54px)/1 system-ui;letter-spacing:.32em;text-indent:.32em;opacity:0;text-shadow:0 0 8px #fff,0 0 17px #41dfff;transition:opacity .18s}.phone-memory-sequence.visible{opacity:1}.phone-memory-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:5%;width:70%;min-height:22%;margin:auto 0 1.2em;opacity:0;pointer-events:none;transform:translateY(5px);transition:opacity .18s,transform .18s}.phone-memory-controls.visible{opacity:1;pointer-events:auto;transform:none}.phone-memory-controls button{min-width:0;border:1px solid #39c9eb;background:linear-gradient(145deg,#0a3047,#04131f);box-shadow:inset 0 0 13px #29ccec33,0 0 8px #2dbedb66;color:#eaffff;font:900 clamp(22px,3vw,41px) system-ui;cursor:pointer;text-shadow:0 0 8px #65e9ff}.phone-memory-controls button:hover,.phone-memory-controls button:focus-visible{outline:1px solid #d9fbff;filter:brightness(1.32)}.phone-memory-controls button.pressed{animation:phoneMemoryPress .2s ease}.phone-memory-controls button:disabled{cursor:default}.phone-memory-status{min-height:2.8em;color:#78ffc0;font:900 clamp(11px,1.25vw,17px) system-ui;letter-spacing:.13em;text-shadow:0 0 9px currentColor}.phone-memory-status strong,.phone-memory-status span{display:block}.phone-memory-status span{margin-top:.25em}.phone-memory-stage.startup .phone-memory-screen{animation:phoneMemoryStartup 1s steps(2,end)}.phone-memory-stage.sequence-error .phone-memory-screen{background:#8d101038;animation:phoneMemoryError .35s ease 2}.phone-memory-stage.sequence-error .phone-memory-status{color:#ff635b}.phone-memory-stage.sequence-accepted .phone-memory-screen,.phone-memory-stage.connection-established .phone-memory-screen{box-shadow:inset 0 0 35px #3eff9a35}.phone-memory-stage.connection-established .phone-memory-screen{justify-content:center}.phone-memory-stage.connection-established .phone-memory-screen h2{color:#8fffc2;font-size:clamp(19px,2.5vw,34px)}.phone-memory-stage.connection-established .phone-memory-screen h3{color:#a6f4ff;font-size:clamp(12px,1.45vw,20px)}@keyframes phoneMemoryIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes phoneMemoryStartup{0%,35%,72%{opacity:.45;transform:translateX(-2px)}20%,55%,100%{opacity:1;transform:none}}@keyframes phoneMemoryScan{to{transform:translateY(4px)}}@keyframes phoneMemoryPress{50%{transform:scale(.9);filter:brightness(1.7)}}@keyframes phoneMemoryError{50%{transform:translateX(-4px);filter:saturate(1.7)}}
.phone-memory-stage.connection-established{top:30%}
.phone-memory-stage.connection-established .phone-memory-screen{justify-content:center;box-shadow:none}.phone-memory-stage.connection-established .phone-memory-round,.phone-memory-stage.connection-established .phone-memory-sequence,.phone-memory-stage.connection-established .phone-memory-controls{display:none}.phone-success-briefing{position:relative;z-index:2;box-sizing:border-box;width:min(720px,78%);padding:clamp(18px,2.2vw,30px) clamp(24px,3vw,42px);clip-path:polygon(2.2% 0,97.8% 0,100% 14%,100% 86%,97.8% 100%,2.2% 100%,0 86%,0 14%);border:1px solid #7b8990;background:linear-gradient(145deg,#09131bd9,#03090ee8);box-shadow:inset 0 0 22px #000b,0 0 12px #e2763540,0 0 18px #4fcde52b;backdrop-filter:blur(4px);text-align:center}.phone-memory-stage.connection-established .phone-success-briefing h2{margin:0;color:#ed8050;font:900 clamp(22px,2.65vw,38px)/1.05 "Arial Narrow",Impact,sans-serif;letter-spacing:.14em;text-shadow:0 0 10px #cf593e66,0 2px 4px #000}.phone-memory-stage.connection-established .phone-success-briefing h3{max-width:36em;margin:.7em auto 0;color:#e5edf0;font:700 clamp(11px,1.05vw,15px)/1.45 system-ui;letter-spacing:.055em}.phone-success-briefing .phone-memory-status{min-height:0;margin:1.2em 0 0;padding:1.15em 0 0;border-top:1px solid #4c8fa0;color:#fff1dc;font:850 clamp(12px,1.18vw,17px)/1.3 system-ui;letter-spacing:.08em;text-shadow:0 0 7px #e88a4550}.phone-success-briefing .phone-memory-status::before{content:"NEXT OBJECTIVE";display:block;margin-bottom:.55em;color:#7ee7f7;font:900 clamp(8px,.78vw,11px)/1 system-ui;letter-spacing:.2em;text-shadow:0 0 7px #4cd6eb70}
.supply-search-stage{--beam-x:50%;--beam-y:60%;position:absolute;inset:0;overflow:hidden;background:center/cover no-repeat}.supply-search-stage::before{content:"";position:absolute;z-index:1;inset:24% 0 0;background:linear-gradient(#02040722,#0006);pointer-events:none}.supply-darkness{position:absolute;z-index:4;left:0;right:0;top:24%;bottom:0;background:#010308ed;pointer-events:none;transition:opacity .35s}.flashlight-active .supply-darkness{-webkit-mask-image:radial-gradient(circle 15vw at var(--beam-x) var(--beam-y),transparent 0 18%,#0003 43%,#000b 72%,#000 100%);mask-image:radial-gradient(circle 15vw at var(--beam-x) var(--beam-y),transparent 0 18%,#0003 43%,#000b 72%,#000 100%);background:#010308f2}.supply-search-instruction{position:absolute;z-index:7;left:31%;right:31%;top:28%;padding:.65em 1em;border:1px solid #41768b;background:#03101ae8;box-shadow:inset 0 0 13px #000,0 0 10px #42b4dd55;text-align:center;pointer-events:none}.supply-search-instruction strong,.supply-search-instruction span{display:block}.supply-search-instruction strong{color:#ff9f52;font:900 clamp(11px,1.25vw,17px) system-ui;letter-spacing:.14em}.supply-search-instruction span{margin-top:.25em;color:#c6f5ff;font:750 clamp(9px,.9vw,13px) system-ui;letter-spacing:.08em}.supply-flashlight,.supply-search-target{position:absolute;z-index:3;margin:0;padding:0;border:0;background:transparent;cursor:pointer}.supply-flashlight{left:67%;top:67%;width:9%;height:12%;filter:brightness(.45) drop-shadow(0 0 3px #7bdfff);animation:supplyFlashlightHint 2.4s ease-in-out infinite alternate}.supply-flashlight img,.supply-search-target img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.supply-flashlight:hover,.supply-flashlight:focus-visible{outline:1px solid #75dff5;filter:brightness(.8) drop-shadow(0 0 6px #75dff5)}.supply-flashlight.picked-up{animation:supplyPickup .45s ease-in forwards}.supply-search-target{filter:brightness(.7);transition:filter .2s,transform .2s}.supply-search-target:hover,.supply-search-target:focus-visible{outline:1px solid #9eeeff;filter:brightness(1.15)}.supply-search-target.found{z-index:6;pointer-events:none;filter:brightness(1.7) drop-shadow(0 0 9px #8ff4ff);transform:scale(1.12)}.supply-target-1{left:24%;top:57%;width:7%;height:15%}.supply-target-2{left:57%;top:49%;width:9%;height:16%}.supply-target-3{left:42%;top:72%;width:8%;height:12%}.supply-target-4{left:76%;top:54%;width:7%;height:13%}.supply-grammar-overlay{position:absolute;z-index:10;inset:0;background:#01050aa6}.supply-grammar-overlay .question-panel{top:28.5%}.supply-search-stage.search-paused .supply-darkness{opacity:.82}.supply-search-stage.search-paused .supply-search-instruction{opacity:0}@keyframes supplyFlashlightHint{to{filter:brightness(.62) drop-shadow(0 0 6px #7bdfff);transform:translateY(-2px)}}@keyframes supplyPickup{45%{filter:brightness(1.8) drop-shadow(0 0 14px #adf5ff);transform:scale(1.15)}to{opacity:0;transform:scale(.25)}}
.first-secret-hint{position:absolute;z-index:12;left:59.5%;top:56%;width:13%;padding:.45em .6em;border:1px solid #7968cf99;background:#06111bd9;box-shadow:inset 0 0 10px #000,0 0 10px #765ce877;color:#a9edff;font:800 clamp(8px,.82vw,12px) system-ui;letter-spacing:.06em;text-align:center;text-shadow:0 0 6px #60d4ef;pointer-events:none;animation:firstSecretHintPulse 1.8s ease-in-out infinite alternate}.first-secret-hint::before{content:"";position:absolute;left:100%;top:50%;width:24%;height:2px;background:linear-gradient(90deg,#72dff0,#9876ff);box-shadow:0 0 6px #76daf0;transform:translateY(-50%)}.first-secret-hint::after{content:"";position:absolute;left:123%;top:50%;border:5px solid transparent;border-left-color:#a284ff;filter:drop-shadow(0 0 4px #74dff2);transform:translateY(-50%)}@keyframes firstSecretHintPulse{to{border-color:#8eeaff;box-shadow:inset 0 0 10px #000,0 0 14px #7e6cf299;filter:brightness(1.12)}}
.supply-darkness{top:0;clip-path:inset(24% 0 0)}
.supply-search-instruction{left:24%;right:24%;top:30%;padding:.5em 1em}.supply-search-instruction strong,.supply-search-instruction span,.supply-search-instruction b{display:block}.supply-search-instruction b{margin-top:.45em;color:#ffbf63;font:900 clamp(9px,1vw,14px) system-ui;letter-spacing:.12em;text-shadow:0 0 7px #e78236}
.supply-darkness{z-index:4;top:0;background:#010308e8;-webkit-mask-image:none;mask-image:none;clip-path:inset(24% 0 0)}.supply-beam{position:absolute;z-index:5;inset:0;background:url('assets/optimized/backgrounds/supermarket_interior.webp') center/cover no-repeat;clip-path:polygon(50% 82%,var(--beam-left-x) var(--beam-left-y),var(--beam-right-x) var(--beam-right-y));-webkit-mask-image:radial-gradient(ellipse 68% 78% at var(--beam-x) var(--beam-y),#000 0 32%,#000d 51%,transparent 88%);mask-image:radial-gradient(ellipse 68% 78% at var(--beam-x) var(--beam-y),#000 0 32%,#000d 51%,transparent 88%);filter:brightness(1.45) saturate(1.05) drop-shadow(0 0 20px #d9f5ff66);pointer-events:none}.supply-held-flashlight{position:absolute;z-index:7;left:45.2%;top:54.1%;width:30%;height:45%;object-fit:contain;transform:rotate(var(--flashlight-angle));transform-origin:16% 62%;filter:drop-shadow(0 7px 12px #000);pointer-events:none}.supply-search-target{z-index:6;filter:brightness(.09);opacity:.55}.supply-search-target.illuminated{filter:brightness(1.08);opacity:1}.supply-search-target.found{z-index:8;opacity:1}.supply-target-1{left:8%;top:51%;width:6%;height:14%}.supply-target-2{left:auto;right:7%;top:43%;width:8%;height:15%}.supply-target-3{left:15%;top:auto;bottom:6%;width:7%;height:11%}.supply-target-4{left:auto;right:13%;top:auto;bottom:8%;width:6%;height:12%}.supply-search-stage.search-paused .supply-held-flashlight,.supply-search-stage.search-paused .supply-beam{opacity:.35}.supply-grammar-overlay{background:#01050abf}.typing-panel{position:absolute;left:19.5%;right:19.5%;top:27%;bottom:1%;background:url('assets/ui/typing_panel.png') center/100% 100% no-repeat;filter:drop-shadow(0 7px 18px #000)}.typing-panel-copy{position:absolute;left:19%;right:17%;top:34%;height:20%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.typing-panel-copy .eyebrow{margin:0;color:#ff9c28;font-size:clamp(10px,1.1vw,15px)}.typing-panel-copy .instruction{margin:.18em 0;color:#80cfee;font-size:clamp(9px,.9vw,13px)}.typing-panel-copy .sentence{width:96%;max-width:96%;font-size:clamp(15px,1.65vw,23px);line-height:1.12}.typing-panel-controls{position:absolute;inset:0}.typing-panel-controls .typing-input{position:absolute;left:27%;top:59%;width:52%;height:12%;padding:0 2%;border:0;background:transparent;box-shadow:none;font-size:clamp(14px,1.55vw,21px)}.typing-panel-controls .typing-input:focus{border:0;box-shadow:none}.typing-panel-controls button{position:absolute;right:7.5%;top:76%;width:31%;height:13%;border:1px solid #ff9b46;background:#6a210bd9;box-shadow:inset 0 0 10px #ff7a2c77,0 0 8px #ff6a2599;color:#fff;font:900 clamp(12px,1.45vw,20px) system-ui;letter-spacing:.1em;cursor:pointer}.typing-panel-controls button:hover,.typing-panel-controls button:focus-visible{outline:1px solid #ffd0a5;filter:brightness(1.22)}.typing-panel-controls button:disabled{cursor:default;opacity:.72}
.supply-beam{clip-path:inset(24% 0 0);-webkit-mask-image:radial-gradient(circle 9.5vw at var(--beam-x) var(--beam-y),#000 0 25%,#000d 52%,#0005 76%,transparent 100%);mask-image:radial-gradient(circle 9.5vw at var(--beam-x) var(--beam-y),#000 0 25%,#000d 52%,#0005 76%,transparent 100%);filter:brightness(1.4) saturate(1.04) drop-shadow(0 0 12px #d9f5ff55)}
.typing-panel-copy{left:20%;right:18%;top:35.5%;height:18%;padding:0 2%}.typing-panel-copy .eyebrow{font-size:clamp(9px,1vw,14px)}.typing-panel-copy .instruction{margin:.12em 0;font-size:clamp(8px,.82vw,12px)}.typing-panel-copy .sentence{width:100%;max-width:100%;font-size:clamp(14px,1.5vw,21px);line-height:1.1}.typing-panel-controls .typing-input{left:27%;top:58.5%;width:52%;height:12.5%;margin:0;padding:0 2%;overflow:hidden;line-height:1;vertical-align:middle}.typing-panel-controls button{right:7.5%;top:76%;width:31%;height:13%;border:0;background:transparent;box-shadow:none;color:transparent;font-size:0;opacity:1}.typing-panel-controls button:hover,.typing-panel-controls button:focus-visible{outline:1px solid #ffd0a5;background:#ff8b2422;box-shadow:inset 0 0 12px #ffb16255;filter:none}.typing-panel-controls button:disabled{opacity:1;cursor:default}
.typing-panel-copy{top:33%;height:19%}.typing-panel-controls .typing-input{top:57%;height:12.5%}.typing-panel-controls button{top:74.5%;height:13%}
.typing-panel-copy .sentence{position:relative;top:.35em}
.tunnel-drive{--tunnel-lane:1;position:absolute;inset:0;overflow:hidden;background:center/cover no-repeat;outline:0}.tunnel-drive::before{content:"";position:absolute;z-index:1;inset:24% 0 0;background:linear-gradient(#02060a22,#0102045e 72%,#0009);pointer-events:none}.tunnel-header{position:absolute;z-index:8;left:20%;right:20%;top:27%;min-height:15%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.65% 2%;border:1px solid #42798d;background:linear-gradient(145deg,#06131dda,#02070bdc);box-shadow:inset 0 0 15px #000,0 0 11px #4bb7d955;text-align:center}.tunnel-header p{margin:0;color:#ff8b4b;font:900 clamp(11px,1.25vw,17px) system-ui;letter-spacing:.14em}.tunnel-header span{margin-top:.18em;color:#9bdff1;font:750 clamp(8px,.78vw,11px)/1.25 system-ui;letter-spacing:.06em}.tunnel-header strong{display:block;margin-top:.55em;color:#fff;font:800 clamp(14px,1.65vw,23px)/1.16 system-ui;text-shadow:0 2px 5px #000;text-wrap:balance}.tunnel-motion{position:absolute;z-index:2;left:16%;right:16%;top:43%;bottom:0;overflow:hidden;clip-path:polygon(39% 0,61% 0,100% 100%,0 100%);background:repeating-linear-gradient(90deg,transparent 0 23%,#95dfff45 24% 24.6%,transparent 25% 48%,#ff8b3c52 49% 49.6%,transparent 50% 73%,#95dfff45 74% 74.6%,transparent 75%);opacity:.5;animation:tunnelRoadFlow .72s linear infinite}.tunnel-lanes{position:absolute;z-index:5;inset:0}.tunnel-lane{position:absolute;top:43%;bottom:3%;width:15%;padding:0;border:0;background:transparent;cursor:pointer;clip-path:polygon(40% 0,60% 0,100% 100%,0 100%)}.tunnel-lane span{position:absolute;left:50%;top:2%;min-width:92%;padding:.5em .45em;border:1px solid #4bc3e2;background:linear-gradient(#092737e8,#031019ef);box-shadow:inset 0 0 9px #1ccbe433,0 0 7px #2fcce766;color:#dffbff;font:900 clamp(8px,.84vw,12px)/1.05 system-ui;letter-spacing:.06em;text-align:center;text-shadow:0 0 6px #47dcf0;transform:translateX(-50%);transition:.2s}.tunnel-lane.selected span{border-color:#ff9a4a;box-shadow:inset 0 0 10px #ff803644,0 0 10px #f87937;color:#fff1df}.tunnel-lane.clear span{border-color:#65ee9d;background:#0a4b2ee8;box-shadow:0 0 15px #48e68d;color:#eafff2}.tunnel-lane.blocked span{border-color:#ff514d;background:#64191de8;box-shadow:0 0 14px #f33;color:#fff}.tunnel-lane.lane-1{left:18.5%}.tunnel-lane.lane-2{left:34.5%}.tunnel-lane.lane-3{left:50.5%}.tunnel-lane.lane-4{left:66.5%}.tunnel-car{position:absolute;z-index:6;left:calc(30% + var(--tunnel-lane) * 13%);bottom:-5%;width:18%;height:34%;object-fit:contain;transform:translateX(-50%);transform-origin:50% 82%;filter:drop-shadow(0 8px 12px #000);transition:left .42s cubic-bezier(.22,.75,.25,1),transform .25s,filter .25s;pointer-events:none;animation:tunnelCarIdle .32s ease-in-out infinite alternate}.tunnel-car.turn-left{transform:translateX(-50%) rotate(-2.5deg)}.tunnel-car.turn-right{transform:translateX(-50%) rotate(2.5deg)}.tunnel-drive.braking .tunnel-car{transform:translateX(-50%) translateY(4%) scale(.96);filter:drop-shadow(0 10px 13px #000) brightness(.75)}.tunnel-checkpoint{position:absolute;z-index:4;left:20%;right:20%;top:48%;height:4px;background:linear-gradient(90deg,#ff653b,#ffd263,#ff653b);box-shadow:0 0 9px #ff603c;opacity:0;transform:translateY(-50px) scaleX(.28)}.tunnel-checkpoint.approaching{animation:tunnelCheckpoint 3.6s linear forwards}.tunnel-barrier{position:absolute;z-index:7;left:26%;right:26%;top:66%;height:9%;display:flex;align-items:center;justify-content:center;border:2px solid #fa423b;background:repeating-linear-gradient(135deg,#7d1415 0 16px,#1b0809 16px 31px);box-shadow:0 0 18px #f33;color:#fff;opacity:0;transform:scaleX(.25);transition:.2s}.tunnel-barrier b{font:900 clamp(12px,1.45vw,20px) system-ui;letter-spacing:.15em;text-shadow:0 2px 4px #000}.wrong-route .tunnel-barrier{opacity:1;transform:scaleX(1)}.route-clear .tunnel-barrier{opacity:0;transform:translateY(-80%) scaleY(.1)}.tunnel-drive-status{position:absolute;z-index:9;left:36%;right:36%;top:49%;color:#75f0a7;font:900 clamp(16px,2.2vw,30px) system-ui;letter-spacing:.15em;text-align:center;text-shadow:0 0 12px currentColor}.wrong-route .tunnel-drive-status{color:#ff625a}.tunnel-controls{position:absolute;z-index:9;left:3%;right:3%;bottom:4%;display:flex;justify-content:space-between;pointer-events:none}.tunnel-control{width:6%;aspect-ratio:1;border:1px solid #62c9e3;border-radius:50%;background:#06151fc4;box-shadow:inset 0 0 10px #2ec4df44,0 0 8px #1f9dbc55;color:#e8fbff;font:900 clamp(18px,2.4vw,33px) system-ui;cursor:pointer;pointer-events:auto}.tunnel-control:hover,.tunnel-control:focus-visible{outline:1px solid #fff;filter:brightness(1.35)}.tunnel-drive.wrong-route{animation:tunnelScreenShake .36s ease}.tunnel-drive.route-clear .tunnel-motion,.tunnel-cleared .tunnel-motion{animation-duration:.28s;opacity:.85}.tunnel-stopped{--tunnel-lane:1}.tunnel-stopped .tunnel-car{animation:none}.tunnel-verification{position:absolute;z-index:10;left:27%;right:27%;top:38%;display:flex;flex-direction:column;align-items:center;gap:.45em;padding:1.2em 1.5em;border:1px solid #4fc7e2;background:linear-gradient(145deg,#071923f2,#02070bf7);box-shadow:inset 0 0 18px #000,0 0 14px #42c8e066;text-align:center}.tunnel-verification p{margin:0;color:#ff9a51;font:900 clamp(14px,1.7vw,23px) system-ui;letter-spacing:.14em}.tunnel-verification span{color:#99dfef;font:750 clamp(9px,.85vw,12px) system-ui}.tunnel-verification strong{min-height:2.5em;display:flex;align-items:center;color:#fff;font:800 clamp(13px,1.45vw,20px)/1.2 system-ui}.tunnel-verification input{width:78%;height:2.7em;padding:0 .8em;border:1px solid #55c9e3;background:#061724;color:#fff;font:750 clamp(11px,1.15vw,16px) system-ui;text-align:center;outline:0}.tunnel-verification input:focus{box-shadow:0 0 9px #4bd4ed}.tunnel-verification input.wrong{border-color:#ff5c54;background:#351014;animation:shake .28s}.tunnel-verification button{min-width:34%;padding:.6em 1.1em;border:1px solid #ec7a38;background:linear-gradient(#9a351b,#45120c);color:#fff;font:900 clamp(10px,1vw,14px) system-ui;letter-spacing:.1em;cursor:pointer}.tunnel-cleared::after{content:"";position:absolute;z-index:3;left:39%;right:39%;top:41%;bottom:0;background:linear-gradient(#b9fff200,#b9fff27d);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);filter:blur(8px);pointer-events:none}@keyframes tunnelRoadFlow{to{background-position:0 70px}}@keyframes tunnelCarIdle{to{margin-bottom:2px}}@keyframes tunnelCheckpoint{0%{opacity:0;transform:translateY(-45px) scaleX(.25)}12%{opacity:.75}100%{opacity:1;transform:translateY(250px) scaleX(1)}}@keyframes tunnelScreenShake{25%,75%{transform:translateX(-5px)}50%{transform:translateX(5px)}}
/* Game 4 — Tunnel Run */
.tunnel-run{--tunnel-lane:1;position:absolute;inset:0;overflow:hidden;background:center/cover no-repeat;outline:0;isolation:isolate}.tunnel-run::before{content:"";position:absolute;z-index:1;inset:26% 0 0;background:linear-gradient(180deg,transparent,#02030638 44%,#0008);pointer-events:none}.tunnel-speed{position:absolute;z-index:2;left:12%;right:12%;top:35%;bottom:-8%;overflow:hidden;clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);opacity:.72;pointer-events:none}.tunnel-speed::before,.tunnel-speed::after{content:"";position:absolute;inset:-55% 0;background:repeating-linear-gradient(90deg,transparent 0 11%,#8ce5ff66 11.3% 11.55%,transparent 11.9% 24%,#ff9a4d55 24.3% 24.5%,transparent 24.9% 36%);transform-origin:50% 0;animation:tunnelRunFlow .72s linear infinite}.tunnel-speed::after{opacity:.38;filter:blur(2px);animation-duration:.43s;transform:scaleX(.72)}.tunnel-run.running .tunnel-speed{animation:tunnelPulse .55s ease-in-out infinite alternate}.tunnel-run-lanes{position:absolute;z-index:5;inset:38% 14% 0;display:grid;grid-template-columns:repeat(4,1fr);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%)}.tunnel-run-lanes button{border:0;background:transparent;cursor:pointer;touch-action:manipulation}.tunnel-run-lanes button:focus-visible{outline:2px solid #8eeeff;outline-offset:-5px;background:#6de8ff10}.tunnel-run-car{position:absolute;z-index:7;left:calc(25.5% + var(--tunnel-lane)*16.3%);bottom:-1.5%;width:15%;height:28%;object-fit:contain;transform:translateX(-50%);transform-origin:50% 80%;filter:drop-shadow(0 9px 12px #000);transition:left .24s cubic-bezier(.2,.82,.25,1),transform .2s;pointer-events:none}.tunnel-run.running .tunnel-run-car{animation:tunnelRunCar .18s ease-in-out infinite alternate}.tunnel-run-car.turn-left{transform:translateX(-50%) rotate(-3deg)}.tunnel-run-car.turn-right{transform:translateX(-50%) rotate(3deg)}.tunnel-obstacles{position:absolute;z-index:6;inset:0;pointer-events:none}.tunnel-rubble{position:absolute;left:calc(25.5% + var(--rubble-lane)*16.3%);top:calc(34% + var(--rubble-y)*66%);width:13%;height:16%;object-fit:contain;transform:translate(-50%,-50%) scale(var(--rubble-scale));transform-origin:50% 60%;filter:drop-shadow(0 7px 8px #000);will-change:top,transform}.tunnel-repairs{position:absolute;z-index:12;left:3%;top:29%;padding:.55em 1em;border:1px solid #49c4e5;background:#04131de6;box-shadow:0 0 10px #32cce866;color:#dffbff;font:900 clamp(9px,.9vw,13px) system-ui;letter-spacing:.1em}.tunnel-run-controls{position:absolute;z-index:12;left:2.5%;right:2.5%;bottom:4%;display:flex;justify-content:space-between;pointer-events:none}.tunnel-run-controls button{width:6.2%;aspect-ratio:1;border:1px solid #65d5ee;border-radius:50%;background:#04131ee0;box-shadow:inset 0 0 12px #3dc9e744,0 0 10px #2eb8d766;color:#fff;font:900 clamp(19px,2.3vw,32px) system-ui;cursor:pointer;pointer-events:auto;touch-action:manipulation}.tunnel-start-panel,.tunnel-repair-panel{position:absolute;z-index:20;left:27%;right:27%;top:32%;padding:1.3em 1.7em;border:1px solid #51c8e5;background:linear-gradient(145deg,#071923f5,#02070bfa);box-shadow:inset 0 0 22px #000,0 0 18px #33badb66;text-align:center}.tunnel-start-panel h2,.tunnel-repair-panel h2{margin:0;color:#ff8750;font:900 clamp(17px,1.8vw,25px) system-ui;letter-spacing:.1em}.tunnel-start-panel p{margin:.7em 0 1em;color:#d9f8ff;font:700 clamp(9px,.9vw,13px)/1.55 system-ui}.tunnel-start-panel button,.tunnel-repair-panel form button{min-width:34%;padding:.65em 1.2em;border:1px solid #ff9a4c;background:linear-gradient(#a83b1e,#50140c);box-shadow:0 0 12px #fa6e3d66;color:#fff;font:900 clamp(11px,1.1vw,15px) system-ui;letter-spacing:.12em;cursor:pointer}.tunnel-run-status{position:absolute;z-index:24;inset:43% 28% auto;color:#fff;font:900 clamp(30px,5vw,68px) system-ui;text-align:center;text-shadow:0 0 18px #4de4ff,0 3px 5px #000;pointer-events:none}.tunnel-run-status strong,.tunnel-run-status span{display:block}.tunnel-run-status strong{font-size:.55em;color:#79f2aa}.tunnel-run-status span{margin-top:.35em;font-size:.25em;color:#fff;letter-spacing:.15em}.tunnel-impact{animation:tunnelImpact .38s ease}.tunnel-impact::after{content:"";position:absolute;z-index:18;inset:0;background:#ff3d191f;box-shadow:inset 0 0 90px #ff351a;pointer-events:none;animation:tunnelFlash .55s forwards}.tunnel-repair-panel{top:34%;left:20%;right:20%}.tunnel-chunks{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5em;margin:1em 0}.tunnel-chunks button{padding:.55em .75em;border:1px solid #39778b;background:#071d29;color:#effcff;font:800 clamp(10px,1.05vw,15px) system-ui;cursor:pointer}.tunnel-chunks button::after{content:" /";color:#7296a0}.tunnel-chunks button:last-child::after{content:""}.tunnel-chunks button.wrong,.tunnel-repair-panel input.wrong{border-color:#ff514b;background:#3c1113;animation:shake .28s}.tunnel-chunks button.selected{border-color:#ff9c4a;background:#55210e;box-shadow:0 0 11px #ff763d}.tunnel-repair-panel form{display:flex;align-items:flex-end;justify-content:center;gap:.7em}.tunnel-repair-panel form[hidden]{display:none}.tunnel-repair-panel label{display:flex;flex-direction:column;gap:.25em;color:#8fdff0;font:800 clamp(8px,.75vw,11px) system-ui;letter-spacing:.1em}.tunnel-repair-panel input{width:250px;max-width:30vw;height:2.75em;padding:0 .8em;border:1px solid #50c8e4;background:#051723;color:#fff;font:750 clamp(11px,1vw,15px) system-ui;text-align:center;outline:0}.tunnel-repair-panel output{display:block;min-height:1.5em;margin-top:.8em;color:#71f0a4;font:900 clamp(12px,1.25vw,18px) system-ui}.tunnel-repair-panel.correct{border-color:#61eda0;box-shadow:inset 0 0 22px #062517,0 0 20px #40e88b77}.tunnel-exit{position:absolute;z-index:4;left:47%;top:40%;width:6%;aspect-ratio:1;border-radius:50%;background:#e9ffff;box-shadow:0 0 24px 12px #b9f7ff,0 0 75px 30px #82dfff88;animation:tunnelExit 4.2s ease-in forwards;pointer-events:none}.tunnel-escape .tunnel-speed::before,.tunnel-escape .tunnel-speed::after{animation-duration:.22s}.tunnel-escape .tunnel-run-car{animation-duration:.1s}@keyframes tunnelRunFlow{to{transform:translateY(18%) scaleX(1.08)}}@keyframes tunnelPulse{to{opacity:.93}}@keyframes tunnelRunCar{to{margin-bottom:2px}}@keyframes tunnelImpact{25%,75%{transform:translateX(-7px)}50%{transform:translateX(7px)}}@keyframes tunnelFlash{to{opacity:0}}@keyframes tunnelExit{0%{transform:scale(.18);opacity:.2}100%{transform:scale(12);opacity:1}}
.tunnel-run:not(.running) .tunnel-speed::before,.tunnel-run:not(.running) .tunnel-speed::after{animation-play-state:paused}.tunnel-run-lanes{left:5%;right:5%}.tunnel-run-car{left:var(--car-x,39%)}.tunnel-rubble{left:var(--rubble-x,50%)}
.tunnel-speed::before,.tunnel-speed::after{inset:-55% -12%;background:repeating-linear-gradient(180deg,transparent 0 8%,#dffbff24 8.4% 8.8%,transparent 9.2% 18%);animation-name:tunnelRoadRush;animation-duration:.58s}.tunnel-speed::after{opacity:.3;filter:blur(3px);animation-duration:.34s}.tunnel-chunks button.wrong{border-color:#ff514b;background:#3c1113;animation:shake .28s}.tunnel-chunks button.selected{border-color:#61eda0;background:#123d27;box-shadow:0 0 13px #48e990;color:#fff}.tunnel-task-count{margin:.55em 0 0;color:#8fdff0;font:900 clamp(9px,.8vw,12px) system-ui;letter-spacing:.12em}.tunnel-repair-panel output{line-height:1.4}.tunnel-run.running{animation:tunnelDriveSurge 1.1s ease-in-out infinite alternate}.tunnel-run.tunnel-impact{animation:tunnelImpact .38s ease}.tunnel-escape{animation-duration:.42s!important}@keyframes tunnelRoadRush{0%{transform:translateY(-8%) scaleX(.45)}100%{transform:translateY(30%) scaleX(1.12)}}@keyframes tunnelDriveSurge{from{background-size:100% 100%}to{background-size:102% 102%}}
/* Game 4 — Signal Route tunnel routes */
.signal-tunnel-stage{position:absolute;inset:0;overflow:hidden;background:center/cover no-repeat;isolation:isolate}.signal-tunnel-stage::before{content:"";position:absolute;z-index:1;inset:24% 0 0;background:linear-gradient(180deg,#02060a0d 0,#0102051f 60%,#0007 100%);pointer-events:none}.signal-tunnel-stage::after{content:"";position:absolute;z-index:30;inset:24% 0 0;background:#010306;opacity:0;pointer-events:none;transition:opacity .28s}.signal-tunnel-stage.round-reset::after{opacity:.78}.signal-tunnel-car{position:absolute;z-index:8;left:50%;top:79%;width:12%;height:19%;transform:translate(-50%,-50%);transform-origin:50% 62%;filter:drop-shadow(0 8px 11px #000);pointer-events:none}.signal-tunnel-car img{display:block;width:100%;height:100%;object-fit:contain}.signal-tunnel-progress{position:absolute;z-index:12;left:2.5%;top:27%;padding:.55em .9em;border:1px solid #4599ad;background:#04121cdd;box-shadow:0 0 9px #31bdd855;color:#d9faff;font:900 clamp(9px,.88vw,13px) system-ui;letter-spacing:.12em}.signal-tunnel-start{position:absolute;z-index:40;left:29%;right:29%;top:31%;padding:1.25em 1.6em;border:1px solid #50c7e3;background:linear-gradient(145deg,#071923f6,#02070bfa);box-shadow:inset 0 0 20px #000,0 0 18px #31b9da66;text-align:center}.signal-tunnel-start h2{margin:0;color:#ff9152;font:900 clamp(16px,1.7vw,24px) system-ui;letter-spacing:.1em}.signal-tunnel-start p{margin:.65em 0;color:#e6fbff;font:750 clamp(10px,1vw,14px)/1.45 system-ui}.signal-tunnel-start p strong{color:#8be9ff}.signal-tunnel-start>span{display:block;color:#b6dbe4;font:700 clamp(8px,.78vw,11px)/1.5 system-ui}.signal-tunnel-start button{margin-top:1em;min-width:36%;padding:.7em 1.25em;border:1px solid #ff9a4c;background:linear-gradient(#a83b1e,#50140c);box-shadow:0 0 12px #fa6e3d66;color:#fff;font:900 clamp(11px,1.1vw,15px) system-ui;letter-spacing:.14em;cursor:pointer}.signal-tunnel-round header{position:absolute;z-index:12;left:25%;right:25%;top:26.5%;padding:.55em 1em .7em;border:1px solid #3d7b8d;background:#03101aeb;box-shadow:inset 0 0 13px #000,0 0 10px #42b4dd44;text-align:center}.signal-tunnel-round header p{margin:0;color:#ff9654;font:900 clamp(9px,.9vw,13px) system-ui;letter-spacing:.12em}.signal-tunnel-round header span{display:block;margin:.18em 0;color:#86dcef;font:800 clamp(8px,.75vw,11px) system-ui;letter-spacing:.09em}.signal-tunnel-round header strong{display:block;color:#fff;font:800 clamp(13px,1.38vw,20px)/1.2 system-ui;text-shadow:0 2px 5px #000}.signal-tunnel-choices{position:absolute;z-index:10;inset:0}.signal-tunnel-choice{position:absolute;top:36%;width:22%;height:27%;padding:0;border:0;background:transparent;cursor:pointer;clip-path:polygon(18% 0,82% 0,100% 100%,0 100%)}.signal-tunnel-choice.route-1{left:6%}.signal-tunnel-choice.route-2{left:28%}.signal-tunnel-choice.route-3{left:50%}.signal-tunnel-choice.route-4{left:72%}.signal-tunnel-choice span{position:absolute;left:50%;top:0;min-width:70%;padding:.52em .65em;border:1px solid #54c4de;background:linear-gradient(#082737ed,#031019f2);box-shadow:inset 0 0 9px #1ccbe433,0 0 8px #22a9c977;color:#e4fbff;font:900 clamp(8px,.88vw,13px)/1.05 system-ui;letter-spacing:.07em;white-space:nowrap;text-shadow:0 0 6px #47dcf0;transform:translateX(-50%);transition:.2s}.signal-tunnel-choice:hover span,.signal-tunnel-choice:focus-visible span{border-color:#fff;filter:brightness(1.25)}.signal-tunnel-choice.selected span{border-color:#ffb05e;box-shadow:0 0 13px #ff923d;color:#fff}.signal-tunnel-choice.correct span{border-color:#61eda0;background:#0a4b2e;box-shadow:0 0 16px #48e68d;color:#effff5}.signal-tunnel-choice.wrong span{border-color:#ff514d;background:#64191d;box-shadow:0 0 16px #f33;color:#fff;animation:signalWrongFlash .35s ease 2}.signal-tunnel-feedback{position:absolute;z-index:25;left:24%;right:24%;top:62%;text-align:center;pointer-events:none}.signal-tunnel-feedback strong,.signal-tunnel-feedback span{display:block}.signal-tunnel-feedback strong{color:#72efa5;font:900 clamp(18px,2vw,29px) system-ui;letter-spacing:.1em;text-shadow:0 0 12px #43d787,0 2px 4px #000}.signal-tunnel-feedback strong.warning{color:#ff625a;text-shadow:0 0 12px #f33,0 2px 4px #000}.signal-tunnel-feedback span{margin-top:.45em;padding:.55em .8em;border:1px solid #4a8999;background:#03101aea;color:#fff;font:800 clamp(11px,1.15vw,17px)/1.3 system-ui}@keyframes signalWrongFlash{50%{filter:brightness(1.8)}}
.signal-tunnel-stage{isolation:auto}.signal-tunnel-round{position:absolute;z-index:20;inset:0;pointer-events:none}.signal-tunnel-progress{left:50%;top:auto;bottom:9.2%;padding:.38em .8em;transform:translateX(-50%)}.signal-tunnel-choices{z-index:20;pointer-events:none}.signal-tunnel-choice{top:28.5%;height:44%;z-index:1;border-radius:0;clip-path:none;pointer-events:auto;touch-action:manipulation}.signal-tunnel-choice span{z-index:2;top:0;width:88%;min-width:0;min-height:2.8em;display:flex;align-items:center;justify-content:center;padding:.45em .6em;border-radius:0;pointer-events:auto;touch-action:manipulation;cursor:pointer}.signal-tunnel-round header{left:27%;right:27%;top:auto;bottom:1.2%;padding:.35em .85em .45em}.signal-tunnel-round header p{display:none}.signal-tunnel-round header span{margin:0 0 .15em;font-size:0}.signal-tunnel-round header span::after{content:"Choose the correct time marker.";font:800 clamp(8px,.7vw,10px) system-ui;letter-spacing:.05em;text-transform:none}.signal-tunnel-round header strong{font-size:clamp(13px,1.45vw,20px)}.rooftop-question{top:27.5%}.energy-supplies button{width:22%}.energy-supplies button.selected{border-color:#8bf0aa;box-shadow:inset 0 0 12px #3adb7455,0 0 16px #58e78c;filter:brightness(1.3);transform:scale(1.04)}.energy-recovery output{min-height:1.5em;margin-top:.8em;color:#75efa4;font:900 clamp(11px,1.2vw,17px) system-ui;letter-spacing:.08em}.energy-recovery.restored{border-color:#58dc89;box-shadow:inset 0 0 22px #061b0e,0 0 24px #45df7c88}
.nightfall-carry{width:9%;height:16%}.carry-at-usb.carry-1{left:1%;right:auto;top:auto;bottom:7%}.carry-at-processor.carry-1{left:auto;right:1%;top:auto;bottom:7%}.carry-at-processor.carry-2{left:auto;right:1%;top:43%;bottom:auto}.carry-at-fieldNotes.carry-1{left:auto;right:1%;top:auto;bottom:7%}.carry-at-fieldNotes.carry-2{left:1%;right:auto;top:43%;bottom:auto}.carry-at-fieldNotes.carry-3{left:auto;right:1%;top:43%;bottom:auto}.carry-at-core.carry-1{left:1%;right:auto;top:auto;bottom:7%}.carry-at-core.carry-2{left:auto;right:1%;top:auto;bottom:7%}.carry-at-core.carry-3{left:1%;right:auto;top:43%;bottom:auto}.carry-at-core.carry-4{left:13%;right:auto;top:auto;bottom:7%}
.street-grid-question{top:30.5%}.street-grid-progress{top:33%}.street-power-grid{top:44%}.street-signal.signal-1{top:50%}.street-signal.signal-2{top:55%}.street-signal.signal-3{top:76%}.street-signal.signal-4{top:79%}.street-grid-complete .street-power-grid{top:34%}.street-grid-complete .street-grid-progress{top:32%}
.nightfall-header{top:31%}.nightfall-terminal{top:44%;bottom:2%}
.route-selection .route-instruction{bottom:4%}.signal-tunnel-choice span{top:calc(4% + 12px)}
.nightfall-form .nightfall-unlock-status{position:static;min-height:1.35em;margin-top:.55em;color:#88ffc0;font:900 clamp(10px,1.15vw,16px) system-ui;letter-spacing:.12em;text-align:center;text-shadow:0 0 10px #43dc89}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.signal-drone{animation:none!important;left:calc(2% + var(--lane) * 24%);top:38%}}
