:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111;--panel:#1b1b1b;--text:#f4f4f4;--muted:#b5b5b5;--line:#333;--accent:#7cbcff;--danger:#ff8a80;--ok:#8fd19e;--warn:#fc6;--touch:44px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Segoe UI,sans-serif}a{color:var(--accent)}button,.btn{min-height:var(--touch);min-width:var(--touch);border:1px solid var(--line);color:var(--text);background:#2a2a2a;border-radius:10px;padding:.5rem .85rem;font-size:1rem}button:focus-visible,a:focus-visible,.nav a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button:disabled,.btn[aria-disabled=true]{opacity:.45}.shell{justify-content:center;min-height:100vh;display:flex}.nav{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;gap:.5rem;width:220px;padding:1rem;display:flex}.nav a{min-height:var(--touch);min-width:var(--touch);border-radius:8px;align-items:center;padding:0 .75rem;text-decoration:none;display:flex}.nav a[aria-current=page]{background:#2c3d55}.nav-label{margin:1rem 0 .25rem;font-size:.8rem}.nav-extra{opacity:.75}.monitor-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:1rem 0;display:grid}.monitor-btn{text-align:left;flex-direction:column;align-items:flex-start;gap:.35rem;min-height:96px;display:flex}.monitor-btn.selected{border-color:var(--accent);background:#2c3d55}details.card{margin-top:1rem}details.card summary{cursor:pointer;min-height:var(--touch);align-items:center;display:flex}main.content{flex:auto;width:min(960px,100%);max-width:960px;margin-left:auto;margin-right:auto;padding:1rem}.banner{border:1px solid var(--warn);border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem}.muted{color:var(--muted)}.ok{color:var(--ok)}.warn{color:var(--warn)}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}@media (width<=800px){.shell{flex-direction:column}.nav{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;width:100%}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.session-shell{background:#000;flex-direction:column;height:100dvh;min-height:100dvh;display:flex;position:relative;overflow:hidden}.session-shell:fullscreen{width:100%;height:100%}.session-shell.is-fs{z-index:80;width:100%;height:100dvh;position:fixed;inset:0}.session-fs{min-height:36px;padding:.25rem .7rem;font-size:.9rem}.session-view{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.session-stage{cursor:none;touch-action:none;width:100%;height:100%;min-height:0;display:block;position:relative}.session-live{object-fit:contain;object-position:center;pointer-events:none;width:100%;height:100%;display:block}.session-wait,.session-wait-thumb{pointer-events:none;justify-content:center;align-items:center;margin:0;display:flex;position:absolute;inset:0}.session-wait-thumb{object-fit:contain;opacity:.85;width:100%;height:100%}:is(.session-shell:fullscreen .session-view,.session-shell.is-fs .session-view){width:100%;height:100%}.session-cursor{pointer-events:none;z-index:4;filter:drop-shadow(0 1px 1px #000000d9);background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='28' viewBox='0 0 18 28'><path fill='white' stroke='black' stroke-width='1.4' d='M1.2 1.2 L1.2 21.2 L6.2 16.2 L9.6 26.2 L13.2 24.8 L9.6 14.6 L16.2 14.6 Z'/></svg>") 50%/contain no-repeat;width:18px;height:28px;position:absolute;top:0;left:0}.session-peek{z-index:9;width:min(48vw,22rem);height:10px;position:absolute;top:0;left:50%;transform:translate(-50%)}.session-peek.off{pointer-events:none}.session-dock{z-index:10;background:#121212f0;border:1px solid #3a3a3a;border-top:0;border-radius:0 0 10px 10px;align-items:center;gap:.28rem;padding:.3rem .4rem .35rem;transition:transform .16s;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%,-120%)}.session-dock.open{transform:translate(-50%)}.session-dock.dragging{transition:none}.session-dock .dock-grip{cursor:grab;touch-action:none;background:repeating-linear-gradient(#6a6a6a 0 2px,#0000 2px 5px) 50%/4px 70% no-repeat;border:0;border-radius:4px;flex:0 0 16px;align-self:stretch;min-height:38px;padding:0}.session-dock .dock-grip:active{cursor:grabbing}.session-dock .dock-mon{background:#2a2a2a;flex-direction:column;align-items:center;gap:.12rem;width:72px;min-width:56px;min-height:0;padding:.18rem;font-size:.7rem;display:flex}.session-dock .dock-mon img{object-fit:cover;border-radius:4px;width:100%;height:40px}.session-dock .dock-mon.selected{border-color:var(--accent);background:#2c3d55}.session-dock .dock-sep{background:#444;align-self:stretch;width:1px;margin:0 .12rem}.session-dock .dock-exit{min-height:38px;padding:.22rem .55rem;font-size:.78rem}.session-thumbs{background:var(--panel);border-bottom:1px solid var(--line);flex-direction:row;flex-shrink:0;align-items:center;gap:.5rem;padding:.45rem .6rem;display:flex;overflow-x:auto}.session-thumbs .session-back{flex:none;width:auto;min-width:4.5rem;min-height:44px;text-decoration:none}.session-thumbs .session-status{-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:8rem;min-width:0;max-width:22rem;margin-left:auto;font-size:.85rem;line-height:1.25;display:-webkit-box;overflow:hidden}.session-thumbs .session-fs{flex:none;width:auto;min-width:5.5rem;min-height:44px}.session-thumbs .thumb{flex-direction:column;flex:0 0 148px;gap:.25rem;width:148px;min-width:148px;min-height:0;padding:.3rem;display:flex}.session-thumbs .thumb img{object-fit:cover;border-radius:6px;width:100%;height:78px}.session-thumbs .thumb.selected{border-color:var(--accent);background:#2c3d55}.login{flex-direction:column;gap:.75rem;max-width:22rem;display:flex}.login input{width:100%;min-height:var(--touch);border:1px solid var(--line);color:var(--text);background:#111;border-radius:8px;margin-top:.35rem;padding:.4rem .6rem;display:block}.session-opts{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.55rem;margin:1rem 0 1.25rem;padding:.9rem 1rem;display:flex}.session-opts h2{margin:0;font-size:1.05rem}.session-opts label{min-height:var(--touch);align-items:flex-start;gap:.7rem;display:flex}.session-opts input[type=checkbox]{flex:none;width:1.25rem;height:1.25rem;margin-top:.2rem}.session-opts span{color:var(--muted);font-size:.92rem}.opt-legend{color:var(--muted);margin:0;padding-left:1.1rem;font-size:.92rem}.opt-legend li+li{margin-top:.35rem}.opt-legend strong{color:var(--text)}.page-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.page-head h1{margin:0}.desktops .desktop-card{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:1rem}.desktop-left{flex:auto;align-items:center;gap:.75rem 1.25rem;min-width:0;display:flex}.desktop-name{flex:none}.desktop-right{flex:none;justify-content:flex-end;align-items:center;gap:.85rem;margin-left:auto;display:flex}.desktop-seen{white-space:nowrap}.desktop-checks{flex-wrap:wrap;gap:.35rem .9rem;display:flex}.desktop-checks label{min-height:var(--touch);align-items:center;gap:.4rem;display:flex}.desktop-checks input[type=checkbox]{width:1.15rem;height:1.15rem}@media (width<=720px){.desktops .desktop-card{flex-wrap:wrap}.desktop-left,.desktop-right{flex:100%}}.session-opts strong{color:var(--text);margin-bottom:.15rem;display:block}.desktops{flex-direction:column;gap:.75rem;padding:0;list-style:none;display:flex}.desktops .card{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.danger{color:var(--danger)}.session-keys{z-index:8;padding:.4rem .45rem calc(.4rem + env(safe-area-inset-bottom,0px));background:#121212f5;border-top:1px solid #3a3a3a;flex-wrap:wrap;align-items:center;gap:.28rem;display:flex;position:absolute;bottom:0;left:0;right:0}.session-keys button{min-width:40px;min-height:40px;padding:.25rem .55rem;font-size:.82rem}.session-keys button.selected{border-color:var(--accent);background:#2c3d55}.session-keys .session-ime{border:1px solid var(--line);min-width:6rem;min-height:40px;color:var(--text);background:#111;border-radius:8px;flex:8rem;padding:.3rem .55rem;font-size:1rem}.session-stage.has-keys{padding-bottom:3.4rem}
