:root{--bg:#0f1115;--panel:#181b22;--panel-2:#20242d;--text:#e7e9ee;--muted:#8b93a3;--accent:#4f8cff;--ok:#3fbf7f;--warn:#e0a43a;--err:#ff6b6b;--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#app{background:var(--bg);height:100%;color:var(--text);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{margin:0;font-size:1.25rem}button,input{font:inherit;color:inherit}button{background:var(--panel-2);cursor:pointer;border:1px solid #2c3240;border-radius:8px;min-height:40px;padding:.55rem .9rem}button:hover:not(:disabled){border-color:#3d4556}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.plain{background:0 0;border:none;padding:0}input{background:var(--bg);border:1px solid #2c3240;border-radius:8px;width:100%;margin-top:.3rem;padding:.6rem .75rem}input:focus{outline:2px solid var(--accent);outline-offset:-1px}.muted{color:var(--muted)}.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.error{color:var(--err);min-height:1.2em;margin:.25rem 0}.hidden{display:none!important}.grow{flex:1;min-width:0}.right{text-align:right}.row{align-items:center;gap:.5rem;display:flex}.center-row{flex-wrap:wrap;justify-content:center}.center{place-items:center;min-height:100%;padding:16px;display:grid}.card{background:var(--panel);border-radius:var(--radius);width:100%;max-width:360px;padding:1.5rem}.login{flex-direction:column;gap:.9rem;display:flex}.login label{color:var(--muted);font-size:.9rem}.page{flex-direction:column;gap:1rem;max-width:640px;margin:0 auto;padding:16px;display:flex}.bar{align-items:center;gap:.75rem;display:flex}.devices{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.devices li{background:var(--panel);border-radius:var(--radius);align-items:center;gap:.8rem;padding:.8rem 1rem;display:flex}.devices .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.dot{border-radius:50%;flex:none;width:10px;height:10px}.dot.on{background:var(--ok)}.dot.off{background:#4a5160}.session{flex-direction:column;height:100%;display:flex}.toolbar{padding:6px 8px;padding-top:max(6px, env(safe-area-inset-top));background:var(--panel);border-bottom:1px solid #232833;align-items:center;gap:.5rem;display:flex}.toolbar button{min-width:40px;padding:.35rem .6rem}.badge{background:var(--panel-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.8rem;display:inline-block}.badge.direct{color:var(--ok)}.badge.relay{color:var(--warn)}.stage{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#000;flex:1;min-height:0;position:relative;overflow:hidden}.stage video{object-fit:contain;transform-origin:0 0;will-change:transform;background:#000;width:100%;height:100%;display:block}.toolbar button.on{border-color:var(--accent);color:var(--accent)}.keys-menu{background:var(--panel);border-bottom:1px solid #232833;flex-wrap:wrap;gap:6px;padding:8px;display:flex}.keys-menu button{min-height:36px;padding:.3rem .7rem;font-size:.9rem}.toast{border:1px solid var(--warn);max-width:min(90%,480px);color:var(--text);text-align:center;background:#14171ef2;border-radius:8px;padding:.6rem .9rem;font-size:.9rem;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.osk-field{opacity:0;resize:none;border:0;width:1px;height:1px;padding:0;font-size:16px;position:fixed;bottom:0;left:0}.overlay{text-align:center;background:#0f1115d1;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:16px;display:flex;position:absolute;inset:0}.overlay p{max-width:420px;margin:0}.spinner{border:3px solid #333a48;border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;display:none}.overlay.busy .spinner{animation:.9s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.stats{pointer-events:none;background:#000000b3;border-radius:8px;margin:0;padding:.6rem .8rem;font:12px/1.5 ui-monospace,Consolas,monospace;position:absolute;top:8px;right:8px}.stage:fullscreen{width:100%;height:100%}
