:root{--space:#050713;--panel:rgba(7,17,31,.95);--line:rgba(105,255,225,.23);--cyan:#69ffe1;--lime:#caff63;--violet:#ad82ff;--pink:#ff64aa;--gold:#f7c85b;--text:#f1ffff;--muted:#88a5b4;--tile:clamp(47px,7.5vh,67px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--space)}body{margin:0;min-height:100vh;overflow-x:hidden;color:var(--text);font-family:"Segoe UI",system-ui,sans-serif;background:radial-gradient(circle at 16% 10%,rgba(91,41,181,.38),transparent 29%),radial-gradient(circle at 82% 35%,rgba(0,198,174,.2),transparent 27%),linear-gradient(rgba(2,6,14,.87),rgba(4,9,18,.98)),url("assets/textures/alien-hull-v1.webp");background-size:auto,auto,auto,600px}
.starfield,.scanner-light{position:fixed;inset:0;pointer-events:none}.starfield{opacity:.23;background-image:radial-gradient(#fff 1px,transparent 1px),radial-gradient(var(--cyan) 1px,transparent 1px);background-size:83px 83px,149px 149px;background-position:11px 23px,57px 71px}.scanner-light{opacity:.32;background:radial-gradient(ellipse at 50% 115%,rgba(105,255,225,.25),transparent 50%);animation:atmosphere 6s ease-in-out infinite}.shell{position:relative;width:min(1510px,100%);margin:auto;padding:10px clamp(8px,2vw,28px) 24px}.topbar{min-height:62px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding-right:54px;border-bottom:1px solid var(--line)}.back,.top-actions button,.action,.key{border:1px solid var(--line);color:var(--cyan);background:rgba(3,12,23,.9);font:inherit;font-weight:900;cursor:pointer}.back{justify-self:start;padding:9px 14px;border-radius:999px;text-decoration:none;font-size:11px;letter-spacing:.08em}.identity{text-align:center}.identity small{display:block;color:var(--muted);font-size:8px;letter-spacing:.23em}.identity strong{display:block;margin-top:2px;font-size:20px;letter-spacing:.17em}.top-actions{justify-self:end;display:flex;gap:7px}.top-actions button{min-height:35px;padding:7px 11px;border-radius:999px;font-size:9px}.top-actions button[aria-pressed=false]{color:#6b858e}
.status-bar{display:grid;grid-template-columns:1fr 1fr 64px 1fr 1fr;align-items:stretch;width:min(1040px,100%);margin:14px auto 0;border:1px solid var(--line);border-radius:18px;background:rgba(3,12,24,.93);box-shadow:0 16px 48px #0007;overflow:hidden}.status-bar>div:not(.signal-core){min-width:0;padding:10px 14px;text-align:center}.status-bar>div+div{border-left:1px solid var(--line)}.status-bar small{display:block;color:var(--muted);font-size:7px;letter-spacing:.16em}.status-bar strong{display:block;margin-top:3px;overflow:hidden;color:var(--cyan);font:900 17px/1.05 Consolas,monospace;white-space:nowrap;text-overflow:ellipsis}.signal-core{position:relative;display:grid;place-items:center;background:radial-gradient(circle,rgba(105,255,225,.2),transparent 68%)}.signal-core span{font-size:29px;color:var(--lime);filter:drop-shadow(0 0 8px var(--lime));animation:corePulse 1.8s ease-in-out infinite}.signal-core i{position:absolute;inset:8px;border:1px solid rgba(105,255,225,.3);border-radius:50%;animation:spin 5s linear infinite}.signal-core i:after{content:"";position:absolute;left:50%;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--pink);box-shadow:0 0 9px var(--pink)}
.game-layout{display:grid;grid-template-columns:minmax(210px,255px) minmax(350px,610px) minmax(210px,255px);justify-content:center;align-items:center;gap:clamp(14px,2.2vw,31px);min-height:calc(100vh - 143px);padding:17px 0}.panel{position:relative;overflow:hidden;padding:21px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(7,27,39,.96),rgba(3,9,20,.98)),url("assets/textures/alien-circuit-v1.webp");background-size:auto,430px;box-shadow:0 22px 62px #0008}.panel:after{content:"";position:absolute;inset:7px;border:1px solid rgba(105,255,225,.06);border-radius:16px;pointer-events:none}.eyebrow{margin:0;color:var(--cyan);font-size:8px;font-weight:950;letter-spacing:.2em}.mission-panel h1{margin:10px 0;font-size:clamp(25px,2.6vw,36px);line-height:1}.mission-panel>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.55}.legend{display:grid;gap:7px;margin:18px 0}.legend span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:8px;letter-spacing:.09em}.legend i{width:18px;height:18px;border-radius:5px;box-shadow:inset 1px 1px rgba(255,255,255,.15)}.legend .correct{background:#36b989}.legend .present{background:#c39735}.legend .absent{background:#263440}.mission-actions{display:grid;gap:7px}.action{position:relative;z-index:2;min-height:43px;padding:10px 12px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:9px;letter-spacing:.07em}.action span{font-size:15px}.action.primary{border-color:transparent;color:#06140f;background:linear-gradient(105deg,var(--cyan),var(--lime));box-shadow:0 8px 25px rgba(105,255,225,.18)}.action:disabled{cursor:not-allowed;opacity:.38}
.decoder{min-width:0;display:flex;justify-content:center;width:100%}.decoder-frame{position:relative;width:min(610px,100%);padding:27px clamp(10px,2vw,22px) 18px;border:1px solid rgba(105,255,225,.5);border-radius:28px;background:linear-gradient(155deg,rgba(13,44,55,.97),rgba(2,7,15,.98) 65%);box-shadow:0 0 0 5px rgba(3,12,22,.9),0 0 0 6px rgba(105,255,225,.12),0 28px 78px #000,0 0 45px rgba(105,255,225,.12);overflow:hidden}.decoder-frame:before,.decoder-frame:after{content:"";position:absolute;top:0;width:34px;height:34px;border-top:3px solid var(--lime)}.decoder-frame:before{left:0;border-left:3px solid var(--lime);border-radius:26px 0 0}.decoder-frame:after{right:0;border-right:3px solid var(--lime);border-radius:0 26px 0 0}.antenna{position:absolute;top:8px;left:50%;width:54%;height:17px;transform:translateX(-50%);border-top:1px solid rgba(105,255,225,.25)}.antenna i{position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:antenna 1.7s ease-in-out infinite}.antenna i:first-child{left:0}.antenna i:nth-child(2){right:0;animation-delay:.85s}.antenna b{position:absolute;left:50%;top:-6px;width:12px;height:12px;transform:translateX(-50%) rotate(45deg);border:1px solid var(--violet);background:#080d22;box-shadow:0 0 12px var(--violet)}.word-board{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,var(--tile));grid-template-rows:repeat(6,var(--tile));justify-content:center;gap:6px}.tile{display:grid;place-items:center;border:2px solid rgba(136,168,184,.34);border-radius:9px;background:linear-gradient(145deg,#122d39,#06121c);color:#f5ffff;font:950 clamp(23px,4vh,36px)/1 Consolas,monospace;text-transform:uppercase;box-shadow:inset 1px 1px rgba(255,255,255,.06),inset -3px -3px 6px #0008;transform-style:preserve-3d}.tile.filled{border-color:rgba(105,255,225,.56);animation:tilePop .13s ease-out}.tile.reveal{animation:tileReveal .52s ease forwards}.tile.correct{border-color:#4de3ae;background:linear-gradient(145deg,#4edaa8,#19765c);box-shadow:0 0 16px rgba(77,227,174,.35)}.tile.present{border-color:#f4ca63;background:linear-gradient(145deg,#d9aa3e,#7f5c18);box-shadow:0 0 15px rgba(244,202,99,.28)}.tile.absent{border-color:#344553;background:linear-gradient(145deg,#344553,#17212b);color:#aebbc2}.tile.current{border-color:var(--lime);box-shadow:0 0 13px rgba(202,255,99,.22)}.tile.shake{animation:tileShake .35s ease}.message{min-height:20px;margin:12px 0 9px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.1em;text-align:center}.message.success{color:var(--lime);text-shadow:0 0 12px rgba(202,255,99,.35)}.message.error{color:var(--pink)}
.keyboard{position:relative;z-index:2;display:grid;gap:6px;max-width:560px;margin:auto}.key-row{display:flex;justify-content:center;gap:5px}.key{flex:1;max-width:48px;height:46px;padding:0;border-radius:8px;color:#dffff8;background:linear-gradient(145deg,#183744,#07141e);font:900 14px/1 Consolas,monospace;box-shadow:inset 1px 1px rgba(255,255,255,.08)}.key.wide{max-width:77px;font-size:9px}.key.correct{border-color:#4de3ae;background:#238668;color:#fff}.key.present{border-color:#f4ca63;background:#9b741e;color:#fff}.key.absent{border-color:#26333e;background:#16202a;color:#60717b}.key:active{transform:translateY(2px)}
.archive-panel{text-align:center}.alien-orb{position:relative;display:grid;place-items:center;width:110px;height:110px;margin:14px auto 18px;border:1px solid rgba(105,255,225,.38);border-radius:50%;background:radial-gradient(circle,rgba(202,255,99,.24),rgba(105,255,225,.07) 52%,transparent 53%);box-shadow:inset 0 0 25px rgba(105,255,225,.14),0 0 24px rgba(105,255,225,.09)}.alien-orb span{font-size:51px;filter:drop-shadow(0 0 16px var(--lime));animation:float 3s ease-in-out infinite}.alien-orb i{position:absolute;inset:8px;border:1px dashed var(--violet);border-radius:50%;animation:spin 10s linear infinite}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.stat-grid div{padding:10px 5px;border:1px solid rgba(105,255,225,.13);border-radius:11px;background:#020b14a8}.stat-grid small{display:block;min-height:18px;color:var(--muted);font-size:6px;letter-spacing:.1em}.stat-grid strong{display:block;color:var(--lime);font:950 23px/1 Consolas,monospace}.archive-meter{margin-top:13px;padding:12px;border:1px solid rgba(105,255,225,.14);border-radius:13px;background:#020b14aa;text-align:left}.archive-meter>div:first-child{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:7px;letter-spacing:.08em}.archive-meter b{color:var(--lime)}.meter{height:6px;margin-top:9px;border-radius:10px;background:#01060b;overflow:hidden}.meter i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--cyan),var(--lime));box-shadow:0 0 12px var(--cyan);transition:.35s width}.clue-text{position:relative;z-index:2;min-height:47px;margin:13px 0 0;padding:10px;border:1px solid rgba(247,200,91,.15);border-radius:11px;color:var(--gold);background:rgba(247,200,91,.05);font-size:10px;line-height:1.45}
.overlay{position:fixed;z-index:200100;inset:0;display:none;place-items:center;padding:16px;background:rgba(0,5,11,.88);backdrop-filter:blur(14px)}.overlay.show{display:grid}.result-card{width:min(600px,100%);padding:clamp(27px,5vw,46px);border:1px solid rgba(105,255,225,.48);border-radius:29px;background:linear-gradient(145deg,rgba(7,29,39,.99),rgba(5,7,23,.99)),url("assets/textures/starfall-living-machinery-v2.webp");background-size:auto,600px;text-align:center;box-shadow:0 35px 110px #000,0 0 55px rgba(105,255,225,.13)}.result-alien{font-size:68px;filter:drop-shadow(0 0 24px var(--lime));animation:float 2.7s ease-in-out infinite}.result-card h2{margin:8px 0;font-size:clamp(34px,7vw,59px);line-height:.92}.result-card>p:not(.eyebrow){color:var(--muted);line-height:1.5}.answer,.result-score{margin:14px auto;padding:11px;border:1px solid var(--line);border-radius:13px;background:#020a12bb}.answer small,.result-score small{display:block;color:var(--muted);font-size:7px;letter-spacing:.16em}.answer strong{display:block;margin-top:4px;color:var(--cyan);font:950 30px/1 Consolas,monospace;letter-spacing:.18em}.result-score b{display:block;margin-top:4px;color:var(--lime);font:950 32px/1 Consolas,monospace}.result-actions{display:flex;justify-content:center;gap:9px}.result-actions .action{min-width:150px}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes corePulse{50%{transform:scale(1.14);opacity:.65}}@keyframes atmosphere{50%{opacity:.5}}@keyframes antenna{50%{opacity:.2;transform:scale(.55)}}@keyframes float{50%{transform:translateY(-7px) rotate(2deg)}}@keyframes tilePop{50%{transform:scale(1.11)}}@keyframes tileReveal{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}@keyframes tileShake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
@media(max-width:1060px){.game-layout{grid-template-columns:minmax(190px,230px) minmax(350px,590px)}.archive-panel{grid-column:1/-1;width:min(820px,100%);justify-self:center}.alien-orb{display:none}.archive-panel>.eyebrow{text-align:left}.stat-grid{grid-template-columns:repeat(4,1fr)}.archive-meter{max-width:520px;margin-inline:auto}.clue-text{max-width:520px;margin-inline:auto}}
@media(max-width:730px){:root{--tile:min(15.7vw,58px)}.shell{padding:5px}.topbar{min-height:51px;padding-right:47px}.identity small{display:none}.identity strong{font-size:13px}.back{padding:7px 9px;font-size:8px}.top-actions button{padding:6px 8px;font-size:8px}.top-actions #soundButton{font-size:0}.top-actions #soundButton:after{content:"♪";font-size:15px}.status-bar{grid-template-columns:1fr 1fr 44px 1fr;margin-top:7px;border-radius:13px}.status-bar>div:not(.signal-core){padding:7px 4px}.status-bar>div:last-child{display:none}.status-bar small{font-size:5px}.status-bar strong{font-size:12px}.signal-core i{inset:5px}.signal-core span{font-size:21px}.game-layout{display:flex;flex-direction:column;min-height:auto;padding:10px 0;gap:12px}.decoder{order:1}.mission-panel{order:2;width:100%;padding:15px}.archive-panel{order:3;width:100%;padding:15px}.mission-panel h1,.mission-panel>p:not(.eyebrow),.mission-panel>.legend{display:none}.mission-actions{grid-template-columns:1fr 1fr 1fr}.mission-actions .action{padding-inline:5px;font-size:7px}.decoder-frame{padding:23px 6px 12px;border-radius:17px}.word-board{gap:4px}.tile{border-radius:6px;font-size:clamp(21px,8vw,32px)}.keyboard{gap:5px}.key-row{gap:3px}.key{height:44px;padding:0;border-radius:6px;font-size:12px}.key.wide{font-size:7px}.message{margin-block:9px 7px;font-size:7px}.stat-grid small{font-size:5px}.stat-grid strong{font-size:20px}.result-actions{flex-direction:column}.result-actions .action{width:100%}}
@media(max-width:420px){.identity{display:none}.topbar{grid-template-columns:1fr auto;padding-right:44px}.top-actions{grid-column:2}.mission-actions{gap:4px}.mission-actions .action b{font-size:6px}.stat-grid{gap:4px}.stat-grid div{padding-inline:2px}}
@media(max-height:740px) and (min-width:731px){:root{--tile:53px}.game-layout{align-items:start}.panel{padding:15px}.decoder-frame{padding-top:22px}.key{height:40px}.mission-panel h1{font-size:26px}.mission-panel>p:not(.eyebrow){font-size:10px}.legend{margin:11px 0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
