*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;background:#000008;color:#fff;font-family:Courier New,Courier,monospace}.starfield{position:relative;width:100vw;height:100vh;overflow:hidden;background:radial-gradient(ellipse at 50% 80%,#0a0a1a,#000008)}.starfield-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.stars-layer{position:absolute;top:0;right:0;bottom:0;left:0}.scan-button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:transparent;border:1px solid rgba(255,255,255,.18);color:#ffffffb3;font-family:inherit;font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;padding:.75rem 1.5rem;cursor:pointer;transition:border-color .3s,color .3s,box-shadow .3s;z-index:10}.scan-button:hover{border-color:#ffffff80;color:#fffffff2;box-shadow:0 0 12px #ffffff14}.scan-button:disabled{opacity:.4;cursor:not-allowed}.settings-toggle{position:absolute;bottom:1.25rem;right:1.25rem;background:transparent;border:1px solid rgba(255,255,255,.15);color:#fff6;font-family:inherit;font-size:.65rem;letter-spacing:.15em;padding:.4rem .8rem;cursor:pointer;z-index:10;transition:color .2s,border-color .2s}.settings-toggle:hover{color:#ffffffb3;border-color:#ffffff4d}.settings-panel{position:absolute;bottom:3.5rem;right:1.25rem;background:#040412eb;border:1px solid rgba(255,255,255,.12);padding:1rem;z-index:20;display:flex;flex-direction:column;gap:.6rem;min-width:160px}.settings-panel button{background:transparent;border:1px solid rgba(255,255,255,.12);color:#fff9;font-family:inherit;font-size:.65rem;letter-spacing:.12em;padding:.4rem .6rem;cursor:pointer;text-align:left;transition:color .2s,border-color .2s}.settings-panel button:hover{color:#ffffffe6;border-color:#ffffff4d}.settings-uuid{font-size:.55rem;color:#ffffff40;letter-spacing:.06em;padding:0 .2rem;word-break:break-all}.star-infobox{position:absolute;background:#040412f0;border:1px solid rgba(255,255,255,.14);padding:.75rem 1rem;z-index:30;min-width:160px;pointer-events:none;font-size:.65rem;line-height:1.7;letter-spacing:.06em}.star-infobox .visual-id{font-size:.7rem;font-weight:700;color:#ffffffe6;letter-spacing:.12em}.star-infobox .difficulty-label{color:#fff9}.star-infobox .status-label{color:#ffffff80}.star-infobox .divider{border:none;border-top:1px solid rgba(255,255,255,.1);margin:.4rem 0}.star-infobox .stat{color:#ffffff73}.star-group{cursor:pointer;transition:opacity .3s}.star-group:hover polygon,.star-group:hover path{opacity:.9}.star-undiscovered polygon,.star-undiscovered path{opacity:.35;filter:none}.star-discovered polygon,.star-discovered path{opacity:.85}.star-solved polygon,.star-solved path{opacity:1}@keyframes star-sway{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes gentle-pulse{0%,to{opacity:.75}50%{opacity:1}}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes pulse-strong{0%,to{opacity:.6;filter:blur(0px)}50%{opacity:1;filter:blur(.5px)}}@keyframes unstable-pulse{0%{opacity:.5}30%{opacity:1}60%{opacity:.7}80%{opacity:.9}to{opacity:.5}}@keyframes flicker{0%,19%,21%,23%,25%,54%,56%,to{opacity:.8}20%,24%,55%{opacity:.2}}@keyframes prismatic-color{0%{fill:#00e5ff;stroke:#00e5ff}50%{fill:#ff4081;stroke:#ff4081}to{fill:#00e5ff;stroke:#00e5ff}}@keyframes shattered-bw{0%{fill:#fff;stroke:#ffffff80}50%{fill:#111;stroke:#50505080}to{fill:#fff;stroke:#ffffff80}}@keyframes anomalous-color{0%,2%,10%,34%,42%,67%,75%,to{fill:#fff}3%,9%{fill:#f33}35%,41%{fill:#39f}68%,74%{fill:#3f9}}@keyframes anomalous-ripple{0%,2.9%,10.1%,34.9%,43.1%,67.9%,76.1%,to{transform:scale(0);opacity:0}3%{transform:scale(.15);opacity:.6;fill:#f33}10%{transform:scale(1.2);opacity:0;fill:#f33}35%{transform:scale(.15);opacity:.6;fill:#39f}43%{transform:scale(1.2);opacity:0;fill:#39f}68%{transform:scale(.15);opacity:.6;fill:#3f9}76%{transform:scale(1.2);opacity:0;fill:#3f9}}@keyframes sovereign-hue{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}@keyframes sovereign-halo-t{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-2.5px);opacity:.7}}@keyframes sovereign-halo-b{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(2.5px);opacity:.7}}@keyframes transcendent-hue{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}@keyframes transcendent-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes transcendent-flash{0%,34%,to{opacity:0}17%{opacity:.85}}@keyframes fall-orb{0%{transform:translateY(var(--fall-start));opacity:0}8%{opacity:.9}92%{opacity:.9}to{transform:translateY(var(--fall-end));opacity:0}}@keyframes abyssal-fade{0%,to{fill:#000;stroke:#000}8%{fill:#ef5350;stroke:#ef5350}18%{fill:#000;stroke:#000}}@keyframes abyssal-ring{0%{transform:scale(1);opacity:.7}to{transform:scale(3.5);opacity:0}}@keyframes null-vortex{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes abyssal-jitter{0%{transform:translate(0);animation-timing-function:step-end}14%{transform:translate(-1.5px,.7px);animation-timing-function:step-end}28%{transform:translate(1.2px,-1px);animation-timing-function:step-end}43%{transform:translate(-.8px,1.5px);animation-timing-function:step-end}57%{transform:translate(1.5px,.3px);animation-timing-function:step-end}71%{transform:translate(-.6px,-1.2px);animation-timing-function:step-end}85%{transform:translate(1px,.8px);animation-timing-function:step-end}to{transform:translate(0)}}@keyframes null-jitter{0%{transform:translate(0);animation-timing-function:step-end}12%{transform:translate(-3px,1.5px);animation-timing-function:step-end}25%{transform:translate(2.5px,-2.5px);animation-timing-function:step-end}37%{transform:translate(-2px,3px);animation-timing-function:step-end}50%{transform:translate(3px,.5px);animation-timing-function:step-end}62%{transform:translate(-1.5px,-2.5px);animation-timing-function:step-end}75%{transform:translate(2px,2px);animation-timing-function:step-end}87%{transform:translate(-2.5px,1px);animation-timing-function:step-end}to{transform:translate(0)}}@keyframes null-color{0%,4%,33%,37%,66%,70%,to{fill:transparent}2%{fill:#f33}35%{fill:#39f}68%{fill:#3f9}}.challenge-wrapper{width:100vw;height:100vh;overflow:auto;position:relative;background:#fff;color:#000;font-family:sans-serif}.challenge-visual-id{position:fixed;bottom:.5rem;right:.75rem;font-family:monospace;font-size:.6rem;color:#00000040;pointer-events:none;z-index:9999}.loading-screen{display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;background:#000008;color:#ffffff4d;font-size:.7rem;letter-spacing:.2em}
