:root{color-scheme:dark;--bg-0: #05070b;--bg-1: #0a0f16;--bg-2: #111722;--surface-0: rgba(9, 12, 18, .86);--surface-1: rgba(13, 17, 25, .94);--surface-2: rgba(17, 23, 34, .98);--text-0: #f5f7fa;--text-1: #c9d1d9;--text-2: #98a6b8;--line-0: rgba(255, 255, 255, .1);--line-1: rgba(255, 255, 255, .18);--accent: #6ea8ff;--accent-strong: #91bbff;font-family:Geist,Geist Sans,IBM Plex Sans,SF Pro Text,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45;font-weight:400;color:var(--text-0);background:radial-gradient(circle at 8% 14%,rgba(255,255,255,.04),transparent 22%),radial-gradient(circle at 92% 82%,rgba(110,168,255,.1),transparent 30%),linear-gradient(180deg,var(--bg-0) 0%,var(--bg-1) 58%,#0e141e 100%)}*{box-sizing:border-box}html,body{margin:0;min-height:100vh;background:transparent}body{font-size:16px;letter-spacing:.0025em;text-rendering:geometricPrecision}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid rgba(145,187,255,.35);border-radius:12px;padding:.9rem 1.35rem;background:linear-gradient(180deg,#1c2a3f,#162236);color:var(--text-0);font-weight:600;font-size:.95rem;line-height:1.15;letter-spacing:.01em;transition:border-color .18s ease,background-color .18s ease,opacity .18s ease,transform .18s ease}button:hover{border-color:#91bbff9e;background:linear-gradient(180deg,#243653,#1b2b43);transform:translateY(-1px)}button:disabled{opacity:.65;cursor:not-allowed;transform:none}input,select,textarea{width:100%;border:1px solid var(--line-0);border-radius:12px;padding:.95rem 1rem;background:var(--surface-1);color:var(--text-0);font-size:.95rem;line-height:1.4;transition:border-color .18s ease,box-shadow .18s ease}input::placeholder,textarea::placeholder{color:var(--text-2)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px;border-color:var(--accent-strong)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent-strong);box-shadow:0 0 0 4px #91bbff4d,0 0 24px #6ea8ff57}textarea{resize:vertical;min-height:90px}#root{margin:0;min-height:100vh}.page-shell{margin:0;min-height:100vh;padding:0}.landing-shell{position:relative;display:grid;place-items:center;justify-items:center;align-content:start;overflow:hidden;background:linear-gradient(180deg,#06090e94,#04060bcc),radial-gradient(circle at 50% -20%,rgba(255,255,255,.09),transparent 45%)}.landing-shell:before,.landing-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-repeat:no-repeat}.starfield{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;mix-blend-mode:normal;opacity:.42}.decorative-star{position:absolute;left:var(--star-x, 50%);top:var(--star-y, 50%);width:var(--star-size, 1px);height:var(--star-size, 1px);aspect-ratio:1;border-radius:999px;background:#fff;opacity:var(--star-opacity, .7);box-shadow:0 0 var(--star-glow, 10px) #ffffffa6,0 0 calc(var(--star-glow, 10px) * .42) #ffffffe6;transform:translate(-50%,-50%)}.clustered-star{box-shadow:0 0 var(--star-glow, 12px) #ffffffdb,0 0 calc(var(--star-glow, 12px) * .56) #fff}.landing-shell:before{opacity:.34;background-image:radial-gradient(circle at 8% 14%,rgba(255,255,255,.92) 0 1px,transparent 1.6px),radial-gradient(circle at 16% 68%,rgba(255,255,255,.72) 0 1.1px,transparent 1.8px),radial-gradient(circle at 24% 28%,rgba(255,255,255,.9) 0 1.2px,transparent 1.9px),radial-gradient(circle at 31% 78%,rgba(255,255,255,.7) 0 1px,transparent 1.7px),radial-gradient(circle at 39% 18%,rgba(255,255,255,.78) 0 1.1px,transparent 1.8px),radial-gradient(circle at 47% 58%,rgba(255,255,255,.84) 0 1.2px,transparent 1.9px),radial-gradient(circle at 58% 12%,rgba(255,255,255,.74) 0 1px,transparent 1.7px),radial-gradient(circle at 64% 74%,rgba(255,255,255,.9) 0 1.25px,transparent 2px),radial-gradient(circle at 72% 34%,rgba(255,255,255,.68) 0 1px,transparent 1.7px),radial-gradient(circle at 81% 86%,rgba(255,255,255,.88) 0 1.15px,transparent 1.85px),radial-gradient(circle at 88% 26%,rgba(255,255,255,.78) 0 1px,transparent 1.7px),radial-gradient(circle at 94% 62%,rgba(255,255,255,.9) 0 1.2px,transparent 1.9px),radial-gradient(circle at 6% 54%,rgba(255,255,255,.82) 0 1.05px,transparent 1.75px),radial-gradient(circle at 14% 24%,rgba(255,255,255,.76) 0 .95px,transparent 1.65px),radial-gradient(circle at 27% 58%,rgba(255,255,255,.88) 0 1.1px,transparent 1.8px),radial-gradient(circle at 34% 8%,rgba(255,255,255,.72) 0 .95px,transparent 1.65px),radial-gradient(circle at 42% 72%,rgba(255,255,255,.84) 0 1.15px,transparent 1.85px),radial-gradient(circle at 55% 44%,rgba(255,255,255,.79) 0 1px,transparent 1.7px),radial-gradient(circle at 67% 88%,rgba(255,255,255,.9) 0 1.2px,transparent 1.9px),radial-gradient(circle at 75% 16%,rgba(255,255,255,.74) 0 .95px,transparent 1.65px),radial-gradient(circle at 86% 54%,rgba(255,255,255,.83) 0 1.1px,transparent 1.8px),radial-gradient(circle at 97% 18%,rgba(255,255,255,.7) 0 .95px,transparent 1.65px),radial-gradient(circle at 18% 21%,rgba(255,255,255,.94) 0 1.15px,transparent 1.85px),radial-gradient(circle at 20.5% 24%,rgba(255,255,255,.82) 0 1px,transparent 1.7px),radial-gradient(circle at 23% 19%,rgba(255,255,255,.76) 0 .95px,transparent 1.65px),radial-gradient(circle at 60% 26%,rgba(255,255,255,.9) 0 1.1px,transparent 1.8px),radial-gradient(circle at 63% 22%,rgba(255,255,255,.8) 0 1px,transparent 1.7px),radial-gradient(circle at 65% 28%,rgba(255,255,255,.86) 0 1.15px,transparent 1.85px),radial-gradient(circle at 79% 68%,rgba(255,255,255,.92) 0 1.2px,transparent 1.9px),radial-gradient(circle at 82% 72%,rgba(255,255,255,.78) 0 1px,transparent 1.7px),radial-gradient(circle at 76% 74%,rgba(255,255,255,.84) 0 1.05px,transparent 1.75px),radial-gradient(circle at 10% 72%,rgba(255,255,255,.74) 0 .95px,transparent 1.65px),radial-gradient(circle at 13% 76%,rgba(255,255,255,.88) 0 1.1px,transparent 1.8px),radial-gradient(circle at 16% 80%,rgba(255,255,255,.8) 0 1px,transparent 1.7px),radial-gradient(circle at 36% 24%,rgba(255,255,255,.9) 0 1.15px,transparent 1.85px),radial-gradient(circle at 40% 28%,rgba(255,255,255,.78) 0 1px,transparent 1.7px),radial-gradient(circle at 44% 22%,rgba(255,255,255,.83) 0 1.05px,transparent 1.75px),radial-gradient(circle at 70% 50%,rgba(255,255,255,.86) 0 1.1px,transparent 1.8px),radial-gradient(circle at 73% 54%,rgba(255,255,255,.75) 0 .95px,transparent 1.65px),radial-gradient(circle at 77% 48%,rgba(255,255,255,.92) 0 1.2px,transparent 1.9px),radial-gradient(circle at 90% 80%,rgba(255,255,255,.8) 0 1px,transparent 1.7px),radial-gradient(circle at 94% 84%,rgba(255,255,255,.88) 0 1.1px,transparent 1.8px)}.landing-shell:after{opacity:.22;background-image:radial-gradient(circle at 12% 42%,rgba(255,255,255,.55) 0 .8px,transparent 1.4px),radial-gradient(circle at 19% 86%,rgba(255,255,255,.7) 0 .9px,transparent 1.5px),radial-gradient(circle at 28% 8%,rgba(255,255,255,.48) 0 .75px,transparent 1.35px),radial-gradient(circle at 36% 48%,rgba(255,255,255,.64) 0 .9px,transparent 1.5px),radial-gradient(circle at 43% 90%,rgba(255,255,255,.58) 0 .8px,transparent 1.45px),radial-gradient(circle at 52% 30%,rgba(255,255,255,.62) 0 .85px,transparent 1.45px),radial-gradient(circle at 61% 82%,rgba(255,255,255,.54) 0 .8px,transparent 1.4px),radial-gradient(circle at 69% 20%,rgba(255,255,255,.66) 0 .95px,transparent 1.55px),radial-gradient(circle at 77% 56%,rgba(255,255,255,.46) 0 .7px,transparent 1.3px),radial-gradient(circle at 84% 10%,rgba(255,255,255,.64) 0 .85px,transparent 1.45px),radial-gradient(circle at 91% 44%,rgba(255,255,255,.52) 0 .8px,transparent 1.4px),radial-gradient(circle at 4% 88%,rgba(255,255,255,.48) 0 .75px,transparent 1.35px),radial-gradient(circle at 9% 30%,rgba(255,255,255,.57) 0 .8px,transparent 1.4px),radial-gradient(circle at 22% 60%,rgba(255,255,255,.5) 0 .75px,transparent 1.35px),radial-gradient(circle at 33% 16%,rgba(255,255,255,.62) 0 .9px,transparent 1.5px),radial-gradient(circle at 46% 66%,rgba(255,255,255,.54) 0 .8px,transparent 1.4px),radial-gradient(circle at 57% 6%,rgba(255,255,255,.58) 0 .82px,transparent 1.42px),radial-gradient(circle at 63% 38%,rgba(255,255,255,.49) 0 .75px,transparent 1.35px),radial-gradient(circle at 71% 92%,rgba(255,255,255,.63) 0 .9px,transparent 1.5px),radial-gradient(circle at 82% 24%,rgba(255,255,255,.47) 0 .72px,transparent 1.32px),radial-gradient(circle at 89% 72%,rgba(255,255,255,.59) 0 .85px,transparent 1.45px),radial-gradient(circle at 96% 34%,rgba(255,255,255,.52) 0 .78px,transparent 1.38px),radial-gradient(circle at 16.5% 26%,rgba(255,255,255,.58) 0 .82px,transparent 1.42px),radial-gradient(circle at 21.5% 20.5%,rgba(255,255,255,.64) 0 .9px,transparent 1.5px),radial-gradient(circle at 24.5% 24.5%,rgba(255,255,255,.5) 0 .78px,transparent 1.38px),radial-gradient(circle at 58.5% 30%,rgba(255,255,255,.55) 0 .82px,transparent 1.42px),radial-gradient(circle at 62.5% 25.5%,rgba(255,255,255,.62) 0 .88px,transparent 1.48px),radial-gradient(circle at 67% 30.5%,rgba(255,255,255,.52) 0 .8px,transparent 1.4px),radial-gradient(circle at 77.5% 70%,rgba(255,255,255,.57) 0 .82px,transparent 1.42px),radial-gradient(circle at 80.5% 75%,rgba(255,255,255,.63) 0 .9px,transparent 1.5px),radial-gradient(circle at 84% 69%,rgba(255,255,255,.5) 0 .78px,transparent 1.38px),radial-gradient(circle at 11% 78%,rgba(255,255,255,.58) 0 .82px,transparent 1.42px),radial-gradient(circle at 14.5% 82%,rgba(255,255,255,.64) 0 .9px,transparent 1.5px),radial-gradient(circle at 18.5% 75%,rgba(255,255,255,.5) 0 .78px,transparent 1.38px),radial-gradient(circle at 35% 30%,rgba(255,255,255,.57) 0 .82px,transparent 1.42px),radial-gradient(circle at 39% 33.5%,rgba(255,255,255,.63) 0 .9px,transparent 1.5px),radial-gradient(circle at 43% 29%,rgba(255,255,255,.52) 0 .8px,transparent 1.4px),radial-gradient(circle at 69% 56%,rgba(255,255,255,.59) 0 .85px,transparent 1.45px),radial-gradient(circle at 74% 58.5%,rgba(255,255,255,.47) 0 .72px,transparent 1.32px),radial-gradient(circle at 79% 53%,rgba(255,255,255,.62) 0 .88px,transparent 1.48px),radial-gradient(circle at 89.5% 86%,rgba(255,255,255,.55) 0 .82px,transparent 1.42px),radial-gradient(circle at 95% 88%,rgba(255,255,255,.61) 0 .88px,transparent 1.48px)}.space-star-dot{position:absolute;left:var(--space-star-x, 50%);top:var(--space-star-y, 50%);width:var(--space-star-size, 2.2px);aspect-ratio:1;border-radius:999px;background:var(--space-star-color, #ffffff);box-shadow:0 0 var(--space-star-glow, 14px) color-mix(in srgb,var(--space-star-color, #ffffff) 72%,transparent),0 0 calc(var(--space-star-glow, 14px) * .45) color-mix(in srgb,var(--space-star-color, #ffffff) 90%,transparent);transform:translate(-50%,-50%);animation:space-star-twinkle 3.2s ease-in-out infinite;z-index:2;pointer-events:none}@keyframes space-star-twinkle{0%,to{transform:translate(-50%,-50%) scale(.92);opacity:.82;box-shadow:0 0 calc(var(--space-star-glow, 14px) * .72) color-mix(in srgb,var(--space-star-color, #ffffff) 62%,transparent),0 0 calc(var(--space-star-glow, 14px) * .3) color-mix(in srgb,var(--space-star-color, #ffffff) 82%,transparent)}50%{transform:translate(-50%,-50%) scale(1.18);opacity:1;box-shadow:0 0 calc(var(--space-star-glow, 14px) * 1.25) color-mix(in srgb,var(--space-star-color, #ffffff) 78%,transparent),0 0 calc(var(--space-star-glow, 14px) * .62) color-mix(in srgb,var(--space-star-color, #ffffff) 100%,transparent)}}.landing-shell>:not(.starfield):not(.space-star-dot){position:relative;z-index:2}.home-frame{width:100%;max-width:1200px;min-height:0;margin-inline:auto;padding:1rem;display:flex;flex-direction:column;align-items:stretch;gap:.6rem;border-radius:12px}.home-topbar{display:flex;justify-content:flex-start;align-items:center;gap:1rem;border-radius:12px}.hero-card{z-index:3}.hero-card,.room-header-card,.media-panel,.chat-panel,.join-form,.settings-modal,.video-tile{-webkit-backdrop-filter:blur(10px) saturate(112%);backdrop-filter:blur(10px) saturate(112%);background:var(--surface-0);border:1px solid var(--line-0);box-shadow:0 1px #ffffff0a inset,0 20px 45px #0000004d}.hero-card{width:100%;max-width:920px;border-radius:32px;padding:1.75rem;display:flex;flex-direction:row;gap:2rem;justify-content:center;margin-inline:auto}.home-hero{display:flex;flex-direction:row;gap:2rem;max-width:100%;align-items:start}.home-kicker{margin:0 0 .45rem;color:#b7c8e6;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.home-signals{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.home-signals span{display:inline-flex;align-items:center;padding:.3rem .65rem;border:1px solid rgba(255,255,255,.12);background:#ffffff08;color:var(--text-1);font-size:.74rem;font-weight:550;letter-spacing:.012em;border-radius:6px}.home-join{background:var(--surface-2);border:1px solid var(--line-1)}.home-join-note{margin:.2rem 0 0;font-size:.78rem;color:var(--text-2);line-height:1.45}.home-active-grid{width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.6rem;background:transparent;border:0;border-radius:12px}.home-active-cell{display:flex;flex-direction:row;gap:.6rem;padding:.7rem;align-items:center;justify-content:space-between;background:#070a10e0;border:1px solid var(--line-0);box-shadow:0 1px #ffffff0a inset;border-radius:12px;min-width:180px;max-width:220px}.home-active-cell h2{margin:0;font-size:.92rem;font-weight:620;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-active-title-row{display:flex;align-items:center;justify-content:flex-start;gap:.4rem}.home-active-capacity{flex-shrink:0;color:var(--text-2);font-size:.7rem;letter-spacing:.01em}.home-active-label{margin:0;color:var(--text-2);font-size:.64rem;font-weight:580;letter-spacing:.08em;text-transform:uppercase}.home-active-meta{display:none}.home-active-empty{width:100%;min-height:72px;display:flex;justify-content:center;align-items:center;padding:.7rem;background:#070a10e0;border:1px solid var(--line-0);box-shadow:0 1px #ffffff0a inset;color:var(--text-2)}.hero-copy h1,.room-header h1,.panel-heading h2{margin:0}.hero-copy h1,.room-header h1{font-size:clamp(1.7rem,2.8vw,2.3rem);line-height:1.08;letter-spacing:-.024em;font-weight:650}.panel-heading h2,.settings-header h2{font-size:clamp(1.05rem,1.4vw,1.28rem);line-height:1.18;letter-spacing:-.014em;font-weight:620}.hero-copy p,.room-header p,.panel-heading p{margin:.4rem 0 0;color:var(--text-1);line-height:1.5}.badge{display:inline-flex;align-items:center;gap:.45rem;border-radius:10px;padding:.35rem .8rem;background:#6ea8ff24;border:1px solid rgba(110,168,255,.28);color:#d2e4ff;font-size:.78rem;font-weight:560;letter-spacing:.012em;margin-bottom:1rem}.badge-link{text-decoration:none;transition:transform .18s ease,background-color .18s ease,color .18s ease}.badge-link:hover{transform:translateY(-1px);color:#fff;background:#6ea8ff38}.status-badge{margin-bottom:0;background:#82b2ff21;border-color:#82b2ff4d;color:#deebff}.join-form{display:grid;gap:.85rem}.chat-form{min-width:0}.join-form{align-content:start;padding:1.5rem;border-radius:24px}.join-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.join-actions button{width:100%}.join-form label{font-size:.88rem;font-weight:500;letter-spacing:.008em;color:var(--text-1)}.typewriter-input-wrap{position:relative}.typewriter-input-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding:.95rem 1rem;color:var(--text-2);pointer-events:none;overflow:hidden}.typewriter-input-hint span{position:relative;display:inline-block;min-width:1ch;max-width:100%;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:clip}.typewriter-input-hint span:after{content:"";display:inline-block;width:1px;height:1em;margin-left:.18rem;vertical-align:-.12em;background:var(--accent);animation:suggestion-caret .9s steps(1) infinite}.suggestion-button{width:100%}.room-shell{display:flex;flex-direction:column;padding:0;min-height:0;height:100vh;min-height:100dvh;gap:0;overflow:hidden}.room-header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.room-header-card{border-radius:0;padding:1rem 2rem;flex-shrink:0;border-bottom:1px solid var(--line-0)}.room-header-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.room-header-meta .badge{margin-bottom:0}.room-actions,.control-row{display:flex;gap:.75rem;flex-wrap:wrap}.secondary-button{background:#ffffff08;color:var(--text-0);border-color:var(--line-1)}.settings-button{flex-shrink:0}.settings-button-icon{display:inline-flex;width:1.1rem;height:1.1rem;line-height:1}.settings-button-icon svg{width:100%;height:100%}.icon-toggle-button{display:inline-flex;align-items:center;justify-content:center;min-width:0;width:2.9rem;height:2.9rem;padding:0}.icon-toggle-button.is-off{background:#ff5c5c1c;border-color:#ff787852;color:#ffcfcf}.icon-toggle-symbol{display:inline-flex;width:1.1rem;height:1.1rem;line-height:1}.icon-toggle-symbol svg{width:100%;height:100%}.alert-banner{padding:.85rem 2rem;border-radius:0;background:#ba464629;border:0;border-bottom:1px solid rgba(255,124,124,.32);color:#ffe1e1;flex-shrink:0}.room-layout{display:flex;flex:1;gap:0;align-items:stretch;height:auto;min-height:0;overflow:hidden}.media-panel,.chat-panel{border-radius:0;padding:1.5rem;height:100%;min-height:0}.media-panel{flex:2;border-right:1px solid var(--line-0)}.chat-panel{flex:.9;min-width:320px}.media-panel{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:auto}.panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.85rem}.device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}.device-control{display:grid;gap:.45rem}.device-control span{color:var(--text-1);font-size:.86rem;letter-spacing:.01em;font-weight:500}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.5rem;background:#03060cbf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20}.settings-modal{width:min(560px,100%);border-radius:28px;padding:1.5rem}.settings-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.settings-header h2{margin:0}.settings-header p{margin:.5rem 0 0;color:var(--text-1)}.modal-close-button{flex-shrink:0}.modal-device-grid{margin-bottom:0}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-auto-rows:minmax(0,1fr);min-height:0;height:100%;gap:1rem;align-content:stretch}.video-tile{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;overflow:hidden;border-radius:24px}.video-surface{position:relative;min-height:0}.video-tile video,.video-placeholder{display:block;width:100%;height:100%;min-height:0;background:linear-gradient(180deg,#121823f2,#0d121cf2)}.video-tile video{object-fit:cover}.video-placeholder{display:grid;place-items:center;color:var(--text-1);padding:1rem;text-align:center}.video-status-indicator{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;padding:.45rem .7rem;border-radius:10px;border:1px solid var(--line-1);background:#070a10d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-0);font-size:.78rem;font-weight:560;letter-spacing:.01em;text-align:center;white-space:nowrap;pointer-events:none}.video-overlay-controls{position:absolute;top:.85rem;right:.85rem;border-radius:12px;background:#090d14c7;border:1px solid var(--line-1);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 10px 26px #00000047;opacity:0;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}.video-tile:hover .video-overlay-controls,.video-tile:focus-within .video-overlay-controls{opacity:1;transform:translateY(0);pointer-events:auto}.video-tile.overlay-pinned .video-overlay-controls{opacity:1;transform:translateY(0);pointer-events:auto}.video-meta{display:flex;flex-direction:column;justify-content:center;gap:.2rem;align-items:center;text-align:center;padding:.85rem 1rem}.video-meta-copy{display:flex;min-width:0;align-items:center;gap:.45rem}.video-meta-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-meta-bar{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.7rem}.video-meta-with-controls{align-items:stretch;text-align:left}.video-meta-with-controls .video-meta-copy{flex:1;min-width:0}.video-meta-controls{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}.video-meta-controls .icon-toggle-button{width:2.2rem;height:2.2rem}.video-control-row{flex-wrap:nowrap;gap:.5rem;flex-shrink:0;padding:.4rem}.video-control-row .icon-toggle-button{width:2.5rem;height:2.5rem}.video-meta span{color:var(--text-2);font-size:.92rem}.chat-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;min-width:0}.chat-input-wrap{position:relative;min-width:0}.chat-input-wrap input{width:100%;padding-right:5.1rem;min-width:0}.chat-input-wrap button{position:absolute;right:0;top:0;bottom:0;border-radius:0 12px 12px 0;transform:none;display:inline-flex;align-items:center;justify-content:center;padding:0 1rem;font-size:.78rem;line-height:1;white-space:nowrap}.chat-input-wrap button:hover{transform:none}.messages-list{min-height:0;overflow-y:auto;display:grid;align-content:start;align-items:start;gap:.45rem;padding-right:.35rem;scrollbar-gutter:stable}.message-bubble{padding:.9rem 1rem;border-radius:10px;background:var(--surface-1);border:1px solid var(--line-0)}.message-bubble header{display:flex;justify-content:space-between;gap:.55rem;margin-bottom:.1rem;align-items:baseline}.message-bubble header strong{font-size:.82rem;letter-spacing:.008em;font-weight:600}.message-bubble header span{color:var(--text-2);font-size:.72rem;letter-spacing:.01em}.message-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:.9rem;line-height:1.45}.system-message{background:#6ea8ff1a;border-color:#6ea8ff42}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes suggestion-caret{50%{opacity:0}}@media(max-width:960px){.home-frame{padding:1rem;min-height:auto}.home-hero,.hero-card,.room-layout{flex-direction:column}.home-active-grid{justify-content:center}.home-active-cell{min-width:170px;max-width:210px}.room-header,.panel-heading,.settings-header{flex-direction:column;align-items:stretch}}@media(max-width:640px){.page-shell{padding:0}.landing-shell{min-height:100dvh;padding:1rem;align-content:center}.hero-card{gap:1.25rem;padding:1.25rem;border-radius:24px}.home-frame{padding:0;gap:0}.home-topbar{padding:1rem}.home-active-grid{justify-content:center}.home-active-cell{max-width:320px}.join-form{padding:1rem}.badge{margin-bottom:.75rem}.room-shell{padding:0;height:auto;min-height:100dvh;overflow:auto;flex-direction:column}.room-layout{height:auto;min-height:0;overflow:visible;flex-direction:column;gap:0}.media-panel{border-right:0;border-bottom:1px solid var(--line-0)}.chat-panel{height:auto}.chat-input-wrap button{width:auto}.media-panel,.chat-panel{height:auto;min-height:0}.media-panel{overflow:visible}.hero-card,.chat-panel{border-radius:8px}.video-grid{grid-template-columns:1fr;grid-auto-rows:auto;height:auto;align-content:start}.video-tile{height:auto;min-height:0}.video-tile video,.video-tile .video-placeholder{height:auto;min-height:320px;aspect-ratio:4 / 5}.video-meta-copy{align-items:center}.video-meta-with-controls{text-align:left}.video-meta-with-controls .video-meta-copy{align-items:flex-start}.video-meta-controls .icon-toggle-button{width:2.1rem;height:2.1rem}.video-overlay-controls{top:auto;right:50%;bottom:.85rem;transform:translate(50%);opacity:1;pointer-events:auto}.video-tile:hover .video-overlay-controls,.video-tile:focus-within .video-overlay-controls{transform:translate(50%)}.video-tile.overlay-pinned .video-overlay-controls{transform:translate(50%)}.video-control-row{justify-content:center}}.page-shell,.room-shell{margin:0;padding:0}.room-shell,.room-layout{gap:0}.hero-card,.join-form,.settings-modal,.video-tile,button,input,select,textarea,.badge,.home-active-cell,.home-active-empty,.message-bubble,.video-overlay-controls{border-radius:12px}.room-header-card,.media-panel,.chat-panel,.alert-banner{border-radius:0}.room-header-card,.media-panel,.chat-panel,.join-form,.settings-modal{padding:1.75rem}.video-tile{padding:0}
