*,:before,:after{box-sizing:border-box}:root{--bg:#09090b;--surface:#131316;--surface-2:#1b1b20;--border:#2a2a32;--text:#fafafa;--text-muted:#a1a1aa;--accent:#7c3aed;--accent-hover:#6d28d9;--danger:#ef4444;--success:#22c55e;--radius:12px}html,body{min-height:100%;margin:0;padding:0}body{background:radial-gradient(1200px 600px at 50% -10%, #1e1b4b 0%, var(--bg) 55%) no-repeat, var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:15px;line-height:1.55}a{color:#a78bfa;text-decoration:none}a:hover{text-decoration:underline}.site-header{justify-content:space-between;align-items:center;gap:16px;max-width:960px;margin:0 auto;padding:20px 20px 0;display:flex}.brand{color:var(--text);letter-spacing:.02em;align-items:center;gap:10px;font-weight:700;display:inline-flex}.brand:hover{text-decoration:none}.brand-mark{background:linear-gradient(135deg,#8b5cf6,#4f46e5);border-radius:9px;place-items:center;width:32px;height:32px;font-size:15px;font-weight:800;display:inline-grid}.site-header nav{align-items:center;gap:16px;font-size:14px;display:flex}.site-main{max-width:960px;margin:0 auto;padding:32px 20px 64px}.site-footer{max-width:960px;color:var(--text-muted);margin:0 auto;padding:0 20px 48px;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;margin:48px auto 0;padding:28px;box-shadow:0 20px 60px #00000073}.card-wide{max-width:720px}.card h1{margin:0 0 6px;font-size:22px;line-height:1.25}.card .subtitle{color:var(--text-muted);margin:0 0 22px;font-size:14px}.field{margin-bottom:16px}.field label{color:var(--text-muted);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.field input[type=text],.field input[type=email],.field input[type=password]{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;outline:none;padding:11px 13px;font-size:15px;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed38}.field .hint{color:var(--text-muted);margin-top:6px;font-size:12px}.checkbox{color:var(--text-muted);align-items:flex-start;gap:9px;margin-bottom:18px;font-size:13px;display:flex}.checkbox input{accent-color:var(--accent);margin-top:3px}.btn{background:var(--accent);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:11px 16px;font-size:15px;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{border-color:var(--border);color:var(--text);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-ghost{border-color:var(--border);width:auto;color:var(--text-muted);background:0 0;padding:7px 12px;font-size:13px;font-weight:500}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.alert{border:1px solid #0000;border-radius:10px;margin-bottom:16px;padding:11px 13px;font-size:14px}.alert-error{color:#fca5a5;background:#ef44441f;border-color:#ef444459}.alert-success{color:#86efac;background:#22c55e1f;border-color:#22c55e59}.alert-info{color:#c4b5fd;background:#7c3aed24;border-color:#7c3aed59}.form-links{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:13.5px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:18px;padding:22px}.panel h2{margin:0 0 4px;font-size:17px}.panel .panel-note{color:var(--text-muted);margin:0 0 16px;font-size:13.5px}.kv{grid-template-columns:150px 1fr;gap:8px 16px;font-size:14px;display:grid}.kv dt{color:var(--text-muted)}.kv dd{word-break:break-word;margin:0}.session-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;font-size:13.5px;display:flex}.session-row:first-of-type{border-top:none}.session-meta{color:var(--text-muted);font-size:12.5px}.badge{color:#86efac;background:#22c55e29;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.stack{flex-direction:column;gap:10px;display:flex}.muted{color:var(--text-muted)}.center{text-align:center}
