:root{--milk:#FFF7EA;--ink:#2C2A55;--muted:#6B6A8C;--peach:#FF8F7A;--butter:#FFD66B;--line:rgba(44,42,85,.18);--shadow:rgba(44,42,85,.22);--err:#B3261E;--disp:'Fredoka','Trebuchet MS',sans-serif;--body:'Nunito',system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--milk:#2A2850;--ink:#FFF3E2;--muted:#B7B5D6;--line:rgba(255,243,226,.22);--shadow:rgba(0,0,0,.45);--err:#FF9C94;color-scheme:dark}}
:root[data-theme="dark"]{--milk:#2A2850;--ink:#FFF3E2;--muted:#B7B5D6;--line:rgba(255,243,226,.22);--shadow:rgba(0,0,0,.45);--err:#FF9C94;color-scheme:dark}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{background:linear-gradient(#BFE6F2 0,#BFE6F2 62%,#8FD18A 62%);background-attachment:fixed;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}
main{max-width:460px;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px calc(env(safe-area-inset-bottom,0px) + 28px)}
.brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);background:var(--milk);padding:5px 16px 5px 6px;border-radius:999px;box-shadow:0 3px 0 var(--shadow);font:700 18px var(--disp);margin-bottom:16px}
.brand svg{width:36px;height:36px}
.card{background:var(--milk);border-radius:22px;padding:22px 18px;box-shadow:0 5px 0 var(--shadow)}
h1{font:700 24px/1.15 var(--disp);margin:0 0 6px}
.sub{margin:0 0 16px;color:var(--muted);font-weight:700}
label{display:block;font-weight:800;font-size:14px;margin-bottom:12px}
input{display:block;width:100%;margin-top:5px;padding:12px 14px;font:600 16px var(--body);color:var(--ink);background:transparent;border:2px solid var(--line);border-radius:14px}
input:focus{outline:3px solid var(--peach);outline-offset:1px;border-color:transparent}
.msg{min-height:20px;margin:0 0 10px;color:var(--err);font-weight:800;font-size:14px}
.go{display:block;width:100%;text-align:center;text-decoration:none;border:0;cursor:pointer;padding:14px;border-radius:14px;background:var(--peach);color:#2C2A55;font:700 17px var(--disp);box-shadow:0 4px 0 var(--shadow)}
.go:disabled{opacity:.6;cursor:wait}
.go:focus-visible{outline:3px solid var(--butter);outline-offset:2px}
.alt{margin:14px 0 0;text-align:center;color:var(--muted);font-weight:700;font-size:13px}
.done{text-align:center}.done dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;text-align:left;background:var(--line);border-radius:14px;padding:14px;margin:0 0 16px}
.done dt{color:var(--muted);font-weight:700}.done dd{margin:0;font-weight:800;word-break:break-all}
.baby{font-size:72px;line-height:1;animation:pop .7s cubic-bezier(.2,1.6,.4,1) both}
@keyframes pop{from{transform:scale(0) rotate(-20deg)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.baby{animation:none}}
[hidden]{display:none!important}
.msg.ok{color:#1B7F5A}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .msg.ok{color:#7FE3B4}}
:root[data-theme="dark"] .msg.ok{color:#7FE3B4}
.alt a{color:var(--ink);font-weight:800}
