:root{--bg:#faf9f5;--paper:#fff;--ink:#283c3a;--muted:#687b77;--stroke:#dae8df;--accent:#397b67;--tint:#dcefe6;--peach:#fae5da;--lilac:#ebe5f8}html[data-theme=dark]{--bg:#18212a;--paper:#26343e;--ink:#eaf3f0;--muted:#b4c6c9;--stroke:#42545a;--accent:#aadfc7;--tint:#28493f;--peach:#584844;--lilac:#494358;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 Inter,system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}.wrap{max-width:1080px;margin:auto;padding:0 22px}.header{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px;gap:18px}.brand{display:flex;align-items:center;gap:12px;font-weight:750}.brand img{width:47px;height:47px}.nav{display:flex;align-items:center;gap:20px}.nav a:hover{color:var(--accent)}button,.button{border:0;cursor:pointer;padding:12px 18px;border-radius:12px;background:var(--accent);color:var(--bg);font:inherit;font-weight:700;display:inline-block}button.secondary,.button.secondary{background:var(--tint);color:var(--ink)}.theme{padding:8px 12px}.page{padding:60px 22px 100px}.intro{text-align:center;margin-bottom:32px}.intro h1{font-size:clamp(32px,5vw,54px);line-height:1.12;letter-spacing:-.055em;margin:8px}.muted{color:var(--muted)}.card{background:var(--paper);border:1px solid var(--stroke);border-radius:20px;padding:28px;box-shadow:0 14px 32px #243c3310}.auth{max-width:490px;margin:auto}.tabs{display:flex;gap:8px;margin:0 0 24px;flex-wrap:wrap}.tabs button{background:var(--tint);color:var(--ink);padding:9px 13px;font-size:13px}.tabs button[aria-selected=true]{background:var(--accent);color:var(--bg)}.form{display:grid;gap:15px}.form label{display:grid;gap:5px;font-size:14px;font-weight:600}.field{background:var(--paper);color:var(--ink);width:100%;border:1px solid var(--stroke);border-radius:10px;padding:12px;font:inherit}.hint{font-size:12px;color:var(--muted)}.status{margin-top:16px;min-height:24px;white-space:pre-wrap}.hide{display:none!important}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.game{display:flex;flex-direction:column;gap:8px;min-height:220px}.game h2{font-size:22px;letter-spacing:-.03em;margin:0}.cover{height:165px;border-radius:12px;background:linear-gradient(120deg,var(--tint),var(--lilac));display:grid;place-items:center;font-size:45px;overflow:hidden}.cover img{height:100%;width:100%;object-fit:cover}.pill{border-radius:99px;background:var(--peach);font-size:12px;padding:5px 10px;width:max-content}.bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:28px}.admin{margin-top:40px}.foot{border-top:1px solid var(--stroke);padding:20px 0;font-size:13px;color:var(--muted)}@media(max-width:750px){.grid{grid-template-columns:repeat(2,1fr)}.header{flex-wrap:wrap}.nav{gap:11px;font-size:13px}}@media(max-width:520px){.grid{grid-template-columns:1fr}.page{padding-top:30px}.card{padding:20px}}
/* Separate authentication pages and accessible modal feedback */
.switch-auth{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--stroke);text-align:center;color:var(--muted);font-size:14px}.switch-auth a,.plain-link{color:var(--accent);font-weight:750;text-decoration:underline;text-underline-offset:3px}.notice-overlay{position:fixed;inset:0;display:grid;place-items:center;padding:18px;background:#1426288f;backdrop-filter:blur(10px);z-index:1000}.notice-body{width:min(92vw,440px);padding:30px;border:1px solid var(--stroke);border-radius:28px;background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--paper) 84%, var(--tint)));color:var(--ink);box-shadow:0 28px 90px #071b2248;text-align:center}.notice-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:20px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 60%, white));color:var(--bg);font-size:30px;font-weight:900}.notice-body h2{margin:0 0 10px;font-size:25px;letter-spacing:-.03em}.notice-body p{color:var(--muted);overflow-wrap:anywhere;margin:0}.notice-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px}.notice-actions .button,.notice-actions button{min-width:134px}.modal-open{overflow:hidden}button:disabled{cursor:wait;opacity:.65}

/* V3: concise account pill and an accessible, reduced-motion-aware error animation. */
.header-account,.nav-user{display:inline-flex;align-items:center;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;gap:6px;padding:7px 12px;border-radius:999px;background:var(--tint);color:var(--ink);font-size:13px;font-weight:700}
.signup-error{margin:0;padding:12px 14px;background:#fff0f0;border:1px solid #f4b6b6;border-radius:12px;color:#ab2634;font-size:14px;font-weight:650}html[data-theme=dark] .signup-error{background:#482b32;border-color:#9a4752;color:#ffd0d5}
@keyframes formShake{0%,100%{transform:translateX(0)}15%,45%,75%{transform:translateX(-5px)}30%,60%,90%{transform:translateX(5px)}}
.form-shake{animation:formShake 360ms ease-in-out}
@media(prefers-reduced-motion:reduce){.form-shake{animation:none}.signup-error{outline:2px solid #d24551}}

/* V4 auth feedback */
.signup-error{background:color-mix(in srgb,#d24854 9%,var(--paper));color:#b52a3a;border:1px solid #d97983;border-radius:12px;padding:13px 15px;font-size:14px;font-weight:700;line-height:1.5}
html[data-theme=dark] .signup-error{color:#ff9fa6;background:#3c2933}
@keyframes auth-shake{0%,100%{transform:translateX(0)}15%,45%,75%{transform:translateX(-7px)}30%,60%,90%{transform:translateX(7px)}}
.form-shake{animation:auth-shake .42s ease-in-out}
@media(prefers-reduced-motion:reduce){.form-shake{animation:none}}

.success-status{color:var(--accent);font-weight:700}

.captcha-wrap{min-height:64px;display:flex;justify-content:center;align-items:center}
