[hidden]{display:none!important}
:root{--bg:#FFF4E6;--card:#fff;--ink:#2B2D42;--mut:#5C5F7A;--line:#E8DCCB;--coral:#FF5D73;--coral-d:#D9435A;--ok:#2F8A63;--bad:#C0392B;--sh:0 3px 0 rgba(43,45,66,.08)}
@media (prefers-color-scheme:dark){:root{--bg:#1E1F2E;--card:#2A2C40;--ink:#F4F1EC;--mut:#B6B8CF;--line:#3B3E57;--ok:#5FCB97;--bad:#FF8A80;--sh:0 3px 0 rgba(0,0,0,.25)}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:16px/1.5 'Nunito','Segoe UI',system-ui,sans-serif;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:40px 16px}
.box{width:100%;max-width:440px;background:var(--card);border-radius:24px;box-shadow:var(--sh);padding:28px 26px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:600 28px 'Fredoka','Nunito',sans-serif;margin-bottom:18px}
.logo svg{width:38px;height:38px}
h1{font-size:22px;font-weight:900;margin:0 0 6px}
p{margin:6px 0}
.mut{color:var(--mut);font-size:14px}
label{display:block;font-weight:800;font-size:14px;margin:14px 0 4px}
input{width:100%;font:inherit;padding:11px 13px;border-radius:12px;border:2px solid var(--line);background:var(--bg);color:var(--ink)}
input:focus{outline:none;border-color:var(--coral)}
button,.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:18px;padding:13px 20px;border-radius:999px;border:0;font:900 16px 'Nunito',sans-serif;cursor:pointer;text-decoration:none;background:var(--coral);color:#fff;box-shadow:0 4px 0 var(--coral-d)}
button:disabled{opacity:.55;cursor:default}
.btn.sec,button.sec{background:transparent;color:var(--ink);border:2px solid var(--line);box-shadow:none}
.jn{background:#1d2321;color:#fff;box-shadow:0 4px 0 #000}
.tabs{display:flex;gap:6px;margin:4px 0 6px;background:var(--bg);border-radius:999px;padding:4px}
.tabs button{margin:0;padding:8px 10px;box-shadow:none;background:transparent;color:var(--mut);font-size:14px}
.tabs button.on{background:var(--card);color:var(--ink)}
.or{display:flex;align-items:center;gap:10px;color:var(--mut);font-size:13px;margin:18px 0 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.msg{min-height:1.2em;margin-top:12px;font-weight:700;font-size:14px}
.msg.ok{color:var(--ok)}.msg.bad{color:var(--bad)}
.link{background:none;border:0;box-shadow:none;color:var(--mut);text-decoration:underline;padding:0;margin-top:12px;width:auto;font-weight:700;font-size:14px}
.note{background:var(--bg);border-radius:14px;padding:12px 14px;font-size:14px;margin-top:12px}
footer{margin-top:22px;font-size:13px;color:var(--mut)}
footer a{color:inherit}
.note .link{margin:0}
