:root { color-scheme:light dark; --bg:#f2f4f7; --card:#fff; --text:#1c2430; --muted:#5c6a7d; --border:#d7dee8; --accent:#1f6feb; --error:#b42318; --ok:#067647; }
@media(prefers-color-scheme:dark) { :root { --bg:#10151d; --card:#1a212c; --text:#e7ecf3; --muted:#acb8ca; --border:#39475b; --accent:#78acff; --error:#ff9c93; --ok:#70d7a6; } }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
body { margin:0; min-height:100vh; display:grid; place-items:center; padding:24px 16px; background:var(--bg); color:var(--text); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.card { width:100%; max-width:430px; padding:30px 28px; border:1px solid var(--border); border-radius:14px; background:var(--card); box-shadow:0 10px 34px #0002; }
.brand { font-size:24px; font-weight:700; text-align:center; }
h1 { font-size:21px; margin:24px 0 8px; }
p { color:var(--muted); line-height:1.5; font-size:14px; }
label { display:block; font-size:14px; font-weight:600; margin:16px 0 6px; }
input { width:100%; padding:11px 12px; border:1px solid var(--border); border-radius:9px; background:var(--bg); color:var(--text); font:inherit; }
input:focus-visible,button:focus-visible,a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
button { cursor:pointer; font:inherit; }
#submit { width:100%; margin-top:16px; padding:12px; border:0; border-radius:9px; background:#1f6feb; color:white; font-weight:700; }
button:disabled { opacity:.6; cursor:wait; }
a,.link { color:var(--accent); font-size:14px; }
.link { display:block; padding:0; border:0; background:none; margin:12px 0; text-decoration:underline; }
.show { display:flex; gap:8px; align-items:center; font-weight:400; }
.show input { width:18px; height:18px; }
.small { font-size:12px; }
#message { min-height:20px; overflow-wrap:anywhere; }
#message.error { color:var(--error); }
#message.ok { color:var(--ok); }
.languages { display:flex; justify-content:center; gap:12px; margin-top:24px; }
.languages button { background:none; border:0; color:var(--muted); padding:4px; font-size:12px; }
.languages button[aria-pressed=true] { color:var(--accent); font-weight:700; }
