
.login-body {
  --bg:#161821; --title:#0e1015; --panel:#1e2132; --input:#0f1117;
  --text:#c6c8d1; --muted:#6b7089; --line:#242940;
  --button:#c6c8d1; --button-text:#161821; --hover:#d2d4de; --link:#84a0c6; --danger:#e27878;
  min-height:100vh; margin:0; display:grid; place-items:center;
  background:var(--bg); color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;
}
.cursor-window { width:min(440px, calc(100vw - 32px)); background:var(--panel); border:1px solid var(--title); border-radius:10px; overflow:hidden; box-shadow:0 18px 50px rgba(0,0,0,.35); }
.cursor-title { height:38px; display:flex; align-items:center; gap:10px; padding:0 14px; background:var(--title); color:var(--muted); font-size:13px; }
.dots { display:flex; gap:6px; }
.dots i { width:10px; height:10px; border-radius:50%; display:block; background:#3d4256; }
.dots i:nth-child(1) { background:#e27878; }
.dots i:nth-child(2) { background:#e2a478; }
.dots i:nth-child(3) { background:#b4be82; }
.cursor-main { padding:22px 22px 24px; }
.kicker { margin:0; color:var(--link); font-size:12px; letter-spacing:.08em; }
h1 { margin:6px 0 0; font-size:22px; font-weight:600; color:var(--text); }
.hint { margin:8px 0 18px; color:var(--muted); font-size:13px; line-height:1.5; }
.login-body form { display:grid; gap:12px; }
.login-body label { display:grid; gap:6px; color:var(--muted); font-size:12px; }
.login-body input { height:34px; border-radius:6px; border:1px solid var(--line); background:var(--input); color:var(--text); padding:0 10px; font-size:14px; outline:none; }
.login-body input:focus { border-color:var(--link); }
.login-body button { height:34px; border:0; border-radius:6px; background:var(--button); color:var(--button-text); font-weight:600; cursor:pointer; }
.login-body button:hover { background:var(--hover); }
.login-body .err { margin:0; color:var(--danger); font-size:13px; }

.desk-body { overflow:hidden; }
#stage { position:fixed; inset:0; background:#000; }
#gpu { position:absolute; z-index:2; touch-action:none; background:#000; }
#vnc { position:absolute; inset:0; z-index:1; opacity:0; pointer-events:none; }

.bar { pointer-events:none;  position:fixed; z-index:3; top:10px; left:0; border-radius:0 999px 999px 0; transform:translateX(-10px); display:flex; gap:12px; align-items:center; padding:8px 10px 8px 14px;  background:rgba(16,20,15,.82); }
.bar button { pointer-events:auto;  height:32px; padding:0 12px; }
#status { color:var(--muted); font-size:13px; }

.bar.collapsed { padding:0; gap:0; background:transparent; transform:none; }
.bar.collapsed #fold { height:36px; width:18px; padding:0; overflow:hidden; background:rgba(22,24,33,.45); color:#c6c8d1; border:1px solid rgba(198,200,209,.7); border-left:0; border-radius:0 10px 10px 0; }
.bar.collapsed .fold-hide { display:none; }
