@charset "UTF-8";:root{--bg-primary: #1d2021;--bg-secondary: #242424;--bg-tile: #282828;--accent: #c97c25;--accent-hover: #fddc87;--warning: #e0b44c;--text-primary: #ebdbb2;--text-secondary: #bdae93;--text-muted: #837569;--danger: #fb4934;--success: #8ec07c;--gap: 8px;--radius: 12px;--radius-sm: 8px;--transition: .2s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden;font-family:Hanken Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#1d2021;color:#ebdbb2}.ui-button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:8px;border:1px solid #282828;background:#242424;color:#ebdbb2;font:inherit;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s ease}.ui-button:focus-visible,.button:focus-visible{outline:2px solid #c97c25;outline-offset:2px;box-shadow:0 0 0 4px #c97c2533}.ui-button:disabled,.button:disabled{opacity:.6;cursor:not-allowed}.ui-button:hover:not(:disabled),.button:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 18px #0003;color:#fddc87}.ui-button--icon-only,.button--icon-only{padding:8px;min-width:36px}.ui-button--sm{padding:8px 12px;font-size:.9rem}.ui-button--md{padding:10px 14px}.ui-button--lg{padding:12px 16px;font-size:1rem}.ui-button--block{width:100%}.ui-button__icon,.button__icon{display:inline-flex;align-items:center;justify-content:center}.ui-button__text,.button__text{display:inline-flex}.ui-button--primary,.button--primary{background:#c97c25;border-color:#a7671f;color:#1d2021}.ui-button--primary:hover:not(:disabled),.button--primary:hover:not(:disabled){background:#482c0d;border-color:#482c0d;color:#f1e8d6}.ui-button--success,.button--success{background:#8ec07c;border-color:#76b360;color:#1d2021}.ui-button--success:hover:not(:disabled),.button--success:hover:not(:disabled){background:#446e35;border-color:#446e35;color:#f1e8d6}.ui-button--secondary,.button--secondary{background:#c97c2514;border-color:#c97c2540;color:#ebdbb2}.ui-button--secondary:hover:not(:disabled),.button--secondary:hover:not(:disabled){background:#c97c2529;border-color:#fddc878c}.ui-button--warning,.button--warning{background:#e0b44c24;border-color:#e0b44c66;color:#e0b44c}.ui-button--warning:hover:not(:disabled),.button--warning:hover:not(:disabled){background:#e0b44c2e;border-color:#e0b44c99}.ui-button--ghost,.button--ghost{background:transparent;border-color:transparent;color:#c97c25}.ui-button--ghost:hover:not(:disabled),.button--ghost:hover:not(:disabled){background:#c97c2514;color:#d98b33}.ui-button--danger,.button--danger{background:#fb49341f;border-color:#fb493466;color:#fb4934}.ui-button--destructive,.button--destructive{background:#fb4934;border-color:#fa2e16;color:#f1e8d6}.ui-button--destructive:hover:not(:disabled),.button--destructive:hover:not(:disabled){border-color:#fff;color:#fff}.ui-input,.base-input{width:100%;border-radius:8px;border:1px solid #5c4a35;background:#242424;color:#ebdbb2;font-size:.95rem;padding:10px 12px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.ui-input:focus,.base-input:focus{border-color:#c97c25;box-shadow:0 0 0 3px #c97c2526}.ui-input::placeholder,.base-input::placeholder{color:#6c5a4e}.ui-input--sm{padding:8px 10px;font-size:.85rem}.ui-input--lg{padding:12px 14px;font-size:1rem}.ui-input[readonly],.base-input[readonly]{cursor:default;background:#1f1f1f;color:#837569;border-color:#bdae9359;box-shadow:none}.ui-input[readonly]:focus,.base-input[readonly]:focus{border-color:#bdae9366;box-shadow:none}.ui-input--invalid{border-color:#fb4934;box-shadow:0 0 0 3px #fb493426}.ui-input__wrapper{display:inline-flex;align-items:center;gap:8px;width:100%}.ui-input__affix{padding:8px 10px;border-radius:8px;background:#242424;color:#bdae93;border:1px solid #282828}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ui-toggle{display:inline-flex;align-items:center;gap:12px;background:none;border:none;padding:0;color:inherit;cursor:pointer}.ui-toggle__track{position:relative;display:inline-flex;align-items:center;width:46px;height:26px;padding:3px;box-sizing:border-box;border-radius:999px;border:1px solid rgba(189,174,147,.35);background:#bdae9324;transition:background-color .2s ease,border-color .2s ease}.ui-toggle__thumb{position:relative;width:20px;height:20px;border-radius:50%;background:#1d2021;box-shadow:0 1px 2px #0003;transform:translate(0);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.ui-toggle__track--checked{background:#c97c2533;border-color:#c97c25}.ui-toggle__track--checked .ui-toggle__thumb{transform:translate(20px);background:#c97c25}.ui-toggle:focus-visible .ui-toggle__track{outline:2px solid #c97c25;outline-offset:3px}.ui-toggle__track--disabled,.ui-toggle--disabled{opacity:.6;cursor:not-allowed}.ui-toggle__text{text-align:left;flex-grow:1}.ui-toggle__label{font-weight:600;font-size:.85rem}.ui-toggle__description{color:#bdae93;font-size:.8rem}.ui-checkbox,.ui-radio{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#ebdbb2;font-size:.85rem}.ui-radio__text{display:flex;flex-direction:column;gap:2px}.ui-radio__label{font-weight:600}.ui-radio__description{color:#bdae93;font-size:.8rem}.ui-checkbox__box{width:18px;height:18px;border-radius:6px;border:1px solid #bdae93;background:#242424;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.ui-checkbox__check{width:10px;height:6px;border-left:2px solid #1d2021;border-bottom:2px solid #1d2021;transform:rotate(-45deg)}.ui-checkbox--checked .ui-checkbox__box{background:#c97c25;border-color:#b36f21;box-shadow:0 0 0 3px #c97c251f}.ui-checkbox--disabled{opacity:.6;cursor:not-allowed}.ui-radio{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#ebdbb2;font-size:.85rem}.ui-radio__outer{width:18px;height:18px;border-radius:999px;border:2px solid #bdae93;display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s ease,box-shadow .2s ease}.ui-radio__dot{width:8px;height:8px;border-radius:999px;background:#c97c25;transform:scale(0);transition:transform .2s ease}.ui-radio--checked .ui-radio__outer{border-color:#c97c25;box-shadow:0 0 0 3px #c97c251f}.ui-radio--checked .ui-radio__outer .ui-radio__dot{transform:scale(1)}.ui-radio--disabled{opacity:.6;cursor:not-allowed}.panel{background:#242424;display:flex;flex-direction:column}.panel.panel--pinned{box-shadow:none;transition:none!important}.panel.panel--pinned.panel--side-right{border-left:1px solid rgba(255,255,255,.08)}.panel.panel--pinned.panel--side-left{border-right:1px solid rgba(255,255,255,.08)}.panel__header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.panel__header h3{font-size:.95rem;font-weight:700;margin:0}.panel__title{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#ebdbb2}.panel__header-actions{display:flex;align-items:center;gap:.25rem}@media(max-width:768px){.panel__pin-btn{display:none}}.popover{position:fixed;z-index:120;max-width:calc(100vw - 16px);pointer-events:auto;will-change:transform,top,left}.ui-slider{--range-track-height: 6px;--range-thumb-size: 16px;--range-clickable-height: 24px;--range-track-bg: rgba(255, 255, 255, .12);--range-thumb-shadow: none;-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:var(--range-clickable-height);background:transparent;outline:none;cursor:pointer;accent-color:#c97c25}.ui-slider::-webkit-slider-runnable-track{-webkit-appearance:none;height:var(--range-track-height);background:linear-gradient(to right,#c97c25 0%,#c97c25 var(--slider-value, 0%),var(--range-track-bg) var(--slider-value, 0%),var(--range-track-bg) 100%);border-radius:calc(var(--range-track-height) / 2)}.ui-slider::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:var(--range-thumb-size);height:var(--range-thumb-size);border-radius:50%;background:#c97c25;box-shadow:var(--range-thumb-shadow);margin-top:calc((var(--range-track-height) - var(--range-thumb-size)) / 2)}.ui-slider::-moz-range-thumb{width:var(--range-thumb-size);height:var(--range-thumb-size);border-radius:50%;background:#c97c25;border:none;box-shadow:var(--range-thumb-shadow)}.ui-slider::-moz-range-track{height:var(--range-track-height);border-radius:calc(var(--range-track-height) / 2);background:var(--range-track-bg)}.ui-slider::-moz-range-progress{height:var(--range-track-height);border-radius:calc(var(--range-track-height) / 2);background:#c97c25}.ui-slider--dense{--range-track-height: 5px;--range-thumb-size: 12px;--range-clickable-height: 20px;--range-track-bg: rgba(255, 255, 255, .1)}.ui-slider--emphasized{--range-track-height: 8px;--range-thumb-size: 20px;--range-clickable-height: 28px;--range-track-bg: rgba(255, 255, 255, .2);--range-thumb-shadow: 0 2px 6px rgba(0, 0, 0, .3)}.ui-slider--vertical{writing-mode:bt-lr;direction:rtl;width:140px;height:32px;padding:6px 0;transform:rotate(-90deg);transform-origin:center;display:block;-webkit-appearance:slider-vertical}.ui-tabs{display:flex;background:#1d2021;border-bottom:1px solid rgba(255,255,255,.06)}.ui-tabs__tab{flex:1;padding:.6rem;border:none;background:transparent;color:#bdae93;cursor:pointer;font-size:.8rem;transition:all .2s ease}.ui-tabs__tab--active{background:#c97c25;color:#fff}.lobby{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:#1d2021;overflow-y:auto}.lobby__card{background:#242424;border-radius:12px;padding:2.5rem;width:100%;max-width:440px;box-shadow:0 8px 32px #0006;margin:auto 0}.lobby__title{font-size:2rem;font-weight:700;margin-bottom:.25rem;background:linear-gradient(135deg,#c97c25,#fce7a3);-webkit-background-clip:text;background-clip:text;color:transparent}.lobby__subtitle{color:#bdae93;margin-bottom:2rem;font-size:.9rem}.lobby__tabs{margin-bottom:1.5rem;border-radius:8px;overflow:hidden;display:flex}.lobby__tab{flex:1;padding:.75rem 1rem;background:#ffffff0d;text-align:center;font-size:.9rem;font-weight:500;color:#bdae93;cursor:default}.lobby__tab--active{background:#c97c25;color:#fff}.lobby__tab-content{display:grid;grid-template-columns:1fr}.lobby__tab-pane{grid-area:1/1;display:flex;flex-direction:column;gap:1rem;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease}.lobby__tab-pane--active{visibility:visible;opacity:1;pointer-events:all}.lobby__form{display:flex;flex-direction:column;gap:1rem}.lobby__btn{padding:.8rem;border:none;border-radius:8px;background:#c97c25;color:#fff;font-size:.95rem;cursor:pointer;transition:background .2s ease;margin-top:.5rem}.lobby__btn:hover{background:#fddc87}.lobby__btn:disabled{opacity:.5;cursor:not-allowed}.lobby__btn--ghost{background:transparent;color:#c97c25;border:1px solid rgba(201,124,37,.5);margin-top:.35rem}.lobby__btn--ghost:hover{background:#c97c2514}.lobby__error{color:#fb4934;font-size:.85rem;text-align:center}.room{display:flex;flex-direction:column;height:100vh;background:#1d2021;overflow:hidden}.room__body{flex:1;display:flex;flex-direction:row;min-height:0;overflow:hidden}.room__body>.video-grid,.room__body>.layout-presentation{flex:1;min-width:0}.room--chat-pinned .room__body>.chat{flex:0 0 auto}.room--director-pinned .room__body>.director-panel{flex:0 0 300px;width:300px}.room--music-pinned .room__body>.music-panel{flex:0 0 300px;width:300px}@media(max-width:768px){.room{height:auto;min-height:100vh;overflow:visible;padding-bottom:calc(110px + env(safe-area-inset-bottom))}.room__body{min-height:calc(100vh - 110px)}}.video-grid{flex:1;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:8px;padding:8px;height:100%;overflow:hidden}.video-grid>.video-tile{width:var(--tile-w, 320px);height:var(--tile-h, 180px);aspect-ratio:auto;flex:none}.layout-presentation{flex:1;display:flex;gap:8px;padding:8px;overflow:hidden}.layout-presentation .presentation__main{flex:4;border-radius:12px;overflow:hidden;background:#282828;position:relative}.layout-presentation .presentation__main video{width:100%;height:100%;object-fit:contain;background:#000}.layout-presentation .presentation__exit-spotlight{position:absolute;top:8px;right:8px;z-index:10;padding:6px 14px;border:none;border-radius:12px;background:#0000008c;color:#ebdbb2;font-size:.8rem;cursor:pointer;transition:background .15s}.layout-presentation .presentation__exit-spotlight:hover{background:#000000bf}.layout-presentation .presentation__sidebar{flex:1;display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-width:180px;max-width:240px}.layout-presentation .presentation__sidebar::-webkit-scrollbar{width:4px}.layout-presentation .presentation__sidebar::-webkit-scrollbar-thumb{background:#bdae93;border-radius:2px}.video-tile{position:relative;aspect-ratio:16/9;min-height:0;border-radius:12px;overflow:hidden;background:#282828;cursor:pointer;transition:box-shadow .2s ease}.video-tile:hover{box-shadow:0 0 0 2px #c97c25}.video-tile--spotlight{box-shadow:0 0 0 3px #c97c25,0 0 20px #c97c254d}.video-tile--speaking{box-shadow:0 0 0 3px var(--speaking-color, #8ec07c),0 0 14px #8ec07c59;animation:speaking-pulse 1.2s ease-in-out infinite}.video-tile--selected{box-shadow:0 0 0 3px #fdcb6e,0 0 16px #fdcb6e4d}.video-tile--local:after{content:""}.video-tile__video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.video-tile__name{position:absolute;bottom:8px;left:10px;background:#00000040;text-shadow:0 1px 3px rgba(0,0,0,.7);color:#fff;padding:3px 10px;border-radius:6px;font-size:.75rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-tile__badge{position:absolute;color:#fff;border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:inline-flex;align-items:center;gap:4px;font-weight:600;transition:background .2s ease}.video-tile__badge svg{display:block;color:currentColor}.video-tile__badge--top-left{top:8px;left:10px}.video-tile__badge--top-right{right:10px}.video-tile__badge--small{padding:2px 6px;font-size:.65rem}.video-tile__badge--small svg{width:16px;height:16px}.video-tile__badge--medium{padding:2px 6px;font-size:.85rem}.video-tile__badge--medium svg{width:20px;height:20px}.video-tile__badge--muted,.video-tile__badge--hidden-cam{background:#fb4934d9}.video-tile__badge--raised-hand{background:#c97c25d9}.video-tile__hand-badge svg{display:block;color:currentColor}.video-tile__no-video{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#282828}.video-tile__no-video .avatar{width:64px;height:64px;border-radius:50%;background:#c97c25;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff}@keyframes speaking-pulse{0%,to{box-shadow:0 0 0 3px var(--speaking-color, #8ec07c),0 0 10px #8ec07c33}50%{box-shadow:0 0 0 4px var(--speaking-color, #8ec07c),0 0 18px #8ec07c66}}.peer-menu__content{background:#1d2021;border:1px solid #5c4a35;border-radius:12px;box-shadow:0 4px 12px #0000004d;padding:8px;min-width:160px;display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto}.peer-menu__button{justify-content:flex-start;gap:8px;font-size:.875rem;padding:6px 8px}.peer-menu__volume{display:flex;flex-direction:column;gap:4px}.peer-menu__volume-label{font-size:.75rem;color:#bdae93}.peer-menu__slider{width:100%}.toolbar{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#242424;border-top:1px solid rgba(255,255,255,.06);z-index:60}.toolbar .ui-button{position:relative}.toolbar button{transition:all .2s ease}.toolbar__spacer{flex:1}.toolbar__room-info{color:#bdae93;font-size:.75rem;margin-right:auto;padding:0 .5rem}.toolbar__blocked{opacity:.45}@keyframes mic-blink{0%,to{background:inherit;color:inherit}50%{background:#fff;color:red}}.toolbar__mic-blink{animation:mic-blink .6s ease-in-out infinite}.toolbar__badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 4px;border-radius:12px;background:#c97c25;color:#1d2021;font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}.toolbar__music{display:inline-flex;align-items:center;gap:.4rem;min-width:220px;padding:.25rem .4rem;border-radius:8px;background:#ffffff0a}.toolbar__music-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;color:#ebdbb2}.toolbar__music-label{font-size:.7rem;color:#837569;flex-shrink:0}.toolbar__music-slider{flex:1;min-width:80px}.toolbar__music-value{width:34px;text-align:right;font-size:.68rem;color:#837569;font-variant-numeric:tabular-nums}.toolbar__mobile-volume{position:relative}.toolbar__mobile-volume-popover{padding:.6rem .8rem;border-radius:8px;background:#242424f2;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 28px #00000059;display:inline-flex;align-items:center;gap:.55rem}.toolbar__mobile-volume-content{display:inline-flex;align-items:center;gap:.55rem;width:100%}.toolbar__mobile-volume-slider{flex:1}.toolbar__mobile-volume-value{min-width:44px;text-align:center;font-size:.8rem;color:#bdae93;font-variant-numeric:tabular-nums}@media(max-width:768px){.toolbar{position:fixed;left:0;right:0;bottom:0;gap:1rem;padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom));justify-content:center;flex-wrap:wrap;background:#242424f0;border-top:1px solid rgba(255,255,255,.12);box-shadow:0 -8px 24px #00000059;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toolbar__room-info,.toolbar__music,.toolbar__spacer{display:none}.toolbar .ui-button{padding:10px;min-width:0}.toolbar .ui-button__text{display:none}.toolbar .ui-button__icon{margin:0}.toolbar__badge{top:0;right:0;transform:translate(40%,-40%)}}.chat{position:fixed;right:0;left:auto;top:0;bottom:0;z-index:50;box-shadow:-4px 0 20px #0000004d;transform:translate(100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s ease,opacity .25s ease,visibility .25s ease;min-width:200px;max-width:600px;overflow:hidden}.chat--open{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto}.chat--resizing{transition:none!important}.chat--pinned{position:relative;right:auto;left:auto;top:auto;bottom:auto;z-index:auto;min-width:200px;max-width:800px;margin-left:auto}.chat__resize-handle{position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent;cursor:ew-resize;z-index:10}.chat__resize-handle:hover{background:#ffffff1a}.chat__resize-handle:active{background:#fff3}.chat__messages{flex:1;overflow-y:auto;position:relative;padding:1rem 0}.chat__messages::-webkit-scrollbar{width:4px}.chat__messages::-webkit-scrollbar-thumb{background:#bdae93;border-radius:2px}.chat__load-more{display:flex;justify-content:center;margin-bottom:1rem}.chat__load-more button{font-size:.75rem;height:28px;color:#bdae93;gap:6px}.chat__load-more button:hover{background:#ffffff0d;color:#ebdbb2}.chat__msg{padding:0 1rem .75rem}.chat__msg-sender{font-size:.75rem;font-weight:700;color:#c97c25;margin-bottom:2px}.chat__msg-text{font-size:.85rem;color:#ebdbb2;line-height:1.4;word-break:break-word}.chat__msg-time{font-size:.65rem;color:#bdae93;margin-top:2px}.chat__unread-line{height:1px;background:#c97c25;margin:0;position:relative;opacity:.6;transition:opacity .25s ease;transition-delay:3s}.chat__unread-line:after{content:"New Messages";position:absolute;right:1rem;top:-10px;background:#242424;padding:0 8px;font-size:.65rem;color:#c97c25;font-weight:600;transition:opacity 1s ease;transition-delay:3s}.chat__unread-line--hiding{opacity:0!important;pointer-events:none}.chat__unread-line--hiding:after{opacity:0!important}.chat__input-row{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgba(255,255,255,.06)}.chat__input-row input{flex:1}.chat__input-wrapper{position:relative}.chat__input-area{position:relative;flex-shrink:0}.chat__scroll-btn{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);background:#c97c25;color:#fff;border:none;border-radius:20px;padding:6px 12px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;box-shadow:0 4px 12px #0000004d;z-index:40;white-space:nowrap;animation:chat-scroll-bounce .4s ease-out}.chat__scroll-btn:hover{background:#d9892f;transform:translate(-50%) translateY(-2px)}.chat__scroll-btn:active{transform:translate(-50%) translateY(0)}.chat__mention-dropdown{max-height:180px;overflow-y:auto;background:#2e2e2e;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 -4px 16px #0006;padding:4px 0}.chat__mention-dropdown::-webkit-scrollbar{width:4px}.chat__mention-dropdown::-webkit-scrollbar-thumb{background:#bdae93;border-radius:2px}.chat__mention-item{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font-size:.82rem;color:#ebdbb2;transition:background .1s}.chat__mention-item:hover,.chat__mention-item--active{background:#ffffff14}.chat__mention-item:focus{background:#ffffff14;outline:none}.chat__mention-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chat__mention-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat__mention{font-weight:600;cursor:default}.chat__event{text-align:center;font-size:.75rem;color:#bdae93;padding:.35rem 1rem;line-height:1.4}.chat__event-time{margin-left:6px;font-size:.6rem;color:#bdae93;opacity:.6}@media(max-width:900px){.chat{max-width:100%;width:100%;left:0;right:0}}@media(max-width:768px){.chat{left:0;right:0;width:100%;max-width:100%;bottom:calc(110px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px #0006;transform:translateY(110%);opacity:0;visibility:hidden;pointer-events:none;width:100%!important}.chat--pinned{position:fixed;inset:0 0 calc(110px + env(safe-area-inset-bottom)) 0;border-left:none;max-width:100%;margin-left:0;width:100%!important}.chat--pinned:not(.chat--open){transform:translateY(110%);opacity:0;visibility:hidden;pointer-events:none}.chat--open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto;width:100%!important}.chat__resize-handle{display:none}.chat__input-row{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}@keyframes chat-scroll-bounce{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast-stack{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:200}.toast-stack--center{top:50%;left:50%;right:auto;transform:translate(-50%,-50%);align-items:center;pointer-events:none}.toast{min-width:220px;max-width:360px;padding:10px 12px;border-radius:8px;border:1px solid rgba(189,174,147,.2);background:#1d2021eb;color:#ebdbb2;text-align:left;box-shadow:0 10px 30px #00000059;cursor:pointer;transition:transform .2s ease,opacity .2s ease,border-color .2s ease;opacity:.98}.toast-stack--center .toast{pointer-events:auto}.toast:hover{transform:translateY(-2px);opacity:1;border-color:#c97c2599}.toast__row{display:inline-flex;align-items:flex-start;gap:8px}.toast__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#c97c25;flex-shrink:0}.toast--error .toast__icon{color:#fb4934}.toast--success .toast__icon{color:#8ec07c}.toast__message{text-align:left;line-height:1.4}.toast--success{border-color:#8ec07c99}.toast--error{border-color:#fb493499;color:#fb4934}.toast--info{border-color:#c97c2599}.music-panel{position:fixed;left:0;top:0;bottom:0;width:300px;z-index:50;box-shadow:4px 0 20px #0000004d;transform:translate(-100%);transition:transform .3s ease;overflow-y:auto}.music-panel--open{transform:translate(0)}.music-panel--pinned{position:relative;left:auto;top:auto;bottom:auto;width:100%;transform:none;z-index:auto}.director-panel{position:fixed;left:0;top:0;bottom:0;width:300px;z-index:50;box-shadow:4px 0 20px #0000004d;transform:translate(-100%);transition:transform .3s ease;overflow-y:auto}.director-panel--open{transform:translate(0)}.director-panel--pinned{position:relative;left:auto;top:auto;bottom:auto;width:100%;transform:none;z-index:auto}.director-panel__hint{font-size:1rem;padding:1rem;margin:.5rem;color:#837569}.director-panel__selected{padding:1rem;margin:.5rem}.director-panel__tabs{margin:0}.director-panel__actions{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.4rem}.director-panel__actions h4{font-size:.75rem;color:#bdae93;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.director-panel__actions button{text-align:left}.director-panel__actions button{flex:1;padding:.55rem}.director-panel__actions{padding:.75rem 1rem;color:#bdae93;font-size:.78rem}.director-panel__confirm{padding:1rem;background:#fb49341a;border-bottom:1px solid rgba(251,73,52,.2)}.director-panel__confirm p{font-size:.85rem;margin-bottom:.75rem;color:#ebdbb2}.director-panel__confirm-btns{display:flex;gap:.5rem}.director-panel__confirm-btns button{flex:1;padding:.55rem;border:none;border-radius:8px;background:#ffffff14;color:#ebdbb2;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.director-panel__confirm-btns button.btn--danger{background:#fb4934;color:#fff}.director-panel__confirm-btns button.btn--danger:hover{background:#000000f2}.director-panel__confirm-btns button:hover{background:#ffffff24}.director-panel__peers{flex:1;overflow-y:auto;padding:0 1rem 1rem}.director-panel__peers h4{font-size:.8rem;color:#bdae93;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.director-panel__peer{display:flex;align-items:center;justify-content:space-between;padding:.5rem .6rem;border-radius:8px;margin-bottom:.25rem}.director-panel__peer:hover{background:#ffffff0a}.director-panel__peer--selected{background:#c97c251f}.director-panel__peer span{font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:6px}.director-panel__raised-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .55rem;border-radius:8px;margin-bottom:.3rem;background:#c97c2514}.director-panel__raised-item span{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600}.director-panel__raised-item button{padding:3px 8px}.director-panel__raised-number{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:20px;border-radius:999px;background:#c97c2540;color:#fddc87;font-size:.7rem;font-weight:700}.director-panel__raised-empty{color:#bdae93;font-size:.78rem;margin-bottom:.75rem}.director-panel__peers-empty{color:#bdae93;font-size:.8rem}.director-panel__peer-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0}.director-panel__speaking-icon{font-size:.65rem;animation:speaking-pulse-text 1s ease-in-out infinite}.director-panel__peer-btns{display:flex;gap:4px}.director-panel__peer-btns button{padding:3px 8px}.director-panel__settings{padding:1rem;display:flex;flex-direction:column;gap:1rem}.director-panel__setting-group{display:flex;flex-direction:column;gap:.3rem}.director-panel__setting-group label{font-size:.75rem;color:#bdae93;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.director-panel__setting-group select{cursor:pointer}.director-panel__save-btn:disabled{opacity:.5;cursor:not-allowed}.director-panel__relay-toggle{margin-top:.8rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;width:100%}.director-panel__relay-info{margin-top:.5rem;display:flex;flex-direction:column;gap:.4rem}.director-panel__relay-info label{font-size:.72rem;color:#bdae93}.director-panel__relay-info input{font-family:JetBrains Mono,Fira Code,monospace}.director-panel__relay-info__cmd{margin-top:.25rem;padding:.5rem .6rem;background:#1d2021;border-radius:8px;font-size:.7rem;font-family:JetBrains Mono,Fira Code,monospace;color:#bdae93;word-break:break-all;cursor:pointer;transition:color .2s ease;border:none;text-align:left;width:100%}.director-panel__relay-info__cmd:hover{color:#ebdbb2}.director-panel__relay-info__cmd code{color:#c97c25}.director-panel__effects{padding:.75rem;display:flex;flex-direction:column;gap:1rem}@keyframes speaking-pulse-text{0%,to{opacity:1}50%{opacity:.4}}@media(max-width:768px){.director-panel{top:0;left:0;right:0;width:100%;bottom:calc(110px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .3s ease,opacity .25s ease,visibility .25s ease;opacity:0;visibility:hidden;pointer-events:none;z-index:50}.director-panel--open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.director-panel--pinned{position:fixed;inset:0 0 calc(110px + env(safe-area-inset-bottom)) 0;width:100%;transform:none}.director-panel--pinned:not(.director-panel--open){transform:translateY(110%);opacity:0;visibility:hidden;pointer-events:none}}.music-tab{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;overflow-y:auto;flex:1}.music-tab__file-input{display:none}.music-tab__section{display:flex;flex-direction:column;gap:.5rem}.music-tab__section-title{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:#bdae93;text-transform:uppercase;letter-spacing:.04em}.music-tab__storage-label{display:flex;align-items:center;gap:4px;font-size:.68rem;color:#837569}.music-tab__storage-actions{display:flex;align-items:center;gap:8px}.music-tab__clear-panel{padding:.4rem .35rem;border:1px solid #5c4a35;border-radius:8px;background:#ffffff05}.music-tab__clear-text{font-size:.72rem;color:#837569;margin:0}.music-tab__clear-actions{display:flex;gap:6px;flex-wrap:wrap}.music-tab__empty{font-size:.78rem;color:#837569;padding:.5rem 0}.music-tab__playlist-row{display:flex;align-items:center;gap:4px;border-radius:8px;background:#ffffff08;transition:background .2s ease}.music-tab__playlist-row:hover{background:#ffffff0f}.music-tab__playlist-item{display:flex;flex-direction:column;gap:2px}.music-tab__expand-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:4px;border:none;border-radius:8px;background:transparent;color:#837569;cursor:pointer}.music-tab__expand-btn:hover{background:#ffffff0f;color:#ebdbb2}.music-tab__playlist-name{flex:1;display:flex;align-items:center;gap:8px;padding:.5rem;background:none;border:none;color:#ebdbb2;font-size:.82rem;cursor:pointer;text-align:left;min-width:0}.music-tab__playlist-name span:first-of-type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.music-tab__track-count{flex-shrink:0;font-size:.7rem;color:#837569}.music-tab__icon-btn{flex-shrink:0}.music-tab__playlist-preview{padding:.25rem .4rem .45rem;display:flex;flex-direction:column;gap:2px}.music-tab__preview-row{display:flex;align-items:center;gap:6px;font-size:.72rem;color:#837569}.music-tab__preview-index{width:16px;text-align:right;flex-shrink:0}.music-tab__preview-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-tab__preview-dur{flex-shrink:0;font-variant-numeric:tabular-nums}.music-tab__create-row{display:flex;align-items:center;gap:4px}.music-tab__inline-input{flex:1;background:#00000040;border:1px solid #5c4a35;border-radius:8px;padding:.35rem .5rem;color:#ebdbb2;font-size:.8rem;outline:none;min-width:0}.music-tab__inline-input:focus{border-color:#c97c25}.music-tab__inline-input::placeholder{color:#6c5a4e}.music-tab__inline-input--rename{margin:.25rem 0}.music-tab__back-btn{background:none;border:none;color:#c97c25;font-size:.78rem;font-weight:600;cursor:pointer;padding:.25rem 0;text-align:left;transition:color .2s ease}.music-tab__back-btn:hover{color:#fddc87}.music-tab__name-toggle{font-size:.75rem;color:#bdae93}.music-tab__now-playing{display:flex;flex-direction:column;gap:4px;padding:.5rem;background:#ffffff08;border-radius:8px}.music-tab__now-playing-label{display:flex;align-items:center;gap:6px;color:#c97c25;font-size:.78rem;font-weight:600}.music-tab__now-playing-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-tab__seek-row{display:flex;align-items:center;gap:6px}.music-tab__time{font-size:.68rem;color:#837569;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:28px}.music-tab__seek-bar{flex:1;min-width:0}.music-tab__transport{display:flex;align-items:center;justify-content:center;gap:4px}.music-tab__volume-row{display:flex;align-items:center;gap:6px;padding:0 .25rem}.music-tab__volume-label{font-size:.72rem;color:#837569;flex-shrink:0}.music-tab__volume-slider{flex:1}.music-tab__volume-value{font-size:.68rem;color:#837569;font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.music-tab__track-list{display:flex;flex-direction:column;gap:1px;max-height:280px;overflow-y:auto}.music-tab__track-row{display:flex;align-items:center;border-radius:4px;transition:background .2s ease}.music-tab__track-row:hover{background:#ffffff0a}.music-tab__track-row--active{background:#c97c2514}.music-tab__track-row--active .music-tab__track-name{color:#c97c25}.music-tab__track-name{flex:1;display:flex;align-items:center;gap:6px;padding:.35rem .4rem;background:none;border:none;color:#ebdbb2;font-size:.78rem;cursor:pointer;text-align:left;min-width:0}.music-tab__track-index{flex-shrink:0;width:18px;text-align:center;font-size:.7rem;color:#837569;display:flex;align-items:center;justify-content:center}.music-tab__track-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.music-tab__track-dur{flex-shrink:0;font-size:.68rem;color:#837569;font-variant-numeric:tabular-nums}.music-tab__track-actions{display:flex;align-items:center;gap:0;flex-shrink:0;opacity:0;transition:opacity .2s ease}.music-tab__track-row:hover .music-tab__track-actions{opacity:1}.music-tab__icon-btn-tiny{background:none;border:none;color:#837569;padding:2px 3px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:color .2s ease,background .2s ease}.music-tab__icon-btn-tiny:hover{color:#ebdbb2;background:#ffffff14}.music-tab__icon-btn-tiny:disabled{opacity:.3;cursor:default}.music-tab__icon-btn-tiny--danger:hover{color:#fb4934;background:#fb49341f}.music-tab__add-buttons{display:flex;gap:6px;flex-wrap:wrap}.music-tab__db-picker{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background:#0003;border:1px solid #5c4a35;border-radius:8px}.music-tab__db-picker-header{display:flex;align-items:center;justify-content:space-between}.music-tab__db-picker-actions{display:flex;gap:8px}.music-tab__text-btn{background:none;border:none;color:#c97c25;font-size:.72rem;font-weight:600;cursor:pointer;padding:0}.music-tab__text-btn:hover{color:#fddc87}.music-tab__db-picker-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto}.music-tab__db-picker-row{display:flex;align-items:center;gap:6px;padding:.25rem .3rem;font-size:.78rem;color:#ebdbb2;cursor:pointer;border-radius:3px}.music-tab__db-picker-row:hover{background:#ffffff0a}.music-tab__db-picker-row .ui-checkbox{flex-shrink:0}.music-tab__db-picker-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obs-view{width:100vw;height:100vh;background:#000;display:flex;align-items:center;justify-content:center}.obs-view__stage{width:100%;height:100%;background:#000}.obs-view__video{width:100%;height:100%;object-fit:contain;background:#000}.obs-view__waiting{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#bdae93;font-size:1rem}.obs-view--error{color:#fb4934;background:#1d2021;font-size:1rem}.auth-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:flex-start;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(calc(6px*1px));backdrop-filter:blur(calc(6px*1px));overflow-y:auto;padding:2rem 0}.auth-modal__card{background:#242424;border-radius:12px;padding:2rem;width:100%;max-width:380px;box-shadow:0 8px 32px #00000080;margin:auto 0}.auth-modal__card h2{font-size:1.3rem;margin-bottom:.5rem}.auth-modal__card p{color:#bdae93;font-size:.85rem;margin-bottom:1.25rem}.auth-modal__card form{display:flex;flex-direction:column;gap:1rem}.settings{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;padding:2rem 0}.settings__card{background:#242424;border-radius:12px;padding:1.5rem;width:100%;max-width:360px;box-shadow:0 8px 32px #00000080;margin:auto 0}.settings__card form{display:flex;flex-direction:column;gap:1rem}.settings__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.settings__header h3{font-size:1rem;font-weight:700}.settings__header button{background:none;border:none;color:#bdae93;cursor:pointer;font-size:1.1rem;padding:4px}.settings__header button:hover{color:#ebdbb2}.settings__label{font-size:.75rem;color:#8ec07c;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.settings__tabs{margin-bottom:1.25rem}.settings__tab-content{display:grid;grid-template-columns:1fr;margin-bottom:.5rem}.settings__tab-pane{grid-area:1/1;display:flex;flex-direction:column;gap:1rem;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease}.settings__tab-pane--active{visibility:visible;opacity:1;pointer-events:all}.settings__choice-row{display:flex;gap:.75rem;flex-wrap:nowrap}.settings__choice-row--stacked{flex-direction:column}.settings__field{display:flex;flex-direction:column;gap:.35rem;width:100%}.settings__field-label{font-size:.85rem;color:#bdae93;font-weight:600}.settings__select{width:100%;padding:.55rem .65rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#ebdbb2;font-size:.9rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.settings__select:disabled{opacity:.55;cursor:not-allowed}.settings__radio-card{position:relative;flex:1;display:flex;align-items:center;gap:.45rem;font-size:.85rem;color:#ebdbb2;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.5rem .6rem;cursor:pointer;transition:all .2s ease}.settings__radio-card:hover{background:#ffffff1c}.settings__radio-card input{position:absolute;opacity:0;pointer-events:none}.settings__radio-card:has(input:checked){border-color:#c97c25a6;background:#c97c2533}.settings__radio-dot{width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.65);position:relative;flex-shrink:0}.settings__radio-dot:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:#c97c25;transform:scale(0);transition:transform .2s ease}.settings__radio-card:has(input:checked) .settings__radio-dot:after{transform:scale(1)}.settings__colors{display:flex;flex-wrap:wrap;gap:8px}.settings__color-picker{position:relative}.settings__color-trigger{width:100%;display:flex;align-items:center;gap:.6rem;border:none;border-radius:8px;background:#ffffff14;color:#ebdbb2;padding:.55rem .75rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s ease}.settings__color-trigger:hover{background:#ffffff24}.settings__color-swatch{width:18px;height:18px;border-radius:50%;box-shadow:0 0 0 2px #ffffff40;flex-shrink:0}.settings__colors-dropdown{background:#2e2e2e;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.65rem;box-shadow:0 10px 24px #00000073;max-height:280px;overflow-y:auto}.settings__color-btn{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s ease}.settings__color-btn:hover{transform:scale(1.15)}.settings__color-btn--selected{border-color:#fff;transform:scale(1.1);box-shadow:0 0 8px #ffffff4d}.settings__preview{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#1d2021;border-radius:8px}.settings__preview .avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:#fff;flex-shrink:0}.settings__preview span{font-size:.85rem;font-weight:600}.settings__shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.85rem;color:#ebdbb2}.settings__shortcut-label{display:flex;align-items:center;gap:.5rem}.settings__shortcut-key{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.2rem .4rem;font-size:.75rem;font-weight:600;color:#ebdbb2;min-width:1.5rem;text-align:center;letter-spacing:.025em}.settings__shortcut-btn{border:none;border-radius:8px;background:#ffffff14;color:#ebdbb2;padding:.45rem .65rem;font-size:.85rem;cursor:pointer}.settings__shortcut-btn:hover{background:#ffffff24}.settings__check-row{display:flex;align-items:center;gap:.45rem;justify-content:space-between;font-size:.85rem;color:#ebdbb2;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.45rem .55rem;cursor:pointer;transition:all .2s ease}.settings__check-row:hover{background:#ffffff1c}.settings__check-row input{position:absolute;opacity:0;pointer-events:none}.settings__toggle{width:32px;height:18px;border-radius:999px;background:#fff3;border:1px solid rgba(255,255,255,.2);position:relative;transition:all .2s ease;margin-left:auto}.settings__toggle:after{content:"";position:absolute;top:1px;left:1px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s ease}.settings__check-row:has(input:checked) .settings__toggle{background:#c97c25bf;border-color:#c97c25cc}.settings__check-row:has(input:checked) .settings__toggle:after{transform:translate(14px)}.settings section{display:flex;flex-direction:column;flex-grow:1}.settings section .ui-toggle{width:100%;margin-bottom:1rem}.settings__volume-control{display:flex;flex-direction:column;gap:.5rem}.settings__volume-control .ui-slider{width:100%}.settings__audio-advanced{display:flex;flex-direction:column;gap:1.25rem;padding-bottom:.25rem}.settings__voice-metadata{display:flex;justify-content:space-between;font-size:.75rem;color:#bdae93}.settings__voice-status{font-size:.75rem;color:#bdae93;margin:0}.settings__voice-warning{font-size:.75rem;color:#fb4934;margin:0}.settings__voice-meters{display:flex;flex-direction:column;gap:.65rem}.settings__mic-meter{position:relative;height:32px;width:100%;border-radius:8px;background:#ffffff14;overflow:hidden;--level: 0%;--threshold: 50%}.settings__mic-meter__fill,.settings__mic-meter__threshold{position:absolute;top:0;bottom:0;pointer-events:none}.settings__mic-meter__fill{top:0;right:0;bottom:0;left:0;width:var(--level);transition:width .12s ease;background:linear-gradient(90deg,#c97c25e6,#c97c25a6)}.settings__mic-meter--processed .settings__mic-meter__fill{background:linear-gradient(90deg,#8ec07ce6,#8ec07c99)}.settings__mic-meter__threshold{width:2px;left:calc(var(--threshold) - 1px);background:#fb4934d9}.settings__mic-meter__label{display:flex;justify-content:center;font-size:.75rem;color:#ebdbb2;position:absolute;text-align:center;left:0;right:0;top:50%;transform:translateY(-50%)}.effects-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:#00000080}.effects-modal__card{width:min(860px,94vw);max-height:min(90vh,960px);overflow-y:auto;border-radius:14px;padding:1.25rem 1.5rem;background:var(--surface-elevated, #1f1f1f);border:1px solid var(--border-color, #3a3a3a);display:flex;flex-direction:column;gap:1rem}.effects-modal__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.effects-modal__title{font-size:1.15rem;font-weight:600;color:var(--text-primary, #fff);margin:0}.effects-modal__header-actions{display:flex;align-items:center;gap:.5rem}.effects-modal__header-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.8rem;font-weight:500;color:var(--text-secondary, #b8b8b8);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:color .15s,background .15s}.effects-modal__header-btn:hover{color:var(--text-primary, #fff);background:var(--surface-hover, rgba(255, 255, 255, .06))}.effects-modal__header-btn svg{flex-shrink:0}.effects-modal__divider{height:1px;background:var(--border-color, #3a3a3a);margin:0 -.25rem}.effects-modal__preview-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.72rem;font-weight:600;border-radius:20px;white-space:nowrap;border:1px solid transparent;pointer-events:none;-webkit-user-select:none;user-select:none}.effects-modal__preview-badge--starting{color:var(--text-secondary, #b8b8b8);background:var(--surface-hover, rgba(255, 255, 255, .06));border-color:var(--border-color, #3a3a3a)}.effects-modal__preview-badge--active{color:#4ade80;background:#4ade801a;border-color:#4ade804d}.effects-modal__preview-badge--error{color:#f87171;background:#f871711a;border-color:#f871714d;pointer-events:auto;cursor:help}@keyframes effects-preview-spin{to{transform:rotate(360deg)}}.effects-modal__preview-spinner{animation:effects-preview-spin 1s linear infinite}.effects-modal__toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.effects-modal__chain-preset-select{flex:1;min-width:170px}.effects-modal__chain-list{display:flex;flex-direction:column;gap:.75rem}.effects-modal__effect-row{border:1px solid var(--border-color, #3a3a3a);border-radius:10px;padding:.75rem .875rem;display:flex;flex-direction:column;gap:.75rem;transition:border-color .15s}.effects-modal__effect-row--active{border-color:var(--accent, #635bff)}.effects-modal__effect-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.effects-modal__effect-left{display:flex;align-items:center;gap:.6rem;min-width:0}.effects-modal__drag-handle{color:var(--text-tertiary, #666);cursor:grab;flex-shrink:0;display:flex;align-items:center}.effects-modal__drag-handle:active{cursor:grabbing}.effects-modal__effect-name{display:flex;align-items:center;gap:.4rem;font-size:.95rem;font-weight:600;color:var(--text-secondary, #b8b8b8);white-space:nowrap;text-transform:capitalize;flex-shrink:0}.effects-modal__effect-name--on{color:var(--accent, #635bff)}.effects-modal__param-preset-select{min-width:120px;font-size:.8rem;padding-top:.2rem;padding-bottom:.2rem}.effects-modal__effect-actions{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.effects-modal__editor{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem 1.25rem}@media(max-width:560px){.effects-modal__editor{grid-template-columns:1fr}}.effects-modal__param{display:flex;flex-direction:column;gap:.3rem}.effects-modal__param-label{display:flex;align-items:center;justify-content:space-between;font-size:.82rem;color:var(--text-secondary, #b8b8b8)}.effects-modal__param-value{color:var(--accent, #635bff);font-weight:600;font-size:.82rem}.effects-modal__manage-popover{width:320px;padding:.75rem;background:var(--surface-elevated, #1f1f1f);border:1px solid var(--border-color, #3a3a3a);border-radius:10px;box-shadow:0 8px 24px #0006}.preset-list{display:flex;flex-direction:column;gap:.4rem}.preset-list__title{font-size:.8rem;font-weight:600;color:var(--text-secondary, #b8b8b8);margin:0 0 .35rem;text-transform:capitalize}.preset-list__empty{font-size:.82rem;color:var(--text-tertiary, #666);padding:.2rem 0;text-align:center}.preset-list__items{display:flex;flex-direction:column}.preset-list__item{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.3rem 0;border-bottom:1px solid var(--border-color, #3a3a3a)}.preset-list__item:last-child{border-bottom:none}.preset-list__item-name{font-size:.83rem;color:var(--text-primary, #fff);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-list__item-actions{display:flex;align-items:center;gap:.15rem;flex-shrink:0}.effects-modal__add-effect-popover{min-width:160px;padding:.4rem;background:var(--surface-elevated, #1f1f1f);border:1px solid var(--border-color, #3a3a3a);border-radius:10px;box-shadow:0 8px 24px #0006}.effects-modal__add-effect-list{display:flex;flex-direction:column;gap:1px}.effects-modal__add-effect-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4rem .65rem;font-size:.85rem;text-align:left;text-transform:capitalize;color:var(--text-secondary, #b8b8b8);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .12s,color .12s}.effects-modal__add-effect-option:hover{background:var(--surface-hover, rgba(255, 255, 255, .06));color:var(--text-primary, #fff)}.effects-modal__footer{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color, #3a3a3a)}.effects-modal__preset-manage-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:5px;background:transparent;color:var(--text-tertiary, #666);cursor:pointer;transition:color .15s,background .15s;flex-shrink:0}.effects-modal__preset-manage-btn:hover{color:var(--text-primary, #fff);background:var(--surface-hover, rgba(255, 255, 255, .06))}.effects-modal__effect-presets-popover{width:260px;background:var(--surface-elevated, #1f1f1f);border:1px solid var(--border-color, #3a3a3a);border-radius:10px;box-shadow:0 8px 24px #0006;padding:.6rem .75rem}.confirm-dialog{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:flex-start;justify-content:center;z-index:1300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;padding:2rem 0}.confirm-dialog__card{background:#242424;border-radius:12px;padding:1.75rem;width:100%;max-width:420px;box-shadow:0 12px 36px #00000073;margin:auto 0;text-align:left}.confirm-dialog__card h3{margin-bottom:.25rem;font-size:1.25rem}.confirm-dialog__card p{color:#bdae93;margin-bottom:1.25rem;line-height:1.4}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem}.confirm-dialog__btn{border:none;border-radius:8px;padding:.6rem 1.15rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:#ffffff14;color:#ebdbb2}.confirm-dialog__btn:hover{background:#ffffff1f}.confirm-dialog__btn--confirm{background:#c97c25;color:#fff}.confirm-dialog__btn--danger{background:#fb4934;color:#fff}.soundboard{position:absolute;top:0;right:0;bottom:0;width:320px;transform:translate(100%);transition:transform .2s ease,box-shadow .2s ease;box-shadow:-6px 0 20px #0003;z-index:4;pointer-events:none}.soundboard--open{transform:translate(0);pointer-events:auto}.soundboard--pinned{position:relative;transform:none}.soundboard__body{flex:1;padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.soundboard__status{display:inline-flex;align-items:center;gap:8px;color:#bdae93;font-size:.9rem}.soundboard__spinner{animation:soundboard-spin 1s linear infinite}.soundboard__empty{margin:0;color:#bdae93;text-align:center;font-size:.9rem}.soundboard__file-input{display:none}.room__body{position:relative}.room--soundboard-pinned .room__body>.soundboard{flex:0 0 320px;width:320px}@media(max-width:768px){.soundboard{left:0;right:0;width:100%;max-width:100%;bottom:calc(110px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px #0006;transform:translateY(110%);opacity:0;visibility:hidden;pointer-events:none;z-index:50;width:100%!important}.soundboard--pinned{position:fixed;inset:0 0 calc(110px + env(safe-area-inset-bottom)) 0;border-left:none;max-width:100%;margin-left:0;width:100%!important}.soundboard--pinned:not(.soundboard--open){transform:translateY(110%);opacity:0;visibility:hidden;pointer-events:none}.soundboard--open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto;width:100%!important}}.soundboard__controls{display:flex;flex-direction:column;gap:10px;padding:12px;border-bottom:1px solid #5c4a35}.soundboard__control-row{display:flex;align-items:center;gap:10px}.soundboard__label{color:#bdae93;font-size:.95rem;font-weight:600;min-width:96px}.soundboard__slider{flex:1;display:inline-flex;align-items:center;gap:10px}.soundboard__value{color:#bdae93;font-size:.9rem;min-width:48px;text-align:right}.soundboard__actions-row{display:flex;gap:8px}.soundboard__clip-list{display:flex;flex-direction:column;gap:10px}.soundboard__clip{display:flex;flex-direction:column;gap:8px;padding:10px;background:#282828;border:1px solid #5c4a35;border-radius:8px}.soundboard__clip--playing{border-color:#c97c25;animation:soundboard-border-pulse 2s ease-in-out infinite}.soundboard__clip--paused{border-color:#bdae93;box-shadow:0 0 0 1px #bdae934d}.soundboard__clip-main{display:flex;align-items:center;justify-content:space-between;gap:10px}.soundboard__clip-name{flex:1;color:#ebdbb2;font-weight:700;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.soundboard__clip-name--editable{display:inline-flex;align-items:center;gap:4px;cursor:pointer;border-radius:4px;padding:2px 4px;margin:-2px -4px}.soundboard__clip-name--editable:hover{background:#282828}.soundboard__clip-name-edit-icon{flex-shrink:0;opacity:0;color:#bdae93;transition:opacity .2s ease}.soundboard__clip-name--editable:hover .soundboard__clip-name-edit-icon{opacity:1}.soundboard__clip-rename{flex:1;display:flex;align-items:center;gap:4px;min-width:0}.soundboard__clip-rename-input{flex:1;min-width:0;background:#282828;border:1px solid #c97c25;border-radius:4px;color:#ebdbb2;font-size:.875rem;font-weight:700;padding:2px 6px;outline:none}.soundboard__clip-rename-input:focus{border-color:#fddc87}.soundboard__transport{display:inline-flex;gap:6px}.soundboard__clip-loop-row{display:flex;align-items:center;gap:10px}.soundboard__loop-toggle{display:inline-flex;align-items:center;gap:6px;color:#bdae93;font-size:.85rem;min-width:82px}.soundboard__loop-input-group{display:inline-flex;align-items:center;gap:6px;flex:1}.soundboard__loop-label{color:#bdae93;font-size:.85rem;white-space:nowrap}.soundboard__loop-input{width:56px;padding:3px 6px;background:#1d2021;border:1px solid #5c4a35;border-radius:8px;color:#ebdbb2;font-size:.85rem;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.soundboard__loop-input::-webkit-inner-spin-button,.soundboard__loop-input::-webkit-outer-spin-button{opacity:1}.soundboard__loop-input:disabled{opacity:.4;cursor:not-allowed}.soundboard__loop-input:focus{outline:none;border-color:#c97c25}.soundboard__loop-value{min-width:24px;color:#bdae93;font-size:.85rem;text-align:right}.soundboard__clip-actions{display:inline-flex;gap:6px}.soundboard__builtin-loop{color:#bdae93;font-size:.85rem;font-weight:600}.soundboard__clip-volume-row{display:flex;align-items:center;gap:6px}.soundboard__clip-volume-icon{color:#bdae93;flex-shrink:0}.soundboard__clip-volume-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:3px;border-radius:2px;background:#bdae9340;outline:none;cursor:pointer}.soundboard__clip-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#c97c25;cursor:pointer}.soundboard__clip-volume-slider::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:#c97c25;cursor:pointer}.soundboard__clip-volume-value{color:#bdae93;font-size:.72rem;font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.soundboard__progress{display:flex;flex-direction:column;gap:4px}.soundboard__progress-track{height:3px;background:#bdae9333;border-radius:2px;overflow:hidden}.soundboard__progress-bar{height:100%;background:#c97c25;border-radius:2px;min-width:0;transition:width .1s linear}.soundboard__progress-times{display:flex;justify-content:space-between;color:#bdae93;font-size:.72rem;font-variant-numeric:tabular-nums}.soundboard__progress-loop-counter{color:#c97c25;font-size:.72rem;font-variant-numeric:tabular-nums}@media(max-width:700px){.soundboard__clip-loop-row{flex-wrap:wrap}.soundboard__clip-actions{width:100%;justify-content:flex-end}}@keyframes soundboard-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes soundboard-border-pulse{0%,to{box-shadow:0 0 0 1px #c97c2559}50%{box-shadow:0 0 0 3px #c97c258c}}.debug-panel{position:fixed;bottom:12px;left:12px;z-index:900;min-width:220px;max-width:340px;padding:10px 12px;background:#1d2021eb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(131,117,105,.3);border-radius:8px;font-family:Courier New,Courier,monospace;font-size:.7rem;color:#bdae93;pointer-events:none;-webkit-user-select:none;user-select:none}.debug-panel__section+.debug-panel__section{margin-top:8px;padding-top:8px;border-top:1px solid rgba(131,117,105,.25)}.debug-panel__title{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:#c97c25;margin-bottom:4px}.debug-panel__row{display:flex;justify-content:space-between;gap:8px;line-height:1.5}.debug-panel__label{color:#837569;flex-shrink:0}.debug-panel__value{color:#bdae93;text-align:right;word-break:break-all}.debug-panel__value--ok{color:#8ec07c}.debug-panel__value--warn{color:#c97c25}.loading-placeholder{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;animation:placeholderFadeIn .18s ease-in-out both}.loading-content{display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px 18px;border-radius:10px;background:transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.spinner{width:48px;height:48px;border-radius:50%;border:4px solid rgba(235,219,178,.12);border-top-color:var(--accent);animation:spin .36s ease-in-out infinite}.loading-text{color:var(--text-primary);font-size:13px;opacity:.95}.app-content{animation:contentFadeIn .22s ease both;height:100%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes placeholderFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
