@font-face{font-family:Fallback;src:local('Arial')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#020d0c;color:#e2f4eb;font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid #effff9;outline-offset:5px}[hidden]{display:none!important}button{color:inherit}button,a,dialog{touch-action:manipulation}:root{--green:#49f6bd;--muted:#8da69d;--line:rgba(124,226,186,.22);--mono:'Courier New',monospace}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 43%,transparent 38%,#0007 100%);z-index:1}.screen{position:absolute;inset:0;z-index:3}.menu{isolation:isolate;overflow:auto;min-height:100%;background:#031713}.menu-photo,.menu-shade{position:fixed;inset:0;z-index:-2}.menu-photo{background:url('./assets/menu.jpeg') center right/cover no-repeat;animation:photoIn 1.4s ease-out}.menu-shade{z-index:-1;background:linear-gradient(90deg,#020d0cf5 0%,#02120de8 29%,#02120d70 58%,#02120d12 82%),linear-gradient(0deg,#020c0cef,transparent 50%,#020c0c55)}.masthead{padding:35px 4.4vw;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{text-decoration:none;color:#def6e9;display:flex;align-items:center;gap:13px;font-size:11px;font-weight:800;line-height:1.05;letter-spacing:2px}.mark{display:flex;letter-spacing:-7px;font-size:31px;line-height:30px;padding-right:8px}.mark span{color:var(--green);font-size:40px;margin:0 6px}.eyebrow{font:10px/1.5 var(--mono);letter-spacing:2px}.status-dot{width:5px;height:5px;background:var(--green);display:inline-block;border-radius:50%;box-shadow:0 0 10px #49f6bd88;margin-right:9px}.header-status{color:#b9d3c5;margin-left:auto;margin-right:35px}.icon-button{border:1px solid var(--line);background:#061713b0;min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:21px;border-radius:2px}.icon-button:hover{background:#163c30}.sound-state{font:8px var(--mono);color:var(--green);letter-spacing:1px}.sound-toggle{padding:0 11px}.hero{padding:6vh 5.2vw 80px;position:relative;max-width:790px}.chapter{font-size:9px;letter-spacing:2.5px;color:#b5d9c6;display:flex;align-items:center;gap:13px}.tiny-square{height:6px;width:6px;border:1px solid var(--green);transform:rotate(45deg)}h1{font-size:clamp(110px,14.5vw,225px);line-height:.85;margin:35px 0 14px;font-weight:900;letter-spacing:-.07em;position:relative;font-stretch:condensed;color:#e3f1e8;text-shadow:3px 0 #49f6bd30;display:table;transform:scaleX(1.04);transform-origin:left}.title-cut{position:absolute;top:44%;left:-2%;height:4px;background:#09231b;width:107%;transform:rotate(-3deg)}.subtitle{font:700 clamp(13px,1.6vw,22px)/1.5 var(--mono);letter-spacing:.4em;color:var(--green);margin-left:5px}.cursor{animation:blink 1.4s steps(1) infinite}.intro{font-size:clamp(20px,2vw,27px);line-height:1.5;color:#afc5bb;font-weight:300;margin:32px 0 10px}.intro strong{color:#f1f8f1;font-weight:500}.story{font-size:14px;line-height:1.8;max-width:380px;color:#98b0a3;margin:0 0 29px}.hero-actions{display:flex;gap:12px;align-items:center}.primary,.secondary{min-height:53px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 22px;font:700 11px var(--mono);letter-spacing:1.4px;transition:background .2s,transform .2s}.primary{background:var(--green);color:#062219;border:1px solid var(--green);box-shadow:0 4px 30px #20ef9e12;clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,0 100%)}.primary span{font-size:25px;line-height:1}.primary:hover{background:#a4ffdb;transform:translateY(-2px)}.primary:active{transform:translateY(0)}.secondary{background:#051813a6;border:1px solid var(--line);color:#d8eadf}.secondary:hover{background:#173e2f;border-color:#64d5a7}.secondary span{font-size:20px}.hero-notes{display:flex;gap:20px;margin-top:26px;font:8px/1.7 var(--mono);color:#87a395;letter-spacing:1px}.classified{position:absolute;right:5vw;bottom:120px;width:310px;border-top:1px solid #66dfab60;border-bottom:1px solid var(--line);background:#02140ec2;backdrop-filter:blur(15px);padding:19px 19px 12px}.classified .eyebrow{font-size:8px;letter-spacing:1.8px;color:#8fb8a4}.file-row{display:flex;gap:14px;align-items:center;margin:21px 0}.file-row strong{font:12px var(--mono);color:#d3eddf}.file-row small{display:block;font:7px var(--mono);margin-top:8px;letter-spacing:.9px;color:#789587}.file-footer{padding-top:11px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font:7px var(--mono);letter-spacing:1px;color:#6f9682}.green{color:var(--green)}.waveform{height:35px;display:flex;align-items:center;gap:2px;width:37px}.waveform i{display:block;width:2px;background:var(--green);height:30%;animation:wave 2s ease-in-out infinite alternate}.waveform i:nth-child(2n){height:55%;animation-delay:-.5s}.waveform i:nth-child(3n){height:100%;animation-delay:-1s}.waveform i:nth-child(4n){height:75%;animation-delay:-1.3s}.menu-footer{position:fixed;bottom:0;left:0;right:0;padding:23px 4.5vw;display:flex;justify-content:space-between;gap:20px;font:8px/1.5 var(--mono);letter-spacing:1.7px;color:#86a094;background:linear-gradient(0deg,#020d0ce6,transparent)}.menu-footer b{font-weight:400;color:#c3dfce}.slash{color:var(--green);padding:0 12px}
.selection{background:radial-gradient(ellipse at 50% 75%,#0b3225 0%,#03100e 65%);padding:28px 4.5vw;overflow:auto}.selection:before{content:'';position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent 0 4px,#ffffff02 4px 5px);pointer-events:none}.selection-header{display:flex;align-items:center;justify-content:space-between;position:relative;gap:10px}.text-button{border:0;background:none;padding:15px 0;color:#a7c4b5;font:10px var(--mono);letter-spacing:1.5px}.text-button:hover{color:var(--green)}.select-heading{text-align:center;margin:4vh 0 4vh}.select-heading>.eyebrow{font-size:8px;color:#72bd97}.select-heading h2{margin:11px 0;font-size:clamp(25px,3vw,45px);font-weight:500;letter-spacing:-1.5px}.select-heading h2 span{color:var(--green)}.select-heading p{font-size:12px;color:#90a79b;margin:0}.characters{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;max-width:1250px;margin:auto}.character-card{position:relative;display:block;overflow:hidden;height:clamp(240px,42vh,430px);padding:0;background:#0e2c23;border:1px solid #31534770;color:#e1f0e6;text-align:left;transition:transform .25s,border-color .25s}.character-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#031710 1%,#03171055 35%,transparent 70%);pointer-events:none}.character-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.75) saturate(.65);transition:filter .3s,transform .6s}.character-card.active{border-color:var(--green);transform:translateY(-7px);box-shadow:0 0 35px #25d79912}.character-card.active img,.character-card:hover img{filter:brightness(1.18) saturate(.85);transform:scale(1.035)}.character-card .number{position:absolute;top:16px;left:15px;z-index:2;font:10px var(--mono);color:#b1d6c0}.card-selected{position:absolute;right:12px;top:12px;z-index:2;font-size:10px;background:var(--green);color:#042316;width:21px;height:21px;display:grid;place-content:center;opacity:0}.active .card-selected{opacity:1}.character-info{position:absolute;bottom:23px;left:18px;z-index:2}.character-info small{display:block;font:8px var(--mono);letter-spacing:1.5px;color:#a4cfb7}.character-info strong{display:block;font-size:clamp(20px,2.2vw,33px);letter-spacing:-1px;margin:6px 0 0}.character-info em{font:7px var(--mono);letter-spacing:1.6px;color:var(--green);font-style:normal;display:block;margin-top:10px;opacity:0}.active .character-info em{opacity:1}.selection-bottom{display:flex;justify-content:space-between;align-items:center;max-width:1250px;margin:28px auto 10px;padding-top:24px;border-top:1px solid var(--line);gap:20px}.selected-info>.eyebrow{font-size:7px;color:#74a28b}.selected-info>strong{display:block;font-size:20px;margin:8px 0}.selected-info>strong span{font:10px var(--mono);color:#7d9f8d;margin-left:10px}.selected-info>p{font-size:11px;color:#b5c8bc;margin:0}.launch-controls{display:flex;gap:20px;align-items:center}.mode-switch{display:flex;border:1px solid var(--line);padding:4px;gap:3px}.mode-switch button{border:0;background:none;padding:9px 12px;color:#84a18e;font:8px var(--mono);letter-spacing:1px}.mode-switch button span{display:block;font:8px var(--mono);margin-top:6px}.mode-switch button.active{background:#1e523d;color:#ceffe5}.select-footer{display:flex;justify-content:space-between;max-width:1250px;margin:25px auto 0;color:#678b77;font:8px/2 var(--mono);letter-spacing:.4px}.mobile-only{display:none}kbd{display:inline-block;font:11px var(--mono);border:1px solid #76a58c40;min-width:22px;line-height:22px;text-align:center;border-radius:2px;margin:0 3px;color:#b0cbbb;background:#16352a44}
#hud{position:fixed;inset:0;z-index:2;pointer-events:none;font-family:var(--mono)}#hud button{pointer-events:auto}.hud-top{display:flex;justify-content:space-between;align-items:center;padding:23px 3vw 13px;background:linear-gradient(180deg,#02150ee8,transparent)}.runner-badge{display:flex;gap:12px;align-items:center}.runner-badge img{width:44px;height:50px;object-fit:cover;object-position:50% 23%;border:1px solid #5dbf9466}.runner-badge span{display:block;font-size:14px;letter-spacing:2px;color:#daffea}.runner-badge small{font-size:8px;display:block;color:#91bfaa;margin-top:7px}.score-box{text-align:center}.score-box .eyebrow{font-size:7px;color:#a2c4b0}.score-box strong{display:block;font-size:27px;letter-spacing:3px;margin-top:5px}.hud-actions{display:flex;gap:9px}.mission-bar{width:min(480px,65vw);margin:5px auto 0}.mission-bar>div:first-child{display:flex;justify-content:space-between;gap:15px;font:7px var(--mono);letter-spacing:1px;color:#b2ccbc;margin-bottom:10px}.mission-bar b{color:#dcfdec;font-weight:400;white-space:nowrap}.route-track{position:relative;height:3px;background:#284639}.route-track i{display:block;height:100%;width:0;background:var(--green);box-shadow:0 0 12px #49f6bd70}.route-track span{position:absolute;top:-2px;width:1px;height:7px;background:#6c9682;left:33.33%}.route-track span:last-child{left:66.66%}.hud-left{position:absolute;top:140px;left:3vw}.hud-left .eyebrow,.hud-right .eyebrow{font-size:7px;letter-spacing:1px;color:#83a792}#health{display:flex;gap:5px;margin:10px 0 5px}#health i{width:27px;height:5px;background:var(--green);transform:skewX(-20deg);box-shadow:0 0 10px #00ffa132}#health i.lost{background:#234b3a;box-shadow:none}#integrity{font-size:9px;color:#d5f5df}.hud-right{position:absolute;right:3vw;top:140px;text-align:right}.hud-right>b{display:block;margin:7px 0;font-size:22px}.hud-right>small{font-size:8px;color:var(--green)}.game-bottom{position:absolute;bottom:25px;left:3vw;right:3vw;display:flex;justify-content:space-between;align-items:end;gap:15px}.keyboard-hint{font-size:8px;color:#7fa491;letter-spacing:1px}#pulse-button{position:relative;display:flex;align-items:center;gap:14px;text-align:left;min-height:63px;background:#031b15dc;color:#93c4ad;border:1px solid #357655;padding:10px 16px;overflow:hidden;max-width:360px}#pulse-button.ready{border-color:var(--green);color:#d9ffeb;box-shadow:0 0 25px #37eeb333}#pulse-button>b{font-size:12px}#pulse-button b{font-size:9px;letter-spacing:1px}#pulse-button small{font-size:7px;display:block;margin-top:7px;color:#79a98e;letter-spacing:.4px}.pulse-icon{font-size:34px;line-height:1;color:var(--green)}#pulse-percent{font-size:11px;color:var(--green)}#pulse-progress{position:absolute;left:0;bottom:0;height:2px;background:var(--green);width:0}#notice{position:absolute;left:50%;transform:translateX(-50%);bottom:25%;font-size:12px;font-weight:bold;letter-spacing:1px;text-align:center;color:#caffdf;text-shadow:0 2px 5px #00170f;opacity:0;transition:opacity .25s;background:#002e21c4;padding:12px 20px;border-left:2px solid var(--green);max-width:90%;width:max-content;line-height:1.5}#notice.show{opacity:1}#notice.danger{color:#ffd3c4;border-color:#ff9372;background:#37120be0}#countdown{position:absolute;inset:33% 0 auto;text-align:center;font-size:90px;font-weight:900;color:#d5ffe6;text-shadow:0 0 45px #00ffae80}#countdown small{display:block;font-size:9px;letter-spacing:3px;font-weight:400;margin-top:10px}#turn-warning{position:absolute;left:50%;top:23%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;background:#052c21d9;padding:12px 24px;border-top:2px solid var(--green);color:#d5ffe7;min-width:270px}#turn-arrow{font-size:55px;line-height:1;color:var(--green)}#turn-warning small{display:block;font-size:7px;letter-spacing:2px;color:#9bc5ae}#turn-warning strong{display:block;font-size:11px;margin:6px 0}#turn-distance{font-size:9px;color:var(--green)}#touch-controls{display:none}
.overlay{position:fixed;inset:0;z-index:5;background:#01120bd9;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.dialog,dialog{background:linear-gradient(135deg,#0b2b20,#03150f);border:1px solid #365f49;color:#d7efdf;padding:39px 43px;width:min(500px,100%);box-shadow:0 20px 100px #0008;position:relative}.dialog:before,dialog:before{content:'';position:absolute;top:-1px;left:40px;width:55px;height:2px;background:var(--green)}h2{font-size:43px;font-weight:500;line-height:1.06;letter-spacing:-1.8px;margin:20px 0}.dialog h2 span,dialog h2 span{color:var(--green)}.dialog>.eyebrow,dialog>.eyebrow{font-size:8px;color:#82b898}.dialog p,dialog>p{font-size:12px;line-height:1.8;color:#9ebba9}.dialog .primary,.dialog .secondary{width:100%;margin-top:11px;justify-content:center}.dialog .text-button{display:block;margin:10px auto 0}.result-stats{display:flex;gap:25px;justify-content:space-between;margin:28px 0 15px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-stats small{font:7px var(--mono);color:#749a83;letter-spacing:1px}.result-stats strong{display:block;font:23px var(--mono);margin-top:10px}.record-message{font-family:var(--mono);color:var(--green)!important;letter-spacing:1px;font-size:9px!important}.broadcast-track{height:4px;background:#244b36;margin:19px 0 9px}.broadcast-track i{display:block;width:0;background:var(--green);height:100%;transition:width .1s}#broadcast-label{font:8px var(--mono);letter-spacing:1px;color:var(--green)}#broadcast{padding-bottom:15px}dialog{max-height:90dvh;overflow:auto;max-width:540px;width:calc(100% - 35px);padding:32px 38px}dialog::backdrop{background:#00130dcc;backdrop-filter:blur(7px)}.close-help{position:absolute;top:15px;right:15px;border:0;background:none;font-size:27px}.instructions{border-top:1px solid var(--line);margin-top:24px}.instructions>div{display:flex;align-items:center;gap:19px;border-bottom:1px solid var(--line);padding:9px 0}.instruction-icon{font:26px var(--mono);color:var(--green);flex:0 0 30px;text-align:center}.instructions p{font-size:11px;line-height:1.65;margin:5px 0;color:#a2c1ad}.instructions b{font:8px var(--mono);letter-spacing:1px;color:#d3efdc}.help-foot{font-size:9px!important}.help-foot+.primary{width:100%;margin-top:20px}#fatal-error{position:fixed;inset:30% 10% auto;background:#481c17;padding:30px;z-index:100}
@keyframes blink{50%{opacity:0}}@keyframes wave{to{transform:scaleY(.45)}}@keyframes photoIn{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}
@media(min-width:1500px){.hero{padding-top:11vh}.classified{bottom:15vh}.menu-photo{background-position:center center}.menu-shade{background:linear-gradient(90deg,#020d0cf5,#02120de3 30%,#02120d55 63%,transparent),linear-gradient(0deg,#020c0cef,transparent 50%,#020c0c55)}}
@media(max-height:740px) and (min-width:800px){.masthead{padding-top:22px;padding-bottom:15px}.hero{padding-top:3vh}.hero h1{font-size:145px;margin-top:24px}.intro{margin-top:20px;font-size:22px}.story{margin-bottom:20px}.hero-notes{margin-top:20px}.select-heading{margin:15px 0 28px}.character-card{height:37vh;min-height:200px}.selection-bottom{margin-top:17px;padding-top:17px}.select-footer{margin-top:15px}}
@media(max-width:900px){.classified{width:260px;right:3vw;bottom:100px}.file-row strong{font-size:10px}.file-row small{font-size:6px}.hero{max-width:700px}.characters{gap:8px}.character-info{left:11px}.character-info strong{font-size:23px}.character-info small{font-size:7px}.launch-controls{gap:10px}.launch-controls>.primary{padding:0 16px;font-size:9px;gap:16px}.mode-switch button{padding:9px;font-size:7px}.keyboard-hint{font-size:6px}.selected-info>strong{font-size:18px}.select-footer{font-size:6px}}
@media(max-width:650px){.masthead{padding:23px 24px}.header-status{display:none}.wordmark{font-size:8px;letter-spacing:1.6px}.mark{font-size:25px}.menu-photo{background-position:60% center;background-size:auto 100%;opacity:.64}.menu-shade{background:linear-gradient(90deg,#02120dd9, #02120d55),linear-gradient(0deg,#020d0c 3%,#02120d88 45%,#02120d33)}.hero{padding:8vh 26px 135px}.chapter{font-size:7px;letter-spacing:1.1px;gap:8px}.hero h1{font-size:clamp(106px,28vw,180px);margin-top:28px}.subtitle{font-size:12px;letter-spacing:.3em}.intro{font-size:21px;margin-top:28px}.story{font-size:12px;max-width:300px}.hero-actions{align-items:stretch;flex-direction:column;width:min(300px,100%);gap:9px}.primary,.secondary{min-height:50px;font-size:10px}.hero-notes{font-size:6px;gap:12px;letter-spacing:.5px;max-width:320px}.classified{display:none}.menu-footer{padding:18px 25px;flex-direction:column;gap:8px;font-size:6px;letter-spacing:1px}.selection{padding:20px 19px}.selection-header>.eyebrow{font-size:7px;letter-spacing:1px}.selection-header .text-button{font-size:8px}.select-heading{margin:25px 0 29px}.select-heading h2{font-size:32px;line-height:1.16}.select-heading p{font-size:10px}.characters{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 1px 15px;margin:0 -1px;gap:11px;scrollbar-width:thin;scrollbar-color:#33724e transparent}.character-card{flex:0 0 49%;height:35vh;min-height:230px;scroll-snap-align:center}.character-info{left:15px}.character-info strong{font-size:26px}.character-info small{font-size:8px}.selection-bottom{margin-top:13px;padding-top:19px;flex-direction:column;align-items:stretch;gap:17px}.selected-info>strong{font-size:20px}.selected-info>p{font-size:10px}.launch-controls{flex-wrap:wrap;gap:12px}.mode-switch{width:100%}.mode-switch button{flex:1;display:flex;justify-content:center;gap:10px;align-items:center;padding:11px}.mode-switch button span{margin:0}.launch-controls>.primary{width:100%;font-size:10px;min-height:52px}.select-footer{margin-top:19px;justify-content:center;text-align:center;font-size:7px}.select-footer>span:first-child{display:none}.hud-top{padding:15px 15px 10px;gap:8px}.runner-badge{gap:8px}.runner-badge img{width:31px;height:39px}.runner-badge span{font-size:10px}.runner-badge small{font-size:5px;max-width:100px;line-height:1.6;letter-spacing:.2px;margin-top:4px}.score-box strong{font-size:20px;letter-spacing:1px}.score-box .eyebrow{font-size:6px;letter-spacing:1px}.hud-actions{gap:5px}.hud-actions .icon-button{min-width:31px;height:35px;font-size:17px;padding:0 5px}.hud-actions .sound-state{display:none}.mission-bar{width:calc(100% - 30px);margin-top:10px}.mission-bar>div:first-child{font-size:6px;letter-spacing:.4px}.hud-left{left:16px;top:119px}.hud-right{right:16px;top:119px}.hud-left .eyebrow,.hud-right .eyebrow{font-size:6px;letter-spacing:.5px}#health{margin-top:8px}#health i{width:20px}.hud-right>b{font-size:17px}.keyboard-hint{display:none}.game-bottom{bottom:calc(100px + env(safe-area-inset-bottom,0px));left:17px;right:17px;justify-content:center}#pulse-button{width:100%;min-height:46px;justify-content:space-between;padding:6px 13px}#pulse-button b{font-size:8px}#pulse-button small{font-size:6px;margin-top:4px}.pulse-icon{font-size:25px}#touch-controls{position:absolute;bottom:calc(22px + env(safe-area-inset-bottom,0px));left:17px;right:17px;display:flex;justify-content:space-between;gap:11px;pointer-events:auto}#touch-controls button{flex:1;height:59px;border:1px solid #7bd0a54d;background:#021e16b3;color:#b2f9d2;font-size:27px;backdrop-filter:blur(4px);border-radius:3px}#touch-controls button:active{background:#398f615c;border-color:var(--green)}#notice{bottom:30%;font-size:9px;padding:9px 12px;letter-spacing:.3px}#turn-warning{top:25%;min-width:230px;padding:10px 18px}#turn-warning strong{font-size:9px}#turn-arrow{font-size:40px}#countdown{font-size:70px;top:36%}.dialog{padding:32px 27px}.dialog h2{font-size:37px}.result-stats{gap:15px}.result-stats strong{font-size:20px}.result-stats small{font-size:6px}dialog{padding:28px 25px}.instructions p{font-size:10px}.instructions>div{gap:12px}}
@media(hover:none) and (min-width:651px){#touch-controls{position:absolute;bottom:20px;left:3vw;display:flex;gap:12px;pointer-events:auto}#touch-controls button{width:55px;height:50px;border:1px solid #7bd0a54d;background:#021e16b3;color:#b2f9d2;font-size:24px}.keyboard-hint{display:none}.game-bottom{left:auto}}
@media(max-height:550px) and (orientation:landscape){.hero{padding:10px 5vw 70px}.hero h1{font-size:100px;margin:15px 0 10px}.chapter{font-size:6px}.intro{font-size:17px;margin-top:15px}.story{font-size:11px;max-width:330px}.hero-notes{display:none}.masthead{padding:13px 5vw}.menu-footer{padding:10px 5vw}.classified{bottom:65px}.selection{padding-top:10px}.selection-header .icon-button{height:30px}.select-heading{margin:5px 0 15px}.select-heading h2{font-size:25px;margin:8px}.select-heading p{display:none}.character-card{height:180px;min-height:180px}.selection-bottom{padding-top:10px;margin-top:10px}.select-footer{display:none}.hud-top{padding-top:10px}.mission-bar{margin-top:0}.hud-left,.hud-right{top:95px}.game-bottom{bottom:14px}#notice{bottom:19%}.dialog{margin:auto;padding-top:23px;padding-bottom:23px}.overlay{align-items:flex-start}.dialog h2{font-size:32px}.dialog p{font-size:11px}.result-stats{margin:14px 0;padding:10px 0}#touch-controls{bottom:13px;left:12px;right:auto;gap:7px}#touch-controls button{width:44px;height:42px;flex:none}#pulse-button{min-height:44px}.game-bottom{left:auto;right:12px;max-width:300px}.hud-right{top:110px}}
@media(prefers-reduced-motion:reduce){.menu-photo,.cursor,.waveform i{animation:none}*{scroll-behavior:auto!important}.primary,.character-card,.character-card img{transition:none}}
@media(max-width:650px) and (orientation:portrait){#notice{top:22%;bottom:auto}.select-heading p:after{content:'Scorri i ritratti per scegliere il tuo ribelle.';display:block;margin-top:8px;font-size:9px;color:#83b399}}
/* Difficulty and combat controls retain the original green/cyan direction. */
.difficulty-panel{max-width:1250px;margin:23px auto 0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;border:1px solid var(--line);background:#09251c77}.difficulty-panel .eyebrow{font-size:8px;color:#85b89e}.difficulty-panel p{font:10px/1.5 var(--mono);color:#b2c9bc;margin:7px 0 0}.difficulty-switch{display:flex;gap:5px}.difficulty-switch button{min-height:45px;min-width:105px;padding:10px 14px;background:#041a13;border:1px solid #315547;color:#95b6a3;font:9px var(--mono);letter-spacing:.8px}.difficulty-switch button span{color:#5c8d77;margin-right:6px;font-size:8px}.difficulty-switch button.active{color:#d9ffec;border-color:var(--green);background:#1e523d}.difficulty-switch button.active span{color:var(--green)}.difficulty-switch button:hover{border-color:var(--green)}.difficulty-badge{font:7px var(--mono);letter-spacing:1px;color:#b3d8c4;border:1px solid #467a5c;padding:3px 5px;margin-left:9px}.kills-counter{display:block;font:7px/1.6 var(--mono);color:#a8cbb8;margin-top:7px;letter-spacing:.4px}.kills-counter b{color:#91eceb;font-size:12px;margin-left:5px}.combat-actions{display:flex;gap:10px;align-items:stretch}.combat-actions>button{touch-action:none;user-select:none;-webkit-user-select:none}#shoot-button{position:relative;display:flex;align-items:center;gap:12px;min-width:148px;min-height:63px;padding:10px 16px;border:1px solid #64d8df;background:#072a2be8;color:#d5ffff;text-align:left;overflow:hidden}#shoot-button b{font:700 11px var(--mono);letter-spacing:1px}#shoot-button small{display:block;margin-top:5px;font:7px var(--mono);color:#86cfd0}#shoot-button kbd{font-size:9px;min-width:17px;line-height:17px;color:#c9ffff;margin:0 0 0 5px}#shoot-button .laser-icon{font-size:31px;color:#83ffff}#shoot-button.firing,#shoot-button:active{background:#125354;border-color:#d0ffff;box-shadow:0 0 20px #56f4ff44}#shoot-button:disabled{opacity:.45}#laser-progress{position:absolute;left:0;bottom:0;height:2px;width:100%;background:#95ffff}.result-combat{font:10px var(--mono)!important;color:#9cddc8!important;letter-spacing:1px}.combat-actions #pulse-button{max-width:310px}
@media(max-width:1000px){.keyboard-hint{max-width:225px;line-height:2}.difficulty-switch button{min-width:88px;padding:10px}.combat-actions{gap:8px}#pulse-button{gap:9px}}
@media(max-width:650px){.difficulty-panel{margin-top:14px;flex-direction:column;align-items:stretch;gap:13px;padding:13px}.difficulty-panel p{font-size:9px}.difficulty-switch{width:100%;gap:5px}.difficulty-switch button{flex:1;min-width:0;padding:11px 7px;font-size:9px}.difficulty-switch button span{display:none}.combat-actions{width:100%;gap:8px}#shoot-button{min-width:99px;min-height:50px;padding:8px 10px;gap:7px;flex:0 0 31%}#shoot-button .laser-icon{font-size:25px}#shoot-button b{font-size:10px}#shoot-button small{font-size:6px;margin-top:5px}#shoot-button kbd{display:none}.combat-actions #pulse-button{flex:1;min-width:0;max-width:none;gap:7px;padding:7px 9px}.combat-actions #pulse-button b{font-size:7px;letter-spacing:.2px}.combat-actions #pulse-button small{font-size:5.5px;letter-spacing:0}#pulse-percent{font-size:9px}.kills-counter{font-size:6px}.difficulty-badge{font-size:6px;margin-left:6px}}
@media(max-height:550px) and (orientation:landscape){.game-bottom{max-width:370px}.combat-actions #pulse-button{min-height:44px;padding:6px 9px}.combat-actions #pulse-button b{font-size:7px;letter-spacing:0}.combat-actions #pulse-button small{font-size:6px}.combat-actions .pulse-icon{font-size:24px}#shoot-button{min-width:99px;min-height:44px;padding:6px 9px}.combat-actions{gap:7px}.game-bottom .keyboard-hint{display:none}.difficulty-panel{margin-top:14px;padding:12px}}
@media(max-height:550px) and (orientation:landscape){.game-bottom{max-width:min(370px,calc(100vw - 238px))}}
/* Keep the three difficulty choices visible before choosing a character. */
.menu-difficulty{max-width:465px;margin:0 0 23px}.menu-difficulty>.eyebrow{display:block;margin-bottom:10px;color:#b4d4c2;font-size:9px}.menu-difficulty .difficulty-switch{width:100%;gap:8px}.difficulty-switch button strong{display:block;font-size:12px;letter-spacing:1px}.difficulty-switch button small{display:block;margin-top:8px;font-size:7px;line-height:1.5;letter-spacing:.2px;color:#92b4a1}.difficulty-switch button.active small{color:#bfffe0}.menu-difficulty .difficulty-switch button{flex:1;min-width:0;min-height:68px;padding:12px 8px;background:#041a13dc}.menu-difficulty .difficulty-switch button.active{background:#1e523df2}.menu-difficulty p{font:10px/1.6 var(--mono);color:#a4c3af;margin:10px 0 0;min-height:32px}.selection .difficulty-panel{margin:0 auto 28px}.difficulty-switch button.active{box-shadow:inset 0 -3px 0 var(--green)}#start-label{font:inherit}.hero{padding-bottom:120px}
@media(max-width:650px){.menu-difficulty{max-width:340px;margin-bottom:19px}.menu-difficulty .difficulty-switch{gap:6px}.difficulty-switch button strong{font-size:11px;letter-spacing:.5px}.menu-difficulty .difficulty-switch button{padding:11px 4px;min-height:64px}.menu-difficulty .difficulty-switch button small{font-size:6px}.menu-difficulty p{font-size:9px}.selection .difficulty-panel{margin-bottom:24px}.hero{padding-bottom:140px}}
@media(min-width:651px) and (max-height:900px){.masthead{padding-top:23px;padding-bottom:23px}.hero{padding-top:12px}.hero h1{font-size:clamp(115px,11vw,150px);margin-top:20px;margin-bottom:10px}.hero .intro{font-size:20px;line-height:1.4;margin-top:18px;margin-bottom:8px}.hero .story{max-width:450px;font-size:12px;line-height:1.6;margin-bottom:17px}.menu-difficulty{margin-bottom:17px}.hero-notes{margin-top:18px}}
