:root { --page:#07111c; --card:#0d1a28; --text:#f5f7fb; --muted:#8ea3b8; --border:#203246; --primary:#f26461; --accent:#32c6a4; --danger:#ff7b7b; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; background:var(--page); color:var(--text); font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
main { max-width:560px; margin:0 auto; padding:48px 20px 40px; }
.brand { display:flex; align-items:center; gap:12px; margin-bottom:28px; }
.brand img { width:48px; height:48px; }
.brand span { font-size:22px; font-weight:800; letter-spacing:-0.4px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:18px; padding:24px; }
h1 { font-size:26px; margin:0 0 10px; letter-spacing:-0.5px; }
p { color:var(--muted); margin:0 0 14px; }
.ok { color:var(--accent); } .err { color:var(--danger); }
label { display:block; font-size:12px; font-weight:700; letter-spacing:1px; color:var(--muted); margin:16px 0 6px; text-transform:uppercase; }
input { width:100%; padding:12px 14px; border-radius:12px; border:1px solid var(--border); background:#0b1724; color:var(--text); font-size:16px; }
button, .button { display:inline-block; margin-top:20px; padding:12px 20px; border:0; border-radius:999px; background:var(--primary); color:#fff; font-weight:700; font-size:16px; text-decoration:none; cursor:pointer; }
button:disabled { opacity:.6; cursor:default; }
footer { margin-top:32px; font-size:13px; color:var(--muted); }
footer a, .doc a { color:var(--muted); }
.doc h2 { font-size:18px; margin:26px 0 8px; }
.doc p { color:#c7d3df; }
[hidden] { display:none !important; }
.hero { text-align:center; margin:8px 0 28px; }
.hero img { width:184px; height:184px; margin-bottom:-18px; filter:drop-shadow(0 10px 30px rgba(50,198,164,.25)); }
.hero-name { font-size:34px; font-weight:800; letter-spacing:-0.8px; margin-top:10px; }
.hero-slogan { color:var(--accent); font-size:17px; font-weight:600; margin-top:4px; }
#landing { text-align:center; }
#landing p { margin:0; }
.hero ~ footer, main > footer { text-align:center; }
