@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-ext-wght-normal-d45eAU9y.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-wght-normal-BAAhND-U.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-greek-wght-normal-CmyJS8uq.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-vietnamese-wght-normal-Dg1JeJN0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-ext-wght-normal-CIII54If.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-ext-wght-normal-CawQDOvP.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-wght-normal-DdqRvwsR.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,:root[data-theme=dark]{--canvas: #0c1318;--surface: #111a21;--raised: #16212a;--raised-2: #1d2b35;--line: #1f2d37;--line-strong: #2c3d49;--strong: #e9f1f3;--text: #b8c7cb;--muted: #8a9ea5;--faint: #5f747c;--primary: #49c1ad;--primary-hover: #63cfbd;--primary-soft: rgb(73 193 173 / .13);--primary-ink: #071319;--ok: #49c1ad;--ok-soft: rgb(73 193 173 / .13);--warn: #e3b15e;--warn-soft: rgb(227 177 94 / .13);--danger: #f0705c;--danger-hover: #f4846f;--danger-soft: rgb(240 112 92 / .15);--danger-ink: #ff9784;--danger-on: #1a0b08;--stage: #080d11;--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 12px 32px rgb(0 0 0 / .45);--r-sm: 4px;--r: 8px;--r-lg: 12px;--ease: cubic-bezier(.25, 1, .5, 1);--fs-xs: 12px;--fs-sm: 13px;--fs: 14px;--fs-md: 16px;--fs-lg: 20px;--fs-xl: 26px;--display: "Sora Variable", "IBM Plex Sans Variable", sans-serif;color-scheme:dark}:root[data-theme=light]{--canvas: #f3f6f7;--surface: #fbfcfc;--raised: #eaf0f1;--raised-2: #dfe7e9;--line: #dbe3e6;--line-strong: #c2ced2;--strong: #0d2029;--text: #364b53;--muted: #5a6e76;--faint: #8c9da3;--primary: #1c7f72;--primary-hover: #166c61;--primary-soft: #e0f1ee;--primary-ink: #fbfcfc;--ok: #1c7f72;--ok-soft: #e0f1ee;--warn: #9a6512;--warn-soft: #fbf1df;--danger: #d4553f;--danger-hover: #bf4731;--danger-soft: #fbe5e0;--danger-ink: #b0402b;--danger-on: #fbfcfc;--shadow: 0 1px 2px rgb(13 32 41 / .06), 0 8px 24px rgb(13 32 41 / .08);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--canvas);color:var(--text);font:400 var(--fs)/1.45 "IBM Plex Sans Variable",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary)}h1,h2,h3{color:var(--strong);font-family:var(--display)}::selection{background:var(--primary-soft)}.num{font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--strong);font-weight:600;font-size:var(--fs);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s,opacity .15s}.btn:hover{background:var(--raised)}:is(.btn,.icon-btn,.tab,.rail-btn,.field,.layout-btn,.plat,.kebab):focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:transparent;color:var(--primary-ink)}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.outline{background:var(--surface);border-color:var(--primary);color:var(--primary)}.btn.outline:hover{background:var(--primary-soft)}.btn.soft{background:var(--primary-soft);border-color:transparent;color:var(--primary)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{background:var(--raised);color:var(--strong)}.btn.link{background:none;border:0;padding:0;height:auto;color:var(--primary);font-weight:600}.btn.danger{background:var(--danger);border-color:transparent;color:var(--danger-on)}.btn.danger:hover{background:var(--danger-hover)}.btn.sm{height:32px;padding:0 12px;font-size:var(--fs-sm)}.btn.lg{height:48px;padding:0 22px;font-size:var(--fs-md)}.btn.block{width:100%}.icon-btn{min-width:52px;height:48px;padding:0 12px;border-radius:var(--r);display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:var(--raised);cursor:pointer;color:var(--strong);transition:background .15s var(--ease)}.icon-btn:hover{background:var(--raised-2)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn.off{background:var(--danger-soft);color:var(--danger-ink)}.icon-btn.on{background:var(--primary-soft);color:var(--primary)}.icon-btn.leave{background:var(--danger);color:var(--danger-on)}.icon-btn.leave:hover{background:var(--danger-hover)}.icon-btn.round{min-width:44px;height:44px;border-radius:50%;padding:0;background:#0f11158c;color:#fff}.icon-btn.round.off{background:var(--danger-soft);color:var(--danger-ink)}.field{width:100%;height:42px;padding:0 12px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line-strong);color:var(--strong);outline:none;transition:border-color .15s}.field:hover{border-color:var(--muted)}.field:focus{border-color:var(--primary)}textarea.field{height:auto;padding:10px 12px;resize:vertical;line-height:1.5}select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23696e7c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 12px center}.field::placeholder{color:var(--faint)}.label{display:block;font-size:var(--fs-sm);font-weight:500;color:var(--text);margin-bottom:6px}.counter{text-align:right;font-size:var(--fs-xs);color:var(--muted);margin-top:4px}.hint{font-size:var(--fs-xs);color:var(--muted);margin-top:6px;line-height:1.5}.error-text{font-size:var(--fs-sm);color:var(--danger-ink);white-space:pre-line}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:10px}.spacer{flex:1}.check{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--fs);color:var(--strong)}.check input{width:18px;height:18px;accent-color:var(--primary)}.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:99px;font-size:var(--fs-xs);font-weight:600;background:var(--raised);color:var(--text)}.chip .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.chip.live{background:var(--danger);color:var(--danger-on)}.chip.live .dot{animation:pulse 1.6s var(--ease) infinite}.chip.blue{background:var(--primary-soft);color:var(--primary)}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.bad{background:var(--danger-soft);color:var(--danger-ink)}@keyframes pulse{50%{opacity:.35}}.shell{display:grid;grid-template-columns:260px 1fr;height:100%}.side{padding:18px 12px 16px;display:flex;flex-direction:column;gap:2px}.brandmark{display:flex;align-items:center;gap:10px;padding:4px 12px 26px;color:var(--strong);text-decoration:none}.bm-sym{display:flex}.bm-word{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.025em;line-height:1}.bm-word b{color:var(--primary);font-weight:600}.nav-link{display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:var(--r);color:var(--text);text-decoration:none;font-size:15px}.nav-link:hover{background:var(--raised);color:var(--strong)}.nav-link.active{color:var(--primary)}.side-foot{margin-top:auto;padding:12px;border-radius:var(--r-lg);background:var(--surface);font-size:var(--fs-sm)}.side-foot .t{color:var(--strong);font-weight:600;margin-bottom:4px}.main{margin:8px 8px 8px 0;background:var(--surface);border-radius:var(--r-lg);overflow:auto;display:flex;flex-direction:column;box-shadow:0 0 0 1px var(--line)}.main-top{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 20px 0}.page{width:100%;max-width:1180px;padding:12px 48px 64px}.page-head{display:flex;align-items:center;gap:16px;margin:8px 0 20px}.page h1{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.01em;margin:0}.page h2{font-size:24px;font-weight:500;letter-spacing:-.01em;margin:36px 0 16px}.lede{color:var(--muted);margin:4px 0 0}.theme-switch{display:flex;gap:2px;padding:3px;border-radius:99px;background:var(--canvas)}.theme-switch button{width:34px;height:30px;border-radius:99px;border:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}.theme-switch button.sel{background:var(--surface);color:var(--primary);box-shadow:0 1px 2px #1b1f291f}.create-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,320px));gap:16px}.create-opt{text-align:left;padding:8px 16px 8px 8px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);cursor:pointer;display:flex;gap:14px;align-items:center;min-height:74px;color:var(--strong);transition:border-color .15s var(--ease),box-shadow .15s}.create-opt:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.create-opt .ic{width:56px;height:56px;border-radius:var(--r);display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);flex:none}.create-opt b{display:block;font-size:var(--fs-md);font-weight:600}.create-opt span{color:var(--muted);font-size:var(--fs-xs)}.utabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:16px}.utabs button{height:44px;padding:0 24px;border:0;background:none;cursor:pointer;color:var(--muted);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}.utabs button.sel{color:var(--primary);border-color:var(--primary);font-weight:600}.table{border:1px solid var(--line);border-radius:var(--r-lg);overflow:visible}.table .th,.table .tr{display:grid;grid-template-columns:minmax(220px,1fr) 110px 150px auto;align-items:center;gap:16px;padding:0 16px}.table .th{height:44px;color:var(--muted);font-size:var(--fs-sm);border-bottom:1px solid var(--line)}.table .tr{min-height:76px;border-top:1px solid var(--line)}.table .th+.tr{border-top:0}.tr .title{color:var(--strong);font-weight:500}.tr .meta{font-size:var(--fs-sm);color:var(--muted);display:flex;gap:10px;align-items:center}.tr .cell-title{display:flex;gap:14px;align-items:center;min-width:0}.kind-ic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--muted);border:2px solid currentColor;flex:none}.tr .acts{display:flex;gap:8px;align-items:center;justify-content:flex-end}.list{border:1px solid var(--line);border-radius:var(--r-lg)}.list-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-top:1px solid var(--line)}.list-row:first-child{border-top:0}.list-row .title{color:var(--strong);font-weight:600}.list-row .meta{font-size:var(--fs-sm);color:var(--muted)}.empty{padding:44px 24px;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--r-lg)}.empty strong{display:block;color:var(--strong);font-size:var(--fs-md);margin-bottom:6px}.av{position:relative;width:44px;height:44px;flex:none}.av .pic{width:44px;height:44px;border-radius:50%;background:var(--raised) center/cover no-repeat;display:grid;place-items:center;color:var(--muted);font-weight:700;overflow:hidden}.av .badge{position:absolute;right:-4px;bottom:-2px;width:20px;height:20px;border-radius:50%;background:var(--surface);display:grid;place-items:center;box-shadow:0 0 0 2px var(--surface)}.av.sm{width:30px;height:30px}.av.sm .pic{width:30px;height:30px;font-size:12px}.av.sm .badge{width:14px;height:14px;right:-3px;bottom:-2px}.av.pick{cursor:pointer;border-radius:50%}.av.pick .pic{outline:2px solid transparent;outline-offset:2px;transition:outline-color .15s;opacity:.5;filter:grayscale(.6)}.av.pick.sel .pic{outline-color:var(--primary);opacity:1;filter:none}.add-circle{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--primary);color:var(--primary);background:var(--surface);display:grid;place-items:center;cursor:pointer;flex:none}.add-circle:hover{background:var(--primary-soft)}.kebab{width:36px;height:36px;border-radius:50%;border:0;background:none;color:var(--strong);cursor:pointer;display:grid;place-items:center}.kebab:hover{background:var(--raised)}.menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:200px;padding:6px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.menu button{width:100%;text-align:left;display:flex;gap:10px;align-items:center;height:38px;padding:0 10px;border:0;border-radius:6px;background:none;cursor:pointer;color:var(--strong)}.menu button:hover{background:var(--raised)}.menu button.danger{color:var(--danger-ink)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1b1f2973;display:grid;place-items:center;padding:24px;animation:fade .15s var(--ease)}.modal{width:min(600px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);animation:rise .2s var(--ease)}.modal.wide{width:min(720px,100%)}.modal-head{display:flex;align-items:center;gap:12px;padding:22px 24px 8px;position:sticky;top:0;background:var(--surface);z-index:2}.modal-head h2{margin:0;font-size:24px;font-weight:500;letter-spacing:-.01em;flex:1}.modal-body{padding:8px 24px 24px}.modal-foot{display:flex;justify-content:flex-end;gap:12px;padding:0 24px 24px}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.plat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.plat{position:relative;height:88px;border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--strong);font-size:var(--fs-sm)}.plat:hover{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.plat .tag{position:absolute;top:6px;right:6px;font-size:10px;font-weight:700;color:var(--muted)}.plat .oneclick{position:absolute;top:6px;right:6px;font-size:10px;font-weight:700;color:var(--primary)}.notice{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--r);background:var(--warn-soft);color:var(--strong);font-size:var(--fs-sm)}.notice.info{background:var(--primary-soft)}.code{font:500 12px/1.4 ui-monospace,Menlo,monospace;background:var(--raised);padding:8px 10px;border-radius:6px;word-break:break-all;display:flex;gap:8px;align-items:center;color:var(--strong)}.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:var(--fs-sm)}.lobby{min-height:100%;display:flex;flex-direction:column;background:var(--surface)}.lobby-top{padding:18px 24px}.lobby-main{flex:1;display:grid;place-items:center;padding:24px}.lobby-card{width:min(1180px,100%);display:grid;grid-template-columns:1.55fr 1fr;gap:72px;align-items:center}.preview-wrap{position:relative;padding:16px;background:var(--raised);border-radius:var(--r-lg)}.lobby video,.selfview{width:100%;aspect-ratio:16/9;background:#4a4f5c;border-radius:var(--r);object-fit:cover;transform:scaleX(-1);display:block}.preview-tools{position:absolute;left:0;right:0;bottom:30px;display:flex;justify-content:center;gap:10px}.lobby h1{text-align:center;font-size:24px;font-weight:600;margin:0 0 6px}.lobby .sub{text-align:center;color:var(--muted);font-size:var(--fs-sm);margin:0 0 8px}.meter{height:4px;border-radius:2px;background:var(--raised-2);overflow:hidden}.meter i{display:block;height:100%;background:var(--ok);width:0;transition:width .08s linear}.studio{height:100%;display:grid;grid-template-rows:56px minmax(0,1fr) 72px;grid-template-columns:minmax(0,1fr) 360px 92px;grid-template-areas:"top top top" "stage side rail" "ctrl side rail";background:var(--surface)}.topbar{grid-area:top;display:flex;align-items:center;gap:14px;padding:0 16px 0 20px;border-bottom:1px solid var(--line);background:var(--surface)}.topbar .t{color:var(--strong);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dest-pill{display:flex;align-items:center;gap:10px;height:40px;padding:0 6px 0 16px;border-radius:var(--r);border:0;background:var(--primary-soft);color:var(--primary);font-weight:600;cursor:pointer}.dest-pill .avs{display:flex}.dest-pill .avs>*{margin-left:-6px}.dest-pill .avs .av.sm .pic{box-shadow:0 0 0 2px var(--primary-soft)}.stage-area{grid-area:stage;display:flex;flex-direction:column;min-height:0;padding:24px 24px 0 36px}.stage-col{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center}.stage-box{flex:1;min-height:0;width:100%;display:flex;align-items:flex-end;justify-content:center}.stage-frame{position:relative;aspect-ratio:16/9;max-width:100%;max-height:100%;width:100%;overflow:hidden;background:var(--stage)}.stage-frame.onair{box-shadow:0 0 0 3px var(--danger)}.stage-frame canvas{width:100%;height:100%;display:block}.stage-badge{position:absolute;left:14px;top:14px;height:26px;padding:0 10px;border-radius:6px;background:#0f11158c;color:#fff;font-size:var(--fs-xs);font-weight:600;display:flex;align-items:center;gap:6px}.stage-bar{width:100%;display:flex;align-items:center;gap:8px;padding:6px 0;background:var(--surface)}.layouts{flex:1;display:flex;justify-content:center;gap:4px}.layout-btn{width:54px;height:38px;border-radius:var(--r-sm);border:2px solid transparent;background:var(--line-strong);cursor:pointer;display:grid;place-items:center;padding:0;transition:background .15s}.layout-btn:hover{background:var(--faint)}.layout-btn.sel{background:var(--surface);border-color:var(--primary)}.layout-btn svg{width:40px;height:24px}.sq-btn{width:40px;height:38px;border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface);color:var(--primary);display:grid;place-items:center;cursor:pointer}.sq-btn:hover{background:var(--primary-soft)}.tray{display:flex;gap:10px;overflow-x:auto;padding:10px 0 12px;min-height:140px;width:100%}.ptile{position:relative;flex:none;width:168px;height:118px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line-strong);overflow:hidden;display:flex;flex-direction:column}.ptile.staged{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.ptile video,.ptile .avatar{width:100%;flex:1;min-height:0;object-fit:cover;display:block;background:#8b909c}.ptile .avatar{display:grid;place-items:center;color:#fff;font-weight:700;font-size:22px}.ptile .foot{display:flex;align-items:center;gap:6px;padding:0 8px;height:26px;font-size:var(--fs-sm);color:var(--strong);flex:none}.ptile .foot .n{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptile .action{position:absolute;left:0;right:0;top:0;bottom:26px;display:grid;place-items:center;background:#0f111573;opacity:0;transition:opacity .15s var(--ease)}.ptile:hover .action,.ptile:focus-within .action{opacity:1}.ptile .tag{position:absolute;top:6px;left:6px}.ptile .kickx{position:absolute;top:6px;right:6px}.ptile.invite{cursor:pointer;align-items:center;justify-content:center;gap:12px;color:var(--strong);font-size:var(--fs-sm)}.ptile.invite .pair{display:flex;gap:6px;padding:8px 14px;border-radius:99px;border:1px solid var(--line-strong);color:var(--muted)}.ptile.invite:hover{border-color:var(--primary)}.controls{grid-area:ctrl;display:flex;align-items:center;justify-content:center;gap:10px;border-top:1px solid var(--line);padding:0 16px}.controls .gap{width:30px}.split{display:inline-flex}.split>.icon-btn:first-child{border-radius:var(--r) 0 0 var(--r)}.split>.caret{min-width:24px;padding:0;border-radius:0 var(--r) var(--r) 0}.sidebar{grid-area:side;border-left:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;min-height:0}.panel-head{display:flex;align-items:center;gap:8px;height:52px;padding:0 16px;border-bottom:1px solid var(--line);color:var(--strong);font-weight:600;flex:none}.rail{grid-area:rail;border-left:1px solid var(--line);background:var(--surface);padding:8px 6px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.rail-btn{width:100%;min-height:76px;border:0;border-radius:var(--r);background:none;color:var(--strong);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:11px;position:relative;text-align:center;line-height:1.2}.rail-btn:hover{background:var(--raised)}.rail-btn.sel{background:var(--primary-soft);color:var(--primary)}.rail-btn .pip{position:absolute;top:14px;right:18px;width:8px;height:8px;border-radius:50%;background:var(--danger)}.tabs{display:flex;gap:2px;padding:8px;border-bottom:1px solid var(--line)}.tab{flex:1;height:34px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:600;font-size:var(--fs-sm);cursor:pointer}.tab.sel{background:var(--primary-soft);color:var(--primary)}.panel-body{flex:1;overflow:auto;padding:16px}.section{border-bottom:1px solid var(--line);padding:16px 0}.section:first-child{padding-top:0}.section-h{color:var(--strong);font-weight:600;font-size:15px;margin:0 0 12px}.banner-item{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r);border:1px solid transparent;background:var(--raised);cursor:pointer;text-align:left;width:100%;color:var(--strong)}.banner-item:hover{border-color:var(--line-strong)}.banner-item.sel{border-color:var(--primary);background:var(--primary-soft)}.banner-item .bt{font-size:var(--fs-sm)}.banner-item .bs{font-size:var(--fs-xs);color:var(--muted)}.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:30px;height:30px;border-radius:6px;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #00000014}.swatch.sel{border-color:var(--primary)}.seg{display:flex;padding:3px;gap:3px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r)}.seg button{flex:1;height:30px;border:0;border-radius:6px;background:transparent;color:var(--text);font-size:var(--fs-sm);cursor:pointer}.seg button.sel{background:var(--primary-soft);color:var(--primary);font-weight:600}.seg button:disabled{opacity:.5;cursor:not-allowed}.toggle{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:var(--fs-sm);color:var(--strong);cursor:pointer;flex-direction:row-reverse;justify-content:flex-end}.toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:20px;border-radius:10px;background:var(--line-strong);position:relative;cursor:pointer;transition:background .15s;flex:none;margin:0}.toggle input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s var(--ease);box-shadow:0 1px 2px #0003}.toggle input:checked{background:var(--primary)}.toggle input:checked:after{transform:translate(16px)}.asset{display:flex;align-items:center;gap:10px}.asset .thumb{width:72px;height:40px;border-radius:6px;background:var(--raised) center/contain no-repeat;border:1px solid var(--line);flex:none}.chat{display:flex;flex-direction:column;gap:10px}.msg{padding:10px 12px;border-radius:var(--r);background:var(--raised)}.msg .who{font-size:var(--fs-xs);font-weight:600;color:var(--strong);display:flex;gap:8px;align-items:center}.msg p{margin:2px 0 0;font-size:var(--fs-sm);overflow-wrap:anywhere}.chat-input{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}.toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%);max-width:min(560px,90vw);background:var(--strong);color:var(--surface);padding:12px 16px;border-radius:var(--r);font-size:var(--fs-sm);z-index:60;box-shadow:var(--shadow);white-space:pre-line}.confirm-pop{position:absolute;z-index:40;top:calc(100% + 8px);right:0;width:300px;padding:16px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.confirm-pop p{margin:0 0 14px;font-size:var(--fs-sm);color:var(--text)}.confirm-pop p b{color:var(--strong)}.dest-check{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer}.dest-check input{accent-color:var(--primary);width:18px;height:18px}.out-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:var(--fs-sm)}.out-row:first-child{border-top:0}.guest-layout{height:100%;display:grid;grid-template-rows:56px minmax(0,1fr) 72px;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"top top" "stage side" "ctrl side";background:var(--surface)}.guest-layout .stage-box{align-items:center}.selfpip{position:absolute;right:12px;bottom:12px;width:22%;border-radius:8px;overflow:hidden;box-shadow:0 0 0 2px #fff9}.selfpip video{width:100%;display:block;transform:scaleX(-1);aspect-ratio:16/9;object-fit:cover}.greenroom{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;padding:24px;background:#2a2e37;color:#e8eaee}.greenroom h2{font-size:var(--fs-lg);margin:0 0 6px;font-weight:600;color:#fff}.greenroom p{margin:0;color:#b8bcc6}@media(max-width:1200px){.studio{grid-template-columns:minmax(0,1fr) 300px 80px}.stage-area{padding:16px 16px 0}}@media(max-width:900px){.shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.side{flex-direction:row;overflow-x:auto;padding:8px;align-items:center}.side-foot{display:none}.brandmark{padding:4px 8px}.main{margin:0;border-radius:0}.page{padding:12px 18px 48px}.lobby-card{grid-template-columns:1fr;gap:24px}.table .th{display:none}.table .tr{grid-template-columns:1fr;padding:12px 16px;gap:8px}.plat-grid{grid-template-columns:repeat(2,1fr)}.studio{grid-template-columns:1fr;grid-template-rows:56px auto auto auto 72px;grid-template-areas:"top" "stage" "rail" "side" "ctrl";height:auto;min-height:100%}.rail{flex-direction:row;border-left:0;border-top:1px solid var(--line)}.rail-btn{min-height:60px}.guest-layout{grid-template-columns:1fr;grid-template-rows:56px auto auto 72px;grid-template-areas:"top" "stage" "side" "ctrl";height:auto;min-height:100%}.sidebar{min-height:360px;border-left:0}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.auth{min-height:100%;display:grid;place-items:center;padding:32px 16px;background:var(--canvas)}.auth-card{width:100%;max-width:400px}.auth-card h1{font-size:30px;font-weight:600;letter-spacing:-.02em;margin:0 0 8px}.auth-sub{margin:0 0 28px;color:var(--muted)}.media-now{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--primary);background:var(--primary-soft);border-radius:var(--r)}.media-now-name{font-size:var(--fs-sm);color:var(--strong);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.media-time{font-size:var(--fs-xs);color:var(--muted)}.media-up{display:flex;flex-direction:column;gap:5px;font-size:var(--fs-xs);color:var(--muted)}.media-up .bar{height:4px;border-radius:2px;background:var(--raised);overflow:hidden}.media-up .bar i{display:block;height:100%;background:var(--primary);transition:width .3s var(--ease)}.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px}.media-card{display:flex;flex-direction:column;gap:4px;min-width:0}.media-thumb{position:relative;aspect-ratio:16 / 9;border-radius:var(--r-sm);border:2px solid transparent;background:var(--stage);padding:0;overflow:hidden;cursor:pointer}.media-thumb:hover:not(:disabled){border-color:var(--line-strong)}.media-thumb:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.media-thumb:disabled{cursor:default;opacity:.6}.media-card.sel .media-thumb{border-color:var(--primary)}.media-thumb img{width:100%;height:100%;object-fit:contain;display:block}.media-ph{display:grid;place-items:center;height:100%;font-size:var(--fs-xs);color:var(--faint)}.media-kind{position:absolute;left:5px;bottom:5px;font-size:10.5px;font-weight:600;padding:2px 6px;border-radius:3px;background:#080d11c7;color:#e9f1f3}.media-meta{display:flex;align-items:center;gap:2px;min-width:0}.media-name{flex:1;min-width:0;font-size:var(--fs-xs);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-meta .btn{height:26px;padding:0 6px}.comments-tab{display:flex;flex-direction:column;min-height:0}.comments-list{display:flex;flex-direction:column;gap:4px;overflow-y:auto;max-height:calc(100vh - 260px);margin:0 -6px;padding:0 6px}.comment{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:var(--r);border:1px solid transparent;background:transparent;color:var(--text);text-align:left;cursor:pointer;width:100%}.comment:hover{background:var(--raised)}.comment:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.comment.sel{border-color:var(--primary);background:var(--primary-soft)}.comment-av{width:30px;height:30px;border-radius:50%;flex-shrink:0;object-fit:cover;background:var(--raised)}.comment-av.ph{display:grid;place-items:center;font-size:var(--fs-xs);font-weight:600;color:var(--muted)}.comment-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.comment-head{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--muted)}.comment-head b{color:var(--strong);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comment-text{font-size:var(--fs-sm);line-height:1.45;overflow-wrap:anywhere}.chip.warn{background:var(--warn-soft);color:var(--warn);height:auto;min-height:24px;padding:3px 10px}.chip .dot.rec{background:var(--danger);animation:pulse 1.6s var(--ease) infinite}.lrec-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.lrec-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-sm);color:var(--text)}
