.stage{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;border-radius:var(--radius-card);overflow:hidden;background:var(--ink-900);user-select:none;-webkit-user-select:none}.stage.fs{border-radius:0}.stage.fs:not(.show){cursor:none}.stage-main{position:relative;flex:1;min-height:0;margin:.5rem}.stage-main:empty{display:none}.stage-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(var(--cols, 1),minmax(0,1fr));gap:.5rem;padding:.5rem;align-content:center;justify-items:center}.stage-grid:empty{display:none}.stage-grid>*{width:100%;width:min(100%,calc((var(--h, 9999px) - (var(--rows, 1) - 1) * .5rem) / var(--rows, 1) * 16 / 9));aspect-ratio:16 / 9}.stage.focused .stage-grid{flex:none;display:flex;align-items:center;padding:0 .5rem .5rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.stage.focused .stage-grid>*{width:auto;height:5.5rem;flex:none}.stage-main .tile{position:absolute;inset:0;width:auto;height:auto;aspect-ratio:auto;background:#000}.tile{position:relative;margin:0;overflow:hidden;border-radius:.75rem;border:1px solid var(--ink-500);background:var(--ink-850);cursor:pointer;animation:rise-in .25s var(--ease-out-soft) both;transition:border-color .1s,box-shadow .1s}.tile:focus-visible{border-radius:.75rem;outline-offset:-2px}.tile.fs{border:0;border-radius:0;background:#000;cursor:default}.tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--ink-850)}.tile.kind-screen video,.stage-main .tile video,.tile.fs video{object-fit:contain;background:#000}.tile.mirror video{transform:scaleX(-1)}.tile.kind-camera.speaking{border-color:var(--success);box-shadow:0 0 0 2px var(--success),0 0 12px -2px var(--success)}.tile.paused video,.tile.stalled video{filter:brightness(.35)}.tile .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:0 .5rem 1.25rem;background:radial-gradient(ellipse at center,var(--ink-700),var(--ink-850));color:var(--ink-200);pointer-events:none}.tile.live .ph,.tile.kind-screen.paused .ph,.tile.kind-screen.stalled .ph{background:none}.tile.live .ph-mark,.tile.kind-screen.paused .ph-mark,.tile.kind-screen.stalled .ph-mark{display:none}.ph-mark{display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:100%}.tile .ph .avatar{width:3.5rem;height:3.5rem;font-size:1.125rem;box-shadow:none}.tile .ph .ic{width:2.25rem;height:2.25rem;color:var(--ink-300)}.tile .ph-cap{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem}.tile-status{max-width:100%;padding:.25rem .625rem;border-radius:var(--radius-pill);background:#0000008c;color:var(--ink-50);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:.5rem;padding:1.75rem .625rem .5rem;background:linear-gradient(to top,#000000b3,#0000);color:var(--ink-0);font-size:.8125rem;font-weight:500}.tile-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px rgb(0 0 0 / .6)}.tile-bar .pill{flex:none;padding:.125rem .375rem;border-radius:.25rem;background:var(--danger);color:#fff;font-size:.625rem;font-weight:800;line-height:1.2;letter-spacing:.06em;text-transform:uppercase}.tile-ctl{margin-left:auto;display:none;align-items:center;gap:.25rem;animation:rise-in .15s var(--ease-out-soft) both}.stage:not(.coarse) .tile:hover .tile-ctl,.tile.show .tile-ctl,.tile:focus-within .tile-ctl{display:flex}.tbtn{display:grid;place-items:center;width:2rem;height:2rem;flex:none;border-radius:.5rem;background:#0000008c;color:var(--ink-0);transition:background .15s}.tbtn:hover{background:#ffffff2e}.tbtn:focus-visible{border-radius:.5rem}.tbtn .ic{width:16px;height:16px}.tbtn.danger{background:var(--danger);color:#fff}.tbtn.danger:hover{filter:brightness(1.08)}.tvol{display:flex;align-items:center;gap:.25rem;height:2rem;padding:0 .5rem;border-radius:.5rem;background:#0000008c;color:var(--ink-50);cursor:default}.tvol .ic{width:14px;height:14px}.tvol input{width:4.5rem;margin:0;accent-color:var(--zomo-400);touch-action:none}.stage.coarse .tbtn{width:2.5rem;height:2.5rem}.stage.coarse .tvol{height:2.5rem}.stage-main .tile .ph .avatar{width:5rem;height:5rem;font-size:1.5rem}.stage-main .tile-bar{padding:2.5rem .875rem .625rem;font-size:.875rem}.stage.focused .stage-grid .tile{border-radius:.5rem}.stage.focused .stage-grid .tile:hover .tile-ctl,.stage.focused .stage-grid .tile.show .tile-ctl,.stage.focused .stage-grid .tile:focus-within .tile-ctl,.stage.focused .stage-grid .tile-status,.stage.focused .stage-grid .ph-cap{display:none}.stage.focused .stage-grid .tile-bar{padding:1rem .5rem .375rem;font-size:.6875rem}.stage.focused .stage-grid .pill{padding:.0625rem .25rem;font-size:.5rem}.stage.focused .stage-grid .ph .avatar{width:2rem;height:2rem;font-size:.75rem}.stage.focused .stage-grid .ph .ic{width:1.5rem;height:1.5rem}.more-tiles{display:grid;place-items:center;border-radius:.75rem;border:1px dashed var(--ink-400);background:var(--ink-800);color:var(--ink-100);font-size:.9375rem;font-weight:700;transition:background .15s,color .15s}.more-tiles:hover:not(:disabled){background:var(--ink-700);color:var(--ink-0)}.more-tiles:disabled{cursor:default}.stage.focused .stage-grid .more-tiles{border-radius:.5rem;font-size:.75rem}.stage-tools{position:absolute;top:.75rem;right:.75rem;z-index:2;display:flex;gap:.25rem;opacity:0;transition:opacity .15s var(--ease-out-soft)}.stage.show .stage-tools,.stage-tools:focus-within{opacity:1}.stage.empty .stage-tools,.stage-tools:empty{display:none}.stage-tools .tbtn{width:2.25rem;height:2.25rem}.stage-tools .tbtn[aria-pressed=true]{color:var(--zomo-300)}@media(max-width:719px){.stage-grid{grid-template-columns:repeat(var(--cols-narrow, 1),minmax(0,1fr))}.stage-grid>*{width:min(100%,calc((var(--h, 9999px) - (var(--rows-narrow, 1) - 1) * .5rem) / var(--rows-narrow, 1) * 16 / 9))}.stage.focused .stage-grid>*{width:auto}.tile .ph .avatar{width:2.5rem;height:2.5rem;font-size:.875rem}.stage-main .tile .ph .avatar{width:4rem;height:4rem;font-size:1.25rem}.tile .ph{padding-bottom:1.5rem}.tile-status{font-size:.6875rem}.tile-bar{padding:1.25rem .5rem .375rem;font-size:.75rem}.tvol input{width:3.5rem}.stage-tools{top:.625rem;right:.625rem}}
