:root{--bg: #0b111b;--surface: #141e2c;--surface-2: #1e2b3d;--surface-3: #27374d;--line: #2c3f5a;--text: #eaf6ff;--muted: #9ab4d0;--accent: #00e5ff;--accent-rgb: 0, 229, 255;--accent-dim: #0b7f94;--electric: #2f7bff;--electric-rgb: 47, 123, 255;--late: #ff3366;--late-rgb: 255, 51, 102;--season: #ffc24d;--season-rgb: 255, 194, 77;--ok: #2bffb8;--ok-rgb: 43, 255, 184;--glow: 0 0 16px rgba(var(--accent-rgb), .55);--glow-soft: 0 0 10px rgba(var(--accent-rgb), .28);--radius: 12px}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}h1{font-size:1.15rem;margin:0}.muted{color:var(--muted);font-size:.85rem;margin:2px 0 0}.login{display:grid;place-items:center;min-height:100dvh;padding:24px}.login-card{width:min(380px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:6px}.error{color:var(--late);font-size:.85rem;margin:4px 0 0}input{width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:10px 12px}input:focus{outline:2px solid var(--accent);outline-offset:1px}label{font-size:.8rem;color:var(--muted);margin-top:10px;display:block}button{margin-top:16px;background:var(--accent);border:0;border-radius:9px;padding:11px 16px;color:#06101f;font-weight:600;cursor:pointer}button:disabled{opacity:.6}button.google{background:#fff;color:#1f2430}button.google:before{content:"G";display:inline-block;margin-right:8px;font-weight:700;color:#4285f4}body{background-image:radial-gradient(900px 460px at 50% -10%,rgba(var(--accent-rgb),.12),transparent 70%),linear-gradient(rgba(var(--accent-rgb),.055) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--accent-rgb),.055) 1px,transparent 1px);background-size:100% 100%,44px 44px,44px 44px;background-attachment:fixed}.login-card{box-shadow:0 0 40px rgba(var(--accent-rgb),.16),inset 0 0 0 1px rgba(var(--accent-rgb),.1)}button{color:#041018;font-weight:700;box-shadow:0 0 14px rgba(var(--accent-rgb),.4)}button.google{background:#fff;color:#1f2430;box-shadow:none}input{background:var(--bg)}input:focus{border-color:var(--accent);box-shadow:var(--glow-soft)}.login-card>button:first-child{margin-top:0}
