:root{color-scheme:dark;--bg:#070b10;--panel:#0b1118;--card:#101820;--line:#1f2a37;--text:#e5edf5;--muted:#94a3b8;--blue:#2563eb;--blue2:#1d4ed8;--danger:#fca5a5}*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}.login-body{min-height:100dvh;display:grid;place-items:center;padding:clamp(16px,4vw,32px)}.login-card{width:min(420px,92vw);padding:clamp(24px,5vw,34px);border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#111c27,#0d141d);box-shadow:0 24px 80px #0009}.login-card h1{margin:0 0 20px;font-size:clamp(26px,7vw,36px);letter-spacing:-.04em}input,button{width:100%;border-radius:14px;border:1px solid #2f3b49;background:#0b1118;color:var(--text);font-size:16px}input{margin:8px 0;padding:14px 15px;outline:none}input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #2563eb44}button{margin:8px 0;padding:12px 14px;background:var(--blue);border:0;font-weight:700;touch-action:manipulation}button:active{transform:translateY(1px);background:var(--blue2)}#error,#reauth-error,#change-password-error{color:var(--danger);min-height:1.4em}.terminal-body{height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:var(--bg)}.terminal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(8px + env(safe-area-inset-top)) 10px 8px;border-bottom:1px solid #162232;background:#081019cc;backdrop-filter:blur(10px)}.terminal-title{font:600 13px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.terminal-actions{display:flex;gap:8px;flex:0 0 auto}.terminal-actions button{width:auto;min-width:58px;margin:0;padding:8px 10px;border-radius:999px;background:#172033;color:#cbd5e1;font-size:13px}#terminal-shell{min-height:0;overflow:hidden;padding:6px 6px 0}#terminal{width:100%;height:100%;min-height:0}.xterm{height:100%;padding:2px 0}.xterm .xterm-viewport{background:transparent!important}.xterm .xterm-screen{max-width:100%}.keybar{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #162232;background:#0b1118}.keybar button{width:auto;min-width:74px;flex:0 0 auto;margin:0;padding:10px 12px;border-radius:13px;background:#172033;color:#dbeafe;font-size:14px}dialog{width:min(420px,92vw);border:1px solid #334155;border-radius:20px;background:#101820;color:var(--text);padding:0;box-shadow:0 24px 90px #000b}dialog::backdrop{background:#0009}.dialog-card{padding:20px}.dialog-card h2{margin:0 0 12px;font-size:20px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dialog-actions button:first-child{background:#243142;color:#d1d5db}@media (min-width:720px){.terminal-toolbar{padding-left:14px;padding-right:14px}.terminal-title{font-size:14px}.keybar{justify-content:center}.keybar button{min-width:88px}.terminal-actions button{min-width:70px}}@media (max-width:480px){.terminal-toolbar{padding-left:8px;padding-right:8px}.terminal-title{max-width:42vw}.terminal-actions button{min-width:52px;padding:8px 9px}.keybar button{min-width:68px;padding:10px 11px;font-size:13px}#terminal-shell{padding-left:4px;padding-right:4px}}@media (display-mode:standalone){.terminal-body{height:100dvh}}