@import url('https://fonts.googleapis.com/css2?family=Russo+One&display=swap');
:root{--ink:#06122b;--deep:#0a1c40;--panel:#102a5c;--line:#20417f;--blue:#2f7bff;--sky:#7fb4ff;--ice:#e4efff;--muted:#9db6dd;--mint:#3de8b4;--coral:#ff6b7a;--display:'Russo One','Bahnschrift','Segoe UI',sans-serif;--body:'Bahnschrift','Segoe UI Variable Text','Segoe UI',system-ui,sans-serif}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;background:var(--ink);color:var(--ice);font:400 15px/1.45 var(--body);font-variant-numeric:tabular-nums}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;line-height:1.15}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
.btn{background:var(--blue);color:#fff;border-radius:8px;padding:9px 16px;font-weight:600}
.btn:hover{background:#4a8dff}.btn:disabled{opacity:.5;cursor:default}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ice)}.btn.ghost:hover{border-color:var(--sky)}
.btn.danger{background:transparent;border:1px solid var(--coral);color:var(--coral)}
.btn.sm{padding:5px 10px;font-size:13px}
input,select{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px 11px;width:100%}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}label input,label select{margin-top:4px;color:var(--ice);font-size:15px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ice);color:var(--ink);padding:11px 18px;border-radius:8px;font-weight:600;z-index:50;max-width:min(90vw,560px)}
.toast.err{background:var(--coral);color:#2a0509}
.err-text{color:var(--coral);min-height:22px;font-size:14px}
.egg .ring.done{animation:hue 4s linear infinite}
@keyframes hue{to{filter:hue-rotate(360deg)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
