@import url('theme.css');
body { min-height:100vh; }
.auth-shell { width:min(470px,calc(100% - 32px)); margin:0 auto; padding:40px 0 50px; }
.register-shell { width:min(820px,calc(100% - 32px)); }
.auth-brand { display:block; text-align:center; font-family:var(--font-head); font-weight:700; font-size:28px; color:var(--glow-strong); text-decoration:none; margin-bottom:22px; text-shadow:0 0 18px var(--glow-soft); }
.auth-card { padding:32px; }
.auth-card .kicker { text-align:center; margin-top:6px; }
h1 { color:var(--ink-light); font-size:30px; text-align:center; line-height:1.1; margin:0 0 22px; }
.intro { color:var(--ink-muted); text-align:center; margin:-8px auto 22px; max-width:600px; line-height:1.6; }
.secret-row { display:flex; gap:8px; } .secret-row input { flex:1; } .show-secret { padding:0 14px; font-size:12px; }
.submit-button { width:100%; margin-top:18px; padding:13px 20px; }
.auth-status { min-height:22px; margin-top:14px; font-size:13px; font-weight:600; text-align:center; }
.auth-status.error { color:var(--danger); } .auth-status.success { color:var(--ok); }
.switch-auth { text-align:center; color:var(--ink-muted); font-size:13px; margin:22px 0 0; } .switch-auth a { color:var(--glow); font-weight:600; }
.privacy-note { text-align:center; color:var(--ink-dim); font-size:12px; line-height:1.5; font-family:var(--font-mono); }
.form-grid { display:grid; grid-template-columns:2fr 1fr; gap:18px; } .form-grid + .form-grid { grid-template-columns:1fr 1fr; }
fieldset { border:0; padding:0; margin:22px 0; }
.avatar-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; } .avatar-grid label { margin:0; }
.avatar-grid input { position:absolute; opacity:0; }
.avatar-grid span { display:flex; flex-direction:column; align-items:center; gap:4px; padding:10px 4px; font-size:26px; border:1px solid var(--hall-300); background:var(--hall-900); border-radius:6px; cursor:pointer; }
.avatar-grid small { font:500 10px var(--font-mono); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); }
.avatar-grid input:checked + span { border-color:var(--glow); box-shadow:0 0 14px var(--glow-soft); }
.avatar-grid input:focus-visible + span { outline:2px solid var(--aurora-cyan); }
.consent-row, .form .consent-row { display:flex; gap:10px; align-items:flex-start; font-weight:400; line-height:1.5; padding:14px; border-radius:6px; background:var(--hall-900); border:1px solid var(--hall-300); color:var(--ink-muted); font-size:13.5px; text-transform:none; letter-spacing:0; font-family:var(--font-body); margin-top:18px; }
.consent-row strong { color:var(--ink-light); }
.consent-row input { margin-top:4px; flex:0 0 auto; }
@media(max-width:650px){ .auth-card{padding:22px} .form-grid,.form-grid + .form-grid{grid-template-columns:1fr;gap:0} .avatar-grid{grid-template-columns:repeat(4,1fr)} h1{font-size:26px} }

/* ---------- brama cybermagiczna ---------- */
body { position:relative; overflow-x:hidden; }
body > .aurora { position:fixed; height:50%; opacity:.22; }
body > .stardust { position:fixed; }
.auth-shell { position:relative; z-index:1; }
.auth-brand { display:flex; flex-direction:column; align-items:center; gap:10px; }
.auth-brand .holo-text { text-shadow:none; }
.gate { position:relative; display:grid; place-items:center; width:120px; height:120px; border-radius:50%; background:radial-gradient(circle, rgba(255,180,90,.25), rgba(155,108,255,.14) 55%, transparent 72%); }
.gate img { position:relative; width:76%; height:auto; filter:drop-shadow(0 8px 14px rgba(0,0,0,.6)); }
.auth-card { border-radius:12px; }
.avatar-grid span { transition:transform .15s, border-color .15s, box-shadow .15s; }
.avatar-grid label:hover span { transform:translateY(-2px); border-color:var(--aurora-violet); }
.avatar-grid input:checked + span { background:radial-gradient(circle at 50% 30%, rgba(255,180,90,.18), var(--hall-900) 70%); transform:translateY(-2px); }
.pin-runes { display:flex; gap:6px; margin-top:8px; }
.pin-runes i { flex:1; height:4px; border-radius:2px; background:var(--hall-300); transition:background .2s, box-shadow .2s; }
.pin-runes i.lit { background:var(--mana); box-shadow:0 0 8px var(--mana); }
.pin-runes.done i { background:var(--ok); box-shadow:0 0 8px var(--ok); }
.consent-row { border-left:3px solid var(--aurora-violet); }
