:root{--bg:#f6f7f9;--panel:#fff;--line:#e3e6eb;--hover:#0000000d;--off:#cfd4dc;--text:#15181e;--muted:#6b7380;--accent:#f6821f;--accent-soft:#f6821f22;--accent-text:#111;--danger:#d93036;--warn-text:#a35f00;--live:#1a9c55;--h:40px;--r:10px;--meter-mine:#f6821f;--meter-other:#3b6fd8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--panel:#171a21;--line:#2a2f3a;--hover:#ffffff10;--off:#3a404c;--text:#e6e8ec;--muted:#8b93a3;--live:#3ccf7f;--warn-text:#f0b44c;--meter-mine:#e36f16;--meter-other:#5584ea;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);margin:0}body{-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.4}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}svg{flex:none}button{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;height:var(--h);border-radius:var(--r);background:var(--panel);border:1px solid var(--line);justify-content:center;align-items:center;gap:6px;padding:0 14px;display:inline-flex}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.primary:disabled,.icon-btn.solid:disabled{background:var(--line);border-color:var(--line);color:var(--muted);opacity:1}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.block{width:100%;height:44px}input,select{font:inherit;color:var(--text);background:var(--panel);height:var(--h);border:1px solid var(--line);border-radius:var(--r);outline:none;width:100%;min-width:0;padding:0 12px}input:focus,select:focus,.group:focus-within{border-color:var(--accent)}input::placeholder{color:var(--muted)}.icon-btn{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-btn.on{color:var(--accent)}.icon-btn.danger{color:var(--danger);background:0 0}.icon-btn.solid{background:var(--accent);color:var(--accent-text)}.group{height:var(--h);background:var(--panel);border:1px solid var(--line);border-radius:var(--r);align-items:center;padding:0 2px 0 0;display:flex}.group input{background:0 0;border:0;height:100%}.group .prefix{color:var(--muted);white-space:nowrap;padding-left:12px}.group .prefix+input{padding-left:1px}.group.lg{height:48px}.group.lg .icon-btn{width:40px;height:40px}.switch{appearance:none;background:var(--off);cursor:pointer;border:0;border-radius:99px;flex:none;width:40px;height:24px;margin:0;padding:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(16px)}.switch:disabled{opacity:.4;cursor:default}.muted{color:var(--muted)}.small{font-size:13px}.app-version{text-align:center;color:var(--muted);margin:32px 0 8px;font-size:12px}.engine-note{border-radius:var(--r);background:var(--hover);color:var(--muted);align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.5;display:flex}.engine-note svg{flex:none;margin-top:2px}.engine-note.warn{background:var(--accent-soft);color:var(--text)}.engine-note.warn svg{color:var(--accent)}.error{color:var(--danger);font-size:13px}.center{place-items:center;height:100%;display:grid}.crash{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:480px;padding:0 16px;display:flex}.crash-detail{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.spacer{flex:1}.avatar{border-radius:50%;flex:none;width:28px;height:28px}.tag{background:var(--accent-soft);color:var(--accent);border-radius:99px;padding:2px 8px;font-size:12px;font-weight:600}.dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.live{color:var(--live);font-weight:600}.live .dot{background:var(--live)}.wrap{width:100%;max-width:600px;margin:0 auto;padding:0 16px}.top{z-index:2;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.top .wrap{align-items:center;gap:4px;height:56px;display:flex}.top .wrap>.icon-btn:first-child{margin-left:-8px}.top .wrap>.icon-btn:last-child{margin-right:-8px}.logo{align-items:center;gap:8px;font-size:17px;font-weight:700;display:inline-flex}.logo img{width:26px;height:26px}.body{flex-direction:column;gap:28px;padding-top:20px;padding-bottom:56px;display:flex}.sk{background:var(--line);border-radius:6px;height:14px;display:block}.sk.sm{height:11px;margin-top:6px}.sk.field{border-radius:var(--r);height:48px}.sk.round{border-radius:50%;width:28px;height:28px}@media (prefers-reduced-motion:no-preference){.sk{animation:1.1s ease-in-out infinite alternate sk-pulse}}@keyframes sk-pulse{to{opacity:.45}}.sec{flex-direction:column;gap:8px;display:flex}.sec-h{align-items:center;gap:4px;min-height:36px;display:flex}.sec-h h2{color:var(--muted);flex:1;font-size:13px;font-weight:600}.sec-h .icon-btn:last-child{margin-right:9px}.empty{color:var(--muted);padding:4px 0;font-size:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}.form{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.form>*{grid-column:span 6}.form .half{grid-column:span 3}.form .third{grid-column:span 2}@media (width<=520px){.form .half{grid-column:span 6}.form .third{grid-column:span 3}.form .third.wide{grid-column:span 6}}.list{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.item{align-items:center;gap:4px;min-height:60px;padding-right:8px;display:flex}.item+.item,.list>li+li{border-top:1px solid var(--line)}.item.past{opacity:.5}.item:has(>a.main:hover){background:var(--hover)}.item .main{flex-direction:column;flex:1;justify-content:center;align-self:stretch;gap:2px;min-width:0;padding:8px 0 8px 16px;display:flex}.item:not(:has(.acts)) .main{padding-right:8px}.item .t{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.item .s{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:13px;display:flex;overflow:hidden}.item .s>span{text-overflow:ellipsis;overflow:hidden}.item .s .live{align-items:center;gap:5px;font-size:13px;display:inline-flex}.item .acts{flex:none;align-items:center;gap:2px;display:flex}.item .acts button:not(.icon-btn){height:32px;padding:0 12px;font-size:14px}.room-card{flex-direction:column;gap:14px;display:flex}.room-card .head{align-items:flex-start;gap:8px;display:flex}.room-card h1{overflow-wrap:anywhere;flex:1;min-width:0;font-size:22px;line-height:1.3}.room-card .head .icon-btn{margin:-4px -8px 0 0}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:14px;display:flex}.meta>span{align-items:center;gap:6px;display:inline-flex}.share-join{align-items:center;gap:12px;display:flex}.share-join .label{flex-direction:column;flex:1;gap:2px;display:flex}.share-join .label small,.room-card .note{color:var(--muted);font-size:13px}.rows{padding:0 16px}.set{align-items:center;gap:12px;min-height:60px;padding:10px 0;display:flex}.set+.set{border-top:1px solid var(--line)}.set .label{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.set .label small{color:var(--muted);font-size:13px}.set>select,.set>.group{flex:none;width:190px}.set.off .label{opacity:.5}.set>input.grow{flex:none;width:240px;max-width:60%}.set.col{flex-direction:column;align-items:stretch;gap:8px}.set .seg button:disabled{cursor:default}.settings-head{flex-direction:column;gap:4px;padding:4px 0 8px;display:flex}.settings-head h1{overflow-wrap:anywhere;font-size:22px;line-height:1.3}.settings-head .meta{color:var(--muted);gap:6px;text-decoration:none;display:inline-flex}.session{flex-direction:column;gap:6px;padding:12px 8px 12px 16px;display:flex}.session .row{align-items:center;gap:8px;display:flex}.session .people{color:var(--muted);flex-direction:column;gap:2px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.rec{align-items:center;gap:8px;min-height:36px;font-size:14px;display:flex}.rec .info{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.rec .info .muted{font-size:13px}.login{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:28px;height:100%;padding:16px;display:flex}.login h1{margin:12px 0 4px;font-size:28px}a.button{height:var(--h);border-radius:var(--r);border:1px solid var(--line);background:var(--panel);justify-content:center;align-items:center;padding:0 14px;display:inline-flex}.inapp{border-color:var(--accent);text-align:left;flex-direction:column;gap:10px;max-width:360px;display:flex}.inapp .acts{gap:8px;display:flex}.inapp .acts>*{flex:1}button.google{gap:10px;height:48px;padding:0 22px;font-weight:600}button.link{height:auto;color:var(--accent);background:0 0;border:0;padding:0}.meeting{position:fixed;inset:0}.meeting rtk-meeting{height:100%}.waiting-banner{z-index:10;flex-direction:column;gap:8px;width:min(92vw,440px);display:flex;position:absolute;top:56px;left:50%;transform:translate(-50%)}.switch-note{z-index:11;color:#e6e8ec;white-space:nowrap;background:#1f232c;border:1px solid #f6821f;border-radius:999px;padding:8px 16px;font-size:14px;position:absolute;top:56px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.waiting-item{color:#e6e8ec;background:#1f232c;border:1px solid #f6821f;border-radius:12px;align-items:center;gap:6px;padding:8px 8px 8px 14px;display:flex;box-shadow:0 8px 24px #0006}.waiting-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.waiting-item .icon-btn{color:#e6e8ec}.waiting-item .icon-btn.solid{color:#111}.session .item-main{flex:1;min-width:0}.session>.row .icon-btn{align-self:flex-start;margin-top:-4px}.session .live{align-items:center;gap:5px;display:inline-flex}.usage{flex-direction:column;gap:16px;display:flex}.stat{flex-direction:column;gap:2px;display:flex}.stat strong{letter-spacing:-.5px;font-size:32px;font-weight:700}.usage-rows{grid-template-columns:1fr auto auto auto;gap:10px 16px;font-size:14px;display:grid}.usage-rows>:nth-child(4n+2),.usage-rows>:nth-child(4n+3),.usage-rows>:nth-child(4n){text-align:right;font-variant-numeric:tabular-nums}.usage-rows .h{color:var(--muted);font-size:12px;font-weight:600}.free-meter{flex-direction:column;gap:6px;display:flex}.free-meter .bar{background:var(--line);border-radius:5px;height:10px;display:flex;overflow:hidden}.free-meter .bar i{flex:none;height:100%}.free-meter .bar i+i{border-left:2px solid var(--panel)}.free-meter .mine{background:var(--meter-mine)}.free-meter .other{background:var(--meter-other)}.free-meter .legend{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 14px;font-size:12px;display:flex}.free-meter .legend b{border-radius:2px;width:8px;height:8px;margin-right:5px;display:inline-block}.free-meter .legend .over{color:var(--danger);font-weight:600}.free-list{flex-direction:column;gap:14px;display:flex}.free-head{justify-content:space-between;gap:12px;margin-bottom:6px;font-size:14px;display:flex}.free-head .muted{font-variant-numeric:tabular-nums;font-size:13px}.usage-rows .tag{margin-left:6px}.item .value{font-variant-numeric:tabular-nums;flex:none;padding:0 8px;font-weight:600}.item select.role{flex:none;width:auto;height:32px;font-size:14px}.seg{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);gap:3px;padding:3px;display:flex}.seg button{height:34px;color:var(--muted);background:0 0;border:0;border-radius:7px;flex:1;font-size:14px}.seg button.on{background:var(--panel);color:var(--accent);font-weight:700}.meeting.sfu{color:#e6e8ec;--line:#2a2f3a;--panel:#171a21;--text:#e6e8ec;--muted:#8b93a3;--hover:#ffffff14;background:#0b0d11;flex-direction:column;display:flex}.meeting.sfu.center{display:grid}.sfu-msg{flex-direction:column;align-items:center;gap:16px;display:flex}.sfu-reason{max-width:480px;color:var(--muted);text-align:center;overflow-wrap:anywhere;margin-top:-8px;padding:0 16px;font-size:13px}.sfu-top{flex:none;align-items:center;gap:10px;height:48px;padding:0 16px;display:flex}.sfu-top strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sfu-stage{flex:1;gap:8px;min-height:0;padding:0 8px;display:flex}.sfu-stage.sharing{flex-direction:column}.sfu-screen{background:#000;border-radius:12px;flex:1;min-height:0;position:relative;overflow:hidden}.sfu-screen video{object-fit:contain;width:100%;height:100%}.sfu-screen .screen-full{color:#fff;background:#000a;position:absolute;top:8px;right:8px}.sfu-screen .sfu-name,.sfu-screen .screen-full{transition:opacity .3s}.sfu-screen.full{border-radius:0}.sfu-screen.full .sfu-name{font-size:15px;bottom:16px;left:16px}.sfu-screen.full .screen-full{top:16px;right:16px}.sfu-screen.idle{cursor:none}.sfu-screen.idle .sfu-name,.sfu-screen.idle .screen-full{opacity:0;pointer-events:none}.sfu-grid{grid-template-columns:repeat(var(--cols,1), minmax(0, 1fr));flex:1;grid-auto-rows:minmax(0,1fr);gap:8px;min-height:0;display:grid}.sfu-grid[data-count="2"],.sfu-grid[data-count="3"],.sfu-grid[data-count="4"]{--cols:2}.sfu-grid[data-count="5"],.sfu-grid[data-count="6"],.sfu-grid[data-count="7"],.sfu-grid[data-count="8"],.sfu-grid[data-count="9"]{--cols:3}@media (width<=640px){.sfu-grid[data-count="2"]{--cols:1}.sfu-grid:not([data-count="1"]):not([data-count="2"]){--cols:2}}.sfu-stage.sharing .sfu-grid{flex:none;height:96px;display:flex;overflow-x:auto}.sfu-stage.sharing .sfu-tile{flex:none;width:150px}.sfu-tile{background:#1a1d24;border-radius:12px;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.sfu-tile video{object-fit:cover;width:100%;height:100%}video.mirror{transform:scaleX(-1)}.sfu-name{text-overflow:ellipsis;white-space:nowrap;background:#000a;border-radius:8px;align-items:center;gap:4px;max-width:calc(100% - 16px);padding:3px 8px;font-size:13px;display:inline-flex;position:absolute;bottom:8px;left:8px;overflow:hidden}.sfu-avatar{background:#2a2f3a;border-radius:50%;place-items:center;width:64px;height:64px;font-size:26px;font-weight:700;display:grid;overflow:hidden}.sfu-avatar img{object-fit:cover;width:100%;height:100%}.sfu-stage.sharing .sfu-avatar{width:40px;height:40px;font-size:18px}.sfu-bar{padding:10px 8px calc(10px + env(safe-area-inset-bottom));flex:none;justify-content:center;gap:8px;display:flex}.sfu-bar .icon-btn{color:#e6e8ec;background:#1f232c;border-radius:50%;width:48px;height:48px}.sfu-bar .icon-btn.danger{color:#ff6b6f;background:#3a1d1f}.sfu-bar .icon-btn.on{color:var(--accent)}.sfu-bar .icon-btn.leave{background:var(--danger);color:#fff}.badge-wrap{display:inline-flex;position:relative}.badge{background:var(--accent);color:#111;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-style:normal;font-weight:700;display:grid;position:absolute;top:2px;right:2px}.sfu-panel{z-index:5;background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;width:min(340px,100vw - 16px);padding:8px;display:flex;position:absolute;top:48px;bottom:76px;right:8px}.sfu-panel-h{justify-content:space-between;align-items:center;padding-left:8px;display:flex}.sfu-panel .list{overflow-y:auto}.sfu-chat{flex-direction:column;flex:1;gap:8px;padding:4px 8px;display:flex;overflow-y:auto}.msg{word-break:break-word;flex-direction:column;gap:2px;font-size:14px;display:flex}.msg .who{color:var(--muted);font-size:12px}.msg.mine{align-items:flex-end}.seg button small{color:var(--muted);font-weight:400}.preview{flex-direction:column;gap:12px;display:flex}.preview-stage{aspect-ratio:16/9;background:#1a1d24;border-radius:12px;position:relative;overflow:hidden}.preview-stage video{object-fit:cover;width:100%;height:100%;display:block}.preview-stage video.mirror{transform:scaleX(-1)}.preview-cam,.preview-screen{place-items:center;display:grid;position:absolute;inset:0}.preview-screen video{object-fit:contain;background:#000}.preview-stage.sharing .preview-cam{aspect-ratio:16/9;z-index:1;background:#1a1d24;border-radius:8px;width:28%;inset:auto 10px 10px auto;overflow:hidden;box-shadow:0 4px 16px #0008}.preview-stage.sharing .preview-cam .sfu-name{font-size:11px}.preview-off{color:#8b93a3;text-align:center;padding:0 12px;font-size:14px}.preview-bar{z-index:2;gap:8px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.preview-bar .icon-btn{color:#fff;background:#000a;border-radius:999px}.preview-bar .icon-btn.danger{background:var(--danger)}.preview-stage.sharing .preview-bar{left:10px;transform:none}.preview-row{align-items:center;gap:10px;display:flex}.mic-level{background:var(--line);border-radius:3px;flex:1;height:6px;overflow:hidden}.mic-level>span{background:var(--live);width:0;height:100%;transition:width 60ms linear;display:block}.preview-devices{flex-wrap:wrap;gap:8px;display:flex}.preview-devices select{flex:1;min-width:0}.preview .sfu-name{color:#fff}.preview-screen .sfu-name{top:8px;bottom:auto}.sfu-screen .switch-note,.sfu-screen .waiting-banner{top:16px}.chat-toasts{z-index:12;flex-direction:column;gap:8px;width:min(80vw,360px);display:flex;position:absolute;bottom:56px;left:16px}.chat-toast{white-space:normal;text-align:left;color:#e6e8ec;cursor:pointer;background:#1f232ce6;border:1px solid #3a3f4b;border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px;height:auto;padding:8px 14px;animation:.2s ease-out toast-in;display:flex;box-shadow:0 8px 24px #0006}.chat-toast strong{color:#f6a35c;font-size:13px}.chat-toast span{-webkit-line-clamp:3;word-break:break-word;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.sfu-screen.idle .chat-toast{cursor:pointer}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.rec-tag{color:#ff6b6b;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;min-width:0;font-size:13px;display:inline-flex;overflow:hidden}.rec-tag .dot{background:#ff4d4f;animation:1.4s ease-in-out infinite rec-blink}@keyframes rec-blink{50%{opacity:.35}}.qos{flex-direction:column;gap:12px;margin-top:10px;display:flex}.qos-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.qos-head .grade{margin-left:auto}.qos-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px 16px;margin:0;display:grid}.qos-grid dt{color:var(--muted);font-size:12px}.qos-grid dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:17px;font-weight:600}.qos-grid dd small{color:var(--muted);margin-left:4px;font-size:12px;font-weight:400}.grade{align-items:center;gap:5px;font-size:13px;font-weight:600;display:inline-flex}.grade.good{color:var(--live)}.grade.good .dot{background:var(--live)}.grade.ok{color:var(--warn-text)}.grade.ok .dot{background:#e0a100}.grade.bad{color:var(--danger)}.grade.bad .dot{background:var(--danger)}.leave-wrap{display:inline-flex;position:relative}.leave-backdrop{z-index:20;position:fixed;inset:0}.leave-menu{z-index:21;background:#1f232c;border:1px solid #3a3f4b;border-radius:12px;flex-direction:column;gap:4px;width:240px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 12px 32px #0008}.leave-menu button{text-align:left;white-space:normal;color:#e6e8ec;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;height:auto;padding:10px 12px;font-weight:600;display:flex}.leave-menu button:hover{background:#2b303b}.leave-menu button.danger{color:#ff6b6b}.leave-menu small{color:#9aa0ab;font-size:12px;font-weight:400}
