.home{background:var(--bg-app);justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.home__card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-panel);flex-direction:column;gap:14px;width:100%;max-width:520px;padding:28px;display:flex}.home__title{margin:0;font-size:22px}.home__subtitle{color:var(--text-secondary);margin:0 0 6px;line-height:1.5}.home__hint{color:var(--text-secondary);margin:0}.home__field{flex-direction:column;gap:5px;display:flex}.home__field span{color:var(--text-secondary);font-size:12px}.home__field input{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-app);height:36px;color:var(--text-primary);font:inherit;outline:none;padding:0 10px}.home__field input:focus{border-color:var(--accent)}.home__toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-self:center;margin-top:2px;font-size:12px;text-decoration:underline}.home__toggle:hover{color:var(--text-primary)}.home__error{border-radius:var(--radius);color:var(--danger);background:#ff4d4d1f;margin:0;padding:10px 12px}.editor{grid-template-rows:var(--topbar-h) 1fr;background:var(--bg-app);height:100%;display:grid}.editor__center{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.editor__body{min-height:0;display:flex;overflow:hidden}.topbar{background:var(--bg-panel);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:0 14px;display:flex}.topbar__left,.topbar__right{align-items:center;gap:8px;display:flex}.topbar-switch{border-radius:var(--radius);background:var(--bg-row);height:34px;color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:600;transition:background .14s,color .14s;display:inline-flex}.topbar-switch:hover:not(:disabled){background:var(--bg-row-hover)}.topbar-switch:disabled{opacity:.5;cursor:not-allowed}.topbar-switch__icon,.topbar-switch__label{flex:none}.topbar-switch__knob{background:var(--bg-app);width:26px;height:15px;box-shadow:inset 0 0 0 1px var(--border-strong);border-radius:999px;flex:none;order:3;margin-left:2px;transition:background .14s;position:relative}.topbar-switch__knob:after{content:"";background:var(--text-muted);border-radius:50%;width:11px;height:11px;transition:transform .14s,background .14s;position:absolute;top:2px;left:2px}.topbar-switch.is-on{color:var(--text-primary)}.topbar-switch.is-on .topbar-switch__knob{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.topbar-switch.is-on .topbar-switch__knob:after{background:var(--accent);transform:translate(11px)}.topbar__logo{align-items:center;padding:0 4px;display:flex}.topbar__scene{color:var(--text-secondary);margin-left:6px;font-weight:500}.left-panel{width:var(--panel-w);flex-direction:column;flex:0 0 var(--panel-w);background:var(--bg-panel);border-right:1px solid var(--border);display:flex;position:relative}.left-panel__list{flex-direction:column;flex:1;gap:4px;min-height:0;padding:10px 10px 4px;display:flex;overflow-y:auto}.layer-row{border-radius:var(--radius);background:var(--bg-row);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;height:40px;padding-right:8px;transition:background .12s,box-shadow .12s;display:flex}.layer-row:hover{background:var(--bg-row-hover)}.layer-row--selected{background:var(--bg-row-active);box-shadow:inset 0 0 0 1px var(--accent)}.layer-row--hidden .layer-row__name,.layer-row--hidden .layer-row__icon{opacity:.4}.layer-row__chevron{width:14px;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.layer-row__chevron--empty{visibility:hidden}.layer-row__icon{color:var(--text-secondary);align-items:center;display:flex}.layer-row__name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.layer-row__input{border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--bg-app);min-width:0;height:24px;color:var(--text-primary);font:inherit;outline:none;flex:1;padding:0 6px}.layer-row__actions{opacity:0;align-items:center;gap:2px;transition:opacity .12s;display:flex}.layer-row:hover .layer-row__actions,.layer-row--selected .layer-row__actions,.layer-row--hidden .layer-row__actions{opacity:1}.layer-row__action{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.layer-row__action:hover{color:var(--text-primary);background:#ffffff14}.layer-row__action.is-active{color:var(--text-primary)}.layer-group{border-left:1px solid var(--border-strong);flex-direction:column;gap:4px;margin:4px 0 4px 8px;padding-left:6px;display:flex}.left-panel__footer{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:12px 10px;display:flex}.left-panel__tools{gap:8px;display:flex}.left-panel__tools .btn--ghost{flex:1}.panel-collapse,.panel-handle{width:20px;height:44px;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border);z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;top:50%}.panel-collapse:hover,.panel-handle:hover{color:var(--text-primary);background:var(--bg-row-hover)}.panel-collapse--left{border-radius:0 var(--radius) var(--radius) 0;right:-11px;transform:translateY(-50%)}.panel-handle{flex:0 0 20px;align-self:center;position:relative;top:auto}.panel-handle--left{border-radius:0 var(--radius) var(--radius) 0;border-left:none}.panel-handle--right{border-radius:var(--radius) 0 0 var(--radius);border-right:none}.stage{background:var(--bg-canvas);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.stage__toolbar{height:34px;color:var(--text-muted);align-items:center;gap:10px;padding:0 14px;font-size:12px;display:flex}.stage__sep{background:var(--border-strong);width:1px;height:12px}.stage__viewport{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.canvas{transform-origin:50%;background-color:var(--checker-b);background-image:linear-gradient(45deg, var(--checker-a) 25%, transparent 25%), linear-gradient(-45deg, var(--checker-a) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--checker-a) 75%), linear-gradient(-45deg, transparent 75%, var(--checker-a) 75%);background-size:calc(var(--checker-size) * 2) calc(var(--checker-size) * 2);background-position:0 0, 0 var(--checker-size), var(--checker-size) calc(var(--checker-size) * -1), calc(var(--checker-size) * -1) 0;outline:1px solid var(--border-strong);flex:none;position:relative}.canvas-layer{cursor:pointer;position:absolute}.canvas-layer--selected{outline:2px solid var(--accent)}.canvas-layer--smooth-move{transition:left .22s cubic-bezier(.4,0,.2,1),top .22s cubic-bezier(.4,0,.2,1),width .22s cubic-bezier(.4,0,.2,1),height .22s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){.canvas-layer--smooth-move{transition:none}}.handle{background:var(--accent);border:2px solid #04150d;border-radius:50%;width:10px;height:10px;position:absolute}.handle--nw{top:-6px;left:-6px}.handle--ne{top:-6px;right:-6px}.handle--sw{bottom:-6px;left:-6px}.handle--se{bottom:-6px;right:-6px}.handle--rotate{top:-26px;left:50%;transform:translate(-50%)}.layer-text{color:#fff;text-align:center;text-shadow:0 2px 8px #0009;justify-content:center;align-items:center;width:100%;height:100%;font-weight:500;display:flex}.layer-image{width:100%;height:100%;display:block}.layer-background{width:100%;height:100%}.layer-image-empty{border:1px dashed var(--border-strong);width:100%;height:100%;color:var(--text-secondary);background:#ffffff0a;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:15px;display:flex}.layer-watermark{background:var(--accent);color:#04150d;letter-spacing:.04em;border-radius:6px;justify-content:center;align-items:center;width:100%;height:100%;font-size:22px;font-weight:700;display:flex}.layer-source-offline{color:#9d9d9d;letter-spacing:.05em;background:#4a4a4a;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;font-size:22px;font-weight:600;display:flex}.layer-placeholder{border:1px dashed var(--border-strong);width:100%;height:100%;color:var(--text-secondary);background:#ffffff0f;justify-content:center;align-items:center;font-size:20px;display:flex}.right-panel{width:var(--rightpanel-w);flex-direction:column;flex:0 0 var(--rightpanel-w);background:var(--bg-panel);border-left:1px solid var(--border);z-index:2;display:flex;box-shadow:-14px 0 26px -12px #000000bf}.right-panel__tabs{align-items:center;gap:2px;min-width:0;display:flex}.right-panel__tab{color:var(--text-muted);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:5px 9px;transition:background .12s,color .12s}.right-panel__tab:hover{color:var(--text-secondary);background:var(--bg-row)}.right-panel__tab.is-active{color:var(--text-primary);background:var(--bg-row-hover)}.right-panel__header{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em;height:40px;color:var(--text-secondary);justify-content:space-between;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:flex}.right-panel__empty{color:var(--text-muted);text-align:center;padding:24px 16px;line-height:1.5}.right-panel__body{flex-direction:column;flex:1;gap:18px;min-height:0;padding:14px;display:flex;overflow-y:auto}.prop-section{flex-direction:column;gap:8px;display:flex}.prop-section__title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.prop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.right-panel__actions{gap:8px;margin-top:auto;display:flex}.right-panel__actions .btn{flex:1}.scenes{flex:0 0 var(--scenes-h);height:var(--scenes-h);box-sizing:border-box;background:var(--bg-panel);border-top:1px solid var(--border);justify-content:safe center;align-items:center;gap:10px;padding:12px 14px;display:flex;overflow-x:auto}.scenes__item{align-items:center;gap:10px;display:flex}.scenes__divider{color:var(--text-muted);border-left:1px solid var(--border-strong);justify-content:center;align-items:center;height:60px;padding:0 4px 0 12px;display:flex}.scene-tile{flex-direction:column;flex:none;gap:6px;display:flex}.scene-tile__preview{border-radius:var(--radius);border:2px solid var(--border-strong);background:var(--bg-elevated);justify-content:center;align-items:center;width:116px;height:66px;transition:border-color .15s;display:flex;position:relative;overflow:hidden}.scene-tile:hover .scene-tile__preview{border-color:var(--text-muted)}.scene-tile--active .scene-tile__preview{border-color:var(--accent)}.scene-tile__preview--add{color:var(--text-secondary);border-style:dashed}.scene-tile__label{color:var(--text-secondary);text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:116px;font-size:12px;overflow:hidden}.scene-tile--active .scene-tile__label{color:var(--accent);font-weight:600}.scene-thumb{width:100%;height:100%;display:block;position:relative;overflow:hidden}.scene-thumb__canvas{transform-origin:0 0;pointer-events:none;position:absolute;top:0;left:0}.scene-thumb__layer{position:absolute;overflow:hidden}.scene-thumb__stub{color:#ffffffbf;text-align:center;background:#ffffff24;border:2px solid #ffffff2e;border-radius:6px;justify-content:center;align-items:center;width:100%;height:100%;font-size:40px;font-weight:600;display:flex;overflow:hidden}.status{background:var(--bg-row);height:26px;color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.status__dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px}.status--connected .status__dot{background:var(--accent)}.status--connecting .status__dot,.status--reconnecting .status__dot{background:#e0a400;animation:1s ease-in-out infinite pulse}.status--error .status__dot{background:var(--danger)}@keyframes pulse{50%{opacity:.3}}.badge{border-radius:999px;align-items:center;gap:6px;height:28px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.badge--viewer{background:var(--accent-soft);color:var(--accent)}.badge--scene{color:var(--text-secondary);background:#ffffff12}.topbar__room{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:11px}.add-menu{position:relative}.add-menu__list{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-elevated);z-index:20;flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;right:0;box-shadow:0 8px 24px #00000073}.add-menu__item{border-radius:var(--radius-sm);height:32px;color:var(--text-primary);text-align:left;align-items:center;gap:8px;padding:0 10px;display:flex}.add-menu__item:hover{background:var(--bg-row-hover)}.layer-row{position:relative}.layer-row--drop-before:before,.layer-row--drop-after:after{content:"";background:var(--accent);height:3px;box-shadow:0 0 0 1px #00000073, 0 0 10px 1px color-mix(in srgb, var(--accent) 55%, transparent);border-radius:3px;position:absolute;left:6px;right:6px}.layer-row--drop-before:before{top:-2px}.layer-row--drop-after:after{bottom:-2px}.layer-row--drop-before,.layer-row--drop-after{position:relative}.layer-row--drop-inside{box-shadow:inset 0 0 0 2px var(--accent)}.layer-row--dragging{opacity:.4}.left-panel__empty{color:var(--text-muted);text-align:center;margin:0;padding:18px 12px;line-height:1.5}.btn:disabled{opacity:.45;cursor:not-allowed}.prop-field input:disabled,.prop-toggle input:disabled{opacity:.5;cursor:not-allowed}.connection-screen{height:100%;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex}.connection-screen h2{color:var(--text-primary);margin:0;font-size:18px}.connection-screen p{max-width:420px;margin:0;line-height:1.5}@keyframes spin{to{transform:rotate(360deg)}}.stage__viewport{position:relative}.stage__hint{color:var(--text-secondary);font-variant-numeric:tabular-nums}.canvas-layer--locked{cursor:default}.moveable-control{background:var(--accent)!important;border-color:#04150d!important;width:10px!important;height:10px!important;margin-top:-5px!important;margin-left:-5px!important}.moveable-line,.moveable-rotation .moveable-control{background:var(--accent)!important}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;background:#0000009e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--bg-panel);width:100%;max-width:560px;box-shadow:0 24px 64px #0009}.modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 12px 14px 18px;display:flex}.modal__title{margin:0;font-size:15px}.modal__body{flex-direction:column;gap:18px;padding:18px;display:flex}.modal__note{color:var(--text-muted);margin:0;padding:0 18px 16px;font-size:12px;line-height:1.5}.library-modal{border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--bg-panel);width:100%;max-width:860px;max-height:88vh;padding:28px 28px 20px;position:relative;overflow-y:auto;box-shadow:0 24px 64px #0009}.library-modal__close{background:var(--bg-elevated);width:30px;height:30px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}.library-modal__close:hover{color:var(--text-primary)}.library-modal__title{margin:0 0 18px;font-size:20px}.library-modal__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.library-modal__storage{flex-direction:column;gap:6px;min-width:220px;display:flex}.library-modal__storage-label{color:var(--text-secondary);font-size:12px}.library-modal__storage-bar{background:var(--bg-elevated);border-radius:3px;width:100%;height:5px;overflow:hidden}.library-modal__storage-fill{background:var(--accent);height:100%}.library-modal__actions{align-items:center;gap:10px;display:flex}.library-modal__info{background:var(--bg-elevated);width:26px;height:26px;color:var(--text-secondary);cursor:help;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.library-modal__tooltip{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-strong);width:max-content;max-width:260px;color:var(--text-secondary);white-space:pre-line;opacity:0;pointer-events:none;z-index:5;padding:10px 12px;font-size:12px;line-height:1.5;transition:opacity .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.library-modal__info:hover .library-modal__tooltip,.library-modal__info:focus .library-modal__tooltip{opacity:1}.library-modal__sort{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.library-modal__sort select{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);padding:5px 8px}.library-modal__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-height:300px;display:grid}.library-card{border-radius:var(--radius);text-align:left;cursor:pointer;border:1px solid #0000;flex-direction:column;gap:6px;min-width:0;padding:8px;transition:border-color .12s,background .12s;display:flex}.library-card:hover{background:var(--bg-row-hover)}.library-card.is-selected{border-color:var(--accent);background:var(--bg-row-hover)}.library-card__preview{aspect-ratio:1;border-radius:var(--radius-sm);background:conic-gradient(from 90deg, #3a3a3a 25%, #2e2e2e 0 50%, #3a3a3a 0 75%, #2e2e2e 0) 0 0 / 12px 12px;width:100%;color:var(--text-secondary);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.library-card__preview img,.library-card__preview video{object-fit:cover;width:100%;height:100%}.library-card__play{background:var(--accent);color:#04150d;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:absolute;bottom:8px;right:8px;box-shadow:0 2px 8px #0006}.library-card__play:hover{filter:brightness(1.08)}.library-card__name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.library-card__meta{color:var(--text-muted);font-size:11px}.library-modal__pagination{justify-content:center;align-items:center;gap:6px;margin-top:16px;display:flex}.library-modal__page{min-width:28px;height:28px;color:var(--text-secondary);border-radius:50%;padding:0 6px;font-size:13px}.library-modal__page:hover{background:var(--bg-row-hover)}.library-modal__page.is-active{background:var(--accent);color:#04150d;font-weight:600}.library-modal__page-gap{color:var(--text-muted);padding:0 2px}.library-modal__footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;display:flex}.source-group__title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:600}.source-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.source-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-row);text-align:left;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;transition:background .14s,border-color .14s;display:flex}.source-card:hover{background:var(--bg-row-hover);border-color:var(--accent)}.source-card__icon{border-radius:var(--radius);background:var(--accent-soft);width:34px;height:34px;color:var(--accent);justify-content:center;align-items:center;margin-bottom:4px;display:flex}.source-card__label{font-weight:600}.source-card__description{color:var(--text-muted);font-size:11px;line-height:1.4}.layer-video{background:#000;width:100%;height:100%;display:block}.layer-video--screen-capture,.layer-video--window-capture{object-fit:contain}.layer-video--webcam{object-fit:cover}.layer-source-offline__error,.layer-source-offline__hint{letter-spacing:0;opacity:.75;text-align:center;padding:0 12px;font-size:13px;font-weight:400}.layer-source-offline__error{color:#ffb3b3}.spin{animation:.9s linear infinite spin}.audio-meter{background:#ffffff1f;border-radius:2px;flex:none;width:42px;height:4px;position:relative;overflow:hidden}.audio-meter--off{width:auto;height:auto;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;display:flex}.audio-meter__bar{background:var(--accent);width:0;transition:width 50ms linear;position:absolute;inset:0 auto 0 0}.audio-outputs{width:0;height:0;position:absolute;overflow:hidden}.widget-actions{gap:8px;display:flex}.widget-actions .btn{flex:1}.canvas-layer .widget-frame{pointer-events:none}.source-card,.scene-tile__preview,.layer-row,.btn,.icon-btn{transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out)}.source-card:hover{transform:translateY(-1px)}.scene-tile:hover .scene-tile__preview{transform:translateY(-2px)}.scene-tile--active .scene-tile__preview{box-shadow:0 0 0 1px var(--accent)}.btn--primary:active,.source-card:active{transform:translateY(0)}.left-panel,.right-panel{transition:width var(--dur) var(--ease-out)}.prop-device{border-radius:var(--radius-sm);background:var(--bg-row);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;padding:8px 10px;font-size:12px;overflow:hidden}.prop-device-row{align-items:center;gap:6px;display:flex}.prop-select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-app);min-width:0;height:30px;color:var(--text-primary);font:inherit;cursor:pointer;outline:none;flex:1;padding:0 8px}.prop-select:focus{border-color:var(--accent)}.prop-select:disabled{opacity:.5;cursor:not-allowed}.prop-device--loading,.prop-device--error{white-space:normal;justify-content:space-between;align-items:center;gap:8px;display:flex}.prop-device--error{color:#ffb3b3}.mixer{border-radius:var(--radius);background:var(--bg-elevated);flex-direction:column;gap:6px;padding:8px;display:flex}.mixer__header{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;padding:0 2px;font-size:11px;font-weight:600;display:flex}.mixer__header:hover{color:var(--text-primary)}.mixer__count{background:var(--bg-row);color:var(--text-muted);letter-spacing:0;border-radius:8px;margin-left:auto;padding:0 6px;font-size:10px}.mixer__list{flex-direction:column;gap:4px;max-height:190px;display:flex;overflow-y:auto}.mixer-channel{border-radius:var(--radius-sm);background:var(--bg-row);cursor:pointer;flex-direction:column;gap:4px;padding:6px 8px;transition:background .12s;display:flex}.mixer-channel:hover{background:var(--bg-row-hover)}.mixer-channel--selected{background:var(--bg-row-active);box-shadow:inset 2px 0 0 var(--accent)}.mixer-channel__top,.mixer-channel__bottom{align-items:center;gap:8px;display:flex}.mixer-channel__icon{color:var(--text-secondary);flex:none;display:flex}.mixer-channel__icon.is-muted{color:var(--danger)}.mixer-channel__mute{border-radius:var(--radius-sm);color:var(--text-muted);flex:none;padding:2px;display:flex}.mixer-channel__mute:hover{color:var(--text-primary);background:#ffffff14}.mixer-channel__mute.is-muted{color:var(--danger)}.mixer-channel__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mixer-channel__meter{background:#ffffff1f;border-radius:2px;flex:none;width:38px;height:4px;position:relative;overflow:hidden}.mixer-channel__meter--off{width:auto;height:auto;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;display:flex}.mixer-channel__bar{background:var(--accent);width:0;transition:width 50ms linear;position:absolute;inset:0 auto 0 0}.mixer-channel__value{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;flex:0 0 26px;font-size:11px}.mixer-channel__slider{min-width:0;height:4px;accent-color:var(--accent);cursor:pointer;flex:1;margin:0}.mixer-channel__slider:disabled{opacity:.4;cursor:not-allowed}.layer-crop{border-radius:inherit}.canvas-layer .web-source__frame{pointer-events:none}.web-source-presets{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--bg-row);color:var(--text-secondary);border-radius:999px;padding:4px 10px;font-size:12px}.chip:hover{background:var(--bg-row-hover);color:var(--text-primary)}.chip.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.web-source-note{color:var(--text-muted);align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;display:flex}.web-source-note svg{flex:none;margin-top:2px}.web-source-note--error{color:#ffb3b3}.prop-row{gap:8px;display:flex}.prop-row .btn{flex:1}.prop-device--muted{color:var(--text-muted)}.prop-hint{color:var(--text-muted);margin:0;font-size:12px;line-height:1.6}.prop-hint kbd{border:1px solid var(--border-strong);background:var(--bg-app);color:var(--text-secondary);font:inherit;border-radius:3px;padding:1px 5px;font-size:11px}.mixer-channel__meter--off.is-ok{color:var(--accent)}.stage-split{flex:1;min-width:0;min-height:0;display:flex}.stage--pane{flex:50%;min-width:0}.stage--pane+.transition-bar+.stage--pane{border-left:1px solid var(--border)}.stage__label{border-radius:var(--radius-sm);background:var(--bg-row);color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:600;display:flex}.stage__label--live{color:#ff7b7b;background:#ff4d4d24}.stage__label-dot{background:var(--danger);border-radius:50%;width:6px;height:6px}.transition-bar{background:var(--bg-panel);border-left:1px solid var(--border);justify-content:center;align-items:center;padding:0 10px;display:flex}.transition-bar__button{white-space:nowrap}.scene-tile__badge{background:var(--accent);color:#04150d;letter-spacing:.04em;text-transform:uppercase;border-radius:3px;padding:1px 6px;font-size:9px;font-weight:700;position:absolute;top:4px;left:4px}.scene-tile__badge--live{background:var(--danger);color:#fff}.scenes:has(.scene-tile--editing) .scene-tile--active .scene-tile__preview{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.scenes:has(.scene-tile--editing) .scene-tile--active .scene-tile__label{color:#ff7b7b}.scene-tile--editing .scene-tile__preview{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.scene-tile--editing .scene-tile__label{color:var(--accent);font-weight:600}.btn--ghost.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.scene-add{z-index:40;border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border);width:292px;max-height:min(560px,100vh - 180px);animation:scene-add-in var(--dur) var(--ease-out);flex-direction:column;gap:14px;padding:18px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 18px 40px #0000008c}@keyframes scene-add-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.scene-add{animation:none}}.scene-add__empty,.scene-add__item{text-align:left;flex-direction:column;gap:8px;width:100%;display:flex}.scene-add__empty-box,.scene-add__preview{aspect-ratio:16/9;border-radius:var(--radius);border:1px solid var(--border-strong);justify-content:center;align-items:center;width:100%;transition:border-color .12s;display:flex;position:relative;overflow:hidden}.scene-add__empty-box{color:var(--text-secondary);background:#0a0a0a}.scene-add__empty:hover .scene-add__empty-box,.scene-add__item:hover .scene-add__preview{border-color:var(--accent)}.scene-add__preview-layer{background:#ffffff8c;border-radius:2px;position:absolute}.scene-add__name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.scene-add__pack{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding-top:14px;display:flex}.scene-add__pack-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.scene-add__pack-toggle{color:var(--text-secondary);align-items:center;gap:6px;display:flex}.scene-add__pack-toggle:hover{color:var(--text-primary)}.scene-add__pack-toggle .is-collapsed{transform:rotate(-90deg)}.scene-add__all{color:var(--accent);white-space:nowrap;font-weight:600}.scene-add__all:hover{color:var(--accent-hover)}.scene-add__list{flex-direction:column;gap:14px;display:flex}.text-toolbar{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.text-toolbar__sep{background:var(--border);width:1px;height:22px}.text-toolbar__slot{align-items:center;gap:6px;display:flex;position:relative}.icon-btn--boxed.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.tt-swatch{background-image:linear-gradient(#ffffff38,#fff0 55%);border:none;border-radius:50%;width:26px;height:26px;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;position:relative;box-shadow:inset 0 0 0 1px #ffffff24,0 1px 3px #00000080}.tt-swatch:hover{transform:scale(1.12);box-shadow:inset 0 0 0 1px #ffffff47,0 4px 14px #0000008c}.tt-swatch--checker{background:conic-gradient(from 90deg, #3a3a3a 25%, #2a2a2a 0 50%, #3a3a3a 0 75%, #2a2a2a 0) 0 0 / 10px 10px}.tt-font{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);min-width:150px;height:32px;color:var(--text-primary);align-items:center;gap:8px;padding:0 10px;display:flex}.tt-font span{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;overflow:hidden}.tt-font:hover{border-color:var(--border-strong)}.tt-size{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);height:32px;color:var(--text-secondary);align-items:center;gap:6px;padding:0 10px;display:flex}.tt-size input{width:46px;color:var(--text-primary);font:inherit;background:0 0;border:none;outline:none}.tt-pop{z-index:30;border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border);flex-direction:column;gap:10px;width:240px;padding:14px;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 16px 36px #00000080}.tt-pop--wide{width:288px}.tt-pop--fonts{gap:8px;width:268px}.tt-pop__label{color:var(--text-secondary);font-size:12px}.tt-pop__row{color:var(--text-secondary);align-items:center;gap:10px;display:flex}.tt-pop__num,.tt-pop__hex{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-app);height:32px;color:var(--text-primary);font:inherit;outline:none;padding:0 8px}.tt-pop__num{text-align:center;width:58px}.tt-pop__hex{flex:1;min-width:0}.tt-pop__range{min-width:0;accent-color:var(--accent);flex:1}.tt-pop__actions{align-items:center;gap:8px;display:flex}.tt-pop__actions .btn{flex:1}.tt-pop--color{-webkit-backdrop-filter:blur(24px)saturate(160%);background:#1e1e1edb;border:1px solid #ffffff17;border-radius:16px;gap:12px;width:252px;padding:14px;box-shadow:0 24px 48px #0000008c,0 2px 8px #0006}.tt-pop--color .tt-pop__label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.tt-pop__preview{border-radius:50%;flex:none;width:26px;height:26px;box-shadow:inset 0 0 0 1px #ffffff24,0 1px 3px #00000080}.tt-pop--color .tt-pop__hex{letter-spacing:.06em;text-transform:uppercase;background:#00000047;border-color:#ffffff1a;border-radius:8px;height:30px;font-family:SF Mono,ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px}.tt-pop--color .tt-pop__num{background:#00000047;border-color:#ffffff1a;border-radius:8px;width:52px;height:30px;font-size:12px}.tt-pop--color .tt-pop__hex:focus,.tt-pop--color .tt-pop__num:focus{border-color:#ffffff3d}.tt-search{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-app);height:32px;color:var(--text-muted);align-items:center;gap:8px;padding:0 10px;display:flex}.tt-search input{min-width:0;color:var(--text-primary);font:inherit;background:0 0;border:none;outline:none;flex:1}.tt-fonts{flex-direction:column;max-height:280px;display:flex;overflow-y:auto}.tt-font-item{border-radius:var(--radius-sm);text-align:left;flex-direction:column;gap:1px;padding:8px 10px;display:flex}.tt-font-item:hover{background:var(--bg-row-hover)}.tt-font-item.is-active{background:var(--accent-soft)}.tt-font-item span{color:var(--text-primary);font-size:15px;font-weight:600}.tt-font-item small{color:var(--text-muted);font-size:11px}.tt-fonts__empty{color:var(--text-muted);text-align:center;padding:16px 10px}.layer-text{box-sizing:border-box;border-radius:6px;padding:4px 10px}.obs-shot{object-fit:contain;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.obs-item{box-sizing:border-box;cursor:pointer;border:1px dashed #ffffff59;position:absolute}.obs-item:hover{border-color:#fff9}.obs-item--selected{border-style:solid;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.obs-item--hidden{opacity:.35;border-style:dotted}.obs-item--locked{cursor:default;border-color:#ffb45099}.obs-item__label{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#000000a6;max-width:100%;padding:2px 8px;font-size:18px;position:absolute;top:0;left:0;overflow:hidden}.badge--obs{color:#c4a2ff;background:#9146ff2e}.badge--live{color:#ff7b7b;background:#ff4d4d2e}.badge--rec{color:#ffc14d;background:#ffaa0029}.obs-status{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.obs-status__dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px}.obs-status--connected .obs-status__dot{background:var(--accent)}.obs-status--connecting .obs-status__dot{background:#ffc14d}.obs-status--error .obs-status__dot{background:var(--danger)}.sheet-note--error{color:#ffb3b3}.layer-anim{position:absolute;inset:0}.canvas-layer--exiting{pointer-events:none}.layer-anim--in-fade,.layer-anim--in-rise,.layer-anim--in-zoom,.layer-anim--in-wipe,.layer-anim--out-fade,.layer-anim--out-rise,.layer-anim--out-zoom,.layer-anim--out-wipe{animation-duration:var(--anim-ms,.45s);animation-fill-mode:both}.layer-anim--in-fade{animation-name:layer-fade-in;animation-timing-function:ease-out}.layer-anim--out-fade{animation-name:layer-fade-out;animation-timing-function:ease-in}.layer-anim--in-rise{animation-name:layer-rise-in;animation-timing-function:cubic-bezier(.16,1,.3,1)}.layer-anim--out-rise{animation-name:layer-rise-out;animation-timing-function:cubic-bezier(.55,0,1,.45)}.layer-anim--in-zoom{animation-name:layer-zoom-in;animation-timing-function:cubic-bezier(.16,1,.3,1)}.layer-anim--out-zoom{animation-name:layer-zoom-out;animation-timing-function:cubic-bezier(.55,0,1,.45)}.layer-anim--in-wipe{animation-name:layer-wipe-in;animation-timing-function:cubic-bezier(.65,0,.35,1)}.layer-anim--out-wipe{animation-name:layer-wipe-out;animation-timing-function:cubic-bezier(.65,0,.35,1)}@keyframes layer-fade-in{0%{opacity:0}}@keyframes layer-fade-out{to{opacity:0}}@keyframes layer-rise-in{0%{opacity:0;transform:translateY(28px)}}@keyframes layer-rise-out{to{opacity:0;transform:translateY(-20px)}}@keyframes layer-zoom-in{0%{opacity:0;transform:scale(.92)}}@keyframes layer-zoom-out{to{opacity:0;transform:scale(.94)}}@keyframes layer-wipe-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes layer-wipe-out{0%{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}@media (prefers-reduced-motion:reduce){.layer-anim--in-fade,.layer-anim--in-rise,.layer-anim--in-zoom,.layer-anim--in-wipe,.layer-anim--out-fade,.layer-anim--out-rise,.layer-anim--out-zoom,.layer-anim--out-wipe{animation-duration:1ms}}.tt-pop--position{gap:12px;width:268px}.tt-pop--position .prop-grid{margin:2px 0 4px}.align-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.align-grid .icon-btn--boxed{aspect-ratio:1}.anim-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.anim-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;display:flex}.anim-card:hover{border-color:var(--border-strong)}.anim-card.is-active{border-color:var(--accent);background:var(--accent-soft)}.anim-card:disabled{opacity:.5;cursor:not-allowed}.anim-card__stage{border-radius:var(--radius-sm);background:conic-gradient(from 90deg, #2c2c2c 25%, #232323 0 50%, #2c2c2c 0 75%, #232323 0) 0 0 / 10px 10px;justify-content:center;align-items:center;width:100%;height:40px;display:flex;overflow:hidden}.anim-card__swatch{background:var(--accent);border-radius:6px;width:26px;height:26px}.anim-card__dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px}.anim-card__label{color:var(--text-secondary);font-size:11px}.anim-card.is-active .anim-card__label{color:var(--text-primary)}.layer-corner{z-index:3;justify-content:flex-end;align-items:flex-start;width:56px;height:56px;padding:6px;display:flex;position:absolute;top:0;right:0}.layer-corner__btn{color:#fff;opacity:0;pointer-events:none;background:#000000a6;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:opacity .16s,background .16s,transform .16s;display:flex}.layer-corner__btn.is-visible{opacity:1;pointer-events:auto}.layer-corner__btn:hover{background:#000000d9;transform:scale(1.08)}.guest-air{z-index:3;color:#ffffff57;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#181222db;border:1.5px solid #bf5af28c;border-radius:999px;justify-content:space-between;align-items:center;gap:4px;width:52px;height:28px;padding:0 5px;transition:background .14s,border-color .14s,color .14s;display:inline-flex;position:absolute;bottom:8px;left:8px}.guest-air:hover{border-color:#bf5af2d9}.guest-air__check{flex:none;transition:opacity .14s}.guest-air__knob{background:#ffffff52;border-radius:50%;flex:none;width:16px;height:16px;transition:background .14s}.guest-air.is-on{color:#fff;background:#462268eb;border-color:#bf5af2}.guest-air.is-on .guest-air__knob{background:#bf5af2}.guest-air:not(.is-on){flex-direction:row-reverse}.guest-air:not(.is-on) .guest-air__check{opacity:.25}.blur-area{pointer-events:none;background:#fff0;position:absolute}.blur-editor{z-index:2;position:absolute;inset:0}.blur-editor__capture{cursor:crosshair;z-index:3;background:#007aff0f;position:absolute;inset:0}.blur-frame{cursor:move;background:#0a84ff24;border:1.5px solid #0a84ffe6;position:absolute}.blur-frame.is-selected{background:#0a84ff38;border-color:#0a84ff;box-shadow:0 0 0 1px #ffffff59}.blur-frame--draft{pointer-events:none;border-style:dashed}.blur-frame__remove{z-index:2;color:#fff;cursor:pointer;background:#ff453a;border:0;border-radius:50%;place-items:center;width:18px;height:18px;padding:0;display:grid;position:absolute;top:3px;right:3px}.blur-frame__handle{z-index:1;background:#fff;border-radius:2px;width:11px;height:11px;position:absolute;box-shadow:0 0 0 1.5px #0a84ff}.blur-frame__handle--nw{cursor:nwse-resize;top:-6px;left:-6px}.blur-frame__handle--ne{cursor:nesw-resize;top:-6px;right:-6px}.blur-frame__handle--sw{cursor:nesw-resize;bottom:-6px;left:-6px}.blur-frame__handle--se{cursor:nwse-resize;bottom:-6px;right:-6px}.prop-wide-btn{justify-content:center;width:100%}.chat-panel{flex-direction:column;flex:1;min-height:0;display:flex}.chat-panel__form{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:10px;display:flex}.chat-panel__input{border:1px solid var(--border);background:var(--bg-input,var(--bg-row));min-width:0;height:30px;color:var(--text-primary);font:inherit;letter-spacing:normal;text-transform:none;border-radius:7px;flex:1;padding:0 9px;font-size:12px}.chat-panel__input:focus{border-color:var(--accent);outline:none}.chat-panel__frame{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border:0;flex:1;width:100%;min-height:0}.chat-panel__empty{color:var(--text-muted);padding:20px 16px;font-size:12px;line-height:1.6}.chat-panel__empty code{background:var(--bg-row);color:var(--text-secondary);border-radius:5px;padding:1px 5px}.panel-handle--right{z-index:2;box-shadow:-12px 0 22px -12px #000000bf}.dashboard{background:var(--bg-app);min-height:100%;padding:28px 32px 48px}.dashboard__header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;display:flex}.dashboard__title{margin:0 0 4px;font-size:22px}.dashboard__subtitle{color:var(--text-secondary);margin:0}.dashboard__actions{flex:none;gap:8px;display:flex}.dashboard__empty{min-height:240px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.room-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.room-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-panel);cursor:pointer;transition:border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out), background var(--dur-fast) ease;flex-direction:column;gap:12px;padding:16px;display:flex}.room-card:hover{border-color:var(--accent);background:var(--bg-elevated);transform:translateY(-2px)}.room-card__head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.room-card__name{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;overflow:hidden}.room-card__id{color:var(--text-muted);flex:none;font-family:ui-monospace,monospace;font-size:11px}.room-card__stats{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.room-card__dot{background:var(--text-muted);border-radius:50%;width:3px;height:3px}.room-card__footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;display:flex}.room-card__date{color:var(--text-muted);font-size:11px}.guest{color:#fff;background:#0d0d0f;flex-direction:column;height:100%;display:flex}.guest__stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;min-height:0;padding:32px 24px 8px;display:flex}.guest__tile{aspect-ratio:16/9;background:#26262b;border-radius:14px;justify-content:center;align-items:center;width:min(720px,100%);display:flex;position:relative;overflow:hidden}.guest__video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.guest__avatar{color:#ffffffd9;background:linear-gradient(#3a3a42,#2a2a30);border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;font-size:52px;font-weight:600;display:flex;box-shadow:inset 0 0 0 1px #ffffff1f}.guest__badge{color:#fff;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:absolute;top:12px;right:12px}.guest__name{text-overflow:ellipsis;white-space:nowrap;background:#0009;border-radius:8px;max-width:calc(100% - 24px);padding:6px 12px;font-size:14px;font-weight:600;position:absolute;bottom:12px;left:12px;overflow:hidden}.guest__note{color:#ffffff8c;font-size:13px}.guest__note--error{color:#ff6b6b}.guest__bar{justify-content:center;align-items:center;gap:18px;padding:20px 24px 28px;display:flex}.guest-control{position:relative}.guest-btn{color:#fff;background:#2b2b31;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .16s cubic-bezier(.34,1.56,.64,1),background .16s;display:flex}.guest-btn:hover{background:#35353c;transform:scale(1.06)}.guest-btn.is-off{color:#16161a;background:#fff}.guest-btn.is-off:hover{background:#f1f1f1}.guest-btn--hangup{background:#e5322d}.guest-btn--hangup:hover{background:#f0413c}.guest-control__chevron{color:#fff;background:#1c1c20;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;bottom:-2px;right:-4px;box-shadow:0 0 0 2px #0d0d0f}.guest-control__chevron:hover{background:#35353c}.guest-menu{z-index:20;text-align:left;background:#202024;border:1px solid #ffffff14;border-radius:12px;width:248px;padding:12px;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%);box-shadow:0 18px 40px #0009}.guest-menu__title{margin-bottom:8px;font-size:14px;font-weight:600}.guest-menu__item{color:#ffffffd9;text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px;font-size:13px;display:flex}.guest-menu__item:hover{color:#fff;background:#ffffff14}.guest-menu__radio{border-radius:50%;flex:none;width:15px;height:15px;box-shadow:inset 0 0 0 2px #ffffff73}.guest-menu__empty{color:#ffffff73;padding:8px;font-size:12px}.guest__rename{color:#ffffff80;justify-content:center;align-items:center;gap:10px;padding-bottom:24px;font-size:12px;display:flex}.guest__rename input{color:#fff;width:200px;height:32px;font:inherit;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;outline:none;padding:0 10px;font-size:13px}.guest--closed{justify-content:center;align-items:center}.guest__bye{text-align:center}.guest__bye h1{margin:0 0 8px;font-size:22px}.guest__bye p{color:#ffffff8c;margin:0;font-size:14px}.guest__rename input.is-rejected{border-color:#ff453a99;box-shadow:0 0 0 3px #ff453a24}.guest__rename-error{color:#ff6961;font-size:12px;line-height:1.4}:root{--bg-app:#0d0d0d;--bg-panel:#151515;--bg-elevated:#1c1c1c;--bg-row:#232323;--bg-row-hover:#2c2c2c;--bg-row-active:#333;--bg-canvas:#0a0a0a;--text-primary:#fff;--text-secondary:#8f8f8f;--text-muted:#5f5f5f;--accent:#00b871;--accent-hover:#00a566;--accent-soft:#00b87124;--danger:#ff4d4d;--border:#2b2b2b;--border-strong:#3a3a3a;--checker-a:#1a1a1a;--checker-b:#121212;--checker-size:16px;--radius-sm:4px;--radius:6px;--radius-lg:10px;--topbar-h:56px;--scenes-h:128px;--panel-w:268px;--rightpanel-w:280px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#444}.btn{border-radius:var(--radius);white-space:nowrap;justify-content:center;align-items:center;gap:7px;height:34px;padding:0 14px;font-weight:600;transition:background .15s;display:inline-flex}.btn--primary{background:var(--accent);color:#04150d}.btn--primary:hover{background:var(--accent-hover)}.btn--ghost{background:var(--bg-row);color:var(--text-primary)}.btn--ghost:hover{background:var(--bg-row-hover)}.btn--panic.is-active{color:#ff6961;background:#ff453a2e;box-shadow:inset 0 0 0 1px #ff453a73}.btn--panic.is-active:hover{background:#ff453a42}.btn--danger{color:var(--danger);background:#ff4d4d1f}.btn--danger:hover{background:#ff4d4d33}.btn--block{width:100%}.icon-btn{border-radius:var(--radius);width:32px;height:32px;color:var(--text-secondary);justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.icon-btn:hover{background:var(--bg-row-hover);color:var(--text-primary)}.icon-btn--boxed{background:var(--bg-row);width:34px;height:34px;color:var(--text-primary)}:root{--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.12s;--dur:.18s}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes menu-in{0%{opacity:0;transform:scale(.96)}}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}}@keyframes toast-progress{to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.modal-backdrop{animation:fade-in var(--dur) var(--ease-out)}.modal{animation:modal-in var(--dur) var(--ease-out)}.modal--compact{max-width:460px}.modal__footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 18px;display:flex}.modal__text{color:var(--text-secondary);margin:0;line-height:1.55}.settings{flex-direction:column;gap:14px;display:flex}.settings__row{gap:8px;display:flex}.settings__row input{flex:1;min-width:0}.settings input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-app);height:32px;color:var(--text-secondary);padding:0 10px;font-family:ui-monospace,monospace;font-size:11px}.settings__hint{border-radius:var(--radius);background:var(--bg-row);color:var(--text-muted);padding:10px 12px;font-size:12px;line-height:1.5}.context-menu{z-index:300;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-elevated);min-width:190px;animation:menu-in var(--dur-fast) var(--ease-out);transform-origin:0 0;padding:4px;position:fixed;box-shadow:0 12px 32px #0000008c}.context-menu__item{border-radius:var(--radius-sm);width:100%;height:30px;color:var(--text-primary);text-align:left;transition:background var(--dur-fast) ease;align-items:center;gap:9px;padding:0 10px;display:flex}.context-menu__item:hover:not(:disabled){background:var(--bg-row-hover)}.context-menu__item:disabled{opacity:.4;cursor:not-allowed}.context-menu__item--danger{color:var(--danger)}.context-menu__item--danger:hover:not(:disabled){background:#ff4d4d24}.context-menu__item--separated{border-top:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);margin-top:5px;padding-top:5px}.context-menu__spacer{width:14px}.context-menu__list{display:contents}.context-menu__item-wrap{position:relative}.context-menu__label{white-space:nowrap;flex:1}.context-menu__shortcut{color:var(--text-muted);margin-left:14px;font-size:11px}.context-menu__chevron{color:var(--text-muted);flex-shrink:0;margin-left:4px}.context-menu--submenu{animation:menu-in var(--dur-fast) var(--ease-out);position:absolute;top:-5px}.context-menu--submenu-right{transform-origin:0 0;left:calc(100% - 2px)}.context-menu--submenu-left{transform-origin:100% 0;right:calc(100% - 2px)}.toast-stack{right:18px;bottom:calc(var(--scenes-h) + 18px);z-index:400;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed}.toast{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-elevated);pointer-events:auto;min-width:260px;max-width:380px;animation:toast-in var(--dur) var(--ease-out);align-items:center;gap:10px;padding:11px 12px 11px 14px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 28px #00000080}.toast__icon{flex:none}.toast--success .toast__icon{color:var(--accent)}.toast--error .toast__icon{color:var(--danger)}.toast--info .toast__icon{color:var(--text-secondary)}.toast__message{flex:1;line-height:1.4}.toast__close{color:var(--text-muted);transition:color var(--dur-fast) ease;align-items:center;display:flex}.toast__close:hover{color:var(--text-primary)}.toast__progress{background:var(--accent);transform-origin:0;height:2px;animation-name:toast-progress;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;bottom:0;left:0;right:0}.toast--error .toast__progress{background:var(--danger)}.toast--info .toast__progress{background:var(--text-muted)}.prop-field{flex-direction:column;gap:4px;min-width:0;display:flex}.prop-field span{color:var(--text-secondary);font-size:11px}.prop-field input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-app);width:100%;min-width:0;height:30px;color:var(--text-primary);font:inherit;outline:none;padding:0 8px}.prop-field input:focus{border-color:var(--accent)}.prop-toggle{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;display:flex}.prop-toggle input{accent-color:var(--accent)}.device-picker__hint{color:var(--text-secondary);margin:0 0 4px;line-height:1.5}.device-picker__state{color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:28px 16px;line-height:1.5;display:flex}.device-picker__state--error{color:#ffb3b3}.device-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.device-card{text-align:left;flex-direction:column;gap:6px;padding:0;display:flex}.device-card__preview{aspect-ratio:16/9;border-radius:var(--radius);border:2px solid var(--border-strong);transition:border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out);background:#000;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.device-card:hover .device-card__preview{border-color:var(--accent);transform:translateY(-2px)}.device-card__video{object-fit:cover;width:100%;height:100%}.device-card__failed{color:var(--text-muted);flex-direction:column;align-items:center;gap:6px;font-size:12px;display:flex}.device-card__label{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.device-list{flex-direction:column;gap:8px;display:flex}.device-row{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-row);text-align:left;transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease;align-items:center;gap:10px;padding:12px;display:flex}.device-row:hover{background:var(--bg-row-hover);border-color:var(--accent)}.device-row__icon{color:var(--text-secondary);flex:none}.device-row__label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.device-row__meter{background:#ffffff1f;border-radius:2px;flex:none;width:70px;height:4px;position:relative;overflow:hidden}.device-row__bar{background:var(--accent);width:0;transition:width 50ms linear;position:absolute;inset:0 auto 0 0}.prop-field select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-app);height:32px;color:var(--text-primary);font:inherit;outline:none;padding:0 8px}.prop-field select:focus{border-color:var(--accent)}.sheet-backdrop{z-index:60;animation:fade-in var(--dur) var(--ease-out);background:#00000073;justify-content:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg-panel);border-left:1px solid var(--border);width:340px;max-width:100vw;height:100%;animation:sheet-in var(--dur) var(--ease-out);flex-direction:column;display:flex}.sheet--wide{width:560px}@keyframes sheet-in{0%{opacity:0;transform:translate(24px)}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet__head{flex-direction:column;gap:18px;padding:22px 22px 0;display:flex}.sheet__close{background:var(--bg-row);width:42px;height:42px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.sheet__close:hover{background:var(--bg-row-hover);color:var(--text-primary)}.sheet__title{letter-spacing:-.01em;margin:0;font-size:23px;font-weight:700}.sheet__body{flex:1;min-height:0;padding:0 22px 22px;overflow-y:auto}.sheet__footer{border-top:1px solid var(--border);gap:8px;padding:14px 22px;display:flex}.sheet__footer .btn{flex:1}.sheet-section{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding:20px 0;display:flex}.sheet-section:first-child{border-top:none;padding-top:22px}.sheet-section__label{color:var(--text-secondary);align-items:center;gap:7px;font-size:13px;display:flex}.sheet-section__hint{background:var(--bg-row-hover);width:15px;height:15px;color:var(--text-secondary);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-style:italic;font-weight:700;display:flex}.dropzone{border-radius:var(--radius-lg);background:var(--bg-elevated);height:120px;color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-weight:600;transition:background .12s;display:flex}.dropzone:hover:not(:disabled){background:var(--bg-row-hover)}.dropzone:disabled{opacity:.5;cursor:not-allowed}.dropzone--compact{flex-direction:row;gap:8px;height:40px;font-size:13px;font-weight:500}.alert-gif-preview{border-radius:var(--radius-sm);object-fit:cover;background:var(--bg-elevated);width:56px;height:56px}.alert-sound-recent{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.chip{background:var(--bg-elevated);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:160px;padding:5px 10px;font-size:12px;transition:background .12s,color .12s;overflow:hidden}.chip:hover:not(:disabled){background:var(--bg-row-hover);color:var(--text-primary)}.chip.is-active{background:var(--accent);color:#04150d}.sheet-empty{border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text-muted);padding:22px 18px;line-height:1.5}.sheet-collapse{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.sheet-collapse:hover{color:var(--text-primary)}.sheet-collapse .is-collapsed{transform:rotate(-90deg)}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;display:grid}.asset-card{flex-direction:column;gap:6px;min-width:0;display:flex;position:relative}.asset-card__preview{border-radius:var(--radius);background:conic-gradient(from 90deg, #3a3a3a 25%, #2e2e2e 0 50%, #3a3a3a 0 75%, #2e2e2e 0) 0 0 / 12px 12px;border:1px solid var(--border);justify-content:center;align-items:center;height:108px;padding:4px;transition:border-color .12s;display:flex;overflow:hidden}.asset-card__preview:hover{border-color:var(--accent)}.asset-card__preview img,.asset-card__preview video{object-fit:contain;max-width:100%;max-height:100%}.asset-card__remove{width:22px;height:22px;color:var(--text-secondary);opacity:0;background:#0009;border-radius:50%;justify-content:center;align-items:center;transition:opacity .12s,color .12s;display:flex;position:absolute;top:6px;right:6px}.asset-card:hover .asset-card__remove{opacity:1}.asset-card__remove:hover{color:var(--danger)}.asset-card__name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;overflow:hidden}.theme-row{gap:8px;display:flex}.theme-chip{border:2px solid #0000;border-radius:50%;width:26px;height:26px;transition:border-color .12s,transform .12s}.theme-chip:hover{transform:scale(1.08)}.theme-chip.is-active{border-color:var(--text-primary)}.palette{flex-direction:column;gap:9px;max-width:268px;display:flex}.palette__row{grid-template-columns:repeat(6,26px);justify-content:space-between;gap:9px;display:grid}.swatch{background:linear-gradient(180deg, #ffffff38, #fff0 55%), var(--swatch,#fff);cursor:pointer;border:none;border-radius:50%;width:26px;height:26px;padding:0;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;position:relative;box-shadow:inset 0 0 0 1px #ffffff24,0 1px 3px #00000080}.swatch:hover:not(:disabled){box-shadow:inset 0 0 0 1px #ffffff3d, 0 4px 14px color-mix(in srgb, var(--swatch,#fff) 45%, transparent);transform:scale(1.16)}.swatch:active:not(:disabled){transform:scale(1.04)}.swatch.is-active{box-shadow:inset 0 0 0 1px #ffffff3d, 0 0 0 2px var(--bg-elevated), 0 0 0 4px var(--swatch,#fff)}.swatch:focus-visible{box-shadow:inset 0 0 0 1px #ffffff3d, 0 0 0 2px var(--bg-elevated), 0 0 0 4px var(--text-primary);outline:none}.swatch:disabled{opacity:.4;cursor:not-allowed}.swatch--custom{background:conic-gradient(#ff453a,#ff9f0a,#ffd60a,#30d158,#64d2ff,#0a84ff,#bf5af2,#ff375f,#ff453a)}.swatch--custom:after{content:"";background:var(--bg-elevated);border-radius:50%;position:absolute;inset:7px;box-shadow:inset 0 0 0 1px #ffffff29}.swatch--custom:hover:not(:disabled){box-shadow:inset 0 0 0 1px #ffffff3d,0 4px 14px #ffffff2e}.tt-pop__native,.palette__native{opacity:0;pointer-events:none;border:none;width:0;height:0;padding:0;position:absolute}.layout-preset-row{gap:6px;margin-bottom:12px;display:flex}.btn--icon-square{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex}.layout-preset-icon{width:22px;height:18px;position:relative}.layout-preset-icon__box{opacity:.75;background:currentColor;border-radius:2px;position:absolute}.source-list{flex-direction:column;gap:6px;display:flex}.source-list .source-card{border-radius:var(--radius);background:var(--bg-elevated);text-align:left;flex-direction:row;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background .12s;display:flex}.source-list .source-card:hover{background:var(--bg-row-hover)}.source-list .source-card__icon{border-radius:var(--radius-sm);background:var(--bg-row);height:34px;color:var(--accent);flex:0 0 34px;justify-content:center;align-items:center;display:flex}.source-card__text{flex-direction:column;gap:2px;min-width:0;display:flex}.source-list .source-card__label{font-weight:600}.source-list .source-card__description{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.sheet-note{color:var(--text-muted);margin:0;font-size:12px;line-height:1.55}.sheet-warning{color:#ffb340;background:#ff9f0a1a;border:1px solid #ff9f0a52;border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:12px;line-height:1.5}.sheet-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-app);width:100%;min-width:0;height:34px;color:var(--text-primary);font:inherit;outline:none;padding:0 10px}.sheet-input:focus{border-color:var(--accent)}.modal__title{font-size:19px;font-weight:700}.alert-defaults-btn{justify-content:space-between;height:44px}.sheet-back{color:var(--text-secondary);align-self:flex-start;font-size:13px}.sheet-back:hover{color:var(--text-primary)}.alert-list{flex-direction:column;gap:2px;display:flex}.alert-row{border-radius:var(--radius-sm);align-items:center;gap:12px;transition:background .12s;display:flex}.alert-row:hover{background:var(--bg-elevated)}.alert-row__toggle{cursor:pointer;align-items:center;padding-left:8px;display:flex}.alert-row__toggle input{width:17px;height:17px;accent-color:var(--accent);cursor:pointer}.alert-row__open{min-width:0;color:var(--text-primary);text-align:left;flex:1;justify-content:space-between;align-items:center;gap:10px;padding:12px 10px 12px 0;font-weight:600;display:flex}.alert-row__open span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.alert-row__open svg{color:var(--text-muted);flex:none}.alert-row:hover .alert-row__open svg{color:var(--text-secondary)}.sheet-textarea{resize:vertical;height:auto;min-height:96px;padding:10px;line-height:1.5}.switch-row{color:var(--text-primary);cursor:pointer;align-items:center;gap:12px;line-height:1.35;display:flex}.switch{appearance:none;background:var(--bg-row-hover);cursor:pointer;border-radius:11px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(16px)}.switch:disabled{opacity:.5;cursor:not-allowed}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}.editor-session-state{background:var(--bg-canvas,#0d0d0d);width:100vw;height:100vh;color:var(--text-secondary);place-items:center;font-size:13px;display:grid}.icon-btn--danger:hover{color:#ff6961}.btn--sm{height:26px;padding:0 10px;font-size:11px}.modal--account{grid-template-columns:232px 1fr;width:min(1080px,94vw);max-width:none;height:min(720px,90vh);padding:0;display:grid;overflow:hidden}.acc__side{background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;gap:14px;padding:22px 14px;display:flex}.acc__title{margin:0 0 4px 8px;font-size:20px;font-weight:600}.acc__tabs{flex-direction:column;gap:2px;display:flex}.acc__tab{border-radius:var(--radius);color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:9px 12px;font-size:13px;transition:background .12s,color .12s;display:flex}.acc__tab:hover{background:var(--bg-row-hover);color:var(--text-primary)}.acc__tab.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--text-primary)}.acc__content{flex-direction:column;min-height:0;padding:26px 28px 0;display:flex;position:relative}.acc__scroll{flex:1;min-height:0;padding-right:4px;overflow-y:auto}.acc__side-note{color:var(--text-muted);align-items:flex-start;gap:7px;margin:auto 0 0;padding:0 8px;font-size:11px;line-height:1.5;display:flex}.acc__close{position:absolute;top:16px;right:16px}.acc__footer{border-top:1px solid var(--border);justify-content:flex-end;padding:14px 0 18px;display:flex}.acc-card{border:1px solid var(--border);background:var(--bg-panel);border-radius:10px;margin-bottom:16px}.acc-card--danger{border-color:#ff453a59}.acc-card__head{padding:16px 18px 0}.acc-card__title{margin:0;font-size:15px;font-weight:600}.acc-card--danger .acc-card__title{color:#ff6961}.acc-card__hint{color:var(--text-secondary);margin:5px 0 0;font-size:12px;line-height:1.5}.acc-card__body{padding:16px 18px}.acc-card__footer{border-top:1px solid var(--border);background:#ffffff04;border-radius:0 0 10px 10px;justify-content:flex-end;gap:10px;padding:12px 18px;display:flex}.acc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.acc-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=900px){.acc-grid,.acc-grid--three{grid-template-columns:minmax(0,1fr)}}.acc__danger-text{color:var(--text-secondary);align-items:flex-start;gap:10px;margin:0;font-size:12px;line-height:1.6;display:flex}.acc__danger-text svg{color:#ff6961;flex-shrink:0;margin-top:1px}.acc-state{border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-secondary);align-items:center;gap:8px;margin:0 0 14px;padding:10px 12px;font-size:12px;display:flex}.acc-state.is-on{border-color:var(--accent);color:var(--text-primary)}.acc-state.is-on svg{color:var(--accent)}.acc__section{border-bottom:1px solid var(--border);padding:18px 0}.acc__section:last-of-type{border-bottom:none}.acc__heading{margin:0 0 12px;font-size:15px;font-weight:600}.acc__hint{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.5}.acc__error{color:var(--danger);margin:8px 0 0;font-size:12px}.acc__ok{color:var(--accent);margin:8px 0 0;font-size:12px}.acc__row{align-items:center;gap:12px;margin-top:10px;display:flex}.acc__label{min-width:150px;color:var(--text-secondary);font-size:13px}.acc__value{color:var(--text-primary);font-size:13px}.acc__input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-row);color:var(--text-primary);flex:1;padding:8px 10px;font-size:13px}.acc__input:focus{border-color:var(--accent);outline:none}.acc__submit{align-self:flex-start;margin-top:14px}.profile-head{align-items:center;gap:18px;display:flex}.profile-avatar{background:var(--accent-soft);width:84px;height:84px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative;overflow:hidden}.profile-avatar--button{border:1px solid var(--border-strong);cursor:pointer;padding:0}.profile-avatar__img{object-fit:cover;width:100%;height:100%}.profile-avatar__overlay{color:#fff;opacity:0;background:#0000008c;place-items:center;transition:opacity .14s;display:grid;position:absolute;inset:0}.profile-avatar--button:hover .profile-avatar__overlay{opacity:1}.profile-head__text{flex-direction:column;flex:1;align-items:stretch;gap:10px;min-width:0;display:flex}.profile-head__row{align-items:center;gap:10px;display:flex}.acc__input--name{max-width:280px;font-size:15px;font-weight:600}.profile-head__meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.profile-head__dot{background:var(--text-muted);border-radius:50%;width:3px;height:3px}.profile-head__id{color:var(--text-muted);font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:11px}.badge--plan{border:1px solid var(--border-strong);color:var(--text-secondary);border-radius:999px;padding:2px 10px;font-size:11px}.camera-preview{aspect-ratio:16/9;border-radius:var(--radius);background:var(--bg-canvas);place-items:center;width:100%;max-width:420px;margin-bottom:14px;display:grid;overflow:hidden}.camera-preview video{object-fit:contain;width:100%;height:100%}.camera-preview__empty{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.mic-test{margin:14px 0 18px}.mic-test__scale{color:var(--text-muted);justify-content:space-between;margin-bottom:6px;font-size:11px;display:flex}.mic-test__meter{background:var(--bg-row);border-radius:999px;height:8px;display:block;overflow:hidden}.mic-test__bar{background:var(--accent);width:0;height:100%;display:block}.device-card.is-default,.device-row.is-default{border-color:var(--accent)}.device-default-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px}.visually-hidden{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.account-menu{position:relative}.account-menu__avatar{border:1px solid var(--border-strong);background:var(--bg-row);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:border-color .14s,color .14s;display:grid;overflow:hidden}.account-menu__avatar:hover,.account-menu__avatar.is-open{border-color:var(--accent);color:var(--text-primary)}.account-menu__avatar img{object-fit:cover;width:100%;height:100%}.account-menu__popup{z-index:60;border:1px solid var(--border-strong);background:var(--bg-panel);border-radius:10px;width:268px;animation:.12s menu-in;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 16px 40px #00000073}.account-menu__head{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:14px;display:flex}.account-menu__head:hover{background:var(--bg-row-hover)}.account-menu__head-avatar{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.account-menu__head-avatar img{object-fit:cover;width:100%;height:100%}.account-menu__head-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.account-menu__name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.account-menu__role{color:var(--accent);align-items:center;gap:4px;font-size:11px;display:inline-flex}.account-menu__items{padding:6px}.account-menu__items--last{border-top:1px solid var(--border)}.account-menu__item{border-radius:var(--radius);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:9px 10px;font-size:13px;display:flex}.account-menu__item:hover{background:var(--bg-row-hover)}.account-menu__item--danger{color:#ff6961}.account-menu__item--danger:hover{background:#ff453a1f}.access-rooms{flex-direction:column;gap:8px;display:flex}.access-room{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-row);transition:border-color .14s;overflow:hidden}.access-room.is-open{border-color:var(--border-strong)}.access-room__head{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:12px 14px;display:flex}.access-room__head:hover{background:var(--bg-row-hover)}.access-room__icon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.access-room__name{flex:1;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:600;display:flex}.access-room__role{border:1px solid var(--border-strong);color:var(--text-secondary);border-radius:999px;padding:1px 8px;font-size:10px;font-weight:500}.access-room__id,.access-room__stat{color:var(--text-muted);flex-shrink:0;font-size:11px}.access-room__chevron{color:var(--text-secondary);place-items:center;display:grid}.access-room__body{border-top:1px solid var(--border);padding:4px 14px 14px}.access-sub{color:var(--text-primary);margin:14px 0 6px;font-size:12px;font-weight:600}.access-invite .btn{margin-top:10px}.access-members{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:16px;padding-top:12px;display:flex}.access-role-option{border:1px solid var(--border-strong);background:var(--bg-panel);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;transition:border-color .14s,color .14s;display:inline-flex}.access-role-option:hover{color:var(--text-primary)}.access-role-option.is-active{border-color:var(--accent);color:var(--text-primary)}.access-role-option__dot{border:1px solid var(--border-strong);border-radius:50%;width:12px;height:12px}.access-role-option.is-active .access-role-option__dot{border-color:var(--accent);background:radial-gradient(circle, var(--accent) 0 45%, transparent 46%)}.access-more{border:1px dashed var(--border-strong);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;display:inline-flex}.access-more:hover,.access-more.is-active{color:var(--text-primary);border-style:solid}.access-member-row{border-radius:var(--radius);background:var(--bg-row);align-items:center;gap:10px;padding:8px 10px;display:flex}.access-member-row__status{color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px}.access-member-row__status[data-status=online]{color:var(--accent);border-color:var(--accent)}.access-member-row__name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.access-member{border-radius:var(--radius);overflow:hidden}.access-member-row__expand{width:20px;height:20px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;place-items:center;padding:0;display:grid}.access-member-row__expand:hover{background:var(--bg-row-hover);color:var(--text-primary)}.access-member-row__role{color:var(--text-primary);flex-shrink:0;align-items:baseline;gap:6px;font-size:11px;display:inline-flex}.access-member-row__count{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.access-roles{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.access-role{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-row);color:var(--text-secondary);cursor:pointer;flex:1;padding:6px 8px;font-size:12px}.access-role:hover{background:var(--bg-row-hover);color:var(--text-primary)}.access-role.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--text-primary)}.access-permissions{border-radius:var(--radius);background:var(--bg-panel);flex-direction:column;gap:2px;margin:2px 0 6px;padding:8px 10px;display:flex}.access-permission{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:6px 4px;display:flex}.access-permission+.access-permission{border-top:1px solid var(--border)}.access-permission__text{flex-direction:column;gap:2px;min-width:0;display:flex}.access-permission__title{color:var(--text-primary);font-size:12px}.access-permission__hint{color:var(--text-secondary);font-size:11px;line-height:1.4}.access-invite-link{align-items:center;gap:8px;margin-top:10px;display:flex}.access-invite-link input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-row);color:var(--text-secondary);flex:1;padding:8px 10px;font-size:12px}
