:root{--bg:#060f14;--panel:#0e1c23;--panel-2:#16282f;--line:#223a43;--line-soft:#1a2d35;--text:#eaf2f4;--muted:#8aa3ac;--ok:#34c98a;--warn:#f0a83c;--crit:#f2555a;--accent:#f5a524;--accent-ink:#241502;--wash:radial-gradient(120% 80% at 50% -10%, #123039 0%, #060f14 62%);--shadow:0 2px 10px #00000073;--shadow-lift:0 10px 30px #0000008c;--tap:72px;--side-w:260px;--gap:8px;--radius:10px;--ptt-h:76px}@media (max-width:700px){:root{--gap:6px;--ptt-h:84px}.main{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)!important}.tiles[data-count="2"]{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.side{max-height:34vh;overflow-y:auto}.callgrid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important}.topbar{flex-wrap:nowrap;gap:8px;font-size:13px;overflow:hidden}.topbar>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.topbar>span:last-child{flex:none;overflow:visible}.topbar-count{display:none}.roombtn{white-space:nowrap;max-width:42vw;overflow:hidden}.tile .label{max-width:calc(100% - 12px);padding:3px 9px;font-size:12px;bottom:6px;left:6px}.selfpip{width:clamp(74px,26%,110px);top:8px;right:8px}.stage-note{width:max-content;max-width:84%;margin-left:0;font-size:12px;bottom:44px;left:50%;transform:translate(-50%)}}@media (min-width:1280px){:root{--side-w:320px;--gap:12px;--radius:14px}}@media (min-width:1800px){:root{--side-w:380px;--gap:16px}}@media (max-height:620px){:root{--ptt-h:62px;--gap:6px}}@media (min-height:900px){:root{--ptt-h:96px}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0;overflow:hidden}body{background:var(--bg);background-image:var(--wash);color:var(--text);-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-font-smoothing:antialiased;background-attachment:fixed;font-family:Sarabun,Noto Sans Thai,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button{color:inherit;cursor:pointer;border:0;font-family:inherit}.app{flex-direction:column;height:100%;display:flex}.topbar{border-bottom:1px solid var(--line);letter-spacing:.2px;background:linear-gradient(#10222a 0%,#0c1b22 100%);align-items:center;gap:12px;min-height:44px;padding:6px 14px;font-size:14px;display:flex}.topbar>span:first-child{font-weight:700}.topbar>span:last-child{font-variant-numeric:tabular-nums;color:var(--muted)}.topbar-count{color:var(--muted);font-variant-numeric:tabular-nums}.topbar .grow{flex:1}.dot{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.dot.online{background:var(--ok);box-shadow:0 0 6px #34c98ab3}.dot.offline{background:#46626d}.main{grid-template-columns:minmax(0, 1fr) var(--side-w);gap:var(--gap);padding:var(--gap);flex:1;min-height:0;display:grid}.main.side-hidden{grid-template-columns:minmax(0,1fr)}.main.side-hidden>.side,.main.side-hidden>.participants{display:none}.tiles{gap:var(--gap);width:100%;height:100%;min-height:0;display:grid}.tiles[data-count="1"]{grid-template-rows:1fr;grid-template-columns:1fr}.tiles[data-count="2"]{grid-template-rows:1fr;grid-template-columns:1fr 1fr}.tiles[data-count="3"]{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.tiles[data-count="3"]>.tile:nth-child(3){grid-column:1/-1}.tile{border:1px solid var(--line);border-radius:var(--radius);background:#05070d;min-width:0;min-height:0;position:relative;overflow:hidden}.tile video{object-fit:cover;background:#05070d;width:100%;height:100%;display:block}.tile .label{background:#040c10db;border:1px solid #ffffff17;border-radius:999px;align-items:center;gap:7px;max-width:calc(100% - 20px);padding:5px 12px;font-size:14px;font-weight:600;display:flex;position:absolute;bottom:10px;left:10px;overflow:hidden}.tile .label .who{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tile .label .tag{color:var(--muted);font-size:12px;font-weight:500}.tile .label .mic{font-size:13px}.tile .empty{height:100%;color:var(--muted);background:radial-gradient(circle at 50% 40%,#131c2e 0%,#080c15 70%);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:15px;display:flex}.tile .empty .avatar{width:clamp(56px,14vh,88px);height:clamp(56px,14vh,88px);color:var(--text);background:linear-gradient(145deg,#2b3a55,#1a2436);border-radius:50%;justify-content:center;align-items:center;font-size:clamp(24px,6vh,38px);font-weight:700;display:flex}.tile .speaking-ring{border:3px solid var(--accent);border-radius:var(--radius);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.tile.compact .label{padding:3px 9px;font-size:12px;bottom:6px;left:6px}.stage{flex-direction:column;min-height:0;display:flex;position:relative}.stage>.tiles{flex:1;min-height:0}.selfpip{aspect-ratio:4/3;z-index:2;border-radius:var(--radius);width:clamp(96px,18%,190px);position:absolute;top:12px;right:12px;overflow:hidden;box-shadow:0 6px 20px #0000008c}.selfpip .tile{border-color:#ffffff38;height:100%}.stage-toggle{z-index:3;border-radius:var(--radius);border:1px solid var(--line);width:44px;height:44px;color:var(--text);opacity:.75;background:#040810b8;justify-content:center;align-items:center;font-size:19px;display:flex;position:absolute;top:12px;left:12px}.stage-toggle:active{opacity:1;background:#040810eb}.stage-note{text-align:center;border:1px solid var(--line-soft);width:max-content;max-width:min(90%,340px);color:var(--muted);z-index:3;background:#040c10e6;border-radius:999px;padding:7px 14px;font-size:13px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.side{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;gap:8px;min-height:0;display:flex;overflow-y:auto}.side::-webkit-scrollbar{width:8px}.side::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow);padding:11px 12px}.card h3{color:var(--muted);letter-spacing:1.2px;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 9px;font-size:11px;font-weight:700;display:flex}.card h3:after{content:"";background:var(--line-soft);flex:1;height:1px}.timer{font-variant-numeric:tabular-nums;letter-spacing:1px;font-size:44px;font-weight:700;line-height:1}.timer.normal{color:var(--ok)}.timer.warn{color:var(--warn)}.timer.critical{color:var(--crit)}.btn{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);width:100%;box-shadow:var(--shadow);background:linear-gradient(#1b3038 0%,#14262e 100%);border-bottom-width:2px;justify-content:center;align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex}.btn:active{background:#223c46;border-bottom-width:1px;margin-top:1px}.btn.primary{background:linear-gradient(180deg, #3fdc9b 0%, var(--ok) 100%);color:#04231a;border-color:#4fe6a8}.btn.danger{background:linear-gradient(180deg, #ff6b70 0%, var(--crit) 100%);color:#fff;border-color:#ff8589}.btn.ghost{border:1px solid var(--line);box-shadow:none;min-height:48px;color:var(--muted);background:0 0;border-bottom-width:1px;font-size:16px;font-weight:600}.btn[disabled]{opacity:.4}.callgrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.callbtn{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);color:var(--text);box-shadow:var(--shadow);background:linear-gradient(#182c34 0%,#132530 100%);border-bottom-width:2px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px;font-size:17px;font-weight:700;display:flex}.callbtn:active{background:#1e353e;border-bottom-width:1px;margin-top:1px}.callbtn small{color:var(--muted);align-items:center;font-size:12px;font-weight:500;display:flex}.callbtn[disabled]{opacity:.45}.callbtn.waiting{border-color:var(--accent);color:#ffd489;background:linear-gradient(#33260f 0%,#241a09 100%);animation:1.4s ease-in-out infinite waitpulse}@keyframes waitpulse{50%{border-color:#7a5a1c}}.brand{border-right:1px solid var(--line);align-items:center;gap:9px;padding-right:14px;display:inline-flex}.brand-mark{background:radial-gradient(circle at 50% 50%, var(--accent) 0 3px, transparent 3px), radial-gradient(circle at 50% 50%, transparent 0 5px, #2f6d84 5px 6.5px, transparent 6.5px), radial-gradient(circle at 50% 50%, transparent 0 8.5px, #24576b 8.5px 10px, transparent 10px), linear-gradient(160deg, #16303b, #0d1f27);border:1px solid var(--line);border-radius:8px;flex:none;width:26px;height:26px}.brand-name{letter-spacing:3px;font-size:15px;font-weight:800}.linkstate{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.linkstate.down{color:var(--warn);font-weight:600}.linkstate-icon{font-size:13px}.bars{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.bars i{background:#3c5b66;border-radius:1px;width:3px}.bars i:first-child{height:5px}.bars i:nth-child(2){height:8px}.bars i:nth-child(3){height:12px}.bars.live i{background:var(--ok)}.topbar-device{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:22vw;overflow:hidden}.topbar-count{color:var(--muted);font-variant-numeric:tabular-nums;border-left:1px solid var(--line);align-items:center;gap:6px;padding-left:14px;display:inline-flex}.topbar-clock{font-variant-numeric:tabular-nums;color:var(--muted)}.roombtn-icon{font-size:13px}.participants{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);flex-direction:column;min-height:0;display:flex;overflow:hidden}.pt-head{border-bottom:1px solid var(--line-soft);padding:12px 14px 10px}.pt-head h2{margin:0;font-size:15px;font-weight:700}.pt-search{border-bottom:1px solid var(--line-soft);padding:10px 12px;position:relative}.pt-search-icon{opacity:.65;pointer-events:none;font-size:12px;position:absolute;top:50%;left:22px;transform:translateY(-50%)}.pt-search input{border:1px solid var(--line);width:100%;height:38px;color:var(--text);background:#0b1c22;border-radius:9px;padding:0 12px 0 32px;font-family:inherit;font-size:14px}.pt-search input::placeholder{color:#5c7883}.pt-search input:focus{border-color:var(--accent);outline:none}.pt-list{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;min-height:0;padding:6px;overflow-y:auto}.pt-list::-webkit-scrollbar{width:8px}.pt-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.pt-group{color:var(--muted);align-items:center;gap:7px;padding:12px 8px 6px;font-size:12px;font-weight:700;display:flex}.pt-empty{color:var(--muted);padding:6px 10px 10px;font-size:13px}.pt-row{text-align:left;background:0 0;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:54px;padding:8px;display:flex}.pt-row:active{background:var(--panel-2)}.pt-row.is-self{opacity:1}.pt-row.is-self[disabled]{opacity:.85}.pt-row.waiting{border:1px solid var(--accent);background:linear-gradient(#33260f 0%,#241a09 100%)}.pt-avatar{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);background:linear-gradient(150deg,#24404b,#162b34);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.pt-avatar.on{border-color:var(--ok);color:#d9fbec;background:linear-gradient(150deg,#1d5744,#123a2e)}.pt-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.pt-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.pt-tag{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.pt-tag.room{color:#6fdcae;background:#34c98a1f;border-radius:5px;align-self:flex-start;padding:1px 7px;font-weight:600}.pt-state{flex:none;align-items:center;display:flex}.pt-bars{align-items:flex-end;gap:2px;height:13px;display:inline-flex}.pt-bars i{background:#35525d;border-radius:1px;width:3px}.pt-bars i:first-child{height:5px}.pt-bars i:nth-child(2){height:9px}.pt-bars i:nth-child(3){height:13px}.pt-bars.live i{background:var(--accent)}.pt-muted{opacity:.45;font-size:13px}.pt-cancel{color:var(--accent);font-size:12px;font-weight:700}.stage-waiting{z-index:3;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:12px;left:12px}.waitcard{border:1px solid var(--accent);background:#040c10e6;border-radius:999px;align-items:center;gap:10px;padding:7px 12px;display:flex}.waitcard-name{font-size:13px;font-weight:600}.waitcard .timer{font-size:18px}.recentbar{padding:5px var(--gap);color:var(--muted);white-space:nowrap;scrollbar-width:none;gap:16px;font-size:12px;display:flex;overflow-x:auto}.recentbar::-webkit-scrollbar{display:none}.recentitem em{opacity:.75;margin-left:5px;font-style:normal}.controlbar{align-items:center;gap:var(--gap);padding:var(--gap);grid-template-columns:1fr auto 1fr;padding-top:0;display:grid}.ctl-group{align-items:center;gap:8px;display:flex}.ctl-group.left{justify-content:flex-start}.ctl-group.center{justify-content:center}.ctl-group.right{justify-content:flex-end}.ctl{color:var(--text);background:0 0;border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-width:60px;padding:4px 6px;display:flex}.ctl:active{background:var(--panel-2)}.ctl[disabled]{opacity:.4}.ctl-icon{border:1px solid var(--line);background:linear-gradient(#1b3038 0%,#14262e 100%);border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:19px;display:flex;position:relative}.ctl.off .ctl-icon{border-color:var(--crit);background:linear-gradient(#4a1d20 0%,#331416 100%)}.ctl-slash{background:var(--crit);border-radius:2px;width:30px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-45deg)}.ctl-label{color:var(--muted);white-space:nowrap;font-size:11px}.ctl-badge{background:var(--accent);min-width:18px;height:18px;color:var(--accent-ink);border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-size:11px;font-weight:800;display:flex;position:absolute;top:-2px;right:-2px}.ctl.leave .ctl-icon{background:linear-gradient(180deg, #ff6b70 0%, var(--crit) 100%);border-color:#ff8589;transform:rotate(135deg)}.ctl.leave .ctl-label{color:#ffa9ac}.pttbar{flex-direction:column;align-items:center;gap:4px;display:flex}.ptt-wrap{align-items:center;gap:10px;display:flex}.ptt-wave{opacity:.25;align-items:center;gap:3px;display:flex}.ptt-wave i{background:var(--muted);border-radius:2px;width:3px;height:12px}.ptt-wave i:nth-child(2){height:20px}.ptt-wave i:nth-child(3){height:28px}.ptt-wave.mirror{flex-direction:row-reverse}.ptt-wrap.active .ptt-wave{opacity:1}.ptt-wrap.active .ptt-wave i{background:var(--accent);animation:.7s ease-in-out infinite alternate wave}.ptt-wrap.active .ptt-wave i:nth-child(2){animation-delay:.12s}.ptt-wrap.active .ptt-wave i:nth-child(3){animation-delay:.24s}@keyframes wave{0%{transform:scaleY(.5)}to{transform:scaleY(1)}}.ptt-hint{color:var(--muted);font-size:11px}.ptt-hint kbd{border:1px solid var(--line);background:var(--panel-2);border-radius:4px;margin-right:5px;padding:1px 6px;font-family:inherit;font-size:10px}.ptt-error{border-radius:var(--radius);color:#ffb4b6;text-align:center;background:#e5484d26;border:1px solid #e5484d73;margin-bottom:6px;padding:8px 12px;font-size:14px;font-weight:600}.ptt{min-width:clamp(240px,30vw,330px);min-height:var(--ptt-h);color:var(--text);letter-spacing:.4px;box-shadow:var(--shadow);background:linear-gradient(#1d333c 0%,#142831 100%);border:1px solid #2c4854;border-bottom-width:3px;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 30px;font-size:clamp(18px,3.4vh,26px);font-weight:700;transition:background 90ms linear,color 90ms linear;display:flex;position:relative}.ptt.active{background:linear-gradient(180deg, #ffc457 0%, var(--accent) 100%);color:var(--accent-ink);border-color:#ffd489;border-bottom-width:1px;margin-top:2px}.ptt.active:after{content:"";border-radius:inherit;border:2px solid var(--accent);opacity:.55;pointer-events:none;animation:1.1s ease-out infinite onair;position:absolute;top:-4px;bottom:-4px;left:-4px;right:-4px}@keyframes onair{0%{opacity:.55}to{opacity:0}}.ptt[disabled]{border-color:var(--line-soft);color:var(--muted);box-shadow:none;background:#101f26;border-bottom-width:1px;font-size:clamp(15px,2.6vh,19px);font-weight:600}.banner{text-align:center;padding:8px 12px;font-size:15px;font-weight:600}.banner.error{background:var(--crit);color:#fff}.banner.warn{background:var(--warn);color:#2a1a00}.fullscreen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;padding:24px;display:flex}.fullscreen h1{letter-spacing:-.5px;margin:0;font-size:clamp(28px,5vh,38px);font-weight:800}.fullscreen p{color:var(--muted);max-width:460px;margin:0;font-size:17px;line-height:1.5}.fullscreen:before{content:"VOR";letter-spacing:6px;color:var(--accent);margin-bottom:2px;font-size:13px;font-weight:800}.pinpad{grid-template-columns:repeat(3,96px);gap:10px;display:grid}.pinpad button{height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);font-variant-numeric:tabular-nums;box-shadow:var(--shadow);background:linear-gradient(#1b3038 0%,#14262e 100%);border-bottom-width:2px;font-size:26px;font-weight:700}.pinpad button:active{background:#223c46;border-bottom-width:1px;margin-top:1px}.pindots{gap:12px;height:20px;display:flex}.pindots i{border:2px solid #3d5a65;border-radius:50%;width:16px;height:16px}.pindots i.on{background:var(--accent);border-color:var(--accent)}.field{border-radius:var(--radius);border:1px solid var(--line);width:min(320px,86vw);height:60px;color:var(--text);text-align:center;letter-spacing:4px;background:#0b1c22;font-size:22px;box-shadow:inset 0 2px 6px #00000073}.field:focus{border-color:var(--accent);outline:none;box-shadow:inset 0 2px 6px #00000073,0 0 0 3px #f5a52433}.field::placeholder{color:#5c7883;letter-spacing:normal}.field.name{letter-spacing:normal;width:min(380px,88vw);height:68px;font-size:24px}.error-text{color:var(--crit);min-height:22px;font-size:16px}.notice-overlay{z-index:100;text-align:center;background:#060a14f7;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:28px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.notice-overlay .kicker{color:var(--warn);letter-spacing:1px;font-size:18px;font-weight:700}.notice-overlay h1{margin:0;font-size:44px;line-height:1.15}.notice-overlay .body{max-width:900px;font-size:30px;line-height:1.35}.notice-overlay .meta{color:var(--muted);font-size:15px}.notice-overlay .ack{background:var(--ok);color:#06210f;border-radius:12px;min-width:380px;min-height:88px;font-size:28px;font-weight:800}.incoming{z-index:90;background:radial-gradient(90% 70% at 50% 40%,#f5a52421 0%,#0000 70%),#050d11f7;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.incoming:before{content:"";border:5px solid var(--accent);opacity:.5;pointer-events:none;animation:1.2s ease-out infinite onair;position:absolute;top:0;bottom:0;left:0;right:0}.incoming .from{letter-spacing:-.5px;font-size:clamp(30px,7vh,44px);font-weight:800}.incoming .timer{font-size:84px}.incoming .respond{background:linear-gradient(180deg, #3fdc9b 0%, var(--ok) 100%);color:#04231a;min-width:min(460px,88vw);min-height:100px;box-shadow:var(--shadow-lift);border:1px solid #4fe6a8;border-radius:14px;font-size:clamp(24px,5vh,34px);font-weight:800;position:relative}.incoming .respond:active{margin-top:2px}.roombtn{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;align-items:center;gap:6px;min-height:30px;padding:4px 12px;font-size:14px;font-weight:600;display:inline-flex}.roombtn:active{background:#26334c}.roombtn .caret{color:var(--muted);font-size:11px}.hash{color:var(--muted);font-weight:700}.no-room{text-align:center;border:1px dashed var(--line);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:0;display:flex}.muted{color:var(--muted)}.picker{z-index:95;background:var(--bg);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.picker-head{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.picker-title{font-size:22px;font-weight:700}.picker-sub{color:var(--muted);font-size:13px}.picker-close{width:auto;min-width:110px}.picker-list{flex:1;grid-template-columns:1fr 1fr;align-content:start;gap:10px;padding:10px 16px;display:grid;overflow-y:auto}.picker-empty{color:var(--muted);text-align:center;grid-column:1/-1;padding:24px}.roomcard{text-align:left;border-radius:var(--radius);border:1px solid var(--line);min-height:104px;box-shadow:var(--shadow);background:linear-gradient(#14262e 0%,#0f1f26 100%);border-bottom-width:2px;flex-direction:column;gap:6px;padding:11px 13px;display:flex}.roomcard:active{background:#1a2f38;border-bottom-width:1px;margin-top:1px}.roomcard.current{border-color:var(--ok);background:linear-gradient(#10302a 0%,#0c241f 100%)}.roomcard.full{opacity:.5}.roomcard-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.roomcard-name{font-size:19px;font-weight:700}.roomcard-name .hash,.picker-title .hash{color:var(--accent)}.roomcard-count{color:var(--muted);white-space:nowrap;font-size:13px}.roomcard-count.full{color:var(--warn)}.roomcard-people{flex-wrap:wrap;gap:4px 12px;min-height:18px;font-size:13px;display:flex}.person{align-items:center;display:inline-flex}.roomcard-action{color:var(--muted);margin-top:auto;font-size:13px}.roomcard.current .roomcard-action{color:var(--ok);font-weight:600}.picker-foot{border-top:1px solid var(--line);background:var(--panel);justify-content:center;align-items:center;padding:10px 16px;display:flex}.picker-foot .btn{max-width:320px}.hidden-canvas{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}@media (max-width:700px){.participants{z-index:60;border-bottom:0;border-radius:16px 16px 0 0;position:fixed;top:42%;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #0000008c}.linkstate{text-overflow:ellipsis;overflow:hidden}.brand{padding-right:8px}.topbar-device{display:none}.controlbar{grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.ctl{min-width:44px;padding:2px}.ctl-icon{width:40px;height:40px;font-size:17px}.ctl-label{font-size:9px}.ptt{width:100%;min-width:0;padding:0 12px;font-size:clamp(14px,4vw,19px)}.ptt-wave,.ptt-hint{display:none}.ptt-wrap{width:100%}}
