:root{--space:#12072c;--ink:#fff;--soft:#dcd8ff;--violet:#8b5cf6;--cyan:#22d3ee;--gold:#fbbf24;--danger:#fb7185}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0;overflow:hidden;background:var(--space)}body{color:var(--ink);font-family:'Nunito',system-ui,sans-serif;touch-action:manipulation}button{font:inherit}.skip-link{position:fixed;left:1rem;top:-6rem;z-index:500;background:#fff;color:#111;padding:.75rem 1rem;border-radius:.6rem;font-weight:900}.skip-link:focus{top:1rem}
.alien-game{position:fixed;inset:0;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 50% -10%,#57358f 0,#24164f 38%,#10082c 78%)}.alien-game::before{content:"";position:absolute;inset:0;z-index:-3;background-image:radial-gradient(circle,#fff 1px,transparent 1.5px);background-size:53px 53px;opacity:.36}.space-layer{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}.planet{position:absolute;width:clamp(80px,12vw,150px);aspect-ratio:1;border-radius:50%;right:7%;top:13%;background:radial-gradient(circle at 35% 28%,#ffe49e,#dc7f68 48%,#713b60 75%);box-shadow:0 0 60px rgba(255,159,120,.3)}.moon{position:absolute;width:120%;height:36%;left:-10%;bottom:-25%;border-radius:50% 50% 0 0;background:radial-gradient(ellipse at 50% 0,#62558f,#27234f 48%,#12102b 75%);box-shadow:0 -12px 42px rgba(133,108,235,.25)}
#arcInstructions{display:none!important}
.screen{height:100%;min-height:0;padding:max(5.5rem,calc(env(safe-area-inset-top) + 4.5rem)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.menu-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow-y:auto;overscroll-behavior:contain}.hero-mark{font-size:clamp(2.7rem,8vw,4.6rem);line-height:1;filter:drop-shadow(0 10px 16px rgba(0,0,0,.35))}.hero-mark span+span{margin-left:-.35em}.eyebrow{margin:.8rem 0 .1rem;text-transform:uppercase;letter-spacing:.16em;color:#a5f3fc;font-size:.78rem;font-weight:900}.menu-screen h1{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,7vw,4.8rem);line-height:1;margin:0;text-shadow:0 4px 20px #000}.hero-copy{max-width:620px;margin:.55rem auto 1.35rem;color:var(--soft);font-size:clamp(1rem,2vw,1.18rem)}
.mode-grid{width:min(100%,900px);display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:stretch}.mode-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.3rem;min-height:225px;padding:1.25rem 1rem 1rem;border:2px solid rgba(255,255,255,.22);border-radius:24px;color:#fff;background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.06));box-shadow:0 14px 34px rgba(0,0,0,.28);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.mode-card:hover,.mode-card:focus-visible{transform:translateY(-6px);border-color:#fff;box-shadow:0 20px 42px rgba(0,0,0,.38)}.mode-card.featured{background:linear-gradient(160deg,rgba(139,92,246,.82),rgba(76,29,149,.72));border-color:#c4b5fd;transform:scale(1.025)}.mode-card.featured:hover,.mode-card.featured:focus-visible{transform:translateY(-6px) scale(1.025)}.mode-badge{position:absolute;top:-.72rem;border-radius:999px;background:var(--gold);color:#3a2200;padding:.28rem .7rem;font-size:.72rem;font-weight:1000;text-transform:uppercase;letter-spacing:.04em}.mode-icon{font-size:2.6rem}.mode-name{font-size:1.3rem;font-weight:1000}.mode-copy{color:#eeeaff;font-size:.9rem;line-height:1.35;flex:1}.mode-action{width:100%;border-radius:999px;background:#fff;color:#29104f;padding:.65rem;font-weight:1000;margin-top:.5rem}.menu-tools{display:flex;gap:.75rem;justify-content:center;margin-top:1.25rem;flex-wrap:wrap}.text-button{border:2px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(10,5,35,.65);color:#fff;padding:.62rem 1rem;font-weight:900;cursor:pointer}.text-button:hover{background:#fff;color:#24114d}.keyboard-tip{font-size:.82rem;color:#c6c0ea;margin:.75rem 0 0}.keyboard-tip kbd,.crater kbd{font-family:inherit;border:1px solid rgba(255,255,255,.55);border-bottom-width:3px;border-radius:.3rem;padding:.06rem .35rem;background:rgba(0,0,0,.25);color:#fff}
.play-screen{display:block;padding-top:max(4.6rem,calc(env(safe-area-inset-top) + 4.2rem))}.hud{position:relative;z-index:20;width:min(100%,1000px);margin:0 auto;display:grid;grid-template-columns:1fr minmax(240px,1.2fr) 1fr;align-items:center;gap:1rem}.hud-primary{display:flex;gap:.55rem}.hud-chip{min-width:76px;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.5);border-radius:16px;background:rgba(255,255,255,.94);color:#24114d;box-shadow:0 7px 18px rgba(0,0,0,.2);text-align:center}.hud-label{display:block;text-transform:uppercase;font-size:.6rem;letter-spacing:.08em;font-weight:1000;color:#655787}.hud-chip strong{font-size:1.05rem}.combo-chip.hot{background:#fff0c2;animation:comboBeat .45s ease}.lives-chip strong{letter-spacing:.08em}.mission-status{text-align:center}.mission-status p{margin:.15rem 0;font-weight:900;text-shadow:0 2px 6px #000}.mission-status #objective{font-size:.8rem;color:#dcd8ff}.progress-track{height:12px;overflow:hidden;border:2px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(5,2,20,.65)}.progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--gold));border-radius:inherit;transition:width .25s ease}.hud-actions{display:flex;justify-content:flex-end;gap:.55rem}.round-button{width:48px;height:48px;border:2px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(255,255,255,.94);color:#29104f;font-weight:1000;font-size:1.15rem;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.game-board{position:relative;z-index:3;width:min(100%,900px);height:calc(100vh - 180px);min-height:430px;max-height:680px;margin:.4rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:clamp(.25rem,2vw,1.4rem);padding:.5rem}.crater{position:relative;min-width:0;border:0;background:none;color:#fff;cursor:default;overflow:visible}.crater:not(:disabled){cursor:pointer}.crater kbd{position:absolute;top:.25rem;left:50%;transform:translateX(-50%);z-index:4;opacity:.62;font-size:.72rem}.hole{position:absolute;left:50%;bottom:8%;width:min(80%,180px);height:min(24%,62px);transform:translateX(-50%);border:3px solid rgba(147,126,255,.38);border-radius:50%;background:radial-gradient(ellipse at 50% 35%,#02010d,#171137 62%,#4a3788);box-shadow:inset 0 10px 18px rgba(0,0,0,.8),0 8px 15px rgba(0,0,0,.4),0 0 24px rgba(122,93,247,.22)}.target{position:absolute;z-index:2;left:50%;bottom:11%;display:flex;align-items:center;justify-content:center;width:min(56%,130px);aspect-ratio:1;font-size:clamp(4.2rem,10vw,7.8rem);line-height:1;transform:translate(-50%,38%) scale(.55);opacity:0;pointer-events:none;transition:transform .16s ease-out,opacity .16s ease-out;filter:drop-shadow(0 8px 8px rgba(0,0,0,.45))}.crater.active .target{transform:translate(-50%,-14%) scale(1);opacity:1;animation:targetHover .62s ease-in-out infinite alternate}.crater.active:focus-visible{outline:4px solid #fff;outline-offset:-6px;border-radius:24px}.crater.friend .target{filter:drop-shadow(0 0 14px #86efac) drop-shadow(0 8px 8px rgba(0,0,0,.4))}.crater.bonus .target{filter:sepia(1) saturate(3) drop-shadow(0 0 15px #fbbf24)}.crater.danger .target{filter:drop-shadow(0 0 13px #fb7185)}.crater.hit .target{animation:popHit .28s ease-out forwards}.crater.mistake{animation:mistake .3s ease}.points-pop{position:absolute;z-index:8;left:50%;bottom:45%;transform:translateX(-50%);font-size:1.3rem;font-weight:1000;color:#fde68a;text-shadow:0 2px 5px #000;pointer-events:none;animation:pointsUp .65s ease-out forwards}.coach-message{position:fixed;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));z-index:15;transform:translateX(-50%);display:flex;align-items:center;gap:.5rem;max-width:calc(100% - 2rem);padding:.55rem .9rem;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(15,8,44,.88);box-shadow:0 8px 22px rgba(0,0,0,.3);font-weight:900;opacity:0;transition:opacity .2s ease}.coach-message.show{opacity:1}
.dialog-backdrop{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:1rem;background:rgba(4,2,17,.82);backdrop-filter:blur(8px)}.dialog-backdrop[hidden]{display:none}.game-dialog{width:min(100%,520px);max-height:calc(100vh - 2rem);overflow:auto;border:2px solid rgba(255,255,255,.35);border-radius:28px;background:linear-gradient(160deg,#fff,#ece9ff);color:#26134f;text-align:center;padding:clamp(1.25rem,4vw,2rem);box-shadow:0 24px 70px rgba(0,0,0,.55)}.dialog-icon{font-size:3.8rem}.game-dialog h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,5vw,2.5rem);margin:.25rem 0}.game-dialog p{color:#5f537a}.dialog-actions{display:grid;gap:.65rem;margin-top:1.2rem}.dialog-actions button,.dialog-actions a{display:block;border:0;border-radius:999px;padding:.82rem 1rem;text-decoration:none;font-weight:1000;cursor:pointer}.dialog-actions .primary{background:#6d28d9;color:#fff}.dialog-actions .secondary{background:#dbeafe;color:#173c6b}.dialog-actions .ghost{background:transparent;color:#4c1d95;border:2px solid #bcb2d4}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin:1rem 0}.stat{background:#e9e5ff;border-radius:15px;padding:.65rem}.stat span{display:block;color:#675a82;font-size:.72rem;text-transform:uppercase;font-weight:900}.stat strong{font-size:1.25rem}.how-list{text-align:left;padding-left:1.25rem}.how-list li{margin:.55rem 0}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes targetHover{from{margin-bottom:0}to{margin-bottom:6px}}@keyframes popHit{to{transform:translate(-50%,-28%) scale(1.25);opacity:0}}@keyframes pointsUp{to{transform:translate(-50%,-75px) scale(1.25);opacity:0}}@keyframes mistake{50%{filter:drop-shadow(0 0 18px #ef4444)}}@keyframes comboBeat{50%{transform:scale(1.08)}}
@media(max-width:760px){.screen{padding-top:max(4.6rem,calc(env(safe-area-inset-top) + 4.3rem))}.menu-screen{justify-content:flex-start}.mode-grid{grid-template-columns:1fr;max-width:430px}.mode-card{min-height:0;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon name" "icon copy" "action action";text-align:left;padding:1rem}.mode-card.featured,.mode-card.featured:hover,.mode-card.featured:focus-visible{transform:none}.mode-icon{grid-area:icon;align-self:center}.mode-name{grid-area:name}.mode-copy{grid-area:copy}.mode-action{grid-area:action;text-align:center}.mode-badge{right:1rem;left:auto}.keyboard-tip{display:none}.hud{grid-template-columns:1fr auto;gap:.45rem}.hud-primary{grid-column:1/2}.mission-status{grid-column:1/3;grid-row:2}.hud-actions{grid-column:2/3;grid-row:1}.hud-chip{min-width:62px;padding:.38rem .5rem}.hud-label{font-size:.54rem}.round-button{width:48px;height:48px}.game-board{height:calc(100vh - 220px);min-height:0;gap:.1rem;padding:0}.crater kbd{display:none}.hole{width:88%;height:22%}.target{width:68%}.coach-message{font-size:.82rem}}
@media(max-width:350px){.hud-primary,.hud-actions{gap:.3rem}.hud-chip{min-width:56px;padding:.32rem .3rem}.round-button{width:44px;height:44px}.lives-chip strong{font-size:.84rem;white-space:nowrap;letter-spacing:0}}
@media(max-height:690px) and (orientation:landscape){.play-screen{padding-top:4.1rem}.hud{grid-template-columns:1fr minmax(220px,1.2fr) auto}.mission-status{grid-column:auto;grid-row:auto}.hud-actions{grid-column:auto;grid-row:auto}.game-board{height:calc(100vh - 155px);min-height:0;max-width:780px}.coach-message{display:none}.menu-screen{justify-content:flex-start}.hero-mark{font-size:2.4rem}.hero-copy{margin:.2rem auto .6rem}.mode-card{min-height:150px;padding:.75rem}.mode-icon{font-size:1.8rem}.menu-tools{margin-top:.6rem}}
@media(prefers-contrast:more){.mode-card,.text-button,.hud-chip,.round-button,.game-dialog{border-width:3px;border-color:#fff}.progress-track{border-color:#fff}.crater.friend .target{outline:5px dashed #fff;outline-offset:3px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.mode-card:hover,.mode-card:focus-visible{transform:none}}
