@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito:wght@400;600;700;800&display=swap');
:root{
  --ink:#2f2348;--ink2:#5e5078;--paper:#fffaf3;--sky:#bfe6ff;--peach:#ffd9c7;--pink:#f7a8c8;--grass:#8fd694;--clay:#f2b8a0;--glow:#ffe08a;--lav:#b7b3d6;
  --line:rgba(47,35,72,.12);--card:#ffffff;--good:#4f9d63;--bad:#c4566a;--radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:Nunito,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
h1,h2,h3,.logo{font-family:Fredoka,Nunito,system-ui,sans-serif;letter-spacing:-.01em}
a{color:inherit}
.top{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px max(16px,env(safe-area-inset-left)) 12px max(16px,env(safe-area-inset-right));background:rgba(255,250,243,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:20px;text-decoration:none}
.logo i{display:inline-block;width:20px;height:20px;border-radius:5px;background:var(--grass);box-shadow:inset -4px -4px 0 rgba(0,0,0,.12),inset 3px 3px 0 rgba(255,255,255,.4)}
.links{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
#acct{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}
#acct:empty{display:none}
.links a,.links button.lk{font:inherit;font-weight:700;font-size:14px;text-decoration:none;padding:8px 12px;border-radius:12px;background:none;border:0;color:var(--ink);cursor:pointer}
.links a:hover,.links button.lk:hover{background:rgba(47,35,72,.06)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:800;font-size:16px;text-decoration:none;border:0;border-radius:16px;padding:13px 22px;cursor:pointer;transition:transform .15s,box-shadow .15s;line-height:1.1}
.btn:hover{transform:translateY(-2px)}
.btn:disabled{opacity:.55;cursor:default;transform:none}
.btn.primary{background:var(--ink);color:#fff;box-shadow:0 6px 0 #1b1430}
.btn.primary:active{transform:translateY(3px);box-shadow:0 3px 0 #1b1430}
.btn.soft{background:#fff;color:var(--ink);box-shadow:0 6px 0 rgba(47,35,72,.15)}
.btn.small{font-size:13px;padding:8px 12px;border-radius:12px;box-shadow:none}
.links .btn.small.primary{color:#fff;background:var(--ink)}
@media (max-width:640px){.links .hide-sm{display:none}.logo span{display:none}
 .links{flex-wrap:nowrap;gap:0}.links a,.links button.lk{padding:7px 7px;font-size:13px}.links .btn.small{padding:7px 10px;font-size:13px}#acct{gap:0}}
.field{display:block;margin:12px 0}
.field span{display:block;font-weight:700;font-size:14px;margin-bottom:6px}
.field input{width:100%;font:inherit;font-size:16px;padding:12px 14px;border-radius:12px;border:2px solid var(--line);background:#fff;color:var(--ink)}
.field input:focus{outline:none;border-color:var(--ink2)}
.msg{font-size:14px;border-radius:12px;padding:10px 12px;margin:10px 0;display:none}
.msg.show{display:block}.msg.err{background:#fde3e7;color:#8a2638}.msg.ok{background:#e1f4e5;color:#24603a}.msg.info{background:#efeafb;color:var(--ink2)}
.foot{text-align:center;color:var(--ink2);font-size:13px;padding:30px 16px 40px}
.notice{max-width:560px;margin:110px auto 30px;padding:22px;background:#fff;border-radius:var(--radius);border:2px dashed var(--line);line-height:1.6}
