:root{color-scheme:dark;--bg:#10131a;--panel:#191e28;--line:#2a3242;--text:#e4e9f1;--muted:#9ca8ba;--accent:#8baeff;--green:#65d7b1;font:14px Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}[hidden]{display:none!important}button,input,textarea{font:inherit}button{color:var(--text);background:#232b39;border:1px solid #354056;padding:8px 12px;border-radius:5px;cursor:pointer;white-space:nowrap}button:hover{background:#303c50;border-color:#6a86b4}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.5;cursor:wait}button.primary{background:#a9c2ff;border-color:#a9c2ff;color:#101b33;font-weight:650}button.primary:hover{background:#c3d4ff}button.quiet{background:transparent;border-color:transparent;color:var(--muted)}input,textarea{background:#111722;border:1px solid #354056;color:var(--text);border-radius:5px;padding:11px 12px;width:100%}label{display:block;font-size:12px;font-weight:600;color:#b9c3d2;margin:20px 0 8px}h1{font-size:48px;line-height:1.12;letter-spacing:-2px;font-weight:550;margin:18px 0}h2{font-size:20px;font-weight:550;margin:0}p{line-height:1.6}a{color:inherit;text-decoration:none}.login-screen{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;max-width:1350px;margin:auto;padding:80px 7%;align-items:center;gap:80px}.login-card{max-width:430px}.brand{display:flex;align-items:center;gap:12px;letter-spacing:3px;font-size:11px;margin-bottom:62px}.brand b{font-weight:500;color:var(--muted)}.brand-icon{display:grid;place-items:center;width:29px;height:29px;background:var(--accent);border-radius:7px;color:#142543;font-size:24px;font-family:Georgia,serif;font-weight:bold;letter-spacing:0}.eyebrow{font:10px Consolas,monospace;letter-spacing:2px;color:var(--accent)}.intro{color:var(--muted);font-size:15px;margin-bottom:32px}.login-card .primary{width:100%;display:flex;justify-content:space-between;padding:13px 16px;margin-top:12px}.login-footer{border-top:1px solid var(--line);padding-top:22px;margin-top:28px;color:var(--muted);font-size:11px;display:flex;gap:9px;align-items:center}.dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;flex-shrink:0}.dot.muted{background:#7b8390}.login-art{min-height:510px;position:relative;background:linear-gradient(#1b2435 1px,transparent 1px),linear-gradient(90deg,#1b2435 1px,transparent 1px);background-size:40px 40px;border:1px solid #283348;border-radius:16px;overflow:hidden}.code-mark{font:90px Consolas,monospace;color:#30435f;position:absolute;top:40px;left:42px;letter-spacing:-8px}.code-mark span{font-size:18px;letter-spacing:0;margin-left:15px;color:#6e88af}.node{position:absolute;border:1px solid #5374a6;background:#182235;color:#9ebdeb;font:15px Consolas,monospace;padding:20px 36px;border-radius:5px}.node-a{top:190px;left:55px}.node-b{top:293px;right:45px}.node-c{bottom:42px;left:55px}.node:before{content:'';position:absolute;left:25px;top:-45px;border-left:1px solid #5374a6;height:44px}.error{color:#ff9e9e;min-height:1.3em;font-size:13px;margin:12px 0}.toolbar{height:52px;display:flex;gap:18px;align-items:center;padding:0 14px;background:#191e28;border-bottom:1px solid var(--line)}.wordmark{font-size:17px;font-weight:700;white-space:nowrap}.wordmark span{font:10px Consolas,monospace;letter-spacing:2px;color:var(--accent);margin-left:5px}.divider{height:23px;border-left:1px solid #354056}.session-label{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}.toolbar-actions{margin-left:auto;display:flex;gap:6px}.toolbar button{font-size:12px;padding:6px 10px}#workspace{height:100dvh;display:flex;flex-direction:column;position:relative}#screen{flex:1;min-height:0;overflow:auto;background:#0b0f16}#screen canvas{outline:none}.statusbar{height:27px;flex-shrink:0;display:flex;justify-content:space-between;gap:20px;padding:6px 13px;background:#171d27;color:#95a1b4;font:10px Consolas,monospace}.statusbar>span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.statusbar>span:last-child{white-space:nowrap}.status-separator{margin:0 9px}.screen-overlay{position:absolute;inset:52px 0 27px;display:grid;place-items:center;background:#10151f}.screen-overlay>div{text-align:center;max-width:480px;padding:28px}.screen-overlay p{color:var(--muted)}.spinner{border:2px solid #273249;border-top-color:var(--accent);border-radius:50%;height:24px;width:24px;animation:spin 1s linear infinite;margin:0 auto 24px}@keyframes spin{to{transform:rotate(360deg)}}dialog{background:var(--panel);border:1px solid #3c4b63;border-radius:10px;color:var(--text);width:600px;max-width:calc(100vw - 30px);padding:24px;box-shadow:0 22px 85px #0008}dialog::backdrop{background:#030710bb}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.dialog-heading button{background:transparent;border:0;font-size:20px;padding:0 5px}.subtle{font-size:12px;color:var(--muted)}.session-item{padding:12px;background:#121824;border:1px solid var(--line);margin:8px 0;display:flex;gap:15px;align-items:center;border-radius:5px}.session-item div{min-width:0;flex:1}.session-item strong{font-size:12px;display:block;overflow-wrap:anywhere;font-weight:500}.session-item small{color:var(--muted);font:11px Consolas,monospace}.session-item button{font-size:12px}.button-row{display:flex;gap:10px;margin-top:12px}#open-form button{margin-top:12px}.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shortcut-grid button{text-align:left;font-size:12px}#toast{position:fixed;bottom:45px;left:50%;transform:translateX(-50%);background:#26344b;padding:12px 18px;border:1px solid #627ba0;border-radius:6px;font-size:12px;z-index:10}@media(max-width:1000px){.toolbar{gap:10px;flex-wrap:wrap;height:auto;min-height:52px;padding:8px}.toolbar-actions{gap:3px;flex-wrap:wrap}.toolbar button{font-size:11px;padding:6px}.session-label{display:none}.statusbar>span:last-child{display:none}.login-screen{gap:35px;padding:50px 6%}.login-art{min-height:440px}.screen-overlay{inset:80px 0 27px}}@media(max-width:680px){.login-screen{display:block;padding:50px 28px}.login-card{margin:auto}.login-art{display:none}.brand{margin-bottom:40px}h1{font-size:40px}.toolbar .divider{display:none}.toolbar-actions{margin-left:0}.statusbar{height:30px}.button-row{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
/* The native client owns the whole browser; connection controls float above it. */
#workspace{height:100dvh;overflow:hidden}#screen{position:absolute;inset:0}.statusbar{display:none}.toolbar{position:absolute;z-index:5;bottom:52px;left:10px;right:10px;height:auto;min-height:48px;padding:10px;border:1px solid #40506b;border-radius:8px;flex-wrap:wrap;box-shadow:0 8px 32px #0009}.screen-overlay{inset:0}#workspace-controls{position:absolute;z-index:6;right:12px;bottom:10px;font-size:11px;padding:6px 10px;opacity:.75;background:#182334;border-color:#526481;box-shadow:0 3px 10px #0008}#workspace-controls:hover,#workspace-controls:focus-visible{opacity:1}
#video-screen{position:absolute;inset:0;width:100%;height:100%;background:#0b0f16;pointer-events:none}
#screen canvas.video-input{cursor:default!important}
