*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#07100d;color:#b9d4c4;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}body{height:100dvh;display:flex;flex-direction:column;overflow:hidden}button,input,select{font:inherit;font-size:14px;color:#c5ead1;background:#10251b;border:1px solid #355641;border-radius:7px;padding:11px 14px}button{cursor:pointer;touch-action:manipulation}button:hover,button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #8bffba;outline-offset:2px}button:disabled{opacity:.45;cursor:wait}button.primary{background:#adffc0;color:#092814;border-color:#adffc0;font-weight:800;padding:15px 23px}.top{display:flex;gap:7px}header{padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #243c2c}.brand{border:0;background:none;text-align:left;letter-spacing:2px;font-size:19px;font-weight:800;padding:0;color:#ebffed}.brand span{color:#8bffba}.brand small{display:block;font-size:10px;color:#6e977d;letter-spacing:2px;margin-top:5px}main{display:flex;flex-direction:column;flex:1;min-height:0;padding:0 24px}.hud{height:45px;display:flex;align-items:center;gap:16px;font-size:11px;white-space:nowrap;letter-spacing:.8px}.hud b{font-size:19px;color:#b1ffbb}.meter{height:3px;background:#284631;flex:1}.meter i{display:block;height:100%;background:#a0ffb8;width:0}#shield{color:#82dcec}#arena{position:relative;flex:1;min-height:0;border:1px solid #294832;border-radius:9px;overflow:hidden;background:#09160f}canvas{display:block;width:100%;height:100%;touch-action:none}.overlay{position:absolute;inset:0;z-index:5;background:#07150ef5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;overflow:auto}.overlay[hidden]{display:none}#intro{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:5px;background:radial-gradient(ellipse at 50% 48%,#1d523b 0,#0a2118 38%,#06120c 75%);overflow:hidden}.intro-copy{text-align:left;z-index:1}.eyebrow{font-size:12px;letter-spacing:2px;color:#9bffbb}h1{font-size:clamp(30px,4.5vw,67px);letter-spacing:-3px;line-height:1.02;color:#ecffe8;margin:18px 0}h1 span{color:#a3ffb6}#hero{width:100%;height:100%;max-height:580px;object-fit:contain;filter:drop-shadow(0 0 24px #4ff3a73b);image-rendering:auto}.intro-actions{z-index:1}.intro-actions p{font-size:14px;color:#b2d4bb}.overlay small{font-size:12px;line-height:1.8;color:#83a790}.overlay h2{font-size:clamp(26px,4vw,46px);line-height:1.1;color:#d6ffe3;max-width:620px;margin:20px 0 12px}.overlay>p{font-size:16px;line-height:1.5;max-width:490px;margin:8px 0 14px}.overlay>button{margin-top:12px}.overlay button[hidden]{display:none}#reward{border:1px solid #366744;border-radius:10px;padding:15px 24px;margin:12px 0;background:#163224;max-width:470px}#reward-label{font-size:12px;letter-spacing:2px;display:block;color:#81dca0}#reward-title{font-size:26px;color:#e3ffb0;display:block;margin:9px 0}#reward-detail{font-size:14px;line-height:1.5;margin:0;color:#b0ceb9}#toast{position:absolute;top:14px;left:50%;transform:translateX(-50%);max-width:90%;background:#07180eed;color:#d1ffde;border:1px solid #69b485;padding:10px 16px;border-radius:6px;pointer-events:none;text-align:center;font-size:14px;opacity:0;transition:opacity .2s;z-index:3}#toast.show{opacity:1}#touch{display:none;position:absolute;bottom:12px;left:12px;right:12px;justify-content:space-between;align-items:center;pointer-events:none}#touch button{pointer-events:auto;width:62px;height:62px;background:#153b2edc;font-weight:800;color:#d8ffe4;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#touch .movement{display:flex;gap:4px;padding:4px;border-radius:11px;background:#0b2319b8}#touch .movement button{width:66px}#touch button.held{background:#b1ffc4;color:#102717;box-shadow:0 0 15px #8bffba44}footer{min-height:78px;display:flex;gap:15px;align-items:center;justify-content:space-between;padding:10px 0}.weapon-panel{display:grid;grid-template-columns:auto auto;gap:4px 12px;align-items:center}.weapon-panel label,.level-panel label{font-size:10px;letter-spacing:1px;color:#87b196}.weapon-panel label span{color:#bcffd0}.weapon-panel select{font-size:14px;max-width:240px}.weapon-panel>span{grid-column:1/-1;color:#829e8c;font-size:11px}.level-panel{display:flex;gap:8px;align-items:center}.level-panel select{max-width:190px}.hint{font-size:11px;color:#7a9f87;max-width:270px;line-height:1.7}#website-form{width:min(470px,100%);text-align:left;margin:16px 0 4px}#website-form label{font-size:13px;display:block;margin-bottom:8px}.url-row{display:flex;gap:8px}.url-row input{min-width:0;flex:1}#web-status{font-size:14px;min-height:24px;color:#ffcd88}#portal small{margin-top:15px}body.modal #touch{visibility:hidden}@media(pointer:coarse){#touch{display:flex}.hint{display:none}}@media(max-width:700px){header{padding:10px 12px}.brand{font-size:15px;letter-spacing:1px}.brand small{font-size:8px;letter-spacing:1px}.top{gap:4px}.top button{font-size:12px;padding:9px 7px}main{padding:0 8px}.hud{gap:8px;height:38px;font-size:9px;letter-spacing:0}.hud b{font-size:16px}#intro{display:flex;gap:0;padding:16px 12px}.intro-copy{text-align:center}.eyebrow{font-size:10px}h1{font-size:31px;letter-spacing:-1px;margin:8px 0 0}h1 br{display:none}h1 span{display:block}#hero{height:auto;flex:1;min-height:70px;max-height:48%;width:85%;object-fit:contain}.intro-actions p{margin:8px 0;font-size:12px}.intro-actions small{font-size:10px}.intro-actions button{padding:13px 20px}.overlay{padding:20px 15px}.overlay h2{font-size:29px;margin:14px 0 8px}.overlay>p{font-size:14px}#reward{padding:12px 16px;margin:8px 0}#reward-title{font-size:23px}footer{gap:8px;min-height:85px;align-items:flex-start}.weapon-panel{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1;min-width:0}.weapon-panel select{width:100%;font-size:13px;padding:8px}.weapon-panel>span{font-size:10px}.level-panel{flex-direction:column;align-items:flex-start;gap:4px;width:125px}.level-panel select{font-size:12px;width:100%;padding:8px}#touch{bottom:10px;left:8px;right:8px}#touch button{width:57px;height:60px}#touch .movement button{width:60px}#toast{font-size:12px;padding:8px 12px;width:max-content;max-width:93%}}@media(max-height:500px){#intro{display:grid;grid-template-columns:1fr 1fr 1fr}#hero{max-height:100%;height:100%;width:100%}h1{font-size:28px}.overlay h2{font-size:25px}.overlay{padding:12px}#reward{margin:4px;padding:8px}header{padding:7px 12px}footer{min-height:60px;padding:6px 0}.hud{height:30px}}

/* Hidden screens must stay hidden across desktop and phone layouts. */
[hidden]{display:none!important}

#start-norad{display:block;margin:12px auto 0;color:#93e8ff;border-color:#396776;background:#0b2630;font-size:13px}.duel{background:#020907f7;justify-content:center;gap:0;overflow:auto}.duel .terminal-question{font-size:clamp(17px,2.5vw,27px);letter-spacing:0;line-height:1.3;min-height:36px;margin:12px 0 0}.cursor{animation:cursor-blink 1s steps(1) infinite;color:#a9ffb5;font-size:.8em;margin-left:5px}.duel>p{font-size:13px;margin:8px 0 12px;min-height:20px;color:#80b997}.duel-box{position:relative;flex-shrink:0;width:min(390px,67vw,48vh);aspect-ratio:1;border:1px solid #397c54;background:#04100b;overflow:hidden;box-shadow:0 0 35px #4bff9720;border-radius:5px}#duel-canvas{position:absolute;inset:0;width:100%;height:100%}#tic-board{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:12px;gap:5px;transition:opacity 1.8s,filter 1.8s}#tic-board button{background:#072019dc;border:1px solid #6ed992;border-radius:2px;font-size:clamp(27px,6vw,58px);line-height:1;color:#aaffbf;transition:background .15s;cursor:pointer;padding:0;text-shadow:0 0 12px #81ffa5}#tic-board button.computer{color:#8cdfff;text-shadow:0 0 12px #79ddff}#tic-board button:disabled{opacity:1;cursor:default}#tic-board button:not(:disabled):hover{background:#1f5132}#duel-result{position:absolute;left:0;right:0;top:40%;z-index:3;color:#d0ffdf;text-shadow:0 0 20px #53d78e;font-size:clamp(31px,6vw,60px);pointer-events:none;letter-spacing:-2px}.duel.won #tic-board{opacity:0;filter:blur(8px);pointer-events:none}.duel.won #duel-result{top:4%;font-size:clamp(27px,5vw,45px)}.duel.lost #tic-board button{animation:tile-explode .8s ease-out forwards}.duel.lost .duel-box{animation:board-shake .5s ease-out}.duel.lost #duel-result{color:#ffb6a3;text-shadow:0 0 23px #ff5439;animation:result-in .45s .5s both}.duel.draw #tic-board{opacity:.23}#duel-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:16px}#duel-actions button{font-size:13px;padding:11px 14px}@keyframes cursor-blink{50%{opacity:0}}@keyframes tile-explode{to{transform:translate(var(--dx),var(--dy)) rotate(var(--spin));opacity:0}}@keyframes board-shake{20%,60%{transform:translateX(-9px)}40%,80%{transform:translateX(9px)}}@keyframes result-in{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media(max-width:700px){#start-norad{padding:10px 12px;font-size:12px;margin-top:8px}.duel{padding:15px 10px}.duel-box{width:min(330px,82vw,46vh)}.duel .eyebrow{font-size:9px}.duel .terminal-question{font-size:18px;min-height:45px}#duel-actions{margin-top:12px}}@media(max-height:500px){.duel{padding:8px}.duel .terminal-question{font-size:16px;min-height:20px;margin:3px}.duel>p{margin:2px;font-size:11px}.duel-box{width:min(38vh,230px)}#duel-actions{margin:5px}#duel-actions button{padding:6px 10px}}

#start-bonus{display:block;margin:8px auto 0;padding:10px 12px;font-size:13px;color:#ffc98d;border-color:#795b35;background:#291f14}.weapon-panel select{max-width:320px}@media(max-width:700px){.weapon-panel select{font-size:12px}.weapon-panel label{font-size:9px}#hero{max-height:39%}.intro-actions small{font-size:9px}.intro-actions p{margin:5px 0}#start-bonus{font-size:12px;padding:9px 12px}}
