:root{--wave:#0B7F8F;--wave2:#075E6B;--ink:#0D1B2A;--slate:#4B5D6B;--line:#D5E2E5;--paper:#fff;--bg:#EAF4F6;--sun:#FFB020;--bad:#D6404A;--ok:#1E9E6A;--card:#fff}
@media(prefers-color-scheme:dark){:root{--wave:#2FB4C4;--wave2:#7ED3DD;--ink:#EAF2F4;--slate:#9FB2BC;--line:#1F3A46;--paper:#0A1722;--bg:#06111C;--card:#0C1E2B}}
*{box-sizing:border-box}html{background:var(--bg)}
body{min-height:100vh;margin:0;font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:radial-gradient(900px 480px at 80% -10%,rgba(11,127,143,.22),transparent),var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px}
.logo{height:40px;margin:0 0 22px}.on-dark{display:none}
@media(prefers-color-scheme:dark){.on-dark{display:block}.on-light{display:none}}
.card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 18px 50px rgba(6,17,28,.12)}
.card.wide{max-width:560px}
h1{font-size:1.35rem;margin:0 0 4px}.sub{margin:0 0 20px;color:var(--slate);font-size:.95rem}
label{display:block;font-size:.88rem;font-weight:600;margin:0 0 14px}
input,textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font:inherit}
input:focus,textarea:focus{outline:none;border-color:var(--wave);box-shadow:0 0 0 3px rgba(11,127,143,.25)}
.btn{display:block;width:100%;padding:12px 16px;border-radius:10px;border:1.5px solid var(--wave);background:var(--wave);color:#fff;font:inherit;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}
@media(prefers-color-scheme:dark){.btn{color:#06111C}}
.btn:hover{background:var(--wave2);border-color:var(--wave2)}.btn:disabled{opacity:.6;cursor:wait}
.btn.line{background:transparent;color:var(--wave)}.btn.line:hover{background:rgba(11,127,143,.12)}
.or{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--slate);font-size:.85rem}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}
.err{color:var(--bad);min-height:1.2em;margin:0 0 12px;font-size:.9rem}.ok{color:var(--ok)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.grid .full{grid-column:1/-1}
@media(max-width:560px){.grid{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
[hidden]{display:none!important}
.foot{margin-top:22px;font-size:.82rem;color:var(--slate);text-align:center}.foot a{color:var(--slate)}
.back{display:inline-block;margin-bottom:14px;font-size:.9rem;color:var(--wave);text-decoration:none}
.done h2{margin:0 0 6px}
