:root{--bg: #0f1115;--panel: #171a21;--panel-2: #1e222b;--border: #2a2f3a;--text: #e8eaed;--muted: #9aa3b2;--accent: #4c8dff;--danger: #e5484d;--accent-fill: #2563eb;--accent-fill-hover: #1d4fd8;--danger-fill: #c62a2f;--danger-fill-hover: #b12328;--ok: #30a46c;--warn: #f5a524;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2{margin:0 0 .25rem;font-weight:600}h1{font-size:1.3rem}h2{font-size:1.1rem}::selection{background:#4c8dff59;color:#fff}html{scrollbar-color:#3a4150 transparent}input,textarea{caret-color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.85rem}.preserve-lines{white-space:pre-line;text-align:left}.centered{display:grid;place-items:center;min-height:100%;padding:1.5rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:2rem;max-width:460px;width:100%;text-align:center;display:grid;gap:.75rem;justify-items:center}.prejoin{max-width:980px;margin:0 auto;padding:1.5rem;display:grid;gap:1rem}.prejoin-head{text-align:center}.prejoin-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:1.25rem;align-items:start}@media (max-width: 800px){.prejoin-body{grid-template-columns:1fr}}.preview{position:relative;aspect-ratio:16 / 9;background:#000;border:1px solid var(--border);border-radius:12px;overflow:hidden}.preview video{width:100%;height:100%;object-fit:cover}.preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;text-align:center;background:#000000b8;color:var(--warn);font-size:.9rem}.mirrored{transform:scaleX(-1)}.prejoin-form{display:grid;gap:.75rem}.field{display:grid;gap:.3rem}.field-label{font-size:.8rem;color:var(--muted)}.field-input{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;font:inherit;width:100%}.field-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.55rem .9rem;font:inherit;cursor:pointer}.btn:hover:not(:disabled){background:#262b36}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent-fill-hover)}.btn.danger{background:var(--danger-fill);border-color:var(--danger-fill);color:#fff}.btn.active{background:var(--ok);border-color:var(--ok);color:#fff}.btn.ghost{background:transparent}.btn.small{padding:.35rem .6rem;font-size:.85rem;justify-self:start}@media (pointer: coarse){.btn,.btn.small,.field-input{min-height:44px}}.notice,.alert,.recording-banner{border-radius:8px;padding:.6rem .8rem;font-size:.9rem}.notice{background:#f5a5241f;border:1px solid rgba(245,165,36,.4)}.alert{background:#e5484d1f;border:1px solid rgba(229,72,77,.45);color:#ffb4b6}.recording-banner{background:#e5484d29;border:1px solid rgba(229,72,77,.5);text-align:center}.meter{display:grid;gap:.3rem}.meter-label{font-size:.8rem;color:var(--muted)}.meter-track{display:flex;gap:2px;height:14px}.meter-seg{flex:1;background:var(--panel-2);border-radius:2px;transition:background .06s linear}.meter-seg.on{background:var(--ok)}.meter-seg.warm.on{background:var(--warn)}.meter-seg.hot.on{background:var(--danger)}.meeting{display:flex;flex-direction:column;gap:.6rem;height:100vh;height:100dvh;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}.meeting-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:2rem}.meeting-title{display:flex;align-items:baseline;gap:.6rem;min-width:0}.meeting-title strong{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meeting-status{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.pill-dot{width:.5rem;height:.5rem;border-radius:999px;background:currentColor;flex-shrink:0}.pill.rec{color:#fff;background:var(--danger-fill)}.pill.rec .pill-dot{animation:pulse 2s ease-in-out infinite}.pill.rec.paused{background:var(--warn);color:#201400}.pill.rec.paused .pill-dot{animation:none}.pill.live{color:#ffb4b6;background:#e5484d29;border:1px solid rgba(229,72,77,.5)}.pill.on-air{color:#fff;background:#e5484dd9;border:1px solid rgba(229,72,77,1);font-weight:700}@keyframes pulse{50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.pill.rec .pill-dot{animation:none}}.quality{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--muted)}.quality .pill-dot{color:var(--muted)}.quality.q-excellent .pill-dot,.quality.q-good .pill-dot{color:var(--ok)}.quality.q-poor .pill-dot{color:var(--warn)}.quality.q-lost .pill-dot{color:var(--danger)}@media (max-width: 479px){.quality-label{display:none}}.stage-area{flex:1;min-height:0}.gallery{flex:1;min-height:0;display:grid;grid-auto-rows:minmax(96px,1fr);gap:.5rem;overflow-y:auto;overscroll-behavior:contain}.tile.gallery{aspect-ratio:auto;width:100%;height:100%;min-height:0}.strip{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem;scroll-snap-type:x proximity;overscroll-behavior-x:contain}.strip .tile{flex:0 0 clamp(112px,20vw,200px);scroll-snap-align:start}.tile{position:relative;background:#000;border:2px solid transparent;border-radius:10px;overflow:hidden;aspect-ratio:16 / 9}.tile.stage{width:100%;height:100%;aspect-ratio:auto}.tile.speaking{border-color:var(--ok)}.tile video{width:100%;height:100%;object-fit:contain;background:#000}.tile-placeholder{width:100%;height:100%;display:grid;place-items:center;background:var(--panel-2)}.tile-initials{font-size:clamp(1rem,3.2vmin,1.6rem);font-weight:600;color:var(--muted);background:var(--panel);border-radius:999px;width:3.2em;height:3.2em;display:grid;place-items:center}.tile-footer{position:absolute;left:0;right:0;bottom:0;display:flex;gap:.4rem;align-items:center;padding:.25rem .5rem;background:linear-gradient(transparent,#000000bf);font-size:.8rem}.tile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-muted{display:inline-flex;color:#ff8a8e;flex-shrink:0}.controls{container:bar / inline-size;position:relative;z-index:30}.control-bar{display:flex;justify-content:center;align-items:stretch;gap:.25rem}.ctl{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-width:4.25rem;min-height:3.25rem;padding:.35rem .5rem;border:0;border-radius:12px;background:transparent;color:var(--text);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease-out,color .15s ease-out}.ctl-icon{position:relative;display:inline-flex}.ctl-label{font-size:.72rem;line-height:1.1;white-space:nowrap}@media (hover: hover){.ctl:hover:not(:disabled){background:var(--panel-2)}}.ctl:active:not(:disabled){background:#262b36}.ctl:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ctl:disabled{opacity:.45;cursor:not-allowed}.ctl--on{background:#4c8dff29;color:#9cc0ff}@media (hover: hover){.ctl--on:hover:not(:disabled){background:#4c8dff3d}}.ctl--off{background:#e5484d29;color:#ffb4b6}@media (hover: hover){.ctl--off:hover:not(:disabled){background:#e5484d42}}.ctl--raised{background:#f5a5242e;color:var(--warn)}.ctl--leave{background:var(--danger-fill);color:#fff;margin-left:.25rem}@media (hover: hover){.ctl--leave:hover:not(:disabled){background:var(--danger-fill-hover)}}.ctl--leave:active:not(:disabled){background:#9c1f23}.ctl-badge{position:absolute;top:-.45rem;right:-.7rem;min-width:1.1rem;height:1.1rem;padding:0 .3rem;border-radius:999px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;line-height:1.1rem;text-align:center}.ctl-badge.neutral{background:var(--accent)}.ctl-more,.more-menu [data-prio]{display:none}@container bar (max-width: 899px){.ctl-more{display:flex}.control-bar>[data-prio="3"]{display:none}.more-menu [data-prio="3"]{display:flex}}@container bar (max-width: 699px){.control-bar>[data-prio="2"]{display:none}.more-menu [data-prio="2"]{display:flex}}@container bar (max-width: 559px){.control-bar>[data-prio="1"]{display:none}.more-menu [data-prio="1"]{display:flex}.control-bar{justify-content:space-between;gap:.15rem}.ctl{min-width:0;flex:1 1 0;padding-inline:.25rem}.control-bar>.more{flex:1 1 0}.ctl--leave{margin-left:0}}@container bar (max-width: 339px){.ctl-label{display:none}.ctl{min-height:3rem}}.invite-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:1rem;background:#080a0e8c;animation:scrim-in .2s ease-out}.invite{width:min(100%,24rem);display:grid;justify-items:center;gap:.5rem;padding:1.5rem 1.25rem 1.25rem;text-align:center;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 16px 40px #0000008c;animation:menu-in .22s cubic-bezier(.16,1,.3,1)}.invite-icon{display:grid;place-items:center;width:3rem;height:3rem;margin-bottom:.25rem;border-radius:999px;background:#4c8dff29;color:#9cc0ff}.invite-title{margin:0;font-size:1.05rem;font-weight:600;line-height:1.3;text-wrap:balance}.invite-text{margin:0;color:var(--muted);font-size:.9rem}.invite-actions{display:flex;gap:.5rem;width:100%;margin-top:.75rem}.invite-actions .btn{flex:1 1 0;min-height:44px}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes scrim-in{0%{opacity:0}}@media (prefers-reduced-motion: reduce){.invite-scrim,.invite{animation:none}}.more{position:relative;display:flex}.more-menu{position:absolute;bottom:calc(100% + .5rem);right:0;min-width:15rem;display:flex;flex-direction:column;gap:.15rem;padding:.4rem;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px #00000080;animation:menu-in .16s cubic-bezier(.16,1,.3,1)}@keyframes menu-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion: reduce){.more-menu{animation:none}}@container bar (max-width: 559px){.more{position:static}.more-menu{left:0;right:0;min-width:0;padding:.5rem;border-radius:16px}}.more-item{align-items:center;gap:.75rem;min-height:3rem;padding:.5rem .75rem;border:0;border-radius:10px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}@media (hover: hover){.more-item:hover{background:var(--panel-2)}}.more-item:active{background:#262b36}.more-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.more-item.active{color:#9cc0ff}.more-reactions{justify-content:space-between;padding:.25rem .25rem .5rem;margin-bottom:.25rem;border-bottom:1px solid var(--border)}.icon-btn{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;flex-shrink:0;border:0;border-radius:10px;background:transparent;color:inherit;cursor:pointer}@media (hover: hover){.icon-btn:hover{background:#ffffff14}}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.alert{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-block:.3rem}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:3s}}.side-panel{position:fixed;z-index:60;inset:0 0 0 auto;width:min(100%,420px);display:flex;flex-direction:column;gap:.5rem;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) .75rem;background:var(--panel);border-left:1px solid var(--border);box-shadow:-12px 0 32px #00000073;animation:panel-in .2s cubic-bezier(.16,1,.3,1)}@keyframes panel-in{0%{transform:translate(24px);opacity:0}}@media (prefers-reduced-motion: reduce){.side-panel{animation:none}}@media (min-width: 900px){.meeting.panel-open{padding-right:calc(320px + 1.5rem)}.side-panel{inset:.75rem .75rem .75rem auto;width:320px;border:1px solid var(--border);border-radius:14px;box-shadow:none;padding:.75rem}}.side-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.chat-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:.5rem}.people-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.15rem}.person{display:flex;align-items:center;gap:.65rem;min-height:2.75rem;padding:.3rem .4rem;border-radius:10px}.person-avatar{display:grid;place-items:center;width:2rem;height:2rem;flex-shrink:0;border-radius:999px;background:var(--panel-2);border:2px solid transparent;color:var(--muted);font-size:.72rem;font-weight:600}.person.speaking .person-avatar{border-color:var(--ok)}.person-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-tag{color:var(--muted);font-size:.8rem}.person-tag.host{color:var(--accent)}.person-cam,.person-mic{display:inline-grid;place-items:center;width:2rem;height:2rem;flex-shrink:0;border-radius:8px;color:var(--muted)}.person-cam.off{opacity:.6}.person-mic.off{color:#ff8a8e}button.person-mic{border:0;background:transparent;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease-out}button.person-mic.off{background:#e5484d29}@media (hover: hover){button.person-mic:hover{background:var(--panel-2)}button.person-mic.off:hover{background:#e5484d42}}button.person-mic:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (pointer: coarse){button.person-mic{width:44px;height:44px}}.chat-line{font-size:.9rem}.chat-sender{font-weight:600}.chat-line.host .chat-sender{color:var(--accent)}.chat-line.question{border-left:3px solid #f59e0b;padding-left:8px;background:#f59e0b14;border-radius:4px}.chat-line.question .chat-sender{color:#f59e0b}.board-frame{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.board-canvas{display:block;background:#fff}.board-canvas.drawable{touch-action:none;cursor:crosshair}.board-tile{cursor:pointer}.board-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.board-tile:hover .board-tile-open{opacity:1}.board-tile-open{display:inline-flex;margin-left:auto;opacity:.7;flex-shrink:0}.whiteboard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;gap:.5rem;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));background:var(--bg)}.whiteboard-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.5rem .75rem;background:var(--panel);border:1px solid var(--border);border-radius:14px}.whiteboard-toolbar .btn{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto}.whiteboard-title{font-weight:600}.whiteboard-colors{display:flex;flex-wrap:wrap;gap:.4rem}.whiteboard-hint{flex:1 1 12rem;margin:0;color:var(--muted);font-size:.85rem}.whiteboard-hint:empty{display:none}.whiteboard-stage{position:relative;flex:1;min-height:0}.color-swatch{width:26px;height:26px;border-radius:999px;border:2px solid var(--border);cursor:pointer;padding:0;transition:transform .12s ease-out}.color-swatch.active{border-color:var(--text);transform:scale(1.15)}.color-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (pointer: coarse){.whiteboard .color-swatch{width:36px;height:36px}}.annotation-layer{position:absolute;pointer-events:none}.share-draw{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:flex;flex-direction:column;gap:.5rem;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));background:var(--bg)}.share-draw-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.5rem .75rem;background:var(--panel);border:1px solid var(--border);border-radius:14px}.share-draw-colors{display:flex;gap:.4rem}.share-draw-actions{display:flex;flex-wrap:wrap;gap:.4rem}.share-draw-actions .btn{display:inline-flex;align-items:center;gap:.35rem}.share-draw-actions .btn.on{background:#4c8dff29;border-color:#4c8dff80;color:#9cc0ff}.share-draw-hint{flex:1 1 14rem;margin:0;color:var(--muted);font-size:.85rem}.share-draw-stage{position:relative;flex:1;min-height:0;background:#000;border-radius:10px;overflow:hidden}.share-draw-stage video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.share-draw-canvas{position:absolute;touch-action:none;cursor:crosshair;outline:1px dashed rgba(255,255,255,.25)}.share-draw-canvas.erasing{cursor:cell;outline-color:#e5484db3}@media (pointer: coarse){.share-draw .color-swatch{width:36px;height:36px}}.ctl--disabled{opacity:.45}.ctl.ctl--disabled:hover:not(:disabled),.ctl.ctl--disabled:active:not(:disabled){background:transparent}.more-item.disabled{color:var(--muted)}.reaction-layer{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:50}.reaction-float{position:absolute;left:50%;bottom:90px;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);animation:reaction-rise 4s ease-out forwards}.reaction-float:nth-child(2n){left:38%}.reaction-float:nth-child(3n){left:62%}.reaction-float:nth-child(4n){left:30%}.reaction-float:nth-child(5n){left:70%}.reaction-emoji{font-size:2.6rem;line-height:1}.reaction-name{font-size:.7rem;color:#fff;background:#00000080;border-radius:8px;padding:1px 6px;margin-top:2px;white-space:nowrap}@keyframes reaction-rise{0%{opacity:0;transform:translate(-50%,20px) scale(.6)}12%{opacity:1;transform:translate(-50%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-240px) scale(1)}}.reaction-picker{position:relative;display:flex}.reaction-menu{position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);display:flex;gap:.25rem;padding:.4rem .5rem;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px #00000080}.reaction-btn{font-size:1.5rem;min-width:2.75rem;min-height:2.75rem;background:transparent;border:none;cursor:pointer;border-radius:10px;padding:.15rem .3rem;line-height:1}@media (hover: hover){.reaction-btn:hover{background:#ffffff1f}}.reaction-btn:active{background:#ffffff29}.reaction-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.doc-section{margin-top:1.2rem;display:flex;flex-direction:column;gap:.35rem;align-items:center}.doc-heading{font-size:.9rem;margin:0 0 .2rem}.doc-link{display:flex;align-items:center;gap:.5rem;color:var(--accent);text-decoration:none;font-size:.9rem;padding:.45rem .5rem;border-radius:8px;max-width:100%;min-width:0}.doc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}@media (hover: hover){.doc-link:hover{text-decoration:underline;text-underline-offset:3px;background:#ffffff0d}}.side-panel .doc-link{align-self:stretch}.prejoin .doc-section{align-items:flex-start}.chat-time{margin-left:.4rem;font-size:.72rem;opacity:.6}.chat-text{margin:.15rem 0 0;overflow-wrap:anywhere}.chat-compose{display:flex;gap:.5rem}.chat-compose input{flex:1;min-width:0;font-size:max(16px,1em)}
