:root{--bg:#14131a;--panel:#1d1c26;--panel-2:#262533;--line:#34323f;--text:#ece9f1;--muted:#9b97ab;--accent:#7c5cff;--accent-2:#b8860b;--danger:#d9534f;--ok:#3fae6a}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}.muted{color:var(--muted)}.small{font-size:12px}.spacer{flex:1}.app-shell{flex-direction:column;min-height:100%;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 20px;display:flex}.brand{letter-spacing:.5px;color:var(--accent-2);font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:700}.badge{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:11px}.nav{gap:6px;display:flex}.nav-link{color:var(--muted);border-radius:8px;padding:6px 12px;font-weight:600}.nav-link:hover,.nav-link.active{color:var(--text);background:var(--panel-2)}.content{flex:1;width:100%;max-width:860px;margin:0 auto;padding:40px 20px}.footer{border-top:1px solid var(--line);background:var(--panel);padding:16px 20px}.hero{flex-direction:column;gap:16px;padding:32px 0;display:flex}.hero-title{margin:0;font-size:44px}.hero-lead{max-width:640px;font-size:18px;line-height:1.6}.hero-actions{gap:12px;margin-top:8px;display:flex}.btn{background:var(--panel-2);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:0 0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px}.kv{grid-template-columns:140px 1fr;gap:8px 16px;margin:16px 0 0;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600}.alert{color:#f3c0bf;background:#3a1f22;border:1px solid #5a2b2b;border-radius:10px;padding:12px 14px;font-size:13px}.btn.small{padding:6px 12px;font-size:12px}.btn.danger{color:var(--danger);background:0 0;border-color:#5a2b2b}.btn.danger:hover{border-color:var(--danger)}.btn:disabled{opacity:.6;cursor:default}.centered{min-height:60vh;color:var(--muted);place-items:center;display:grid}.center{text-align:center}.stack{flex-direction:column;gap:20px;display:flex}.page-head h1{margin:0 0 4px}.page-head p{margin:0}label{color:var(--muted);margin-top:10px;font-size:12px;display:block}label.checkbox{color:var(--text);align-items:center;gap:8px;margin-top:14px;font-size:13px;display:flex}label.checkbox input{width:auto}input[type=text],input[type=email],input[type=password],input:not([type]){background:var(--panel-2);border:1px solid var(--line);width:100%;color:var(--text);border-radius:8px;margin-top:4px;padding:10px 12px;font-size:14px}input:focus{border-color:var(--accent);outline:none}.hint{color:var(--muted);margin:6px 0 0;font-size:12px}.form-row{align-items:stretch;gap:10px;display:flex}.form-row input{flex:1}.auth-wrap{place-items:center;padding:24px 0;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:4px;width:100%;max-width:400px;padding:28px;display:flex}.auth-title{margin:0 0 12px;font-size:24px}.auth-card .btn{margin-top:18px}.auth-links{justify-content:space-between;margin-top:14px;font-size:13px;display:flex}.auth-links a{color:var(--accent)}.notice{border-radius:10px;margin-top:12px;padding:10px 12px;font-size:13px}.notice.err{color:#f3c0bf;background:#3a1f22;border:1px solid #5a2b2b}.notice.ok{color:#bcf0cf;background:#1f3a2a;border:1px solid #2b5a3a}.pill{text-transform:uppercase;letter-spacing:.5px;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px}.pill.ok{color:#bcf0cf;background:#1f3a2a}.pill.warn{color:#f0e2bc;background:#3a331f}.session-list{flex-direction:column;gap:10px;display:flex}.session-row{background:var(--panel);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.session-title{align-items:center;font-weight:600;display:flex}
