:root{--bg-0:#07090e;--bg-1:#0a0d14;--border:#1f2531;--border-hi:#2a3142;--text-0:#f2f5fa;--text-1:#e8edf5;--text-2:#a9b2c3;--text-3:#6e778a;--text-4:#4a5264;--brand-2:#4f6ef7;--ok:#3fb77d;--warn:#e5a84a;--crit:#e5685a;--f-sans:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--auth-term-grad:linear-gradient(180deg, #0f1218 0%, #0a0d14 100%);--auth-term-bar-grad:linear-gradient(180deg, #151a24 0%, #10141c 100%);--auth-term-shadow:0 1px 0 #ffffff0a inset, 0 30px 80px -20px #000000b3;--auth-input-bg:#00000040;--auth-input-border:#ffffff0f;--auth-tab-bg:#ffffff0a;--auth-sep:#ffffff0f}[data-theme=light]{--bg-0:#f4f6fa;--bg-1:#eef1f7;--border:#e4e8f0;--border-hi:#d5dbe6;--text-0:#0b1220;--text-1:#1a2235;--text-2:#49526a;--text-3:#747d93;--text-4:#9aa3b6;--auth-term-grad:linear-gradient(180deg, #fff 0%, #f7f9fc 100%);--auth-term-bar-grad:linear-gradient(180deg, #f4f6fa 0%, #eef1f7 100%);--auth-term-shadow:0 30px 80px -20px #0a14282e;--auth-input-bg:#0a142806;--auth-input-border:#0a14281a;--auth-tab-bg:#0a14280d;--auth-sep:#0a142814}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(ellipse at top, #4f6ef714, transparent 60%), var(--bg-0);color:var(--text-1);font-family:var(--f-sans);-webkit-font-smoothing:antialiased}button,input{color:inherit;font-family:inherit}.page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.card{width:100%;max-width:460px}.logo{justify-content:center;align-items:center;gap:10px;margin-bottom:20px;display:flex}.logo img{width:50px;height:50px;display:block}.logo-text{letter-spacing:.28em;text-transform:uppercase;color:var(--text-0);font-size:13.5px;font-weight:600}.term{background:var(--auth-term-grad);border:1px solid var(--border-hi);box-shadow:var(--auth-term-shadow);border-radius:10px;overflow:hidden}.term-bar{background:var(--auth-term-bar-grad);border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:32px;padding:9px 12px;display:flex}.dots{gap:6px;display:flex}.dot{border-radius:50%;width:11px;height:11px}.dot.r{background:var(--crit)}.dot.y{background:var(--warn)}.dot.g{background:var(--ok)}.tab{font-family:var(--f-mono);color:var(--text-0);background:var(--auth-tab-bg);border-radius:5px;padding:4px 12px;font-size:13px}.tab .x{color:var(--text-3);margin-left:8px}.term-body{font-family:var(--f-mono);color:var(--text-2);padding:22px 26px 26px;font-size:13.5px;line-height:1.75}.prompt{color:var(--ok)}.prompt .pwd{color:var(--text-3);margin-right:6px}.cmd{color:var(--text-0)}.flag{color:var(--brand-2)}.dim{color:var(--text-3)}.sep{background:var(--auth-sep);height:1px;margin:12px 0 14px}.form{flex-direction:column;gap:10px;display:flex}.field{flex-direction:column;gap:2px;display:flex}.label{color:var(--text-3);font-size:13px}.label .v{color:var(--text-4)}.row{background:var(--auth-input-bg);border:1px solid var(--auth-input-border);border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.row:focus-within{border-color:#4f6ef773}.chev{color:var(--ok);-webkit-user-select:none;user-select:none;flex-shrink:0}.row input{font-family:var(--f-mono);color:var(--text-0);background:0 0;border:0;outline:0;flex:1;min-width:0;padding:0;font-size:13.5px}.row input::placeholder{color:var(--text-4)}.err{color:var(--crit);font-size:13px}.submit{width:100%;color:var(--text-0);font-family:var(--f-mono);cursor:pointer;background:#4f6ef714;border:1px solid #4f6ef759;border-radius:6px;justify-content:center;align-items:center;margin-top:14px;padding:10px 14px;font-size:13.5px;display:inline-flex}.submit:hover:not(:disabled){background:#4f6ef724}.submit:disabled{opacity:.55;cursor:not-allowed}.foot{color:var(--text-3);margin-top:14px;font-size:13px}.foot a,.foot button.link{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.theme-toggle{border:1px solid var(--border);width:32px;height:32px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:8px;position:fixed;top:18px;right:18px}.handoff{text-align:center;color:var(--text-0);font-family:var(--f-sans);padding:12px 0 4px;font-size:16px;font-weight:600}.handoff-sub{text-align:center;color:var(--text-3);margin-top:6px;font-size:13px}
