:root{--ink:#030709;--panel:rgba(5,18,21,.9);--line:rgba(103,255,224,.24);--mint:#67ffe0;--acid:#baff68;--amber:#ffbd59;--danger:#ff5c86;--violet:#ae83ff;--text:#effffb;--muted:#8aa8a7;--cell:rgba(8,24,26,.88)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#020708;color:var(--text);font-family:"Segoe UI",system-ui,sans-serif}button,a{font:inherit}.space-dust{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 18%,rgba(106,255,218,.12),transparent 24%),radial-gradient(circle at 82% 70%,rgba(133,73,255,.13),transparent 27%),linear-gradient(rgba(1,7,9,.76),rgba(2,7,9,.95)),url("assets/textures/starfall-bulkhead-v2.webp");background-size:auto,auto,auto,680px;filter:saturate(.78)}.space-dust:after{content:"";position:absolute;inset:0;opacity:.14;background-image:radial-gradient(#baff68 1px,transparent 1px),radial-gradient(#67ffe0 1px,transparent 1px);background-size:107px 107px,173px 173px;background-position:13px 29px,71px 43px}
.shell{position:relative;width:min(1500px,100%);margin:auto;padding:16px clamp(10px,2vw,30px) 28px}.topbar{min-height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.back,.sound,.secondary,.tool-row button,.close{border:1px solid var(--line);color:var(--mint);background:rgba(3,12,16,.82);border-radius:999px;text-decoration:none;cursor:pointer}.back{justify-self:start;padding:9px 14px;font-size:12px;font-weight:900;letter-spacing:.1em}.identity{text-align:center}.identity span{display:block;color:var(--muted);font-size:9px;letter-spacing:.22em}.identity strong{display:block;margin-top:3px;font-size:20px;letter-spacing:.16em}.sound{justify-self:end;padding:9px 14px;font-size:11px;font-weight:900}.sound[aria-pressed=false]{color:#728988}
.game-layout{display:grid;grid-template-columns:minmax(210px,260px) minmax(420px,680px) minmax(200px,250px);align-items:center;justify-content:center;gap:clamp(12px,2vw,28px);min-height:calc(100vh - 92px);padding:22px 0}.panel{position:relative;padding:22px;border:1px solid var(--line);border-radius:23px;background:linear-gradient(145deg,rgba(7,25,27,.94),rgba(3,10,15,.96)),url("assets/textures/alien-circuit-v1.webp");background-size:auto,430px;box-shadow:0 20px 60px rgba(0,0,0,.42),inset 0 0 35px rgba(103,255,224,.035);overflow:hidden}.panel:before{content:"";position:absolute;inset:8px;border:1px solid rgba(103,255,224,.08);border-radius:17px;pointer-events:none}.eyebrow{margin:0;color:var(--mint);font-size:9px;font-weight:900;letter-spacing:.24em}.mission-panel>strong{display:block;margin-top:13px;color:var(--acid);font-size:13px;letter-spacing:.08em}.mission-panel h1{margin:8px 0 12px;font-size:clamp(22px,2.5vw,34px);line-height:.95}.sector-badge{display:inline-block;padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.1em}.campaign-meter{height:7px;margin:22px 0;background:#051012;border:1px solid rgba(103,255,224,.18);overflow:hidden;border-radius:99px}.campaign-meter i{display:block;height:100%;width:2.7%;background:linear-gradient(90deg,var(--mint),var(--acid));box-shadow:0 0 15px var(--mint);transition:width .35s}.mission-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:17px}.mission-stats div{padding:10px;border:1px solid rgba(103,255,224,.13);border-radius:12px;background:rgba(1,8,11,.62)}.mission-stats div:first-child{grid-column:1/-1}.mission-stats small,.readout small{display:block;color:var(--muted);font-size:8px;letter-spacing:.16em}.mission-stats b,.readout b{display:block;margin-top:4px;color:var(--text);font-size:17px}.mission-stats #shield{color:var(--acid);letter-spacing:.15em}.secondary{width:100%;margin-top:8px;padding:10px 12px;border-radius:10px;font-size:10px;font-weight:900;letter-spacing:.08em}
.board-console{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0}.reactor-ring{position:absolute;inset:-38px -34px auto;aspect-ratio:1;border:1px solid rgba(103,255,224,.12);border-radius:50%;pointer-events:none;animation:orbit 28s linear infinite}.reactor-ring i{position:absolute;inset:6%;border:1px dashed rgba(186,255,104,.1);border-radius:50%}.reactor-ring i:nth-child(2){inset:14%;border-style:solid}.reactor-ring i:nth-child(3){inset:22%;border-color:rgba(174,131,255,.13)}.message{position:relative;z-index:2;margin-bottom:9px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.15em;text-align:center}.message.good{color:var(--acid)}.message.bad{color:var(--danger)}
.sudoku-board{position:relative;z-index:2;display:grid;grid-template-columns:repeat(9,1fr);width:min(62vh,640px,100%);aspect-ratio:1;border:3px solid rgba(103,255,224,.65);border-radius:15px;overflow:hidden;background:rgba(1,8,10,.94);box-shadow:0 0 0 7px rgba(3,17,20,.9),0 0 0 8px rgba(103,255,224,.2),0 25px 80px rgba(0,0,0,.65),0 0 44px rgba(103,255,224,.1)}.cell{position:relative;display:grid;place-items:center;min-width:0;border:0;border-right:1px solid rgba(103,255,224,.13);border-bottom:1px solid rgba(103,255,224,.13);background:var(--cell);color:var(--mint);font-weight:800;font-size:clamp(17px,3.2vh,32px);cursor:pointer;transition:background .12s,transform .12s,color .12s}.cell:nth-child(9n+3),.cell:nth-child(9n+6){border-right:2px solid rgba(103,255,224,.55)}.cell:nth-child(n+19):nth-child(-n+27),.cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid rgba(103,255,224,.55)}.cell.fixed{color:#edfef8;background:rgba(20,42,43,.78);text-shadow:0 0 12px rgba(255,255,255,.18)}.cell.peer{background:rgba(39,95,87,.24)}.cell.same{background:rgba(186,255,104,.16);color:var(--acid)}.cell.selected{z-index:2;background:rgba(103,255,224,.25);outline:2px solid var(--mint);outline-offset:-2px;box-shadow:inset 0 0 20px rgba(103,255,224,.25)}.cell.error{color:var(--danger);background:rgba(255,54,108,.18);animation:cellError .25s}.cell.hinted{color:#fff4a9;text-shadow:0 0 13px var(--amber)}.cell.pulse{animation:cellPulse .55s}.notes{position:absolute;inset:3px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;color:#80aaa7;font-size:clamp(6px,1.15vh,10px);font-weight:700}.notes i{font-style:normal;text-align:center}
.tool-row{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;width:min(640px,100%);margin-top:15px}.tool-row button{padding:9px 6px;border-radius:10px;font-size:14px;font-weight:900}.tool-row button span{margin-left:4px;font-size:9px;letter-spacing:.08em}.tool-row button[aria-pressed=true]{background:rgba(186,255,104,.18);border-color:var(--acid);color:var(--acid)}.tool-row button:disabled{opacity:.35;cursor:not-allowed}.number-pad{position:relative;z-index:2;display:grid;grid-template-columns:repeat(9,1fr);gap:6px;width:min(640px,100%);margin-top:8px}.number-pad button{aspect-ratio:1;border:1px solid rgba(103,255,224,.3);border-radius:11px;background:linear-gradient(145deg,rgba(18,52,52,.94),rgba(4,16,20,.95));color:var(--text);font-size:clamp(17px,2.4vw,25px);font-weight:900;cursor:pointer;box-shadow:inset 0 0 14px rgba(103,255,224,.04)}.number-pad button:hover{border-color:var(--acid);color:var(--acid);transform:translateY(-2px)}.number-pad button.complete{opacity:.32}
.scan-panel{text-align:center}.alien-eye{position:relative;width:126px;height:82px;margin:20px auto 24px;border-radius:70% 28% 70% 28%;transform:rotate(45deg);background:radial-gradient(circle at 50% 50%,#050a0b 0 16%,#baff68 17% 30%,#123d35 32% 56%,#061211 58%);border:2px solid rgba(103,255,224,.44);box-shadow:0 0 28px rgba(186,255,104,.18),inset 0 0 22px #000;animation:eyeFloat 4s ease-in-out infinite}.alien-eye i{position:absolute;inset:34%;border-radius:50%;background:#010303;box-shadow:0 0 12px #000}.readout{text-align:left;padding:11px 0;border-top:1px solid rgba(103,255,224,.13)}.readout b{color:var(--acid)}.tip{text-align:left;color:var(--muted);font-size:12px;line-height:1.55}.keyboard{margin-top:17px;padding:9px;border:1px solid rgba(103,255,224,.14);border-radius:9px}.keyboard span{display:block;color:var(--mint);font-size:8px;letter-spacing:.18em}.keyboard b{display:block;margin-top:4px;font-size:9px;color:var(--muted)}
.overlay{position:fixed;z-index:40;inset:0;display:none;place-items:center;padding:18px;background:rgba(0,5,8,.78);backdrop-filter:blur(13px)}.overlay.show{display:grid}.modal{width:min(900px,100%);max-height:94vh;overflow:auto;padding:clamp(24px,5vw,52px);border:1px solid rgba(103,255,224,.42);border-radius:28px;background:linear-gradient(145deg,rgba(7,28,29,.98),rgba(4,8,18,.98)),url("assets/textures/starfall-living-machinery-v2.webp");background-size:auto,640px;box-shadow:0 35px 110px #000,0 0 60px rgba(103,255,224,.12);text-align:center}.modal h2{margin:10px 0;font-size:clamp(36px,7vw,72px);line-height:.86}.modal h2 span{color:var(--acid)}.modal>p:not(.eyebrow){max-width:680px;margin:18px auto;color:var(--muted);line-height:1.6}.sector-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0}.sector-choice{position:relative;padding:16px 10px;border:1px solid color-mix(in srgb,var(--sector) 48%,transparent);border-radius:15px;background:rgba(2,11,14,.8);color:var(--text);cursor:pointer;text-align:left}.sector-choice b{display:block;color:var(--sector);font-size:13px}.sector-choice small{display:block;margin-top:6px;color:var(--muted);font-size:9px;letter-spacing:.08em}.sector-choice:hover{transform:translateY(-3px);box-shadow:0 8px 30px color-mix(in srgb,var(--sector) 12%,transparent)}.launch-actions{display:flex;justify-content:center;gap:9px;margin-top:19px}.primary{padding:13px 22px;border:0;border-radius:999px;background:linear-gradient(100deg,var(--mint),var(--acid));color:#03100d;font-weight:1000;cursor:pointer;box-shadow:0 8px 30px rgba(103,255,224,.2)}.modal .secondary{width:auto;padding:12px 18px}.launch-modal>small{display:block;margin-top:20px;color:#698785;font-size:9px;letter-spacing:.13em}.modal-head{display:flex;align-items:center;justify-content:space-between;text-align:left}.modal-head h2{font-size:clamp(28px,5vw,48px)}.close{width:42px;height:42px;font-size:25px}.mission-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:8px;margin-top:22px}.mission-node{position:relative;aspect-ratio:1;border:1px solid var(--node);border-radius:12px;background:rgba(3,13,16,.88);color:var(--text);cursor:pointer;font-weight:900}.mission-node span{display:block;color:var(--node);font-size:17px}.mission-node small{font-size:7px;color:var(--muted)}.mission-node.done:after{content:"✓";position:absolute;right:4px;top:2px;color:var(--acid);font-size:10px}.mission-node.current{box-shadow:0 0 0 2px var(--node),0 0 20px color-mix(in srgb,var(--node) 25%,transparent)}.compact-modal{max-width:560px}.warning-symbol{display:grid;place-items:center;width:78px;height:78px;margin:0 auto 18px;border:2px solid var(--danger);border-radius:50%;color:var(--danger);font-size:45px;font-weight:900;box-shadow:0 0 30px rgba(255,92,134,.24);animation:warning 1s infinite}.victory-modal{max-width:650px}.victory-alien{font-size:80px;filter:drop-shadow(0 0 25px var(--acid));animation:victoryFloat 1.8s ease-in-out infinite}
@keyframes orbit{to{transform:rotate(360deg)}}@keyframes eyeFloat{50%{transform:rotate(45deg) translate(-5px,5px)}}@keyframes cellError{33%{transform:translateX(-5px)}66%{transform:translateX(5px)}}@keyframes cellPulse{50%{background:rgba(186,255,104,.4);box-shadow:inset 0 0 24px var(--acid)}}@keyframes warning{50%{transform:scale(.94);opacity:.65}}@keyframes victoryFloat{50%{transform:translateY(-10px) rotate(3deg)}}
@media(max-width:1050px){.game-layout{grid-template-columns:minmax(190px,230px) minmax(400px,620px)}.scan-panel{display:none}.sudoku-board{width:min(59vh,600px,100%)}}
@media(max-width:760px){.shell{padding:8px}.topbar{grid-template-columns:auto 1fr auto;min-height:50px}.identity span{display:none}.identity strong{font-size:14px}.back,.sound{padding:7px 9px;font-size:9px}.game-layout{display:flex;flex-direction:column;min-height:auto;padding:10px 0}.mission-panel{width:100%;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:center}.mission-panel .eyebrow,.mission-panel h1,.mission-panel .campaign-meter,.mission-panel .secondary{display:none}.mission-panel>strong{margin:0}.sector-badge{grid-column:2;grid-row:1}.mission-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin:2px 0 0}.mission-stats div:first-child{grid-column:auto}.mission-stats div{padding:6px}.mission-stats b{font-size:13px}.board-console{width:100%}.sudoku-board{width:min(calc(100vw - 22px),62vh);border-radius:10px}.cell{font-size:clamp(16px,6.7vw,28px)}.message{margin:2px 0 8px;font-size:8px}.tool-row,.number-pad{width:min(calc(100vw - 18px),62vh)}.tool-row button{padding:8px 3px}.number-pad{gap:4px}.number-pad button{border-radius:8px}.reactor-ring{display:none}.sector-choices{grid-template-columns:repeat(2,1fr)}.mission-grid{grid-template-columns:repeat(6,1fr)}.modal{padding:24px 16px}.launch-actions{flex-direction:column}.launch-actions button,.modal .secondary{width:100%}}
@media(max-height:680px) and (min-width:761px){.game-layout{align-items:start;padding-top:10px}.sudoku-board{width:min(55vh,560px,100%)}.panel{padding:16px}.alien-eye{width:90px;height:60px;margin:12px auto}.tip{font-size:10px}.mission-stats{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
