:root{--bg-0:#0b0e14;--bg-1:#121722;--bg-2:#181e2b;--bg-3:#232b3b;--line:#273044;--text:#c9d3e3;--text-dim:#7d8aa3;--text-bright:#eef3fb;--accent:#4c9aff;--on-accent:#fff}:root[data-mode=light]{--bg-0:#e9eef6;--bg-1:#f4f7fb;--bg-2:#fff;--bg-3:#e2e8f2;--line:#d6deea;--text:#1f2a3c;--text-dim:#62708a;--text-bright:#0d1524;--accent:#1f6fe0;--on-accent:#fff}:root[data-theme=sakura]{--bg-0:#120e13;--bg-1:#1a151c;--bg-2:#211b24;--bg-3:#2e2632;--line:#352b39;--text:#e2d6df;--text-dim:#9a8a97;--text-bright:#fbf2f7;--accent:#f07aa8;--on-accent:#2a0d1a}:root[data-theme=sakura][data-mode=light]{--bg-0:#f6edf1;--bg-1:#fbf6f8;--bg-2:#fff;--bg-3:#f1e3ea;--line:#ead7e0;--text:#3a2531;--text-dim:#86707c;--text-bright:#1f0f18;--accent:#d4497f;--on-accent:#fff}:root[data-theme=celadon]{--bg-0:#0b1211;--bg-1:#111a18;--bg-2:#16211f;--bg-3:#203029;--line:#243631;--text:#cfe0da;--text-dim:#7f978f;--text-bright:#f0f8f5;--accent:#3ec79e;--on-accent:#04261b}:root[data-theme=celadon][data-mode=light]{--bg-0:#e8f1ee;--bg-1:#f4f9f7;--bg-2:#fff;--bg-3:#dfece7;--line:#d0e2db;--text:#1d332c;--text-dim:#5f7a71;--text-bright:#0b1d17;--accent:#13916b;--on-accent:#fff}:root[data-theme=amber]{--bg-0:#100e0b;--bg-1:#181511;--bg-2:#1f1b16;--bg-3:#2c261f;--line:#342c22;--text:#e5dccf;--text-dim:#9c9080;--text-bright:#fbf5ec;--accent:#f2a33a;--on-accent:#2b1700}:root[data-theme=amber][data-mode=light]{--bg-0:#f4efe7;--bg-1:#faf7f2;--bg-2:#fff;--bg-3:#efe6d9;--line:#e5d8c5;--text:#3a2e1f;--text-dim:#857563;--text-bright:#1e160b;--accent:#c4730f;--on-accent:#fff}:root[data-theme=wisteria]{--bg-0:#0e0d16;--bg-1:#15131f;--bg-2:#1b1928;--bg-3:#272438;--line:#2e2a42;--text:#d8d5ea;--text-dim:#8a86a6;--text-bright:#f5f3ff;--accent:#9d8cff;--on-accent:#160f3a}:root[data-theme=wisteria][data-mode=light]{--bg-0:#eeedf7;--bg-1:#f7f6fc;--bg-2:#fff;--bg-3:#e7e4f5;--line:#dbd7ee;--text:#272340;--text-dim:#6d6890;--text-bright:#120f26;--accent:#6a55e8;--on-accent:#fff}:root[data-theme=graphite]{--bg-0:#0c0c0d;--bg-1:#141415;--bg-2:#1a1a1c;--bg-3:#262628;--line:#2c2c2f;--text:#d6d6d8;--text-dim:#8a8a90;--text-bright:#fafafa;--accent:#ededee;--on-accent:#111}:root[data-theme=graphite][data-mode=light]{--bg-0:#ededee;--bg-1:#f6f6f7;--bg-2:#fff;--bg-3:#e5e5e7;--line:#d9d9dc;--text:#232325;--text-dim:#6e6e74;--text-bright:#0a0a0b;--accent:#1c1c1e;--on-accent:#fff}:root{--green:#2fb36a;--green-text:#57d28f;--red:#e5484d;--red-hover:#c43a3f;--live:#e5484d;--warn:#f0b232;--danger-text:#fa777c;--shadow:0 8px 28px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-hover:color-mix(in srgb, var(--text) 7%, var(--bg-1));--bg-active:color-mix(in srgb, var(--accent) 16%, var(--bg-1));--bg-3-hover:color-mix(in srgb, var(--text) 10%, var(--bg-3));--bg-float:var(--bg-2);--accent-hover:color-mix(in srgb, var(--accent) 82%, var(--text-bright));--accent-soft:color-mix(in srgb, var(--accent) 18%, transparent);--radius:10px;font-family:gg sans,Noto Sans SC,Microsoft YaHei UI,system-ui,sans-serif;font-size:14px}:root[data-mode=light]{--green:#1f9d57;--green-text:#16834a;--warn:#b7791f;--danger-text:#d03b40;--shadow:0 8px 28px #141e3229;--accent-hover:color-mix(in srgb, var(--accent) 85%, #000);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg-2);height:100%;color:var(--text);margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}svg{display:block}[hidden]{display:none!important}#app{height:100%;display:flex}#sidebar{background:var(--bg-1);border-right:1px solid var(--line);flex-direction:column;flex:none;width:240px;display:flex}#server-name{height:48px;color:var(--text-bright);border-bottom:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;align-items:center;padding:0 16px;font-weight:600;display:flex;overflow:hidden}#channels{flex:1;padding:12px 8px;overflow-y:auto}.channel{color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:6px;padding:7px 8px;transition:background .12s,color .12s;display:flex}.channel:hover{background:var(--bg-hover);color:var(--text)}.channel.current{background:var(--bg-active);color:var(--text-bright)}.channel.current:after{content:"";background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.channel svg{flex:none;width:20px;height:20px}.channel .ch-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ch-members{padding:2px 0 6px 28px}body.meet #sidebar,body.meet #btn-nav,body.meet #nav-backdrop{display:none!important}#meet-bar{align-items:center;gap:6px;margin-left:8px;font-weight:400;display:flex}#meet-bar[hidden]{display:none}.mi-code{letter-spacing:.06em;background:var(--accent-soft);color:var(--text-bright);border-radius:4px;padding:1px 8px;font:600 13px/1.5 ui-monospace,Consolas,monospace}.btn.tiny.primary{background:var(--accent);color:var(--on-accent)}.btn.link{color:var(--accent);padding:4px 0}.meet-lobby{text-align:center;width:min(560px,100%);color:var(--text);flex-direction:column;align-self:center;gap:14px;display:flex}.meet-lobby h1{color:var(--text-bright);margin:0;font-size:26px;font-weight:600}.meet-lobby .hint,.meet-lobby .err{text-align:center}.meet-row{flex-wrap:wrap;gap:8px;display:flex}.meet-row.center{justify-content:center}.meet-row input,.meet-row select{background:var(--bg-2);border:1px solid var(--line);min-width:0;color:var(--text);font:inherit;border-radius:6px;flex:1;padding:11px 12px;font-size:15px}.meet-row input:focus{outline:2px solid var(--accent);outline-offset:-1px}.meet-row select{flex:none}.meet-card{background:var(--bg-2);border:1px solid var(--line);text-align:left;border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.meet-card h3{color:var(--text-dim);margin:0;font-size:13px;font-weight:700}.meet-item{border-top:1px solid var(--line);align-items:center;gap:6px;padding:8px 0;display:flex}.meet-item:first-of-type{border-top:0}.mi-text{flex-wrap:wrap;flex:1;align-items:center;gap:4px 8px;min-width:0;display:flex}.mi-text b{color:var(--text-bright);font-weight:600}.mi-text small{color:var(--text-dim);flex-basis:100%;font-size:12px}.mi-text em{color:var(--warn);font-style:normal}.meet-spin{border:3px solid var(--bg-3);border-top-color:var(--accent);border-radius:50%;align-self:center;width:40px;height:40px;animation:1s linear infinite meet-spin}@keyframes meet-spin{to{transform:rotate(360deg)}}#meet-knocks{z-index:15;flex-direction:column;gap:8px;width:min(340px,100% - 24px);display:flex;position:absolute;top:56px;right:12px}#meet-knocks[hidden]{display:none}.knock{background:var(--bg-float);box-shadow:inset 3px 0 0 var(--accent), var(--shadow);border:1px solid var(--line);border-radius:10px;align-items:center;gap:6px;padding:10px 12px;animation:.2s ease-out knock-in;display:flex}@keyframes knock-in{0%{opacity:0;transform:translate(20px)}}.kn-text{flex:1;min-width:0;font-size:14px}.kn-text b{color:var(--text-bright)}.knock-all{align-self:flex-end}.meet-person{color:var(--text);justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:14px;display:flex}.meet-person small{color:var(--text-dim)}@media (max-width:760px){#meet-bar .mi-code{display:none}.meet-item{flex-wrap:wrap}}.member{color:var(--text-dim);border-radius:4px;align-items:center;gap:8px;padding:3px 8px;font-size:13px;display:flex}.member.clickable{cursor:pointer}.member.clickable:hover{background:var(--bg-hover);color:var(--text)}.member .avatar{width:24px;height:24px;font-size:11px}.member .m-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.member .m-icons{color:var(--text-dim);align-items:center;gap:4px;display:flex}.member .m-icons svg{width:14px;height:14px}.live-badge{background:var(--live);color:#fff;letter-spacing:.3px;border:0;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:700;line-height:16px}button.live-badge:hover{filter:brightness(1.15)}#voice-status{border-top:1px solid var(--line);background:var(--bg-0);align-items:center;gap:8px;padding:8px 10px;display:flex}.vs-text{flex:1;min-width:0}.vs-state{color:var(--green);font-size:13px;font-weight:600}.vs-state.warn{color:var(--warn)}.vs-room{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}#userbar{background:var(--bg-0);align-items:center;gap:2px;padding:8px;display:flex}.me{cursor:pointer;border-radius:8px;flex:1;align-items:center;gap:8px;min-width:0;padding:2px 4px;display:flex}.me:hover{background:var(--bg-hover)}.me .avatar{width:32px;height:32px;font-size:13px}.me-text{min-width:0}.me-name{color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.me-sub{color:var(--text-dim);font-size:11px}.icon-btn{width:32px;height:32px;color:var(--text-dim);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.icon-btn.off,.icon-btn.danger:hover{color:var(--red)}.icon-btn svg{width:20px;height:20px}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;font-weight:600;transition:box-shadow .1s;display:grid}.speaking .avatar,.avatar.speaking{box-shadow:0 0 0 2px var(--bg-1), 0 0 0 4px var(--green)}#main{background:var(--bg-0);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}#topbar{background:var(--bg-1);border-bottom:1px solid var(--line);height:48px;color:var(--text-bright);flex:none;align-items:center;gap:8px;padding:0 16px;font-weight:600;display:flex}.topbar-icon svg{width:22px;height:22px;color:var(--text-dim)}#conn-status{color:var(--text-dim);margin-left:auto;font-size:12px;font-weight:400}#stage{background:var(--bg-0);flex-wrap:wrap;flex:1;place-content:center;gap:12px;min-height:0;padding:16px;display:flex;overflow-y:auto}.stage-empty{color:var(--text-dim);text-align:center;align-self:center}.stage-empty h3{color:var(--text-bright);margin:0 0 6px}.tile{background:var(--bg-2);border:1px solid var(--line);aspect-ratio:16/9;border-radius:12px;place-items:center;width:min(420px,100%);display:grid;position:relative;overflow:hidden}.tile.speaking{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.tile.stream,.tile.show{background:#000}.tile .avatar{width:80px;height:80px;font-size:30px}.tile .label{color:#fff;background:#0009;border-radius:4px;align-items:center;gap:6px;max-width:calc(100% - 16px);padding:3px 8px;font-size:13px;display:flex;position:absolute;bottom:8px;left:8px}.tile.user .label{background:color-mix(in srgb, var(--bg-0) 85%, transparent);color:var(--text-bright)}.tile .label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tile .label svg{width:16px;height:16px;color:var(--red);flex:none}.stream video,.tile.show video{object-fit:contain;background:#000;width:100%;height:100%;position:absolute;inset:0}.stream{cursor:pointer}.stream .placeholder{background:var(--bg-2);cursor:default;place-content:center;justify-items:center;gap:10px;display:grid;position:absolute;inset:0}.stream .placeholder .ph-title{color:var(--text-bright);font-weight:600}.stream .stats{color:#cfd3d8;pointer-events:none;white-space:pre;background:#0009;border-radius:4px;padding:3px 6px;font:11px/1.4 ui-monospace,Consolas,monospace;position:absolute;top:8px;right:8px}.stream .tools{opacity:0;align-items:center;gap:6px;transition:opacity .15s;display:flex;position:absolute;bottom:8px;right:8px}.stream:hover .tools,.stream.big .tools{opacity:1}.stream .tools button{color:#fff;background:#000000a6;border:0;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.stream .tools button:hover{background:#000000e6}.stream .tools svg{width:18px;height:18px}.stream .tools input[type=range]{width:90px;accent-color:var(--accent)}.stream:fullscreen{border-radius:0}.tile.show{cursor:pointer}.tile.show .live-badge.watch{background:var(--green)}.tile .show-gate{text-align:center;color:#fff;background:#000000c7;place-content:center;justify-items:center;gap:12px;padding:20px;display:grid;position:absolute;inset:0}.tile .show-gate p{color:#b9bec6;max-width:32ch;margin:0}.tile.show:focus{outline:none}.show-bar{opacity:0;z-index:4;background:linear-gradient(#0000,#0009 35%,#000000e0);flex-direction:column;gap:2px;padding:22px 12px 8px;transition:opacity .15s;display:flex;position:absolute;bottom:0;left:0;right:0}:is(.tile.show:hover .show-bar,.tile.show.big .show-bar,.tile.show:fullscreen .show-bar,.tile.show:focus-within .show-bar){opacity:1}.sb-row{align-items:center;gap:4px;min-width:0;display:flex}.sb-title{color:#b5bac1;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0 10px;font-size:13px;overflow:hidden}.tile.show>.label{transition:opacity .15s}:is(.tile.show:hover>.label,.tile.show.big>.label,.tile.show:fullscreen>.label,.tile.show:focus-within>.label){opacity:0}.show-bar button{color:#fff;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;width:36px;height:36px;display:grid}.show-bar button:hover{background:#ffffff29}.show-bar svg{width:20px;height:20px}.show-bar .sb-play{background:var(--accent);width:44px;height:44px;color:var(--on-accent);border-radius:50%;margin-right:4px}.show-bar .sb-play:hover{background:var(--accent);filter:brightness(1.12)}.show-bar .sb-play svg{width:22px;height:22px}.show-bar .tspan{color:#e3e5e8;white-space:nowrap;flex:none;margin-left:6px;font:13px/1 ui-monospace,Consolas,monospace}.show-bar .vol{width:80px;accent-color:var(--accent);flex:none}.show-bar .rate{color:#fff;cursor:pointer;background:#ffffff1a;border:0;border-radius:6px;flex:none;padding:7px 6px;font-size:13px}.show-bar .rate option{color:#fff;background:#2b2d31}.show-bar .rate-ro{color:#f0b232;flex:none;font-size:13px}.sb-track{cursor:pointer;touch-action:none;align-items:center;height:20px;display:flex;position:relative}.sb-rail{background:#ffffff38;border-radius:3px;width:100%;height:5px;transition:height .1s;position:relative;overflow:hidden}.sb-track:hover .sb-rail{height:8px}.sb-buf,.sb-played{position:absolute;top:0;bottom:0;left:0}.sb-buf{background:#ffffff52}.sb-played{background:var(--accent)}.sb-thumb{width:14px;height:14px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 40%, transparent);pointer-events:none;background:#fff;border-radius:50%;margin:-7px 0 0 -7px;transition:transform .1s;position:absolute;top:50%;transform:scale(.8)}.sb-track:hover .sb-thumb{transform:scale(1.15)}.sb-marks{pointer-events:none;position:absolute;inset:0}.sb-marks i{background:#3ba55d;border:2px solid #111214;border-radius:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;position:absolute;top:50%}.sb-marks i.warn{background:#f0b232}.sb-marks i.bad{background:#ff6b6b}.sb-tip{color:#fff;pointer-events:none;white-space:nowrap;background:#111214f2;border-radius:5px;padding:5px 7px;font:12px/1 ui-monospace,Consolas,monospace;position:absolute;bottom:22px;transform:translate(-50%)}.show-bigplay{color:#fff;z-index:4;cursor:pointer;background:#0000008c;border:0;border-radius:50%;place-items:center;width:84px;height:84px;margin:-42px 0 0 -42px;transition:background .15s,transform .15s;display:grid;position:absolute;top:50%;left:50%}.show-bigplay:hover{background:var(--accent);color:var(--on-accent);transform:scale(1.06)}.show-bigplay svg{width:40px;height:40px;margin-left:5px}.show-bigplay[hidden]{display:none}.tile.show .show-out{color:#cfd3d8;z-index:3;pointer-events:none;white-space:pre;background:#0009;border-radius:4px;padding:3px 6px;font:11px/1.4 ui-monospace,Consolas,monospace;position:absolute;top:8px;right:8px}.tile.show .sub-tune{bottom:96px}.stream-prog{z-index:3;pointer-events:none;position:absolute;bottom:0;left:0;right:0}.tile .label .sp-text{color:#e3e5e8;flex:none;font:12px/1 ui-monospace,Consolas,monospace;overflow:visible}.tile .label .sp-text:before{content:"· ";color:#8e949c}.stream-prog .sp-rail{background:#fff3;height:4px}.stream-prog .sp-played{background:var(--accent);width:0;height:100%;transition:width .25s linear}.tile.show:not(.host) .host-only,.tile.show:not(.host) .sb-play,.tile.show:not(.host) .sb-thumb{display:none}.tile.show:not(.host) .sb-track{cursor:default}.sub-tune{z-index:3;background:var(--bg-float);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;font-size:12px;display:flex;position:absolute;bottom:50px;right:8px}.sub-tune label{color:var(--text-dim);align-items:center;gap:8px;display:flex}.sub-tune input[type=range]{width:110px;accent-color:var(--accent)}.sub-tune .off{color:var(--text-bright);text-align:center;min-width:38px;font:12px/1 ui-monospace,Consolas,monospace}.sub-tune .tune-actions{justify-content:flex-end}.btn.tiny{background:var(--bg-3);border-radius:6px;padding:4px 8px;font-size:12px}.btn.tiny:hover{background:var(--bg-3-hover);text-decoration:none}.btn.tiny.danger{background:var(--red);color:#fff}.subs{z-index:2;pointer-events:none;--sub-size:4.6cqh;--sub-bottom:6cqh;position:absolute;inset:0;overflow:hidden;container-type:size}.no-subs .subs{display:none}.sub-zone{flex-direction:column;align-items:center;gap:.25em;display:flex;position:absolute;left:4%;right:4%}.sub-zone.z2{bottom:var(--sub-bottom)}.sub-zone.z5{top:50%;transform:translateY(-50%)}.sub-zone.z8{top:var(--sub-bottom)}.sub-line{font-size:var(--sub-size);text-align:center;color:#fff;paint-order:stroke fill;-webkit-text-stroke:.14em #000;text-shadow:0 .04em .12em #000000d9;white-space:pre-wrap;text-wrap:balance;font-weight:600;line-height:1.25}#show-hostbar{z-index:5;white-space:nowrap;background:var(--bg-float);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex;position:absolute;bottom:84px;left:50%;transform:translate(-50%)}#show-hostbar .hb-title{color:var(--text-dim);text-overflow:ellipsis;max-width:22ch;overflow:hidden}#show-hostbar .hb-time{color:var(--text-bright);min-width:44px;font:12px/1 ui-monospace,Consolas,monospace}#show-hostbar .icon-btn svg{width:18px;height:18px}.ctrl-btn.active{background:var(--green)}.sub-pick{align-items:center;gap:10px;display:flex}#stage.focus{flex-flow:column;place-content:stretch flex-start}#stage.focus .tile.big{aspect-ratio:auto;flex:1;order:-1;width:100%;min-height:0}#stage.focus .strip{flex:none;justify-content:center;gap:8px;display:flex;overflow-x:auto}#stage.focus .strip .tile{width:200px}#stage.focus .strip .tile .avatar{width:48px;height:48px;font-size:18px}.strip{display:contents}#controls{background:color-mix(in srgb, var(--bg-2) 92%, transparent);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);border-radius:18px;gap:8px;padding:8px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.ctrl-btn{background:var(--bg-3);width:48px;height:48px;color:var(--text-bright);border:0;border-radius:14px;place-items:center;transition:background .12s,transform 80ms;display:grid}.ctrl-btn:hover{background:var(--bg-3-hover)}.ctrl-btn:active{transform:scale(.95)}.ctrl-btn.off{background:color-mix(in srgb, var(--red) 20%, var(--bg-3));color:var(--red)}.ctrl-btn.on{background:var(--green);color:#fff}#ctrl-share:not(.on){background:var(--accent);color:var(--on-accent)}#ctrl-share:not(.on):hover{background:var(--accent-hover)}.ctrl-btn.danger{background:var(--red);color:#fff}.ctrl-btn.danger:hover{background:var(--red-hover)}.ctrl-btn svg{width:24px;height:24px}#audio-banner{color:#1e1f22;background:#f0b232;border-radius:8px;padding:8px 14px;font-weight:600;position:absolute;top:60px;left:50%;transform:translate(-50%)}#audio-banner button{color:#fff;background:#1e1f22;border:0;border-radius:4px;margin-left:6px;padding:3px 10px}dialog{border:1px solid var(--line);background:var(--bg-2);color:var(--text);width:min(440px,100vw - 32px);box-shadow:var(--shadow);border-radius:14px;padding:0}dialog::backdrop{background:#000000b3}dialog form{flex-direction:column;gap:14px;padding:20px;display:flex}dialog h2{color:var(--text-bright);margin:0;font-size:20px}dialog label{color:var(--text-dim);flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}dialog input:not([type=checkbox]):not([type=radio]),dialog select{background:var(--bg-0);border:1px solid var(--line);color:var(--text);font:inherit;border-radius:8px;padding:10px;font-size:14px}dialog input:not([type=checkbox]):not([type=radio]):focus,dialog select:focus{outline:2px solid var(--accent);outline-offset:-1px}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}dialog label.check{color:var(--text);flex-direction:row;align-items:center;font-size:14px;font-weight:400}dialog label.check small{color:var(--text-dim)}.err{color:var(--danger-text);min-height:1em;margin:0;font-size:13px}.hint{color:var(--text-dim);margin:0;font-size:13px}.dlg-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.btn{color:var(--text);background:0 0;border:0;border-radius:8px;padding:9px 18px}.btn:hover{text-decoration:underline}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-hover);text-decoration:none}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--text-dim);font-size:12px;font-weight:700}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg label{color:var(--text);cursor:pointer;flex-direction:row;font-size:14px;font-weight:500}.seg input{opacity:0;pointer-events:none;position:absolute}.seg span{background:var(--bg-0);border:1px solid var(--line);border-radius:8px;padding:7px 14px}.seg input:checked+span{background:var(--accent-soft);border-color:var(--accent);color:var(--text-bright)}.seg input:focus-visible+span{outline:2px solid var(--accent)}.seg input:disabled+span{opacity:.4;cursor:not-allowed}.seg .swatch{vertical-align:0;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}#helper-fields{flex-direction:column;gap:14px;display:flex}#dlg-share{width:min(700px,100vw - 32px)}.src-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.src-tabs span{padding:5px 12px;font-size:13px}.src-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;max-height:min(38vh,360px);margin:-2px;padding:2px;display:grid;overflow-y:auto}.src-card{text-align:left;background:var(--bg-0);min-width:0;color:var(--text);cursor:pointer;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:4px;padding:6px 6px 8px;display:flex}.src-card:hover{background:var(--bg-3)}.src-card:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.src-card[aria-selected=true]{border-color:var(--accent);background:var(--accent-soft)}.src-thumb{aspect-ratio:16/9;background:color-mix(in srgb, var(--bg-0) 60%, #000);border-radius:6px;position:relative;overflow:hidden}.src-thumb>img{object-fit:contain;width:100%;height:100%;display:block}.src-ph{color:var(--text-dim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:flex;position:absolute;inset:0}.src-ph[hidden]{display:none}.src-ph-icon{opacity:.85;width:40px;height:40px}.src-name{min-width:0;color:var(--text-bright);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.src-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.src-icon{flex:none;width:16px;height:16px}.src-sub{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.src-card img[hidden]{display:none}.stream .placeholder .ph-note{color:var(--text-dim);text-align:center;max-width:80%;font-size:13px}.stream .placeholder .ph-note.bad{color:var(--warn)}.br-row{align-items:center;gap:10px;display:flex}.br-row span{color:var(--text-dim)}dialog .br-row input[type=number]{width:90px;padding:7px 10px}dialog .br-row input[type=number]:disabled{opacity:.55}.codec-tag{background:var(--bg-3);color:var(--text-dim);border-radius:3px;margin-left:6px;padding:0 5px;font-size:11px;font-style:normal}.codec-tag:empty{display:none}.codec-tag.hw{background:color-mix(in srgb, var(--green) 20%, transparent);color:var(--green-text)}.codec-tag.sw{background:color-mix(in srgb, var(--warn) 15%, transparent);color:var(--warn)}#popover{z-index:20;background:var(--bg-float);border:1px solid var(--line);width:220px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex;position:fixed}#popover .pop-title{color:var(--text-bright);font-weight:600}#popover label{color:var(--text-dim);flex-direction:column;gap:4px;font-size:12px;display:flex}#popover input[type=range]{accent-color:var(--accent)}#toasts{z-index:30;flex-direction:column;gap:8px;display:flex;position:fixed;top:12px;right:12px}.toast{background:var(--bg-float);color:var(--text);border:1px solid var(--line);max-width:360px;box-shadow:inset 4px 0 0 var(--accent), var(--shadow);border-radius:10px;padding:10px 14px;font-size:13px}.toast.error{box-shadow:inset 4px 0 0 var(--red), var(--shadow)}.danmaku{z-index:2;pointer-events:none;position:absolute;inset:4px 0 0;overflow:hidden;container-type:size}.dm{white-space:nowrap;paint-order:stroke fill;-webkit-text-stroke:.12em #000000d9;text-shadow:0 0 3px #00000080;will-change:transform;font-size:clamp(14px,5.4cqh,34px);font-weight:700;line-height:1.25;position:absolute;left:0}.dm.own{outline-offset:2px;border-radius:3px;outline:1.5px solid #ffffffbf;padding:0 3px}.tile .viewers{color:#cfd3d8;cursor:pointer;white-space:pre;background:#0009;border-radius:4px;max-width:45%;padding:3px 6px;font:11px/1.4 ui-monospace,Consolas,monospace;position:absolute;top:8px;left:8px;overflow:hidden}.tile .viewers.detail{white-space:normal;z-index:4;background:#111214f5;max-width:calc(100% - 16px);max-height:calc(100% - 56px);padding:6px 8px;overflow:auto}.tile .viewers .vh,.tile .viewers .dim{color:#8e949c}.tile .viewers>.dim{white-space:normal;margin-top:4px;font-size:10px}.tile .viewers .warn{color:#f0b232}.tile .viewers .bad{color:#ff6b6b}.tile .viewers table{border-collapse:collapse;margin-top:3px}.tile .viewers th{color:#8e949c;text-align:left;font-weight:400}.tile .viewers th,.tile .viewers td{white-space:nowrap;padding:1px 8px 1px 0}.tile .label,.stream .tools,.stream .stats,.tile .viewers{z-index:3}.tile .show-gate{z-index:5}.stream .tools button.on{color:#ff4d4f}.stream .tools button.off,.show-bar button.off{opacity:.55}.rec-badge{background:var(--live);color:#fff;border-radius:4px;flex:none;padding:1px 5px;font-size:10px;font-weight:700;line-height:16px;animation:1.6s ease-in-out infinite rec-pulse}@keyframes rec-pulse{50%{opacity:.55}}.tile.idle{cursor:none}.tile.idle .tools,.tile.idle .stats,.tile.idle .viewers,.tile.idle>.label,.tile.idle .show-bar,.tile.idle .show-out,.tile.idle .stream-prog{pointer-events:none;transition:opacity .3s;opacity:0!important}.tile.webfull{z-index:60;background:#000;border-radius:0;inset:0;aspect-ratio:auto!important;width:auto!important;max-width:none!important;height:auto!important;margin:0!important;position:fixed!important}.tile.webfull.rotate{transform-origin:0 0;inset:0 auto auto 100vw;transform:rotate(90deg);width:100dvh!important;height:100vw!important}body.has-webfull{overscroll-behavior:none}#toasts{z-index:70}.dlg-actions .spacer{flex:1}.btn.danger-text{color:var(--danger-text)}.btn.danger-text:hover{background:color-mix(in srgb, var(--red) 15%, transparent);text-decoration:none}#btn-nav,#nav-backdrop,.mobile-only{display:none}@media (max-width:760px),(pointer:coarse) and (max-height:520px){html,body{-webkit-tap-highlight-color:transparent}button,.channel,.tile{touch-action:manipulation}#app{height:100dvh}.desk-only{display:none}.mobile-only{margin-top:14px;display:block}#sidebar{z-index:40;width:min(300px,86vw);padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #00000073}#userbar{padding-bottom:max(8px, env(safe-area-inset-bottom))}#nav-backdrop{z-index:39;opacity:0;pointer-events:none;background:#0000008c;transition:opacity .22s;display:block;position:fixed;inset:0}#app.nav-open #sidebar{transform:none}#app.nav-open #nav-backdrop{opacity:1;pointer-events:auto}.channel{padding:10px 8px}.member{padding:6px 8px}#topbar{height:calc(48px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0 max(6px, env(safe-area-inset-left));background:var(--bg-1);gap:6px}#btn-nav{width:40px;height:40px;display:grid}#btn-nav svg{width:22px;height:22px}#room-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}#conn-status{flex:none}#stage{padding:8px max(8px, env(safe-area-inset-right)) calc(80px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));place-content:flex-start;gap:8px}.stage-empty{margin:auto;padding:0 24px}.tile{width:100%}.tile.user{aspect-ratio:4/3;width:calc(50% - 4px);padding-bottom:20px}.tile .avatar{width:56px;height:56px;font-size:22px}.tile .label{font-size:12px;bottom:6px;left:6px}#stage.focus{flex-flow:wrap;align-content:flex-start}#stage.focus .tile.big{aspect-ratio:16/9;flex:none;width:100%}#stage.focus .strip{display:contents}#stage.focus .strip .tile{width:calc(33.3333% - 5.33333px)}#stage.focus .strip .tile.stream,#stage.focus .strip .tile.show{width:100%}#stage.focus .strip .tile .avatar{width:40px;height:40px;font-size:16px}#stage.focus .strip .tile.user{padding-bottom:18px}#stage.focus .strip .tile .label{padding:2px 6px;font-size:11px}.stream .tools,.show-bar{opacity:1}.show-bar{padding:14px 6px 4px}.show-bar button{width:30px;height:30px}.show-bar svg{width:17px;height:17px}.show-bar .sb-play{width:36px;height:36px}.show-bar .vol,.show-bar [data-act=focus]{display:none}.show-bar .tspan{margin-left:2px;font-size:11px}.show-bar .rate{padding:5px 2px;font-size:12px}.show-bigplay{width:64px;height:64px;margin:-32px 0 0 -32px}.show-bigplay svg{width:30px;height:30px}.stream .tools button{width:36px;height:36px}.stream .tools input[type=range]{display:none}.stream .stats{padding:2px 5px;font-size:9px;top:6px;right:6px}.tile .viewers{padding:2px 5px;font-size:9px;top:6px;left:6px}.stream .placeholder{gap:8px;padding:12px}.stream .placeholder .ph-note{max-width:100%;font-size:12px}#controls{padding:8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:color-mix(in srgb, var(--bg-1) 96%, transparent);border:0;border-top:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:blur(8px);border-radius:0;justify-content:space-evenly;gap:0;bottom:0;left:0;right:0;transform:none}.ctrl-btn{width:50px;height:50px}.dlg-actions .spacer{display:none}.ctrl-btn:hover{background:var(--bg-3)}.ctrl-btn.off:hover{background:color-mix(in srgb, var(--red) 20%, var(--bg-3))}#ctrl-share:not(.on):hover{background:var(--accent)}.ctrl-btn.on:hover,.ctrl-btn.active:hover{background:var(--green)}.ctrl-btn.danger:hover{background:var(--red)}dialog{border-width:1px 0 0}#show-hostbar{left:8px;right:8px;bottom:calc(76px + env(safe-area-inset-bottom));white-space:normal;flex-wrap:wrap;justify-content:center;row-gap:6px;transform:none}#show-hostbar .hb-title{text-align:center;flex-basis:100%;max-width:100%}.sub-tune{bottom:56px;left:8px;right:8px}.sub-tune input[type=range]{flex:1;width:auto}#audio-banner{top:calc(56px + env(safe-area-inset-top));text-align:center;left:12px;right:12px;transform:none}#toasts{top:calc(8px + env(safe-area-inset-top));align-items:center;left:12px;right:12px}.toast{width:100%;max-width:100%}#popover{width:min(220px,100vw - 16px)}dialog{overscroll-behavior:contain;border-radius:14px 14px 0 0;width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;overflow-y:auto}dialog form{padding:18px max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}dialog input:not([type=checkbox]):not([type=radio]),dialog select{padding:12px;font-size:16px}.dlg-actions .btn{flex:1;padding:12px}.seg span{padding:9px 14px}}@media (pointer:coarse) and (max-height:520px) and (orientation:landscape){#topbar{height:calc(40px + env(safe-area-inset-top))}#stage{padding-bottom:calc(64px + env(safe-area-inset-bottom))}#stage.focus .tile.big{width:auto;max-width:100%;height:calc(100dvh - 120px);margin:0 auto}#stage.focus .strip .tile{width:calc(20% - 6.4px)}.ctrl-btn{width:42px;height:42px}.ctrl-btn svg{width:20px;height:20px}#controls{padding-top:6px;padding-bottom:max(6px, env(safe-area-inset-bottom))}#show-hostbar{bottom:calc(60px + env(safe-area-inset-bottom))}}
