@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f8f8fb;--surface:#fff;--surface-2:#fafaf9;--ink:#17171c;--ink-2:#57534e;--muted:#78716c;--faint:#a8a29e;--line:#e7e5e4;--accent:#5b5fc7;--accent-2:#6a6ed6;--accent-ink:#fff;--accent-soft:#eef0fa;--spot:#f59e0b;--spot-soft:#fef3c7;--ok:#059669;--danger:#dc2626;--danger-soft:#fef2f2;--stage:#0d0e26;--stage-tile:#1c1e48;--stage-ink:#eef0ff;--shadow-sm:0 1px 3px #1c19170f, 0 1px 2px -1px #1c19170f;--shadow:0 20px 25px -5px #1c19170d, 0 8px 10px -6px #1c19170d;--shadow-accent:0 10px 15px -3px #5b5fc740, 0 4px 6px -4px #5b5fc740;--radius-lg:24px;--radius:16px;--radius-sm:12px;--radius-xs:8px;--font:"Geist Variable", "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f0f14;--surface:#18181f;--surface-2:#202029;--ink:#ececf2;--ink-2:#c4c4cf;--muted:#a1a1ad;--faint:#71717c;--line:#2c2c37;--accent:#8f92ec;--accent-2:#a3a6f2;--accent-ink:#0f0f14;--accent-soft:#24254a;--spot:#fbbf24;--spot-soft:#3a2f12;--ok:#34d399;--danger:#f87171;--danger-soft:#3b1a1d;--stage:#08091a;--stage-tile:#17193d;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 2px #0006, 0 8px 24px #00000059;--shadow-accent:0 8px 20px -6px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f0f14;--surface:#18181f;--surface-2:#202029;--ink:#ececf2;--ink-2:#c4c4cf;--muted:#a1a1ad;--faint:#71717c;--line:#2c2c37;--accent:#8f92ec;--accent-2:#a3a6f2;--accent-ink:#0f0f14;--accent-soft:#24254a;--spot:#fbbf24;--spot-soft:#3a2f12;--ok:#34d399;--danger:#f87171;--danger-soft:#3b1a1d;--stage:#08091a;--stage-tile:#17193d;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 2px #0006, 0 8px 24px #00000059;--shadow-accent:0 8px 20px -6px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-feature-settings:"ss01";-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0;font-size:15px;line-height:1.45}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;line-height:1.2}p{margin:0 0 .75em}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted);font-size:.9em}.icon{flex:none}.btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:42px;color:var(--ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.4em;padding:0 18px;font-size:.95em;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:linear-gradient(to bottom, var(--accent-2), var(--accent));color:var(--accent-ink);box-shadow:var(--shadow-accent);border-color:#0000}.btn.primary:hover:not(:disabled){background:linear-gradient(to bottom, var(--accent-2), var(--accent));filter:brightness(1.06)}.btn.soft{border-color:color-mix(in srgb, var(--accent) 30%, transparent);background:color-mix(in srgb, var(--accent-soft) 60%, transparent);color:var(--accent)}.btn.soft:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:var(--accent-soft)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--line))}.btn.danger:hover:not(:disabled){background:var(--danger-soft)}.btn.ghost{background:0 0;border-color:#0000}.btn.small{border-radius:var(--radius-xs);min-height:32px;padding:0 10px;font-size:.87em}.icon-btn{width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-2)}.icon-btn.primary{background:var(--accent);color:var(--accent-ink)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}input:not([type=range]):not([type=checkbox]),select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);width:100%;min-height:44px;color:var(--ink-2);font:inherit;outline:none;padding:0 14px;font-weight:400;transition:border-color .15s,background-color .15s,box-shadow .15s}input:not([type=range]):not([type=checkbox])::placeholder{color:var(--faint)}input:not([type=range]):not([type=checkbox]):focus,select:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 10%, transparent)}input[type=range]{accent-color:var(--accent);width:100%}.field{color:var(--ink-2);gap:6px;margin-bottom:16px;font-size:13px;font-weight:600;display:grid}.field input,.field select{font-size:15px}.field small{font-weight:400}.form-error{color:var(--danger);font-weight:600}.card{border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);gap:4px;padding:28px;display:grid}.card h1,.card h2{margin-bottom:14px;font-size:1.3em;font-weight:700}.eyebrow{color:var(--faint);letter-spacing:.15em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:700}.glow{isolation:isolate;position:relative;overflow:hidden}.glow:before,.glow:after{content:"";z-index:-1;background:color-mix(in srgb, var(--accent) 10%, transparent);filter:blur(64px);pointer-events:none;border-radius:50%;width:384px;height:384px;position:absolute}.glow:before{top:-128px;left:-128px}.glow:after{bottom:-160px;right:-96px}.card.narrow{width:min(440px,100%)}.center-screen{align-content:center;place-items:center;gap:28px;min-height:100%;padding:32px 16px;display:grid}.center-screen>.card{gap:6px}.center-screen>.card h1{margin-bottom:8px;font-size:1.5rem}.center-screen>.card>.btn,.center-screen>.card>.row-actions{margin-top:10px}.badge{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:99px;padding:2px 9px;font-size:.75em;font-weight:700;display:inline-block}.badge.live{background:var(--danger-soft);color:var(--danger)}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.confirm-inline{flex-wrap:wrap;align-items:center;gap:6px;font-size:.87em;font-weight:600;display:inline-flex}.plain-list{margin:0 0 12px;padding-left:18px}.dialog{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:min(520px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--ink);box-shadow:var(--shadow);padding:0}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#17171c73}.dialog-body{padding:24px}.dialog-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dialog-section{border-top:1px solid var(--line);padding:14px 0}.dialog-section h3{margin-bottom:10px;font-size:1em}.home{flex-direction:column;min-height:100%;display:flex}.home-head,.home-foot{justify-content:space-between;align-items:center;padding:16px clamp(16px,4vw,48px);display:flex}.brand{color:var(--ink);align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.brand-logo{width:auto;height:40px;display:block}.brand-sub{border-left:1px solid var(--line);color:var(--muted);letter-spacing:.02em;padding-left:10px;font-size:.82em;font-weight:600}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-logo{filter:invert()hue-rotate(180deg)}}:root[data-theme=dark] .brand-logo{filter:invert()hue-rotate(180deg)}.home-main{flex:1;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:clamp(24px,5vw,72px);width:min(1180px,100%);margin:0 auto;padding:16px clamp(16px,4vw,48px) 32px;display:grid}.home-hero h1{letter-spacing:-.03em;max-width:14ch;font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:700;line-height:1.05}.lead{max-width:52ch;color:var(--muted);margin:16px 0 28px;font-size:1.1em}.home-forms{gap:16px;display:grid}.preview{border-radius:var(--radius-lg);background:var(--stage);max-width:520px;color:var(--stage-ink);box-shadow:var(--shadow);gap:10px;padding:12px;display:grid}.preview-screen{aspect-ratio:16/8;background:var(--stage-tile);border-radius:10px;padding:18px;position:relative}.preview-live{background:#d8345a;border-radius:99px;padding:2px 9px;font-size:.72em;font-weight:700;position:absolute;top:10px;right:10px}.preview-slide{gap:10px;margin-top:26px;display:grid}.preview-slide i{background:#ffffff38;border-radius:5px;height:9px}.preview-strip{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.preview-tile{aspect-ratio:16/10;background:var(--stage-tile);color:#ffffffb3;border-radius:8px;place-items:center;font-weight:700;display:grid;position:relative}.preview-tile.speaking{outline:3px solid #ffc24a;box-shadow:0 0 22px #ffc24a73}.preview-hand{color:#1a1400;background:#ffc24a;border-radius:99px;padding:1px 7px;font-size:.62em;position:absolute;bottom:6px;left:6px}.preview-meter{color:#eef0ffb3;gap:4px;padding:4px 6px;font-size:.78em;display:grid}.preview-meter svg{width:100%;height:36px}.preview-meter path{fill:none;stroke:#5fe0b4;stroke-width:2.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.doc{width:min(720px,100%);margin:0 auto;padding:16px clamp(16px,4vw,32px) 64px}.doc h1{letter-spacing:-.03em;font-size:clamp(1.8rem,4vw,2.5rem)}.doc .lead{margin-top:12px}.doc-section{margin-top:28px}.doc-section h2{margin-bottom:8px;font-size:1.2em}.doc-section ul{padding-left:20px}.data-rooms{gap:10px;list-style:none;display:grid;padding:0!important}@media (width<=860px){.home-main{grid-template-columns:minmax(0,1fr)}.preview{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.room{--side-w:380px;background:var(--bg);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);height:100dvh;display:grid}.room-head{justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:10px 16px;display:flex}.room-logo{border-right:1px solid var(--line);flex:none;margin-right:4px;padding-right:14px;display:flex}.room-title{align-items:center;gap:10px;min-width:0;display:flex}.room-title h1{white-space:nowrap;text-overflow:ellipsis;font-size:1.05em;font-weight:700;overflow:hidden}.live-dot{background:var(--danger);border-radius:50%;flex:none;width:9px;height:9px;animation:2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.room-meta{flex:none;align-items:center;gap:8px;display:flex}.banner{border:1px solid color-mix(in srgb, var(--spot) 35%, var(--line));border-radius:var(--radius-sm);background:var(--spot-soft);color:var(--ink);text-align:center;margin:0 12px 10px;padding:8px 16px;font-size:.9em;font-weight:600}.room-main{grid-row:3;grid-template-columns:minmax(0, 1fr) var(--side-w);gap:12px;min-height:0;padding:0 12px;display:grid}.room>.bar{grid-row:4}.room-main:has(.sidebar.is-wide){--side-w:min(780px, 58vw)}.is-fullscreen .room-head{display:none}.stage-wrap{min-width:0;min-height:0;position:relative}.stage{border-radius:var(--radius);background:radial-gradient(120% 80% at 100% 0%, #5b5fc738, transparent 60%), radial-gradient(90% 70% at 0% 100%, #4078ff1f, transparent 60%), var(--stage);height:100%;color:var(--stage-ink);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:10px;display:flex;overflow:auto}.stage-empty{text-align:center;color:#eef0ffb3;justify-content:center;align-items:center}.stage-people{flex:1;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));grid-auto-rows:minmax(0,1fr);gap:10px;min-height:0;display:grid}.stage[data-count="1"] .stage-people{grid-template-columns:minmax(0,1fr)}.stage.has-screen .stage-people{flex:none;height:clamp(84px,16vh,140px);display:flex;overflow-x:auto}.stage-main{flex:1;min-height:0}.stage-audience{flex-direction:column;flex:none;gap:6px;display:flex}.stage-audience-head{color:#eef0ff99;letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:10px;font-weight:700}.stage-audience-tiles{gap:8px;height:clamp(72px,13vh,120px);display:flex;overflow-x:auto}.tile{border-radius:var(--radius-sm);background:var(--stage-tile);outline-offset:-3px;outline:3px solid #0000;min-width:0;min-height:0;transition:box-shadow .15s,outline-color .15s;position:relative;overflow:hidden}.tile-grid,.tile-main{width:100%;height:100%}.tile-strip{aspect-ratio:16/9;flex:none;height:100%}.tile-pip{z-index:2;aspect-ratio:16/9;width:clamp(140px,22%,220px);position:absolute;bottom:18px;right:18px;box-shadow:0 6px 24px #00000073}.tile video{object-fit:cover;background:#000;width:100%;height:100%}.tile.is-contain video{object-fit:contain}.tile video.mirrored{transform:scaleX(-1)}.tile.is-speaking{outline-color:var(--spot);box-shadow:0 0 26px color-mix(in srgb, var(--spot) 50%, transparent)}.tile-avatar{place-items:center;width:100%;height:100%;display:grid}.tile-avatar span{aspect-ratio:1;color:#fff;background:linear-gradient(#6a6ed6,#5b5fc7);border-radius:50%;place-items:center;width:clamp(40px,28%,96px);font-size:clamp(1rem,3vw,2rem);font-weight:700;display:grid;box-shadow:0 0 0 6px #6a6ed62e}.tile-label{border-radius:var(--radius-xs);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d0e26b8;align-items:center;gap:6px;max-width:calc(100% - 16px);padding:3px 9px;font-size:.8em;font-weight:500;display:flex;position:absolute;bottom:8px;left:8px}.tile-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tile-flag{color:#ff8aa1;display:inline-flex}.tile-hand{background:var(--spot);color:#1a1400;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:8px;right:8px}.reactions-layer{border-radius:var(--radius);pointer-events:none;position:absolute;inset:0;overflow:hidden}.floating{opacity:0;font-size:2rem;animation:2.8s ease-out forwards float-up;position:absolute;bottom:8px}@keyframes float-up{0%{opacity:0;transform:translate(0)scale(.7)}12%{opacity:1}to{opacity:0;transform:translate(var(--drift,0), -60vh) scale(1.15)}}.sidebar{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;min-height:0;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden;container-type:inline-size}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;padding:8px;display:flex;overflow-x:auto}.tab{border-radius:var(--radius-xs);min-height:36px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.86em;font-weight:500;transition:background-color .15s,color .15s;display:inline-flex;position:relative}.tab:hover{background:var(--surface-2);color:var(--ink)}.tab[aria-selected=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}@container (width<=560px){.tab{flex:none;min-width:40px}.tab[aria-selected=true]{flex:auto}.tab:not([aria-selected=true]) span:not(.count){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.count{background:var(--accent);min-width:18px;color:var(--accent-ink);text-align:center;border-radius:99px;padding:0 5px;font-size:.75em;line-height:18px}.panel-body{flex:1;min-height:0;display:flex}.panel-col{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.scroll-area{flex:1;min-height:0;overflow-y:auto}.pad{padding:4px 14px 10px}.empty{color:var(--muted);text-align:center;padding:32px 16px;font-size:.9em;list-style:none}.list-heading{color:var(--faint);letter-spacing:.15em;text-transform:uppercase;margin:0;padding:16px 14px 8px;font-size:10.5px;font-weight:700;line-height:1.3}.composer{border-top:1px solid var(--line);align-items:center;gap:8px;padding:10px;display:flex}.composer .icon-btn.primary{border-radius:var(--radius-sm);background:linear-gradient(to bottom, var(--accent-2), var(--accent));width:42px;height:42px;box-shadow:var(--shadow-accent)}.chat-list{flex:1;min-height:0;margin:0;padding:10px 14px;list-style:none;overflow-y:auto}.chat-msg{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:10px;padding:8px 12px 10px}.chat-msg.mine{border-color:color-mix(in srgb, var(--accent) 22%, var(--line));background:var(--accent-soft)}.chat-meta{align-items:center;gap:8px;font-size:.82em;display:flex}.chat-meta strong{font-weight:600}.chat-meta time{color:var(--faint);margin-left:auto;font-size:.92em}.chat-msg p{color:var(--ink-2);overflow-wrap:anywhere;white-space:pre-wrap;margin:3px 0 0;font-size:.94em}.chat-msg.mine .chat-meta strong{color:var(--accent)}.qa-list,.poll-list,.people-list,.poll-options{margin:0;padding:0;list-style:none}.qa-list,.poll-list{gap:8px;padding:0 12px 4px;display:grid}.poll-list{padding-top:12px}.qa-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);gap:12px;padding:12px;display:flex}.qa-item.is-answered{opacity:.65}.qa-body{flex:1;min-width:0}.qa-body p{overflow-wrap:anywhere;margin-bottom:4px;font-weight:500}.qa-body .row-actions{margin-top:8px}.vote-btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);min-width:44px;color:var(--ink-2);font:inherit;cursor:pointer;align-self:flex-start;place-items:center;padding:6px 4px;font-size:.85em;font-weight:700;transition:border-color .15s,background-color .15s;display:grid}.vote-btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 40%, var(--line));color:var(--accent)}.vote-btn:disabled{border-color:color-mix(in srgb, var(--accent) 25%, transparent);background:var(--accent-soft);color:var(--accent);cursor:default}.poll-form{border-bottom:1px solid var(--line);padding:4px 0 14px}.poll-form>.field,.poll-form>.option-row,.poll-form>.row-actions{margin-left:14px;margin-right:14px}.option-row{gap:6px;margin-bottom:8px;display:flex}.poll-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);padding:14px}.poll-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.poll-head h4{overflow-wrap:anywhere;font-size:.98em;font-weight:600}.poll-options li{margin-bottom:6px}.poll-choice{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);width:100%;min-height:40px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;padding:0 12px;transition:border-color .15s,background-color .15s}.poll-choice:hover{border-color:var(--accent);background:var(--accent-soft)}.poll-result{border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:space-between;gap:10px;padding:9px 12px;display:flex;position:relative;overflow:hidden}.poll-result.is-mine{border-color:var(--accent);color:var(--accent);font-weight:600}.poll-bar{background:var(--accent-soft);transition:width .4s;position:absolute;inset:0 auto 0 0}.poll-label,.poll-value{position:relative}.poll-value{flex:none;font-weight:700}.poll-foot{justify-content:space-between;align-items:center;min-height:28px;margin-top:8px;display:flex}.people-list{padding:0 6px}.person{border-radius:var(--radius-xs);flex-wrap:wrap;align-items:center;gap:10px;padding:8px;display:flex}.person:hover{background:var(--surface-2)}.avatar{background:linear-gradient(to bottom, var(--accent-2), var(--accent));width:36px;height:36px;color:var(--accent-ink);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:.78em;font-weight:700;display:grid}.person-main{flex:1;min-width:120px;display:grid}.person-name{overflow-wrap:anywhere;font-size:.94em;font-weight:600}.person-main .muted{font-size:.8em}.kpis{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;padding:14px;display:grid}.kpi{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);gap:4px;padding:14px;display:grid}.kpi-label{color:var(--faint);letter-spacing:.12em;text-transform:uppercase;font-size:10.5px;font-weight:700}.kpi-value{letter-spacing:-.02em;font-size:1.6em;font-weight:700}.bars{gap:6px;margin:0;padding:0;list-style:none;display:grid}.bars li{grid-template-columns:minmax(70px,28%) 1fr auto;align-items:center;gap:8px;font-size:.88em;display:grid}.bar-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bar-track{background:var(--accent-soft);border-radius:99px;height:8px;overflow:hidden}.bar-fill{background:linear-gradient(to right, var(--accent-2), var(--accent));border-radius:99px;height:100%;display:block}.bar-value{text-align:right;min-width:2.5ch;font-weight:700}.breakdowns{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.breakdowns h4{color:var(--ink-2);margin-bottom:8px;font-size:13px;font-weight:600}.timeline{margin:0;padding:0 14px}.timeline svg{touch-action:pan-y;width:100%;height:auto;display:block}.timeline-legend{flex-wrap:wrap;gap:4px 16px;margin-bottom:4px;font-size:.85em;font-weight:600;display:flex}.legend-item:before{content:"";border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.legend-item.audience:before{background:var(--accent)}.legend-item.attention:before{background:var(--ok)}.timeline .grid{stroke:var(--line);stroke-width:1px}.timeline .axis{fill:var(--muted);font-size:11px}.area-audience{fill:var(--accent-soft)}.line-audience,.line-attention{fill:none;stroke-width:2.2px;stroke-linejoin:round}.line-audience{stroke:var(--accent)}.line-attention{stroke:var(--ok)}.timeline .guide{stroke:var(--muted);stroke-dasharray:3 3}.dot-audience{fill:var(--accent)}.dot-attention{fill:var(--ok)}.ptable-tools{align-items:center;gap:12px;padding:4px 14px 10px;display:flex}.ptable-tools input{max-width:320px}.ptable-scroll{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin:0 14px;overflow:auto}.ptable table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.86em}.ptable th{z-index:2;border-bottom:1px solid var(--line);background:var(--surface-2);text-align:left;padding:0;position:sticky;top:0}.ptable th button{width:100%;min-height:36px;color:var(--faint);font:inherit;letter-spacing:.08em;text-align:inherit;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:11px;font-weight:700}.ptable th[aria-sort=ascending] button,.ptable th[aria-sort=descending] button{color:var(--accent)}.sort-mark{margin-left:4px;font-size:.7em}.ptable td{border-bottom:1px solid var(--line);height:38px;color:var(--ink-2);padding:0 10px}.ptable tr:last-child td{border-bottom:0}.ptable .num{text-align:right}.ptable th:first-child,.ptable td:first-child{z-index:1;background:var(--surface);font-weight:600;position:sticky;left:0}.ptable th:first-child{z-index:3;background:var(--surface-2)}.ptable tr.is-offline td{color:var(--muted)}.state-attentive{color:var(--ok);font-weight:600}.state-away,.state-idle{color:var(--danger)}.bar{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 16px;display:grid}.bar-group{align-items:center;gap:8px;display:flex}.bar-group:last-child{justify-content:flex-end}.bar-main{justify-content:center}.bar .volume{width:96px}.bar-btn{border:1px solid var(--line);background:var(--surface);width:46px;height:46px;color:var(--ink-2);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:50%;place-items:center;transition:background-color .15s,border-color .15s,color .15s;display:inline-grid}.bar-btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 35%, var(--line));background:var(--surface);color:var(--accent)}.bar-btn.is-active{border-color:color-mix(in srgb, var(--accent) 35%, transparent);background:var(--accent-soft);color:var(--accent)}.bar-btn.is-active:hover:not(:disabled){background:var(--accent-soft)}.bar-btn.is-hand.is-active{border-color:color-mix(in srgb, var(--spot) 55%, transparent);background:var(--spot-soft);color:color-mix(in srgb, var(--spot) 60%, var(--ink))}.bar-btn.is-danger{border-color:color-mix(in srgb, var(--danger) 30%, var(--line));background:var(--danger-soft);color:var(--danger)}.bar-btn.is-danger:hover:not(:disabled){border-color:color-mix(in srgb, var(--danger) 50%, var(--line));background:var(--danger-soft);color:var(--danger)}.bar-btn:disabled{opacity:.45;cursor:not-allowed}.btn.leave{color:#fff;background:#dc2626;border-color:#0000;box-shadow:0 10px 15px -3px #dc262638,0 4px 6px -4px #dc262638}.btn.leave:hover:not(:disabled){filter:brightness(1.1);background:#dc2626}.popover-anchor{position:relative}.popover{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);gap:4px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.emoji-btn{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;width:42px;height:42px;font-size:1.4rem;transition:transform .12s}.emoji-btn:hover{background:var(--accent-soft);transform:scale(1.15)}.emoji-btn:active{transform:scale(.9)}.toasts{z-index:50;gap:8px;width:min(380px,100vw - 32px);display:grid;position:fixed;bottom:84px;right:16px}.toast{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:8px;padding:10px 10px 10px 14px;font-size:.92em;font-weight:600;display:flex}.toast.error{border-color:color-mix(in srgb, var(--danger) 30%, var(--line));border-left-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.toast .icon-btn{width:30px;height:30px;color:var(--muted)}.toast .icon-btn:hover{background:var(--surface-2)}@media (width<=860px){.room-main{grid-template-rows:minmax(0,36%) minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:8px;padding:0 8px}.room-main:has(.sidebar.is-wide){grid-template-rows:minmax(0,26%) minmax(0,1fr)}.room-head{min-height:52px;padding:8px 12px}.room-logo{display:none}.tabs{padding:6px}.tab,.tab[aria-selected=true]{flex:1}.bar .volume,.room-meta .btn{display:none}.bar{grid-template-columns:auto 1fr auto;gap:6px;padding:8px}.bar-btn{width:42px;height:42px}.btn.leave span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.btn.leave{padding:0 12px}.tab span:not(.count){clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.tab{min-height:42px}.stage.has-screen .stage-people,.stage-audience-tiles{height:64px}.tile-pip{width:120px}.toasts{bottom:72px;right:8px}.confirm-inline>span:first-child{flex-basis:100%}}
