:root {
  --bg:#0c111b; --panel:#141c29; --raised:#1b2636; --border:#2b394d;
  --text:#eaf0f8; --muted:#9cacbf; --blue:#81b7ff; --green:#7ed3ad; --red:#ff9f9f; --amber:#f1c473;
  font-family:"Segoe UI",system-ui,sans-serif; color:var(--text); background:var(--bg); line-height:1.45; font-synthesis:none;
}
*{box-sizing:border-box} [hidden]{display:none!important} body{margin:0;min-width:320px} button,input{font:inherit}
button{border:1px solid var(--border);border-radius:7px;background:var(--raised);color:var(--text);min-height:37px;padding:7px 13px;cursor:pointer;white-space:nowrap}
button:hover:not(:disabled){background:#28384d;border-color:#547293} button:disabled{opacity:.42;cursor:default}
button.primary{background:#9bc7ff;border-color:#9bc7ff;color:#09213f;font-weight:650} button.primary:hover:not(:disabled){background:#c0ddff}
button.danger{color:#ffe6e6;background:#672d39;border-color:#a54b5e;font-weight:650} button.danger:hover:not(:disabled){background:#873b4c;border-color:#d87584}
button:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.topbar{min-height:77px;padding:14px 23px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);background:#101722}
.brand{display:flex;align-items:center;gap:11px} .brand-mark{font-size:31px;color:var(--blue);line-height:1}
h1{font-size:18px;margin:0;font-weight:650;letter-spacing:-.2px}.brand p{margin:1px 0 0;color:var(--muted);font-size:12px}
.connection-pill,.mode-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid var(--border);border-radius:99px;font-size:12px;color:var(--muted)}
.status-dot{height:7px;width:7px;border-radius:50%;background:#78879b;flex-shrink:0}
.connection-pill[data-state="connected"]{color:var(--green);border-color:#365649}.connection-pill[data-state="connected"] .status-dot{background:var(--green)}
.connection-pill[data-state="connecting"],.connection-pill[data-state="waiting_for_authentication"]{color:var(--amber)}
.connection-pill[data-state="connecting"] .status-dot,.connection-pill[data-state="waiting_for_authentication"] .status-dot{background:var(--amber)}
.connection-pill[data-state="error"]{color:var(--red)}.connection-pill[data-state="error"] .status-dot{background:var(--red)}
.desktop-panel{padding:14px 20px 0}.toolbar,.toolbar-group{display:flex;align-items:center;gap:8px}
.toolbar{justify-content:space-between;flex-wrap:wrap;margin-bottom:12px;gap:10px}.toolbar-group{flex-wrap:wrap}
.mode-pill{border-color:transparent}.mode-pill[data-controlling="true"]{background:#163d31;border-color:#2d6652;color:#a2e2c5}
.notice,.error-notice{border:1px solid #615334;background:#29251b;color:#f7d595;border-radius:7px;margin-bottom:12px;padding:10px 13px;font-size:13px}
.error-notice{background:#301e29;border-color:#70414f;color:#ffb8c1}
.screen-shell{background:#05080d;border:1px solid var(--border);border-radius:9px;overflow:auto;min-height:min(56vh,480px);display:flex;align-items:center;justify-content:center}
.screen{position:relative;display:flex;min-height:min(56vh,480px);align-items:center;justify-content:center;width:100%;outline:none}
.screen[data-controlling="true"]:focus-visible{box-shadow:inset 0 0 0 2px var(--green)}
.screen[data-controlling="true"] #remote-image{cursor:default;touch-action:none}
#remote-image{display:block;max-width:100%;max-height:calc(100vh - 245px);width:auto;height:auto;user-select:none;-webkit-user-drag:none}
.screen-placeholder{text-align:center;max-width:540px;padding:56px 24px;color:var(--muted)}
.placeholder-icon{font-size:50px;color:#3a4e68}.screen-placeholder h2{font-size:17px;color:#b7c6d8;font-weight:550;margin:10px 0 7px}.screen-placeholder p{font-size:13px;margin:0}
.stale-badge{position:absolute;top:12px;left:12px;background:#382b18ed;color:#f3d29a;border:1px solid #6f5731;border-radius:5px;padding:5px 9px;font-size:12px;pointer-events:none}
.statusbar{display:flex;gap:12px 20px;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:10px 2px 2px;font-size:12px;color:var(--muted)}
#connection-detail{flex:1 1 240px;overflow-wrap:anywhere}.help-text{color:#798ba1;font-size:12px;margin:10px 0 16px}
kbd{font-family:inherit;border:1px solid var(--border);border-radius:3px;font-size:10px;padding:1px 4px;color:#aebed1}
.login-panel{display:grid;min-height:calc(100vh - 77px);place-items:start center;padding:10vh 20px 30px}
.login-card{width:min(100%,440px);border:1px solid var(--border);border-radius:13px;background:var(--panel);padding:31px;box-shadow:0 15px 60px #0003}
.eyebrow{color:var(--blue);font-size:10px;font-weight:650;letter-spacing:1.7px}.login-card h2{font-size:23px;font-weight:600;margin:11px 0 9px}.login-card p{color:var(--muted);font-size:14px}
#login-form{margin-top:25px;display:grid;gap:9px}#login-form label{font-size:13px;color:#c3d0e0}
#password{width:100%;background:#0c141f;border:1px solid #3a4b62;color:var(--text);border-radius:6px;padding:10px}
#login-button{margin-top:7px}.login-card p.subtle{font-size:12px;margin-top:23px}.login-card p.form-error{color:var(--red);font-size:13px}
.loading-panel{text-align:center;padding:15vh 20px;color:var(--muted)}
@media(max-width:760px){.topbar{padding:12px 14px;min-height:70px}.desktop-panel{padding:10px 10px 0}.toolbar{gap:9px}button{font-size:12px;padding:7px 10px}.mode-pill{font-size:11px}#remote-image{max-height:calc(100vh - 290px)}.statusbar{gap:5px 12px}.login-card{padding:24px}}
