[data-lk-theme=default]{color-scheme:dark;--lk-bg: #111;--lk-bg2: rgb(29.75, 29.75, 29.75);--lk-bg3: rgb(42.5, 42.5, 42.5);--lk-bg4: rgb(55.25, 55.25, 55.25);--lk-bg5: #444444;--lk-fg: #fff;--lk-fg2: rgb(244.8, 244.8, 244.8);--lk-fg3: rgb(234.6, 234.6, 234.6);--lk-fg4: rgb(224.4, 224.4, 224.4);--lk-fg5: rgb(214.2, 214.2, 214.2);--lk-border-color: rgba(255, 255, 255, .1);--lk-accent-fg: #fff;--lk-accent-bg: #1f8cf9;--lk-accent2: rgb(50.867826087, 150.2, 249.532173913);--lk-accent3: rgb(70.7356521739, 160.4, 250.0643478261);--lk-accent4: rgb(90.6034782609, 170.6, 250.5965217391);--lk-danger-fg: #fff;--lk-danger: #f91f31;--lk-danger2: rgb(249.532173913, 50.867826087, 67.2713043478);--lk-danger3: rgb(250.0643478261, 70.7356521739, 85.5426086957);--lk-danger4: rgb(250.5965217391, 90.6034782609, 103.8139130435);--lk-success-fg: #fff;--lk-success: #1ff968;--lk-success2: rgb(50.867826087, 249.532173913, 117.3930434783);--lk-success3: rgb(70.7356521739, 250.0643478261, 130.7860869565);--lk-success4: rgb(90.6034782609, 250.5965217391, 144.1791304348);--lk-control-fg: var(--lk-fg);--lk-control-bg: var(--lk-bg2);--lk-control-hover-bg: var(--lk-bg3);--lk-control-active-bg: var(--lk-bg4);--lk-control-active-hover-bg: var(--lk-bg5);--lk-connection-excellent: #06db4d;--lk-connection-good: #f9b11f;--lk-connection-poor: #f91f31;--lk-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--lk-font-size: 16px;--lk-line-height: 1.5;--lk-border-radius: .5rem;--lk-box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15);--lk-drop-shadow: rgba(255, 255, 255, .2) 0px 0px 24px;--lk-grid-gap: .5rem;--lk-control-bar-height: 69px;--lk-chat-header-height: 69px}.lk-button,.lk-start-audio-button,.lk-chat-toggle,.lk-disconnect-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;color:var(--lk-control-fg);background-image:none;background-color:var(--lk-control-bg);border:0;border-radius:var(--lk-border-radius);cursor:pointer;white-space:nowrap;font-size:inherit;line-height:inherit;-webkit-user-select:none;user-select:none}.lk-button:not(:disabled):hover,.lk-start-audio-button:not(:disabled):hover,.lk-chat-toggle:not(:disabled):hover,.lk-disconnect-button:not(:disabled):hover{background-color:var(--lk-control-hover-bg)}.lk-button>svg,.lk-start-audio-button>svg,.lk-chat-toggle>svg,.lk-disconnect-button>svg{overflow:visible}.lk-button[aria-pressed=true],[aria-pressed=true].lk-start-audio-button,[aria-pressed=true].lk-chat-toggle,[aria-pressed=true].lk-disconnect-button{background-color:var(--lk-control-active-bg)}.lk-button[aria-pressed=true]:hover,[aria-pressed=true].lk-start-audio-button:hover,[aria-pressed=true].lk-chat-toggle:hover,[aria-pressed=true].lk-disconnect-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true],[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button{background-color:var(--lk-accent-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true]:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button:hover{background-color:var(--lk-accent2)}.lk-button:disabled,.lk-start-audio-button:disabled,.lk-chat-toggle:disabled,.lk-disconnect-button:disabled{opacity:.5}.lk-button-group{display:inline-flex;align-items:stretch;height:100%}.lk-button-group>.lk-button:first-child,.lk-button-group>.lk-start-audio-button:first-child,.lk-button-group>.lk-chat-toggle:first-child,.lk-button-group>.lk-disconnect-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-button-group-menu{position:relative;flex-shrink:0}.lk-button-group-menu>.lk-button,.lk-button-group-menu>.lk-start-audio-button,.lk-button-group-menu>.lk-chat-toggle,.lk-button-group-menu>.lk-disconnect-button{height:100%;border-top-left-radius:0;border-bottom-left-radius:0}.lk-button-group-menu>.lk-button:after,.lk-button-group-menu>.lk-start-audio-button:after,.lk-button-group-menu>.lk-chat-toggle:after,.lk-button-group-menu>.lk-disconnect-button:after{margin-left:0}.lk-button-menu:after{display:inline-block;content:"";width:.5em;height:.5em;margin-top:-.25rem;margin-left:.5rem;border-left:.125em solid;border-bottom:.125em solid;transform:rotate(-45deg);transform-origin:center center}.lk-disconnect-button{font-weight:600;color:var(--lk-danger);border:1px solid var(--lk-danger)}.lk-disconnect-button:not(:disabled):hover{--lk-control-hover-bg: var(--lk-danger2);color:var(--lk-danger-fg)}.lk-disconnect-button:not(:disabled):active{--lk-control-hover-bg: var(--lk-danger3);color:var(--lk-danger-fg)}.lk-chat-toggle{position:relative}.lk-chat-toggle[data-lk-unread-msgs]:not([data-lk-unread-msgs="0"]):after{content:attr(data-lk-unread-msgs);position:absolute;top:0;left:0;padding:.25rem;margin-left:.25rem;margin-top:.25rem;border-radius:50%;font-size:.5rem;line-height:.75;background:var(--lk-accent-bg)}.lk-media-device-select:not(:last-child){padding-bottom:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--lk-border-color)}.lk-media-device-select li:not(:last-child){margin-bottom:.25rem}.lk-media-device-select li>.lk-button{width:100%;justify-content:start;padding-block:.5rem}.lk-media-device-select li:not([data-lk-active=true])>.lk-button:not(:disabled):hover{background-color:var(--lk-bg3)}.lk-media-device-select [data-lk-active=false]>.lk-button:hover{cursor:pointer;background-color:#0000000d}.lk-media-device-select [data-lk-active=true]>.lk-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}.lk-device-menu{width:max-content;position:absolute;top:0;left:0;z-index:5;min-width:10rem;padding:.5rem;margin-bottom:.25rem;white-space:nowrap;background-color:var(--lk-bg2);border:1px solid var(--lk-border-color);border-radius:.75rem;box-shadow:var(--lk-box-shadow)}.lk-device-menu-heading{padding:.25rem .5rem;font-weight:700;opacity:.65}.lk-start-audio-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}@media screen and (max-width:600px){.lk-start-audio-button{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.lk-pagination-control{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:stretch;background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);transition:opacity ease-in-out .15s;opacity:0}.lk-pagination-control:hover{opacity:1}.lk-pagination-control>.lk-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-pagination-control>.lk-button:first-child>svg{transform:rotate(180deg)}.lk-pagination-control>.lk-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.lk-pagination-count{padding:.5rem .875rem;border-inline:1px solid var(--lk-bg)}[data-lk-user-interaction=true].lk-pagination-control{opacity:1}.lk-pagination-indicator{position:absolute;height:var(--lk-grid-gap);background-color:var(--lk-bg2);width:fit-content;padding:.2rem .5rem;bottom:calc(var(--lk-grid-gap)/2);left:50%;transform:translate(-50%);border-radius:2rem;opacity:1;display:flex;gap:.2rem;align-items:center}.lk-pagination-indicator span{display:inline-block;width:.4rem;height:.4rem;border-radius:9999999px;background-color:var(--lk-fg);opacity:.35;transition:opacity linear .2s}.lk-pagination-indicator span[data-lk-active]{opacity:.9}.lk-grid-layout{--lk-col-count: 1;--lk-row-count: 1;display:grid;grid-template-columns:repeat(var(--lk-col-count),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);grid-gap:var(--lk-grid-gap);width:100%;height:100%;max-width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-grid-layout[data-lk-pagination=true]{padding-bottom:calc(var(--lk-grid-gap)*2)}.lk-focus-layout{display:grid;grid-template-columns:1fr 5fr;gap:var(--lk-grid-gap);width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-focused-participant{position:relative}.lk-focused-participant .lk-pip-track{position:absolute;top:10px;right:10px;width:20%;height:auto}@media(max-width:600px){.lk-focus-layout{grid-template-columns:1fr;grid-template-rows:5fr 1fr}.lk-carousel{order:1}}.lk-carousel{max-height:100%;display:flex;gap:var(--lk-grid-gap)}.lk-carousel>*{flex-shrink:0;aspect-ratio:16/10;scroll-snap-align:start}.lk-carousel[data-lk-orientation=vertical]{flex-direction:column;scroll-snap-type:y mandatory;overflow-y:auto;overflow-x:hidden}.lk-carousel[data-lk-orientation=vertical]>*{--lk-height-minus-gaps: calc(100% - calc(var(--lk-grid-gap) * calc(var(--lk-max-visible-tiles) - 1)));height:calc(var(--lk-height-minus-gaps)/var(--lk-max-visible-tiles))}.lk-carousel[data-lk-orientation=horizontal]{scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto}.lk-carousel[data-lk-orientation=horizontal]>*{--lk-width-minus-gaps: calc(100% - var(--lk-grid-gap) * (var(--lk-max-visible-tiles) - 1));width:calc(var(--lk-width-minus-gaps)/var(--lk-max-visible-tiles))}.lk-connection-quality{width:1.5rem;height:1.5rem}.lk-track-muted-indicator-camera,.lk-track-muted-indicator-microphone{position:relative;width:var(--lk-indicator-size, 1rem);height:var(--lk-indicator-size, 1rem);margin-inline-end:.25rem;transition:opacity .25s ease-in-out}.lk-track-muted-indicator-camera[data-lk-muted=true]{opacity:.5}.lk-track-muted-indicator-microphone{--lk-bg: var(--lk-icon-mic)}.lk-track-muted-indicator-microphone[data-lk-muted=true]{opacity:.5}.lk-participant-name{font-size:.875rem}.lk-participant-media-video{width:100%;height:100%;object-fit:cover;object-position:center;background-color:#000}.lk-participant-media-video[data-lk-orientation=landscape]{object-fit:cover}.lk-participant-media-video[data-lk-orientation=portrait],.lk-participant-media-video[data-lk-source=screen_share]{object-fit:contain;background-color:var(--lk-bg2)}.lk-participant-media-audio{width:auto}[data-lk-facing-mode=user] .lk-participant-media-video[data-lk-local-participant=true][data-lk-source=camera]{transform:rotateY(180deg)}.lk-audio-visualizer{width:100%;height:100%;min-height:160px;background:var(--lk-bg-control);aspect-ratio:16/9;border-radius:.5rem;display:flex;justify-content:space-around;align-items:center}.lk-audio-visualizer>rect{fill:var(--lk-accent-bg);transition:transform .1s cubic-bezier(.19,.02,.09,1)}.lk-audio-visualizer>path{stroke:var(--lk-accent-bg);transition:.1s cubic-bezier(.19,.02,.09,1)}.lk-audio-bar-visualizer{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--lk-bg);gap:var(--lk-va-bar-gap, 24px)}.lk-audio-bar-visualizer>.lk-audio-bar{transform-origin:"center";height:100%;width:var(--lk-va-bar-width, 12px);border-radius:var(--lk-va-bar-border-radius, 32px);background-color:var(--lk-va-bar-bg, rgba(136, 136, 136, .2));transition:background-color .25s ease-out}.lk-audio-bar-visualizer[data-lk-va-state=speaking]>.lk-audio-bar,.lk-audio-bar-visualizer>.lk-audio-bar.lk-highlighted,.lk-audio-bar-visualizer>[data-lk-highlighted=true]{background-color:var(--lk-fg, rgb(136, 136, 136));transition:none}.lk-audio-bar-visualizer[data-lk-va-state=thinking]{transition:background-color .15s ease-out}.lk-participant-tile{--lk-speaking-indicator-width: 2.5px;position:relative;display:flex;flex-direction:column;gap:.375rem;overflow:hidden;border-radius:var(--lk-border-radius)}.lk-participant-tile:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:var(--lk-border-radius);border:0px solid var(--lk-accent-bg);transition-property:border opacity;transition-delay:.5s;transition-duration:.4s;pointer-events:none}.lk-participant-tile[data-lk-speaking=true]:not([data-lk-source=screen_share]):after{transition-delay:0s;transition-duration:.2s;border-width:var(--lk-speaking-indicator-width)}.lk-participant-tile .lk-focus-toggle-button{position:absolute;top:.25rem;right:.25rem;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2);opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile:hover .lk-focus-toggle-button,.lk-participant-tile:focus .lk-focus-toggle-button{opacity:1;transition-delay:0}.lk-participant-tile .lk-connection-quality{opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile .lk-connection-quality[data-lk-quality=poor]{opacity:1;transition-delay:0}.lk-participant-tile:hover .lk-connection-quality,.lk-participant-tile:focus .lk-connection-quality{opacity:1;transition-delay:0}.lk-participant-tile .lk-participant-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:var(--lk-bg2);opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;border-radius:var(--lk-border-radius)}.lk-participant-tile .lk-participant-placeholder svg{height:100%;width:auto;padding:10%}.lk-participant-tile[data-lk-video-muted=true][data-lk-source=camera] .lk-participant-placeholder{opacity:1}.lk-participant-metadata{position:absolute;right:.25rem;bottom:.25rem;left:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;line-height:1}.lk-participant-metadata-item{display:flex;align-items:center;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2)}.lk-toast{position:fixed;top:.75rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow)}.lk-spinner{animation:lk-rotate 2s infinite linear}@keyframes lk-rotate{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.lk-room-container{background-color:var(--lk-bg);line-height:var(--lk-line-height)}.lk-room-container{position:relative;width:100%;height:100%;--lk-has-imported-styles: "true"}.lk-room-container *[class^=lk-],.lk-room-container *[class*=" lk-"]{box-sizing:border-box}.lk-audio-conference{position:relative;width:100%;height:100%}.lk-audio-conference-stage{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lk-chat{display:grid;grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);width:clamp(200px,55ch,60ch);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end}.lk-chat-header{height:var(--lk-chat-header-height);padding:.75rem;position:relative;display:flex;align-items:center;justify-content:center}.lk-chat-header .lk-close-button{position:absolute;right:0;transform:translate(-50%);background-color:#0000}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{display:flex;width:100%;max-height:100%;flex-direction:column;gap:.25rem;overflow:auto}.lk-chat-entry{display:flex;flex-direction:column;gap:.25rem;margin:0 .25rem}.lk-chat-entry .lk-meta-data{font-size:.75rem;color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{margin-left:auto;align-self:flex-end}.lk-chat-entry .lk-edit-button{background:none;float:right;margin:0;padding:0 .25rem;border-radius:0;font-size:12px}.lk-chat-entry .lk-message-body{display:inline-block;border-radius:15px;padding:.25rem .75rem;word-break:break-word;width:fit-content;max-width:calc(100% - 32px)}.lk-chat-entry[data-lk-message-origin=local] .lk-message-body{background-color:var(--lk-bg5)}.lk-chat-entry[data-lk-message-origin=remote] .lk-message-body{background-color:var(--lk-accent4)}.lk-chat-entry a{text-decoration:underline;color:inherit}.lk-chat-entry *{margin-block-start:.25em;margin-block-end:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{display:flex;gap:.75rem;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-chat-form-input{font-size:inherit;line-height:inherit;width:100%}@media(max-width:600px){.lk-chat{position:fixed;top:0;right:0;max-width:100%;bottom:var(--lk-control-bar-height)}}.lk-control-bar,.lk-agent-control-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-agent-control-bar{height:var(--lk-control-bar-height);--lk-bg: transparent;--lk-va-bar-width: 2px;--lk-va-bar-gap: 4px;--lk-va-bar-border-radius: 1px}.lk-agent-control-bar .lk-audio-bar-visualizer .lk-audio-bar.lk-highlighted{filter:none}.lk-prejoin{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-prejoin{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:1rem;gap:1rem;margin-inline:auto;background-color:var(--lk-bg);width:min(100%,480px);align-items:stretch}.lk-prejoin .lk-video-container{position:relative;width:100%;height:auto;aspect-ratio:16/10;background-color:#000;border-radius:var(--lk-border-radius);overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{display:block;width:100%;height:100%;object-fit:cover}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{position:absolute;top:0;left:0;width:100%;aspect-ratio:16/10;background-color:#000;display:grid;place-items:center}.lk-prejoin .lk-video-container .lk-camera-off-note>*{height:70%;max-width:100%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{display:flex;flex-wrap:nowrap;gap:1rem}.lk-prejoin .lk-button-group-container>.lk-button-group{width:50%}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button{justify-content:left}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button:first-child{width:100%}@media(max-width:400px){.lk-prejoin .lk-button-group-container{flex-wrap:wrap}.lk-prejoin .lk-button-group-container>.lk-button-group{width:100%}}.lk-prejoin .lk-username-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.lk-prejoin .lk-join-button{--lk-control-fg: var(--lk-accent-fg);--lk-control-bg: var(--lk-accent-bg);--lk-control-hover-bg: var(--lk-accent2);--lk-control-active-bg: var(--lk-accent3);--lk-control-active-hover-bg: var(--lk-accent4);background-color:var(--lk-control-bg)}.lk-prejoin .lk-join-button:hover{background-color:var(--lk-control-hover-bg)}.lk-focus-layout-wrapper,.lk-grid-layout-wrapper{position:relative;display:flex;justify-content:center;width:100%;height:calc(100% - var(--lk-control-bar-height))}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{position:relative;display:flex;align-items:stretch;height:100%}.lk-video-conference-inner{display:flex;flex-direction:column;align-items:stretch;width:100%}.lk-settings-menu-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--lk-bg);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);min-width:50vw;min-height:50vh;max-width:100%;max-height:100%;overflow-y:auto}:root{color-scheme:dark;--bg: #090d10;--surface: #111820;--surface-strong: #192430;--panel: #0d1318;--line: #25313d;--line-strong: #3a4b58;--ink: #f1f6f8;--muted: #8ea0aa;--soft: #c8d5db;--accent: #29d391;--accent-2: #6bb6ff;--accent-3: #ffd166;--danger: #ff6b6b;--warning: #ffd166;--radius: 8px;--shadow: 0 18px 46px rgba(0, 0, 0, .36);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,rgba(41,211,145,.08),transparent 34%),linear-gradient(120deg,rgba(107,182,255,.08),transparent 46%),var(--bg);color:var(--ink)}button,input{font:inherit}button{border:0}button:focus-visible,input:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.app-shell{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);min-height:100vh}.side-panel{display:flex;flex-direction:column;gap:18px;border-right:1px solid var(--line);background:#090d10e0;padding:24px}.brand{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;width:46px;height:46px;place-items:center;border:1px solid rgba(41,211,145,.48);border-radius:var(--radius);background:linear-gradient(145deg,#29d3912b,#6bb6ff14),#0d151a;color:var(--accent)}.eyebrow{margin:0 0 3px;color:var(--accent);font-size:.76rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:0;font-size:1.62rem;line-height:1.1}h2{margin-bottom:0;font-size:clamp(1.35rem,2.4vw,2.2rem);line-height:1.08}h3{margin-bottom:0;font-size:1.25rem;line-height:1.15}h4{margin-bottom:10px;color:var(--soft);font-size:.86rem}.join-card,.server-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.035),transparent),#111820e0;box-shadow:var(--shadow)}.join-card{display:grid;gap:16px;padding:16px}label,fieldset{display:grid;gap:8px}label span,legend{color:var(--soft);font-size:.86rem;font-weight:700}fieldset{margin:0;border:0;padding:0}input[type=text],input:not([type]),select{width:100%}input,select{min-height:42px;border:1px solid var(--line);border-radius:var(--radius);background:#080d11;color:var(--ink);padding:0 12px}.invite-entry-row{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:8px}.invite-entry-row button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid var(--line);border-radius:var(--radius);background:#0b1014;color:var(--soft);cursor:pointer;font-weight:800}.device-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.device-row.compact{width:100%}.device-row button{display:inline-grid;place-items:center;min-height:42px;border:1px solid var(--line);border-radius:var(--radius);background:#0b1014;color:var(--soft);cursor:pointer}.field-note{color:var(--muted);font-size:.78rem}.field-note.danger{color:#ffc9c9}.preset-list{display:grid;gap:8px}.preset{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;border:1px solid var(--line);border-radius:var(--radius);background:#0b1014;color:var(--ink);padding:10px 12px;text-align:left;cursor:pointer}.preset small{color:var(--muted);white-space:nowrap}.preset.active{border-color:#29d391b8;background:#29d3911a}.custom-quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;padding:12px;border:1px solid rgba(91,183,255,.22);border-radius:var(--radius);background:#5bb7ff0e}.common-quality-row{display:grid;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.common-quality-row button{min-height:34px;border:1px solid var(--line);border-radius:var(--radius);background:#0b1014d1;color:var(--ink);font-weight:800;cursor:pointer}.common-quality-row button:hover{border-color:#5bb7ff80;background:#5bb7ff1a}.custom-quality-grid label{display:grid;gap:6px}.custom-quality-grid span{color:var(--soft);font-size:.78rem;font-weight:700}.custom-quality-grid input{min-height:38px}.custom-quality-grid .field-note{grid-column:1 / -1}.toggle-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toggle{display:flex;align-items:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:var(--radius);padding:0 10px}.toggle input{min-height:auto;accent-color:var(--accent)}.toggle span{color:var(--ink);font-size:.85rem}.primary-button,.control-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border-radius:var(--radius);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.primary-button{background:linear-gradient(135deg,var(--accent),#7be3ff);color:#04100c;font-weight:800}.primary-button:disabled{cursor:not-allowed;opacity:.66}.primary-button.compact{min-height:38px;padding:0 14px}.primary-button:not(:disabled):hover,.control-button:hover{transform:translateY(-1px)}.primary-button:not(:disabled):active,.control-button:active{transform:translateY(0)}.server-card{padding:15px}.server-card__header,.server-card__invite,.pane-title,.audio-note{display:flex;align-items:center;gap:8px}.server-card__header{color:var(--accent);font-weight:800}.server-card__invite{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff08}.server-card__invite span{color:var(--muted);font-size:.78rem}.server-card__invite strong{color:var(--ink);word-break:break-all}.server-card__invite button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border:1px solid var(--line);border-radius:var(--radius);background:#0b1014;color:var(--soft);cursor:pointer}.server-card__invite button:disabled{cursor:not-allowed;opacity:.55}.relay-settings-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px;margin-top:10px;border:1px solid rgba(54,211,153,.38);border-radius:var(--radius);background:#36d39914;color:var(--ink);cursor:pointer;font-weight:800}.about-strip{display:grid;gap:5px;margin-top:12px;border-top:1px solid var(--line);color:var(--muted);padding-top:10px;font-size:.74rem;line-height:1.35}.server-card p,.empty-stage p{color:var(--muted);line-height:1.65}.port-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.port-grid span,.metric-strip span,.status-pills span{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff09;color:var(--soft);padding:7px 9px;font-size:.78rem}.error-line{border:1px solid rgba(255,107,107,.35);border-radius:var(--radius);background:#ff6b6b14;color:#ffc9c9;padding:10px 12px}.stage{min-width:0;padding:24px}.empty-stage,.room{min-height:calc(100vh - 48px)}.empty-stage{display:grid;place-content:center;gap:16px;text-align:center}.empty-visual{display:grid;width:92px;height:92px;place-items:center;justify-self:center;border:1px solid rgba(91,183,255,.32);border-radius:var(--radius);background:#5bb7ff14;color:var(--accent-2)}.metric-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.room{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:16px}.room-header{display:flex;align-items:end;justify-content:space-between;gap:20px}.status-pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.status-pills span{display:inline-flex;align-items:center;gap:7px}.network-stats{display:flex;flex-wrap:wrap;gap:8px}.route-mode-control{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:34px;margin-bottom:8px}.route-mode-control>span{color:var(--muted);font-size:.76rem;font-weight:800}.route-mode-control button{min-height:30px;border:1px solid var(--line);border-radius:6px;background:#ffffff09;color:var(--soft);padding:5px 8px;font-size:.74rem;cursor:pointer}.route-mode-control button.active{border-color:#36d3998f;background:#36d39921;color:#d9fff2}.route-mode-control button:disabled{cursor:not-allowed;opacity:.45}.route-mode-control small{color:var(--muted);font-size:.72rem}.network-stats span{border:1px solid var(--line);border-radius:var(--radius);background:#5bb7ff0f;color:var(--soft);padding:7px 9px;font-size:.78rem}.network-stats .network-stats__warning{border-color:#f6c4538c;background:#f6c4531f;color:#ffe3a3}.room-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;min-height:0}.screen-pane,.people-pane{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.035),transparent),#111820c7}.screen-pane{overflow:hidden}.people-pane{display:flex;flex-direction:column;gap:12px;padding:14px}.pane-title{color:var(--soft);font-weight:800}.live-screen,.preview-screen{position:relative;display:grid;width:100%;height:100%;min-height:470px;place-items:center;overflow:hidden;background:#080c10}.live-screen video,.preview-screen video,.encoded-screen-canvas{width:100%;height:100%;object-fit:contain;background:#05080a}.encoded-screen-canvas{display:block;object-fit:contain}.screen-main,.screen-player,.screen-main video,.screen-main canvas,.screen-floating-preview video,.screen-floating-preview canvas{width:100%;height:100%;object-fit:contain}.preview-screen.live{background:linear-gradient(135deg,rgba(41,211,145,.14),transparent 42%),#080c10}.multi-screen-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;z-index:0;background:#05080a}.screen-stage-toolbar{position:absolute;left:14px;right:112px;top:14px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;pointer-events:none}.screen-stage-toolbar>div:first-child,.screen-mode-switch{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:#05080ab8;color:var(--ink);padding:7px 10px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 16px 34px #0000003d;pointer-events:auto}.screen-stage-toolbar strong{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.screen-stage-toolbar span{color:var(--soft);font-size:12px}.screen-mode-switch{gap:4px;padding:4px}.screen-mode-switch button{min-height:30px;border:0;border-radius:6px;background:transparent;color:var(--soft);padding:0 10px;font-weight:800;cursor:pointer}.screen-mode-switch button.active{background:#66dcda2e;color:var(--ink)}.screen-main{position:relative;min-width:0;min-height:0;width:100%;height:100%}.screen-main video,.screen-main canvas,.screen-tile video,.screen-tile canvas,.screen-thumb video,.screen-thumb canvas,.screen-floating-preview video,.screen-floating-preview canvas{width:100%;height:100%;object-fit:contain;background:#05080a}.screen-filmstrip{position:absolute;left:14px;right:14px;bottom:14px;z-index:4;display:flex;gap:10px;overflow-x:auto;padding:4px;pointer-events:auto}.screen-thumb{position:relative;flex:0 0 156px;height:88px;overflow:hidden;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:#05080acc;cursor:pointer}.screen-thumb.active{border-color:#66dcdae0;box-shadow:0 0 0 2px #66dcda29}.screen-thumb span{position:absolute;left:8px;bottom:7px;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;background:#00000094;color:#fff;padding:3px 6px;font-size:12px}.screen-tile-grid{display:grid;width:100%;height:100%;gap:10px;padding:64px 14px 14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-auto-rows:minmax(180px,1fr)}.screen-tile{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#05080a;cursor:pointer}.screen-tile.active{border-color:#66dcdab8;box-shadow:0 0 0 2px #66dcda1f}.screen-floating-preview{position:fixed;right:18px;bottom:18px;z-index:70;display:grid;grid-template-rows:34px minmax(0,1fr);width:min(420px,calc(100vw - 28px));height:min(48dvh,300px);overflow:hidden;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#05080a;box-shadow:0 28px 70px #00000070}.screen-floating-preview__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(148,163,184,.18);background:#0b1014eb;color:var(--ink);padding:0 8px 0 12px;font-size:12px;font-weight:800}.screen-floating-preview__bar button{display:inline-grid;width:26px;height:26px;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--soft);cursor:pointer}.screen-floating-preview__bar button:hover{background:#ffffff14;color:var(--ink)}.screen-floating-preview__body{min-width:0;min-height:0}.preview-screen:fullscreen,.preview-screen video:fullscreen{width:100vw;height:100vh;background:#000}.screen-action,.sound-unlock{position:absolute;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#0b1014db;color:var(--ink);padding:0 12px;cursor:pointer}.screen-action{right:14px;top:14px}.floating-action{position:absolute;right:14px;top:60px;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid rgba(91,183,255,.42);border-radius:var(--radius);background:#0b1014db;color:var(--ink);padding:0 12px;cursor:pointer}.screen-action,.floating-action,.sound-unlock,.diagnostics-toggle,.diagnostics-panel,.obs-panel{pointer-events:auto}.diagnostics-toggle{position:absolute;left:14px;bottom:14px;z-index:5;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border:1px solid rgba(102,220,218,.36);border-radius:var(--radius);background:#070d12d1;color:var(--soft);padding:0 11px;box-shadow:0 12px 28px #00000038;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer}.diagnostics-toggle.active,.diagnostics-toggle:hover{border-color:#66dcdaad;color:var(--ink);background:#08262aeb}.diagnostics-toggle small{display:inline-grid;min-width:20px;height:20px;place-items:center;border-radius:999px;background:#66dcda29;color:var(--ink);font-size:.72rem;font-weight:800}.diagnostics-panel{position:absolute;left:14px;bottom:58px;z-index:6;display:grid;width:min(480px,calc(100% - 28px));max-height:min(360px,calc(100% - 84px));overflow:hidden;border:1px solid rgba(102,220,218,.34);border-radius:var(--radius);background:#070c10f0;box-shadow:0 20px 44px #00000057;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.diagnostics-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:11px 12px}.diagnostics-panel__header>div:first-child{display:grid;gap:2px}.diagnostics-panel__header strong{color:var(--ink);font-size:.92rem}.diagnostics-panel__header small{color:var(--muted);font-size:.74rem}.diagnostics-panel__actions{display:inline-flex;align-items:center;gap:7px}.diagnostics-panel__actions button{min-height:30px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0a;color:var(--soft);padding:0 9px;font-weight:800;cursor:pointer}.diagnostics-panel__list{display:grid;gap:6px;max-height:286px;overflow:auto;padding:10px}.diagnostics-row{display:grid;grid-template-columns:72px 64px minmax(0,1fr);align-items:start;gap:8px;border:1px solid rgba(255,255,255,.07);border-left:1px solid rgba(102,220,218,.46);border-radius:8px;background:#ffffff09;padding:8px 9px;font-size:.76rem}.diagnostics-row.level-warn{border-left-color:#f6c453}.diagnostics-row.level-error{border-left-color:#ff6b6b}.diagnostics-row__time,.diagnostics-row__scope{color:var(--muted);font-variant-numeric:tabular-nums}.diagnostics-row__scope{text-transform:uppercase}.diagnostics-row__message{min-width:0;color:var(--soft);overflow-wrap:anywhere}.diagnostics-empty{border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);padding:18px;text-align:center}.sound-unlock{left:50%;bottom:16px;border-color:#36d39994;background:#08261ce6;transform:translate(-50%)}.screen-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(2,1fr);opacity:.28}.screen-grid span{border:1px solid var(--line);background:linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px}.screen-copy,.screen-placeholder{position:relative;display:grid;justify-items:center;gap:10px;color:var(--soft);text-align:center}.screen-copy strong,.screen-placeholder strong{color:var(--ink);font-size:1.05rem}.screen-copy small,.screen-placeholder small{color:var(--muted)}.obs-waiting{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-content:center;background:#05080ab8;padding:24px}.obs-panel{position:absolute;left:14px;top:14px;z-index:4;display:grid;width:min(520px,calc(100% - 92px));gap:10px;border:1px solid rgba(91,183,255,.35);border-radius:var(--radius);background:#080d11e6;box-shadow:0 18px 40px #00000047;padding:12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.obs-panel.is-collapsed{width:min(320px,calc(100% - 92px));gap:0;padding-bottom:8px}.obs-panel__title{display:flex;align-items:center;gap:8px;color:var(--ink)}.obs-panel__title span{margin-left:auto;color:var(--muted);font-size:.78rem}.obs-panel__collapse{display:inline-grid;place-items:center;width:28px;height:28px;margin-left:2px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#ffffff0a;color:var(--soft);cursor:pointer}.obs-panel__collapse:hover{color:var(--ink);background:#ffffff14}.obs-panel__collapse svg{transition:transform .16s ease}.obs-panel__collapse svg.is-collapsed{transform:rotate(180deg)}.obs-panel p{margin:0;color:var(--soft);font-size:.82rem;line-height:1.45}.obs-panel__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8px}.obs-panel__grid label{display:grid;gap:5px}.obs-panel__grid span{color:var(--muted);font-size:.75rem}.obs-panel__grid input{min-height:34px;border-radius:6px;font-size:.78rem}.obs-panel__actions{display:flex;flex-wrap:wrap;gap:8px}.obs-panel__actions button{min-height:34px;border:1px solid var(--line);border-radius:var(--radius);background:#101820;color:var(--ink);padding:0 10px;font-weight:800;cursor:pointer}.obs-panel__actions button:first-child{border-color:#36d39985;background:#0e4b36eb}.obs-panel__actions button:disabled{cursor:not-allowed;opacity:.55}.obs-panel.is-collapsed .obs-panel__title{gap:10px}.obs-panel.is-collapsed .obs-panel__title span{margin-left:0;margin-right:auto}.obs-panel.is-collapsed .obs-panel__collapse{margin-left:0}.obs-panel.is-collapsed .obs-panel__grid,.obs-panel.is-collapsed .obs-panel__actions,.obs-panel.is-collapsed p{display:none}.room-error{position:absolute;right:14px;bottom:14px;max-width:min(460px,calc(100% - 28px));border:1px solid rgba(255,107,107,.35);border-radius:var(--radius);background:#401417eb;color:#ffd6d6;padding:10px 12px;font-size:.86rem;line-height:1.45}.remote-audio-sinks{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.source-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#04080ab8;padding:24px}.onboarding-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#04080ab8;padding:20px}.onboarding-dialog{width:min(460px,100%);border:1px solid rgba(54,211,153,.35);border-radius:18px;background:radial-gradient(circle at 100% 0,rgba(91,183,255,.16),transparent 40%),#10181d;box-shadow:0 24px 80px #0000006b;padding:24px}.onboarding-dialog__brand,.onboarding-dialog__actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.onboarding-dialog__brand{justify-content:flex-start;color:var(--soft);font-size:.82rem;font-weight:800}.onboarding-dialog__brand img{width:38px;height:38px;border-radius:10px}.onboarding-dialog__progress{display:flex;gap:6px;margin:28px 0 22px}.onboarding-dialog__progress span{width:30px;height:4px;border-radius:999px;background:var(--line)}.onboarding-dialog__progress span.active{background:var(--accent)}.onboarding-dialog h2{margin:6px 0 10px;color:var(--ink);font-size:clamp(1.5rem,4vw,2rem)}.onboarding-dialog>p:not(.eyebrow){min-height:76px;color:var(--muted);line-height:1.7}.onboarding-dialog__actions{margin-top:22px}.quiet-button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:8px 0}.source-picker{display:grid;gap:18px;width:min(960px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;border:1px solid var(--line-strong);border-radius:var(--radius);background:#0f151a;box-shadow:var(--shadow);padding:18px}.relay-dialog{display:grid;gap:14px;width:min(560px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;border:1px solid var(--line-strong);border-radius:var(--radius);background:#0f151a;box-shadow:var(--shadow);padding:18px}.relay-note,.relay-dialog__status{color:var(--muted);line-height:1.6}.relay-dialog__status{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff08;padding:10px 12px;font-size:.84rem}.relay-toggle{justify-content:flex-start}.source-picker__header{display:flex;align-items:start;justify-content:space-between;gap:16px}.source-picker__header button{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:var(--radius);background:#0b1014;color:var(--soft);cursor:pointer}.source-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.source-tile{display:grid;gap:9px;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:#0b1014;color:var(--ink);padding:9px;cursor:pointer;text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease}.source-tile:hover{transform:translateY(-1px);border-color:#5bb7ff8a;background:#101820}.source-tile.selected{border-color:var(--accent);background:#36d3991a;box-shadow:0 0 0 2px #36d39924}.source-tile>img{width:100%;aspect-ratio:16 / 10;object-fit:cover;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#05080a}.source-tile span{display:flex;align-items:center;gap:7px;min-width:0}.source-tile strong{overflow:hidden;color:var(--soft);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.source-icon{width:18px;height:18px;flex:0 0 auto;border-radius:4px}.source-audio-panel{display:grid;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff06;padding:12px}.source-audio-panel__header,.source-picker__footer,.source-picker__footer>div{display:flex;align-items:center;gap:10px}.source-audio-panel__header,.source-picker__footer{justify-content:space-between}.source-audio-panel__header strong{color:var(--ink)}.source-audio-panel__header button,.source-picker__footer button:not(.primary-button){display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid var(--line);border-radius:var(--radius);background:#0b1014;color:var(--soft);padding:0 12px;cursor:pointer}.audio-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.audio-mode{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;min-height:66px;border:1px solid var(--line);border-radius:var(--radius);background:#0b1014;padding:10px;cursor:pointer}.audio-mode.active{border-color:#36d399c2;background:#36d39917}.audio-mode input{grid-row:span 2;margin-top:2px;accent-color:var(--accent)}.audio-mode span{color:var(--ink);font-size:.86rem;font-weight:800}.audio-mode small{color:var(--muted);line-height:1.35}.audio-app-select{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px}.audio-app-select span,.source-picker__footer span{color:var(--muted);font-size:.84rem}.audio-process-list{display:grid;gap:8px;min-width:0}.audio-process-list__toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:.78rem}.audio-process-list__toolbar>div{display:flex;gap:6px}.audio-process-list__action{border:1px solid var(--line);border-radius:6px;background:#ffffff0a;color:var(--soft);padding:5px 8px;cursor:pointer}.audio-process-list__action:hover:not(:disabled){border-color:#36d3998c;color:var(--ink)}.audio-process-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);align-items:center;gap:12px;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:#0b1014;padding:9px 10px}.audio-process-row.selected{border-color:#36d3998c;background:#36d3990f}.audio-process-row__top,.audio-process-row__volume{display:flex;align-items:center;min-width:0;gap:8px}.audio-process-row__top{cursor:pointer}.audio-process-row__top input{flex:0 0 auto;accent-color:var(--accent)}.audio-process-row__top span{min-width:0;overflow:hidden;color:var(--soft);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.audio-process-row__volume input[type=range]{min-width:0;flex:1 1 auto;accent-color:var(--accent)}.audio-process-row__volume output{flex:0 0 3.4em;color:var(--muted);font-size:.78rem;text-align:right}.audio-process-row__volume-label{flex:0 0 auto;color:var(--muted);font-size:.74rem}.audio-selection-summary{display:flex;flex-wrap:wrap;gap:6px}.audio-selection-summary span{max-width:100%;overflow:hidden;border:1px solid rgba(54,211,153,.28);border-radius:999px;background:#36d39914;color:#c8ffec;padding:4px 8px;font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.source-picker__footer{position:sticky;bottom:-18px;border-top:1px solid var(--line);background:#0f151a;padding-top:12px}@media(max-width:560px){.audio-process-list__toolbar{align-items:flex-start;flex-direction:column}}.participant-list{display:grid;gap:9px}.participant{display:grid;grid-template-columns:38px minmax(0,1fr) auto 12px;align-items:center;gap:10px;min-height:54px;border:1px solid var(--line);border-radius:var(--radius);background:#0b1014;padding:8px}.avatar{display:grid;width:38px;height:38px;place-items:center;border-radius:6px;background:#5bb7ff1f;color:var(--accent-2);font-weight:800}.participant strong,.lk-participant-name{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;color:var(--ink);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.participant small{color:var(--muted)}.participant__details,.participant__identity{min-width:0}.participant__details{display:grid;gap:6px}.participant__identity{display:grid;gap:2px}.participant-volume{display:grid;grid-template-columns:26px minmax(44px,1fr) 32px;align-items:center;gap:6px;min-width:0}.participant-volume__mute{display:inline-grid;width:26px;height:24px;place-items:center;border:1px solid var(--line);border-radius:6px;background:#ffffff09;color:var(--muted);padding:0}.participant-volume__mute:hover,.participant-volume__mute.is-muted{border-color:#3ad5a473;color:var(--accent)}.participant-volume__slider{width:100%;min-width:0;accent-color:var(--accent)}.participant-volume output{color:var(--muted);font-size:.66rem;font-variant-numeric:tabular-nums;text-align:right}.host-badge{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;border:1px solid rgba(255,209,102,.38);border-radius:999px;background:#ffd1661a;color:#ffe6a6;padding:2px 7px;font-size:.68rem;font-weight:900}.kick-button{min-height:30px;border:1px solid rgba(255,107,107,.36);border-radius:7px;background:#40141775;color:#ffd0d0;padding:0 9px;font-size:.76rem;font-weight:900;cursor:pointer}.kick-button:hover,.kick-button:focus-visible{border-color:#ff6b6bb8;background:#6f1d23c7;color:#fff}.speak-dot{width:10px;height:10px;border-radius:99px;background:var(--line-strong)}.speak-dot.active{background:var(--accent);box-shadow:0 0 0 4px #36d3991f}.audio-note{margin-top:auto;border-top:1px solid var(--line);color:var(--muted);padding-top:12px;font-size:.82rem}.control-bar{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),#0d1318f0;padding:10px}.volume-controls{display:grid;flex:1 1 560px;grid-template-columns:minmax(220px,1.25fr) repeat(2,minmax(190px,1fr));gap:10px}.device-control,.volume-control{display:grid;align-items:center;gap:10px;min-height:44px;border:1px solid var(--line);border-radius:var(--radius);background:#0b1014;padding:0 10px}.device-control{grid-template-columns:minmax(92px,auto) minmax(0,1fr)}.volume-control{grid-template-columns:minmax(92px,auto) minmax(86px,1fr) 44px}.device-control span,.volume-control span{display:inline-flex;align-items:center;gap:7px;color:var(--soft);font-size:.84rem;font-weight:800;white-space:nowrap}.volume-control input[type=range]{min-height:auto;width:100%;accent-color:var(--accent);padding:0}.volume-control strong{color:var(--ink);font-size:.8rem;text-align:right}.invite-popover{position:absolute;right:138px;bottom:calc(100% + 10px);z-index:5;display:grid;width:min(460px,calc(100vw - 32px));gap:10px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#0f151afa;box-shadow:var(--shadow);padding:14px}.invite-popover__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.invite-popover strong{color:var(--ink)}.invite-field{gap:6px}.invite-field span{color:var(--muted);font-size:.78rem}.invite-close{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:999px;background:#0b1014;color:var(--soft);cursor:pointer}.invite-popover input{min-height:40px;font-size:.86rem}.invite-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.invite-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:var(--radius);background:#0b1014;color:var(--soft);cursor:pointer}.invite-actions button:disabled{opacity:.52;cursor:not-allowed}.control-button{min-width:112px;border:1px solid var(--line);background:#0b1014;color:var(--soft);padding:0 14px}.control-button.active{border-color:#29d39194;background:#29d3911f;color:var(--ink)}.control-button.share.active{border-color:#ffd1668c;background:#ffd1661a}.control-button.danger{border-color:#ff6b6b57;color:#ffc9c9}.control-button:disabled{cursor:not-allowed;opacity:.48;transform:none}.control-hint{display:flex;align-items:center;max-width:360px;color:var(--muted);font-size:.78rem;line-height:1.45}@media(max-width:1040px){.app-shell{grid-template-columns:1fr}.app-shell.in-room .side-panel{display:none}.side-panel{border-right:0;border-bottom:1px solid var(--line)}.room-grid{grid-template-columns:1fr}}@media(max-width:660px){.side-panel,.stage{padding:16px}.room-header{align-items:flex-start;flex-direction:column}.status-pills{justify-content:flex-start}.toggle-row,.port-grid,.invite-entry-row{grid-template-columns:1fr}.control-button{flex:1 1 130px}.volume-controls{flex-basis:100%;grid-template-columns:1fr}.audio-mode-grid,.source-picker__footer{grid-template-columns:1fr}.audio-mode-grid{display:grid;grid-template-columns:1fr}.audio-process-row{grid-template-columns:1fr;gap:8px}.source-picker__footer,.source-picker__footer>div{align-items:stretch;flex-direction:column}.live-screen,.preview-screen{min-height:320px}.user-center-backdrop{align-items:stretch;padding:10px}.user-center-dialog{max-height:none;min-height:calc(100dvh - 20px)}.user-center__header,.user-center__identity,.user-center__content,.user-center__footer{padding-left:14px;padding-right:14px}.user-center__identity,.user-center__footer{align-items:flex-start;flex-direction:column}.user-center__stats{grid-template-columns:1fr}.user-center__footer>button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.preview-screen.app-fullscreen-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;width:100vw;height:100vh;min-height:100vh;border-radius:0;background:#000}.preview-screen.app-fullscreen-preview video,.preview-screen.app-fullscreen-preview .encoded-screen-canvas{width:100vw;height:100vh;object-fit:contain;pointer-events:none}.preview-screen.app-fullscreen-preview .screen-action{position:fixed;z-index:100;right:18px;top:18px;opacity:.22;transition:opacity .16s ease,background .16s ease}.preview-screen.app-fullscreen-preview .screen-action:hover,.preview-screen.app-fullscreen-preview .screen-action:focus-visible{opacity:1}.preview-screen.app-fullscreen-preview .obs-panel,.preview-screen.app-fullscreen-preview .room-error,.preview-screen.app-fullscreen-preview .obs-waiting,.preview-screen.app-fullscreen-preview .screen-copy,.preview-screen.app-fullscreen-preview .screen-placeholder,.preview-screen.app-fullscreen-preview .sound-unlock,.preview-screen.app-fullscreen-preview .diagnostics-toggle,.preview-screen.app-fullscreen-preview .diagnostics-panel,.preview-screen.app-fullscreen-preview .screen-stage-toolbar,.preview-screen.app-fullscreen-preview .screen-filmstrip,.preview-screen.app-fullscreen-preview .floating-action{display:none!important}.preview-screen.floating-mode{min-height:100%}body.partylink-floating-window .app-shell{grid-template-columns:1fr}body.partylink-floating-window .side-panel{display:none}body.partylink-floating-window .stage{padding:10px}body.partylink-floating-window .room{min-height:100dvh;gap:10px}body.partylink-floating-window .room-grid{grid-template-columns:1fr}body.partylink-floating-window .people-pane{max-height:120px;overflow:auto}body.partylink-floating-window .control-bar{position:sticky;bottom:0;z-index:10;grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:12px}body.partylink-floating-window .volume-controls,body.partylink-floating-window .control-hint{grid-column:1 / -1}body.partylink-floating-window .control-button{width:100%}body.partylink-floating-window .control-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.partylink-floating-window .invite-popover{left:10px;right:10px;width:auto}html,body,#root{width:100%;min-height:100%}body{overflow:hidden}.app-shell{height:100dvh;min-height:100dvh;overflow:hidden}.side-panel,.stage{min-height:0;overflow:auto;scrollbar-color:rgba(102,220,218,.42) transparent}.brand-mark{width:56px;height:56px;overflow:hidden;border-color:#66dcda85;background:#07101a;box-shadow:0 0 0 1px #63f2c414,0 16px 34px #00000047}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand small{display:block;margin-top:4px;color:var(--muted);font-size:.76rem;line-height:1.3}.room{height:calc(100dvh - 48px);min-height:0;grid-template-rows:auto auto auto minmax(320px,1fr) auto}.room-grid{min-height:320px;align-self:stretch}.room-network-row{min-width:0;min-height:0}.screen-pane,.people-pane,.live-screen,.preview-screen{min-height:0}.live-screen,.preview-screen{min-height:clamp(300px,56dvh,640px)}.control-bar{align-items:stretch;flex-shrink:0;position:relative;z-index:2}.control-button,.primary-button,.invite-actions button,.invite-entry-row button,.device-row button,.relay-settings-button,.source-picker__footer button,.source-audio-panel__header button{-webkit-user-select:none;user-select:none}button:disabled,select:disabled,input:disabled{cursor:not-allowed;opacity:.55}.invite-popover{right:10px;max-height:min(70dvh,520px);overflow:auto}.invite-field input{font-size:.82rem}.about-strip{border-radius:var(--radius);background:#ffffff06;padding:10px}@media(max-width:1040px){body{overflow:auto}.app-shell{height:auto;min-height:100dvh;overflow:visible}.side-panel,.stage{overflow:visible}.app-shell.in-room{height:100dvh;overflow:hidden}.app-shell.in-room .stage{height:100dvh;overflow:auto}.room{height:auto;min-height:calc(100dvh - 32px);grid-template-rows:auto auto auto minmax(320px,auto) auto}}@media(max-width:760px){.brand{align-items:flex-start}.brand-mark{width:52px;height:52px;flex:0 0 auto}h1{font-size:1.5rem}.join-card,.server-card{box-shadow:none}.room{gap:12px}.room-grid{gap:12px;min-height:320px}.people-pane{max-height:28dvh;overflow:auto}.live-screen,.preview-screen{min-height:min(52dvh,390px)}.control-bar{position:sticky;bottom:0;z-index:8;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:10px 10px 0 0;padding-bottom:max(12px,env(safe-area-inset-bottom))}.volume-controls,.control-hint,.invite-popover{grid-column:1 / -1}.control-button{width:100%;min-width:0;padding:0 10px}.control-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-quality-grid{grid-template-columns:1fr}.common-quality-row{grid-template-columns:repeat(2,minmax(0,1fr))}.invite-actions{grid-template-columns:1fr}.invite-popover{left:10px;right:10px;bottom:calc(100% + 8px);width:auto}.diagnostics-toggle{left:10px;bottom:10px;max-width:calc(100% - 20px)}.diagnostics-panel{left:10px;right:10px;bottom:54px;width:auto;max-height:min(48dvh,340px)}.diagnostics-row{grid-template-columns:64px 54px minmax(0,1fr);gap:6px;padding:7px;font-size:.72rem}.source-picker-backdrop{align-items:stretch;padding:10px}.source-picker,.relay-dialog{max-height:calc(100dvh - 20px);padding:14px}.source-grid{grid-template-columns:1fr}}.profile-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:12px}.profile-row>label:last-child{min-width:0}.avatar-upload{display:grid;justify-items:center;gap:5px;color:var(--muted);cursor:pointer;font-size:.7rem;font-weight:700}.avatar-upload input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.avatar-upload .avatar{width:50px;height:50px}.avatar{display:inline-grid;width:36px;height:36px;flex:0 0 auto;place-items:center;overflow:hidden;border:1px solid rgba(107,182,255,.36);border-radius:50%;background:#13212a;color:var(--ink);font-size:.8rem;font-weight:800}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.config-refresh-button,.room-refresh-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(107,182,255,.36);border-radius:var(--radius);background:#6bb6ff14;color:var(--soft);cursor:pointer;font-weight:800}.config-refresh-button{min-height:40px;width:100%}.room-refresh-button{width:32px;height:32px;padding:0}.config-refresh-button:hover,.room-refresh-button:hover{border-color:#6bb6ffb8;background:#6bb6ff26;color:var(--ink)}.is-spinning{animation:partylink-spin .7s linear infinite}@keyframes partylink-spin{to{transform:rotate(360deg)}}.about-strip{gap:4px;color:var(--muted)}.about-strip strong{color:var(--soft);font-size:.78rem}.room{gap:12px}.room-header{align-items:center;padding:2px 2px 0}.room-header h2{font-size:clamp(1.45rem,1.7vw,1.9rem);letter-spacing:0}.status-pills{align-items:center}.network-stats{align-items:center;flex-wrap:nowrap;min-width:0;overflow-x:auto;min-height:34px;padding:0 2px 2px;scrollbar-width:thin}.network-stats span{flex:0 0 auto;border-radius:6px;padding:5px 8px;font-variant-numeric:tabular-nums;font-size:.74rem}.room-grid{gap:12px;grid-template-columns:minmax(0,1fr) minmax(220px,264px)}.screen-pane{display:grid;min-height:0;background:#05080a}.live-screen,.preview-screen{min-height:clamp(260px,52dvh,720px);background:#05080a}.screen-main,.screen-player{display:grid;place-items:center;min-width:0;min-height:0}.screen-tile-grid{grid-auto-rows:minmax(150px,1fr)}.obs-panel{left:10px;top:10px;width:min(360px,calc(100% - 76px));padding:8px 10px}.obs-panel.is-collapsed{width:min(250px,calc(100% - 76px));padding:7px 9px}.obs-panel__title{min-width:0}.obs-panel__title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.obs-panel__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-bar{gap:10px}.control-button,.primary-button,.invite-actions button,.invite-entry-row button,.device-row button{min-height:40px}@media(max-width:1040px){.room-grid{grid-template-columns:minmax(0,1fr)}.people-pane{max-height:180px;overflow:auto}}@media(max-width:760px){.side-panel{padding:16px}.stage{padding:12px}.room-header{align-items:flex-start}.status-pills{width:100%;justify-content:flex-start}.live-screen,.preview-screen{min-height:min(50dvh,420px)}.screen-floating-preview{right:10px;bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100vw - 20px);height:min(44dvh,280px)}.obs-panel{left:8px;top:8px;width:min(250px,calc(100% - 62px))}.obs-panel.is-collapsed{width:min(216px,calc(100% - 62px))}.control-bar{border-radius:8px 8px 0 0}}@media(prefers-reduced-motion:reduce){.is-spinning{animation:none}}body.partylink-android-webview{min-height:100%;overflow-x:hidden!important;overflow-y:auto!important;touch-action:pan-y;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch}body.partylink-android-webview #root{min-height:100%}body.partylink-android-webview .app-shell,body.partylink-android-webview .app-shell.in-room{height:auto;min-height:100dvh;overflow:visible}body.partylink-android-webview .side-panel,body.partylink-android-webview .stage{min-height:0;overflow:visible}body.partylink-android-webview .stage{padding-bottom:calc(18px + env(safe-area-inset-bottom))}body.partylink-android-webview .room{height:auto;min-height:calc(100dvh - 32px)}body.partylink-android-webview .room-grid{grid-template-columns:minmax(0,1fr)}body.partylink-android-webview .people-pane{max-height:34dvh;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}body.partylink-android-webview .live-screen,body.partylink-android-webview .preview-screen{min-height:min(48dvh,420px)}body.partylink-android-webview .screen-main,body.partylink-android-webview .screen-player,body.partylink-android-webview .screen-main video,body.partylink-android-webview .screen-main canvas,body.partylink-android-webview .preview-screen video,body.partylink-android-webview .preview-screen canvas{min-width:0;min-height:0}body.partylink-android-webview .multi-screen-stage,body.partylink-android-webview .screen-main,body.partylink-android-webview .screen-main>.screen-player{width:100%;height:100%}body.partylink-android-webview .screen-main video,body.partylink-android-webview .screen-main canvas,body.partylink-android-webview .preview-screen video,body.partylink-android-webview .preview-screen canvas{display:block;width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain}@media(orientation:landscape){body.partylink-android-webview .live-screen,body.partylink-android-webview .preview-screen,body.partylink-android-webview .app-shell.in-room .room-grid{min-height:min(78dvh,620px)}}body.partylink-android-webview .control-bar{position:static}@media(max-width:600px){body.partylink-android-webview{height:auto!important;overflow-y:scroll!important}body.partylink-android-webview #root{height:auto!important}body.partylink-android-webview .auth-shell{display:block;height:auto;min-height:calc(100dvh - 1px);padding:16px 16px calc(24px + env(safe-area-inset-bottom))}body.partylink-android-webview .auth-card{margin:0 auto}}.auth-shell{display:grid;min-height:100dvh;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(41,211,145,.08),transparent 38%),#090d10}.auth-loading{display:grid;min-height:100dvh;place-items:center;color:var(--muted);background:#090d10}.auth-card{display:grid;width:min(440px,100%);gap:14px;border:1px solid var(--line-strong);border-radius:12px;background:#111820;box-shadow:0 28px 80px #0006;padding:24px}.auth-brand{display:flex;align-items:center;gap:14px}.auth-brand__mark{display:grid;width:52px;height:52px;place-items:center;overflow:hidden;border:1px solid rgba(41,211,145,.48);border-radius:10px;background:#07101a}.auth-brand__mark img{width:100%;height:100%;object-fit:cover}.auth-brand h1{margin:0;font-size:1.55rem}.auth-lead{margin:-4px 0 0;color:var(--muted);line-height:1.55}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;border:1px solid var(--line);border-radius:8px;background:#0b1014;padding:4px}.auth-tabs button{min-height:38px;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-weight:800}.auth-tabs button.active{background:#29d39124;color:var(--ink)}.auth-forgot-link{justify-self:end;margin:-8px 2px -2px;border:0;background:transparent;color:var(--accent-2);cursor:pointer;font-size:.78rem;font-weight:800}.auth-forgot-link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.auth-form{display:grid;gap:10px}.auth-input-wrap{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#080d11;color:var(--muted);padding:0 10px}.auth-input-wrap:focus-within{border-color:var(--accent-2);box-shadow:0 0 0 2px #6bb6ff1f}.auth-input-wrap input{min-width:0;min-height:40px;border:0;background:transparent;padding:0}.auth-input-wrap input:focus-visible{outline:0}.auth-input-action{display:grid;width:28px;height:28px;place-items:center;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.auth-code-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px}.auth-code-row button,.verify-code-button{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#6bb6ff14;color:var(--soft);cursor:pointer;font-size:.82rem;font-weight:800}.auth-code-row button:disabled,.verify-code-button:disabled{cursor:not-allowed;opacity:.56}.verify-code-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.verify-code-button.verified{border-color:#29d39180;background:#29d3911a;color:#b9f5d9}.auth-submit{display:inline-flex;align-items:center;justify-content:space-between;min-height:46px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#7be3ff);color:#04100c;padding:0 16px;cursor:pointer;font-weight:900}.auth-submit:disabled{cursor:not-allowed;opacity:.62}.auth-message{margin:0;border-radius:8px;padding:10px 12px;font-size:.82rem;line-height:1.45}.auth-message--inline{margin:-2px 0 0}.auth-message.error{border:1px solid rgba(255,107,107,.35);background:#ff6b6b14;color:#ffc9c9}.auth-message.notice{border:1px solid rgba(41,211,145,.3);background:#29d39114;color:#b9f5d9}.auth-benefits{display:none;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:.75rem}.auth-benefits span{display:inline-flex;align-items:center;gap:5px}.auth-footnote{display:none;border-top:1px solid var(--line);color:var(--muted);padding-top:14px;font-size:.72rem;line-height:1.45}.auth-test-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px dashed rgba(255,209,102,.56);border-radius:8px;background:#ffd1660f;color:#ffe9a3;padding:11px 12px}.auth-test-entry>div{display:grid;gap:3px;min-width:0}.auth-test-entry strong{font-size:.82rem}.auth-test-entry span{color:var(--muted);font-size:.73rem;line-height:1.42}.auth-test-entry button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid rgba(255,209,102,.54);border-radius:7px;background:#ffd1661f;color:#fff0b8;cursor:pointer;font-weight:800;padding:0 10px}.test-environment-banner{position:fixed;z-index:50;top:10px;right:12px;max-width:min(480px,calc(100vw - 24px));border:1px solid rgba(255,209,102,.62);border-radius:7px;background:#3d3010f5;box-shadow:0 12px 28px #00000047;color:#fff0b8;font-size:.77rem;font-weight:750;line-height:1.4;padding:9px 12px}.legal-consent{display:grid;gap:7px;border:1px solid var(--line);border-radius:8px;background:#0b1116;padding:10px;color:var(--muted);font-size:.75rem;line-height:1.45}.legal-consent__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink)}.legal-consent__heading strong{font-size:.82rem}.legal-consent__heading span{color:var(--accent);font-size:.7rem;font-variant-numeric:tabular-nums}.legal-consent__hint{display:none;color:var(--muted)}.legal-consent__items{display:grid;gap:5px}.legal-consent__compact{display:flex;align-items:center;flex-wrap:wrap;gap:2px 5px}.legal-consent__compact>input{width:16px;height:16px;flex:0 0 auto;margin:0 2px 0 0;accent-color:var(--accent)}.legal-consent__compact>label{display:inline;cursor:pointer}.legal-consent__age-note{color:var(--muted)}.legal-consent__item{display:flex;align-items:flex-start;gap:6px;min-width:0}.legal-consent__item input{width:16px;height:16px;flex:0 0 auto;margin:2px 0 0;accent-color:var(--accent)}.legal-consent__item>label{flex:0 1 auto;cursor:pointer}.legal-consent__item button{border:0;background:transparent;color:var(--accent-2);cursor:pointer;padding:0;font:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px}.legal-consent__item button:hover,.legal-consent__item button:focus-visible{color:var(--ink)}.legal-consent__age{border-top:1px solid var(--line);margin-top:1px;padding-top:7px}@media(max-width:520px){.legal-consent__item{flex-wrap:wrap}.legal-consent__item button{margin-left:24px;flex-basis:calc(100% - 24px)}.legal-consent__age>label{flex:1 1 calc(100% - 24px)}}.legal-dialog-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:auto;background:#020508bd;padding:22px}.legal-dialog{display:grid;width:min(780px,100%);max-height:min(800px,calc(100dvh - 44px));grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line-strong);border-radius:10px;background:#10171e;box-shadow:0 30px 90px #0000008c}.legal-dialog__header,.legal-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px}.legal-dialog__header{border-bottom:1px solid var(--line)}.legal-dialog__header h2{margin:3px 0 0;color:var(--ink);font-size:1.1rem}.legal-dialog__eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:.71rem;font-weight:800;letter-spacing:0}.legal-dialog__header>button{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.legal-dialog__header>button:hover{border-color:var(--line-strong);color:var(--ink)}.legal-dialog__tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);background:#0c1217;padding:8px 12px}.legal-dialog__tabs button{display:inline-flex;min-width:max-content;align-items:center;gap:6px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;padding:7px 9px;font-size:.78rem}.legal-dialog__tabs button.active{border-color:#29d39147;background:#29d3911a;color:var(--ink)}.legal-document{min-height:0;overflow:auto;color:var(--soft);padding:18px 20px 26px;-webkit-overflow-scrolling:touch}.legal-document__meta{margin:0 0 18px;color:var(--muted);font-size:.75rem}.legal-document__section{display:grid;gap:8px;margin-top:18px}.legal-document__section:first-of-type{margin-top:0}.legal-document__section h3,.legal-document__section p,.legal-document__section ul{margin:0}.legal-document__section h3{color:var(--ink);font-size:.91rem}.legal-document__section p,.legal-document__section li{color:var(--soft);font-size:.83rem;line-height:1.7}.legal-document__section ul{display:grid;gap:6px;padding-left:1.2rem}.legal-dialog__footer{border-top:1px solid var(--line);color:var(--muted);font-size:.74rem}.legal-dialog__footer button{min-height:34px;border-radius:6px;background:var(--accent);color:#04100c;cursor:pointer;padding:0 13px;font-size:.78rem;font-weight:900}.account-bar{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:8px;border:1px solid rgba(41,211,145,.24);border-radius:8px;background:#29d3910e;padding:8px}.account-bar__profile{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-width:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer}.account-bar__profile:hover .account-bar__icon{background:#29d3913d}.account-bar__icon{display:grid;width:30px;height:30px;place-items:center;border-radius:7px;background:#29d39124;color:var(--accent)}.account-bar__profile>div:nth-child(2){display:grid;min-width:0;gap:2px}.account-bar strong,.account-bar small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-bar strong{color:var(--soft);font-size:.76rem}.account-bar small{color:var(--muted);font-size:.7rem}.account-bar>button{display:grid;width:30px;height:30px;place-items:center;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.account-bar>button:hover{background:#ff6b6b1f;color:#ffc9c9}.user-center-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;overflow:auto;background:#020508c2;padding:22px}.user-center-dialog{display:grid;width:min(720px,100%);max-height:min(820px,calc(100dvh - 44px));grid-template-rows:auto auto auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line-strong);border-radius:10px;background:#10171e;box-shadow:0 30px 90px #00000094}.user-center__header,.user-center__identity,.user-center__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px}.user-center__header{border-bottom:1px solid var(--line)}.user-center__title,.user-center__status,.user-center__email,.user-center__notice,.user-center__legal button{display:flex;align-items:center;gap:9px}.user-center__title{min-width:0}.user-center__title h2,.user-center__section-heading h3{margin:3px 0 0}.user-center__title h2{font-size:1.18rem}.user-center__header>button{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.user-center__header>button:hover{border-color:var(--line-strong);color:var(--ink)}.user-center__icon{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border:1px solid rgba(41,211,145,.35);border-radius:8px;background:#29d3911a;color:var(--accent)}.user-center__identity{align-items:stretch;border-bottom:1px solid var(--line);background:#ffffff05}.user-center__status{min-width:0}.user-center__status>div{display:grid;min-width:0;gap:2px}.user-center__status strong{color:var(--ink);font-size:.84rem}.user-center__status span,.user-center__email{color:var(--muted);font-size:.76rem}.user-center__status.good{color:var(--accent)}.user-center__status.danger{color:var(--danger)}.user-center__email{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-center__tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);background:#0c1217;padding:8px 12px}.user-center__tabs button{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;padding:0 10px;font-size:.79rem}.user-center__tabs button.active{border-color:#29d39147;background:#29d3911a;color:var(--ink)}.user-center__content{min-height:0;overflow:auto;padding:20px;-webkit-overflow-scrolling:touch}.user-center__overview,.user-center__security{display:grid;gap:18px}.user-center__section-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}.user-center__section-heading h3{font-size:1.02rem}.user-center__section-heading.compact{align-items:center}.user-center__section-heading.compact>span{color:var(--muted);font-size:.72rem}.user-center__badge{border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:800}.user-center__badge.good{border-color:#29d39152;background:#29d3911a;color:var(--accent)}.user-center__badge.danger{border-color:#ff6b6b52;background:#ff6b6b14;color:#ffc9c9}.user-center__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.user-center__stats>div{display:grid;gap:5px;min-width:0;border:1px solid var(--line);border-radius:8px;background:#ffffff06;padding:12px}.user-center__stats span{color:var(--muted);font-size:.72rem}.user-center__stats strong{overflow:hidden;color:var(--ink);font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.user-center__notice{align-items:flex-start;border-left:1px solid var(--accent);background:#29d3910f;color:var(--accent);padding:11px 12px}.user-center__notice>div{display:grid;gap:3px}.user-center__notice strong{color:var(--ink);font-size:.82rem}.user-center__notice span,.user-center__danger-zone>p{color:var(--muted);font-size:.78rem;line-height:1.55}.user-center__legal{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:17px}.user-center__legal button{justify-content:flex-start;min-height:36px;border:1px solid var(--line);border-radius:7px;background:#0b1014;color:var(--soft);cursor:pointer;padding:0 10px;font-size:.78rem;text-align:left}.user-center__legal button:hover{border-color:#6bb6ff7a;color:var(--ink)}.user-center__form{display:grid;gap:11px}.user-center__form label{gap:6px}.user-center__form label>span{font-size:.78rem}.user-center__form input:not([type=checkbox]){min-height:40px}.user-center__toggle{display:flex;align-items:center;gap:8px}.user-center__toggle input{min-height:auto;accent-color:var(--accent)}.user-center__toggle span{color:var(--muted);font-size:.76rem;font-weight:500}.user-center__form .primary-button,.user-center__form .danger-button{width:100%}.user-center__danger-zone{display:grid;gap:10px;border-top:1px solid rgba(255,107,107,.26);padding-top:18px}.user-center__danger-zone>p{margin:0}.danger-eyebrow{color:var(--danger)}.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid rgba(255,107,107,.38);border-radius:var(--radius);background:#ff6b6b1a;color:#ffc9c9;cursor:pointer;font-weight:800}.danger-button:hover{border-color:#ff6b6ba6;background:#ff6b6b29}.user-center__message{margin:0;border:1px solid var(--line);border-radius:7px;padding:10px 12px;font-size:.78rem;line-height:1.45}.user-center__message.error{border-color:#ff6b6b59;background:#ff6b6b14;color:#ffc9c9}.user-center__message.notice{border-color:#29d39152;background:#29d39114;color:var(--accent)}.user-center__footer{border-top:1px solid var(--line);color:var(--muted);font-size:.72rem}.user-center__footer>span{min-width:0}.user-center__footer>button{min-height:34px;border:1px solid rgba(255,107,107,.32);border-radius:6px;background:transparent;color:#ffc9c9;cursor:pointer;padding:0 11px;font-size:.76rem;font-weight:800}.user-center__footer>button:hover{background:#ff6b6b1a}.room-status-callout{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:9px;border:1px solid var(--line);border-left:1px solid var(--accent-2);border-radius:8px;background:#6bb6ff0e;color:var(--accent-2);padding:9px 11px}.room-status-callout>div{display:grid;gap:2px;min-width:0}.room-status-callout strong{color:var(--ink);font-size:.82rem}.room-status-callout span{color:var(--muted);font-size:.76rem;line-height:1.4}.room-status-callout.good{border-left-color:var(--accent);color:var(--accent)}.room-status-callout.warn{border-left-color:var(--warning);background:#ffd1660f;color:var(--warning)}.room-status-callout.danger{border-left-color:var(--danger);background:#ff6b6b0f;color:var(--danger)}.control-bar{display:grid;grid-template-columns:repeat(4,minmax(104px,1fr));align-items:stretch}.volume-controls{grid-column:1 / -1;min-width:0}.control-hint{grid-column:1 / -1}@media(max-width:780px){.auth-shell{align-items:start;padding:16px}.auth-card{padding:20px}.control-bar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}@media(max-width:430px){.auth-test-entry{grid-template-columns:1fr}.auth-test-entry button{width:100%}.auth-code-row{grid-template-columns:1fr}.auth-code-row button{width:100%}.legal-dialog-backdrop{align-items:stretch;padding:10px}.legal-dialog{max-height:none;min-height:calc(100dvh - 20px)}.legal-dialog__header,.legal-dialog__footer,.legal-document{padding-left:14px;padding-right:14px}.legal-dialog__footer span{display:none}}body{background:#080d12}.app-shell{grid-template-columns:minmax(280px,300px) minmax(0,1fr)}.side-panel{gap:14px;overflow-y:auto;background:#0c1217;padding:18px}.brand{align-items:center;gap:11px}.brand-mark{width:48px;height:48px;flex:0 0 auto;box-shadow:none}.brand .eyebrow{font-size:.66rem}.brand h1{font-size:1.42rem}.brand small{max-width:188px;font-size:.7rem}.join-card,.server-card{box-shadow:none}.stage{min-width:0;background:#0a1015;padding:18px 20px 20px}.room{gap:12px;grid-template-rows:auto auto auto minmax(0,1fr) auto}.room-header{min-height:52px;border-bottom:1px solid rgba(142,160,170,.18);padding:0 2px 12px}.room-header h2{font-size:clamp(1.35rem,1.8vw,1.75rem)}.status-pills{min-width:0;gap:6px}.status-pills span,.status-pills button{min-height:32px;border:1px solid var(--line);border-radius:7px;background:#101820;padding:0 9px;color:var(--soft);font-size:.76rem;white-space:nowrap}.status-pills span{display:inline-flex}.status-pills button{width:32px;padding:0}.room-status-callout{border-left-width:2px;background:#101820;padding:9px 11px}.room-status-callout strong{font-size:.82rem}.room-status-callout span{font-size:.74rem}.room-network-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;border:1px solid var(--line);border-radius:9px;background:#0d151c;padding:7px 9px}.route-mode-control{flex-wrap:nowrap;gap:5px;min-width:0;min-height:32px;margin:0}.route-mode-control>span{flex:0 0 auto;font-size:.72rem}.route-mode-control button{min-height:30px;padding:0 9px;font-size:.74rem;white-space:nowrap}.route-mode-control small{display:none}.network-stats{justify-content:flex-end;min-width:0;min-height:32px;overflow-x:auto}.network-stats span{padding:5px 8px;font-size:.72rem;white-space:nowrap}.room-grid{grid-template-columns:minmax(0,1fr) 248px;gap:12px}.screen-pane,.people-pane{border-radius:10px;background:#0d151c;box-shadow:none}.screen-pane{background:#05090d}.people-pane{gap:10px;padding:14px}.pane-title{min-height:30px;border-bottom:1px solid rgba(142,160,170,.16);color:var(--ink);font-size:.94rem}.audio-note{font-size:.72rem}.control-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:stretch;gap:8px;border-radius:10px;background:#0d151c;padding:10px}.volume-controls{grid-column:1 / -1;grid-template-columns:minmax(210px,1.1fr) repeat(2,minmax(150px,1fr));gap:8px}.device-control,.volume-control{min-width:0;min-height:42px;border-radius:8px;background:#0a1117;padding:0 9px}.device-control{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.volume-control{grid-template-columns:minmax(0,auto) minmax(64px,1fr) 40px}.device-control span,.volume-control span{min-width:0;overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.device-control select{min-width:0;overflow:hidden;padding-left:8px;padding-right:22px;text-overflow:ellipsis;white-space:nowrap}.control-button{min-width:0;width:100%;min-height:42px;border-radius:8px;padding:0 11px;font-size:.8rem;white-space:nowrap}.control-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-hint{grid-column:1 / -1;max-width:none;font-size:.72rem}.source-picker{width:min(780px,calc(100vw - 32px));max-height:min(88dvh,780px);gap:14px;border-radius:12px;background:#101820;box-shadow:0 24px 70px #00000075;padding:18px}.source-audio-panel{gap:10px;border-radius:9px;background:#0c141b;padding:11px}.audio-mode-grid{gap:8px}.audio-mode{min-width:0;min-height:60px;border-radius:8px;padding:9px}.audio-mode span,.audio-mode small{min-width:0;overflow:hidden;text-overflow:ellipsis}.audio-mode span{font-size:.8rem;white-space:nowrap}.audio-mode small{font-size:.7rem;white-space:nowrap}.audio-process-row{grid-template-columns:minmax(0,1fr) minmax(180px,.9fr);border-radius:8px}@media(max-width:1240px){.app-shell{grid-template-columns:280px minmax(0,1fr)}.room-grid{grid-template-columns:minmax(0,1fr) 220px}.volume-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.device-control,.volume-control{grid-template-columns:1fr;gap:3px;padding:6px 9px}.device-control{align-content:center}}@media(max-width:1040px){.app-shell{grid-template-columns:1fr}.stage{padding:14px}.room-network-row{grid-template-columns:1fr}.network-stats{justify-content:flex-start}.room-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.room-header{gap:10px}.room-network-row{gap:7px}.route-mode-control{flex-wrap:wrap}.route-mode-control button{flex:1 1 auto}.volume-controls{grid-template-columns:1fr}.device-control,.volume-control{grid-template-columns:minmax(0,1fr) minmax(76px,1.2fr) 40px;gap:8px;min-height:42px;padding:0 9px}.audio-mode-grid{grid-template-columns:1fr 1fr}.audio-process-row{grid-template-columns:1fr}}@media(orientation:landscape)and (min-width:600px)and (max-height:600px){body{overflow:auto}.auth-shell{min-height:100%;align-items:start;overflow:auto;padding:16px}.auth-card{margin:auto}.app-shell:not(.in-room){grid-template-columns:minmax(300px,380px) minmax(0,1fr);height:100dvh;min-height:100dvh;overflow:hidden}.app-shell:not(.in-room) .side-panel{min-height:0;overflow-y:auto;overflow-x:hidden}.app-shell:not(.in-room) .stage{min-height:100dvh;overflow:auto}}@media(orientation:landscape)and (min-width:600px)and (max-height:760px){.app-shell.in-room .stage{min-height:100dvh;overflow:auto}.app-shell.in-room .room{height:auto;grid-template-rows:auto auto auto minmax(320px,auto) auto}.app-shell.in-room .room-grid{min-height:320px}.app-shell.in-room .live-screen,.app-shell.in-room .preview-screen{height:320px;min-height:320px}.app-shell.in-room .control-bar{position:static}.app-shell.in-room .invite-popover{position:fixed;right:12px;bottom:12px;left:auto;width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}}@media(orientation:landscape)and (min-width:600px)and (max-width:760px)and (max-height:760px){.app-shell.in-room .invite-popover{right:12px;left:12px;width:auto}}@media(min-width:1041px){.app-shell.in-room{grid-template-columns:minmax(0,1fr)}.app-shell.in-room .side-panel{display:none}}.room-redesign{height:calc(100dvh - 36px);min-height:0;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px}.room-header--redesign{align-items:center;min-height:64px;border:1px solid var(--line);border-radius:12px;background:#0d151c;padding:11px 13px}.room-identity,.room-identity__title-row,.room-header__actions,.room-network-summary,.screen-pane__header{display:flex;align-items:center}.room-identity{min-width:0;gap:11px}.room-identity__icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid rgba(54,211,153,.42);border-radius:9px;background:#0a1419;color:var(--accent)}.room-identity__copy,.room-identity__title-row{min-width:0}.room-identity__copy{display:grid;gap:2px}.room-identity__copy .eyebrow{color:var(--muted);font-size:.62rem;letter-spacing:.12em;line-height:1;text-transform:uppercase}.room-identity__title-row{gap:10px}.room-identity__title-row h2{min-width:0;overflow:hidden;font-size:clamp(1.2rem,1.7vw,1.55rem);text-overflow:ellipsis;white-space:nowrap}.connection-state{display:inline-flex;align-items:center;flex:0 0 auto;gap:6px;color:var(--accent);font-size:.76rem;font-weight:800;white-space:nowrap}.connection-state__dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:currentColor}.connection-state.warning{color:#f6c453}.connection-state.error{color:#ff7d7d}.room-header__actions{min-width:0;justify-content:flex-end;gap:8px}.room-header__actions .route-mode-control{flex-wrap:nowrap;min-height:34px;margin:0;gap:3px;border:1px solid var(--line);border-radius:8px;background:#0a1117;padding:3px}.room-header__actions .route-mode-control>span{padding:0 5px;color:var(--muted);font-size:.7rem}.room-header__actions .route-mode-control button{min-height:27px;border:0;border-radius:6px;padding:0 8px;font-size:.71rem}.room-header__actions .route-mode-control button.active{background:#36d39926}.room-header__actions .route-mode-control small{display:none}.quality-pill,.room-refresh-button{min-height:34px;border:1px solid var(--line);border-radius:8px;background:#101820}.quality-pill{display:inline-flex;align-items:center;flex:0 0 auto;gap:7px;padding:0 10px;color:var(--soft);font-size:.74rem;white-space:nowrap}.room-refresh-button{display:grid;width:34px;flex:0 0 auto;place-items:center;color:var(--soft);cursor:pointer}.room-refresh-button:hover{border-color:#66dcda80;color:var(--accent-2)}.room-refresh-button:disabled{cursor:wait;opacity:.58}.room-summary{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:10px;min-width:0}.room-summary .room-status-callout{min-width:0}.room-network-summary{min-width:0;gap:9px;border:1px solid var(--line);border-radius:9px;background:#0d151c;padding:7px 10px}.room-network-summary>span{flex:0 0 auto;color:var(--muted);font-size:.7rem;font-weight:800}.room-network-summary>strong{color:var(--soft);font-size:.73rem;font-weight:700}.room-network-summary .network-stats{min-width:0;flex:1 1 auto;justify-content:flex-end;overflow-x:auto}.room-network-summary .network-stats span{border:0;background:transparent;padding:4px 5px}.room-grid{grid-template-columns:minmax(0,1fr) 292px;gap:14px}.screen-pane{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden;border-radius:12px;background:#05090d}.screen-pane__header{justify-content:space-between;min-width:0;min-height:48px;gap:12px;border-bottom:1px solid rgba(142,160,170,.16);background:#0d151c;padding:0 14px}.screen-pane__header>div{display:grid;min-width:0;gap:2px}.screen-pane__header strong{font-size:.84rem}.screen-pane__header span{min-width:0;overflow:hidden;color:var(--muted);font-size:.69rem;text-overflow:ellipsis;white-space:nowrap}.screen-pane__header .screen-pane__quality{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:5px 8px;color:var(--soft);font-size:.7rem}.screen-pane>.preview-screen,.screen-pane>.live-screen{height:100%;min-height:0}.people-pane{min-height:0;border-radius:12px;background:#0d151c;padding:14px}.people-pane .pane-title{display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid rgba(142,160,170,.16);font-size:.84rem}.people-pane .participants-list{min-height:0;overflow-y:auto}.control-bar{position:relative;z-index:2;gap:9px;border-radius:12px;padding:11px}.control-bar .control-button{min-height:44px;border-radius:9px}@media(max-width:1040px){.app-shell.in-room{grid-template-columns:minmax(0,1fr)}.app-shell.in-room .side-panel{display:none}.room-redesign{height:auto;min-height:calc(100dvh - 28px)}.room-summary{grid-template-columns:1fr}.room-network-summary{align-items:flex-start;flex-direction:column;gap:5px}.room-network-summary .network-stats{width:100%;justify-content:flex-start}}@media(max-width:760px){.stage{padding:12px}.room-header--redesign{align-items:stretch;flex-direction:column;gap:10px}.room-header__actions{justify-content:flex-start;flex-wrap:wrap}.room-header__actions .route-mode-control{width:100%;justify-content:space-between}.room-header__actions .route-mode-control button{flex:1 1 0}.room-grid{grid-template-columns:minmax(0,1fr);gap:10px}.screen-pane__header span:not(.screen-pane__quality){display:none}.screen-pane>.preview-screen,.screen-pane>.live-screen{min-height:300px}.control-bar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.control-bar .volume-controls,.control-bar .control-hint,.control-bar .invite-popover{grid-column:1 / -1}}.auth-shell--redesign{min-height:100dvh;background:#080d12;padding:32px}.auth-layout{display:grid;width:min(900px,100%);grid-template-columns:minmax(220px,.78fr) minmax(420px,1fr);align-items:center;gap:clamp(34px,6vw,72px)}.auth-intro{display:grid;gap:30px;min-width:0}.auth-brand--intro{gap:12px}.auth-brand--intro .auth-brand__mark{width:56px;height:56px;border-radius:12px}.auth-brand--intro h2{margin:0;color:var(--ink);font-size:1.46rem;letter-spacing:-.02em}.auth-brand--intro p{margin:4px 0 0;color:var(--muted);font-size:.8rem}.auth-intro__copy{display:grid;gap:9px;max-width:290px}.auth-intro__copy strong{color:var(--ink);font-size:clamp(1.7rem,3vw,2.42rem);letter-spacing:-.035em;line-height:1.12}.auth-intro__copy span{color:var(--muted);font-size:.9rem;line-height:1.6}.auth-feature-list{display:grid;gap:0;max-width:310px;margin:0;padding:0;list-style:none}.auth-feature-list li{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:start;gap:12px;border-top:1px solid rgba(142,160,170,.18);padding:13px 0}.auth-feature-list li>span{width:7px;height:7px;margin-top:6px;border-radius:50%;background:var(--accent)}.auth-feature-list li>div{display:grid;gap:3px}.auth-feature-list strong{color:var(--soft);font-size:.84rem}.auth-feature-list small{color:var(--muted);font-size:.72rem;line-height:1.4}.auth-shell--redesign .auth-card{width:auto;gap:13px;border-color:#8ea0aa3d;border-radius:14px;background:#111820;padding:22px}.auth-card__heading{display:flex;align-items:start;justify-content:space-between;gap:14px}.auth-card__heading>div{display:grid;gap:5px;min-width:0}.auth-card__heading h1{margin:0;color:var(--ink);font-size:1.62rem;letter-spacing:-.025em}.auth-card__heading p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}.auth-card__heading>span{flex:0 0 auto;border:1px solid rgba(54,211,153,.28);border-radius:999px;background:#36d39914;color:var(--accent);font-size:.68rem;font-weight:800;padding:5px 8px}.auth-shell--redesign .auth-tabs{border-radius:9px}.auth-shell--redesign .auth-tabs button{min-height:36px}.auth-shell--redesign .auth-forgot-link{margin:-4px 1px 0}.auth-shell--redesign .auth-form{gap:8px}.auth-shell--redesign .auth-form>label{gap:5px}.auth-shell--redesign .auth-form>label>span{color:var(--soft);font-size:.76rem;font-weight:800}.auth-shell--redesign .auth-input-wrap{min-height:42px;border-radius:8px}.auth-shell--redesign .auth-input-wrap input{min-height:38px}.auth-shell--redesign .auth-code-row{grid-template-columns:minmax(0,1fr) 116px}.auth-shell--redesign .auth-code-row button,.auth-shell--redesign .verify-code-button{min-height:40px}.auth-shell--redesign .verify-code-button{margin-top:1px}.auth-shell--redesign .legal-consent{gap:6px;border-radius:8px;padding:9px 10px;font-size:.72rem}.auth-shell--redesign .legal-consent__compact{gap:3px 5px}.auth-shell--redesign .legal-consent__compact>input{width:15px;height:15px}.auth-shell--redesign .legal-consent__compact button{border:0;background:transparent;color:var(--accent-2);cursor:pointer;padding:0;font:inherit;text-decoration:underline;text-underline-offset:3px}.auth-shell--redesign .legal-consent__compact button:hover,.auth-shell--redesign .legal-consent__compact button:focus-visible{color:var(--ink)}.auth-shell--redesign .auth-submit{min-height:44px;margin-top:2px;border-radius:8px;background:#4ed5bb}.auth-shell--redesign .auth-benefits,.auth-shell--redesign .auth-footnote{display:none}.auth-shell--redesign .auth-test-entry{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px}.auth-shell--redesign .auth-test-entry button{width:100%}@media(max-width:780px){.auth-shell--redesign{display:block;min-height:100dvh;padding:18px 14px 28px}.auth-layout{width:min(520px,100%);grid-template-columns:1fr;gap:20px;margin:0 auto}.auth-intro{gap:16px}.auth-intro__copy{max-width:none}.auth-intro__copy strong{font-size:1.55rem}.auth-intro__copy span,.auth-feature-list{display:none}.auth-shell--redesign .auth-card{padding:18px}}@media(max-width:430px){.auth-shell--redesign .auth-code-row{grid-template-columns:minmax(0,1fr) 108px}.auth-shell--redesign .auth-card__heading>span{display:none}}.source-picker-backdrop{display:flex;align-items:stretch;justify-content:flex-end;padding:0;background:#020609b8}.source-picker,.relay-dialog{width:min(600px,100vw);max-height:100dvh;min-height:0;border:1px solid rgba(142,160,170,.24);border-radius:16px 0 0 16px;background:#111820;box-shadow:-24px 0 60px #00000052;padding:20px}.source-picker{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;overflow:hidden}.source-picker>.source-group,.source-picker>.source-audio-panel{min-height:0}.source-picker>.source-group{overflow:auto;padding-right:3px}.source-picker>.source-group+.source-group{margin-top:-6px}.source-picker__header{align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px}.source-picker__header .eyebrow,.relay-dialog .eyebrow,.onboarding-dialog .eyebrow,.user-center-dialog .eyebrow{display:none}.source-picker__header h3,.relay-dialog h3{margin:0;color:var(--ink);font-size:1.1rem;letter-spacing:-.02em}.source-picker>.source-picker__header h3:after{display:block;margin-top:5px;color:var(--muted);content:"选择画面后，再设置要共享的声音";font-size:.75rem;font-weight:500;letter-spacing:0}.source-group{display:grid;gap:8px}.source-group h4{margin:0;color:var(--soft);font-size:.78rem;font-weight:800}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.source-tile{min-width:0;min-height:104px;border-radius:10px;background:#0c1319;padding:8px}.source-tile>img{height:66px;border-radius:6px}.source-tile>span{min-width:0;margin-top:7px}.source-tile strong{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.source-audio-panel{display:grid;gap:10px;border:1px solid rgba(142,160,170,.16);border-radius:11px;background:#0c141b;padding:13px}.source-audio-panel__header{align-items:center}.source-audio-panel__header strong{color:var(--ink);font-size:.86rem}.source-audio-panel__header button{min-height:30px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--accent-2);cursor:pointer;padding:0 8px;font-size:.72rem}.audio-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.audio-mode{min-height:62px;border-radius:9px;background:#111b23;padding:10px}.audio-mode.active{border-color:#36d399b3;background:#36d39914}.audio-mode span{color:var(--soft);font-size:.77rem}.audio-mode small{color:var(--muted);font-size:.68rem;line-height:1.35}.audio-app-select{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:8px;color:var(--muted);font-size:.74rem}.audio-app-select select{min-width:0;min-height:38px}.audio-process-list{display:grid;gap:7px;max-height:220px;overflow:auto;padding-right:2px}.audio-process-list__toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);background:#0c141b;padding-bottom:7px}.audio-process-list__toolbar>span{color:var(--muted);font-size:.72rem}.audio-process-list__toolbar>div{display:flex;gap:5px}.audio-process-list__action{border:0;background:transparent;color:var(--accent-2);cursor:pointer;padding:3px 4px;font-size:.7rem}.audio-process-row{grid-template-columns:minmax(0,1fr) minmax(190px,.9fr);gap:10px;border:1px solid var(--line);border-radius:8px;background:#111b23;padding:8px 10px}.audio-process-row.selected{border-color:#36d3995c}.audio-process-row__top span{overflow:hidden;color:var(--soft);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.audio-process-row__volume{min-width:0}.audio-process-row__volume-label{color:var(--muted);font-size:.68rem}.audio-process-row__volume output{min-width:35px;color:var(--accent);font-size:.68rem;text-align:right}.audio-selection-summary{display:flex;flex-wrap:wrap;gap:5px}.audio-selection-summary span{max-width:100%;overflow:hidden;border:1px solid rgba(54,211,153,.28);border-radius:999px;background:#36d3990f;color:var(--accent);padding:4px 8px;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.source-picker__footer{position:sticky;bottom:0;z-index:2;align-items:center;border-top:1px solid var(--line);background:#111820;padding-top:14px}.source-picker__footer>span{overflow:hidden;color:var(--muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.source-picker__footer button{min-height:38px;border-radius:8px;padding:0 12px}.relay-dialog{align-self:center;display:grid;width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 32px);grid-template-rows:auto auto auto auto auto minmax(42px,auto) auto;gap:14px;border-radius:14px;padding:20px}.relay-dialog .source-picker__header{margin:-20px -20px 0;padding:17px 20px 14px}.relay-note{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}.relay-dialog>label{display:grid;gap:6px}.relay-dialog>label>span{color:var(--soft);font-size:.75rem;font-weight:800}.relay-dialog input,.relay-dialog select{min-height:40px}.relay-toggle{display:flex!important;align-items:center;gap:8px}.relay-toggle span{color:var(--muted)!important;font-size:.74rem!important;font-weight:500!important}.relay-dialog__status{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#0c141b;color:var(--muted);padding:10px 11px;font-size:.74rem;line-height:1.45}.relay-dialog .source-picker__footer{position:static;margin:0 -20px -20px;padding:14px 20px 20px}.onboarding-backdrop{background:#020609c2}.onboarding-dialog{display:grid;width:min(430px,calc(100vw - 28px));gap:17px;border:1px solid rgba(142,160,170,.24);border-radius:16px;background:#111820;box-shadow:0 28px 80px #00000075;padding:22px}.onboarding-dialog__brand{justify-content:flex-start;border-bottom:1px solid var(--line);padding-bottom:15px}.onboarding-dialog__brand img{width:34px;height:34px;border-radius:9px}.onboarding-dialog__brand span{color:var(--ink);font-size:.92rem;font-weight:800}.onboarding-dialog__progress{justify-content:flex-start;gap:6px}.onboarding-dialog__progress span{width:24px;height:4px;border-radius:999px;background:var(--line-strong)}.onboarding-dialog__progress span.active{width:46px;background:var(--accent)}.onboarding-dialog h2{margin:0;color:var(--ink);font-size:1.38rem;letter-spacing:-.025em}.onboarding-dialog>p:not(.eyebrow){min-height:0;margin:0;color:var(--muted);font-size:.83rem;line-height:1.65}.onboarding-dialog__actions{justify-content:space-between;border-top:1px solid var(--line);padding-top:15px}.invite-popover{width:min(420px,calc(100vw - 24px));gap:11px;border:1px solid rgba(142,160,170,.3);border-radius:14px;background:#111820;padding:15px}.invite-popover__header{border-bottom:1px solid var(--line);padding-bottom:11px}.invite-popover__header strong{color:var(--ink);font-size:.9rem}.invite-field span{color:var(--muted);font-size:.7rem;line-height:1.35}.invite-popover input{min-height:38px;border-radius:8px;font-size:.76rem}.invite-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.invite-actions button:last-child{grid-column:1 / -1}.user-center-backdrop{background:#020609c2;padding:20px}.user-center-dialog{width:min(680px,100%);max-height:min(760px,calc(100dvh - 40px));border-radius:14px;background:#111820}.user-center__header,.user-center__identity,.user-center__footer{padding:14px 18px}.user-center__header{background:#0f171e}.user-center__title h2{margin:0;font-size:1.02rem}.user-center__icon{width:34px;height:34px;border-radius:8px}.user-center__identity{padding-block:12px}.user-center__tabs{gap:6px;padding:7px 12px}.user-center__tabs button{flex:0 0 auto;min-height:32px;border-radius:7px;padding-inline:10px}.user-center__content{padding:17px 18px}.user-center__overview,.user-center__security{gap:14px}.user-center__section-heading h3{margin:0;font-size:.95rem}.user-center__stats{gap:8px}.user-center__stats>div{border-radius:8px;padding:10px}.user-center__notice{padding:10px 11px}.user-center__notice span,.user-center__danger-zone>p{font-size:.74rem}.user-center__legal{gap:6px;padding-top:14px}.user-center__legal button{min-height:34px;border-radius:7px}@media(max-width:760px){.source-picker-backdrop{padding:8px}.source-picker{width:100%;border-radius:14px;padding:16px}.source-picker>.source-picker__header h3:after{content:"先选画面，再设置声音"}.source-picker__footer{gap:9px;align-items:stretch;flex-direction:column}.source-picker__footer>div{width:100%}.source-picker__footer button{flex:1}.audio-process-row{grid-template-columns:1fr}.relay-dialog{width:100%;max-height:calc(100dvh - 16px);border-radius:14px;padding:16px}.relay-dialog .source-picker__header{margin:-16px -16px 0;padding:14px 16px 12px}.relay-dialog .source-picker__footer{margin:0 -16px -16px;padding:12px 16px 16px}.user-center-backdrop{align-items:end;padding:8px}.user-center-dialog{max-height:calc(100dvh - 16px);border-radius:14px}.user-center__identity{display:grid;gap:8px}}@media(max-width:430px){.audio-mode-grid,.source-grid,.user-center__stats{grid-template-columns:1fr}.source-tile{min-height:88px}.source-tile>img{height:54px}.onboarding-dialog{padding:18px}}.source-picker{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.source-picker>.source-group,.source-picker>.source-audio-panel{flex:0 0 auto;overflow:visible}.source-picker__header{position:sticky;top:-20px;z-index:4;flex:0 0 auto;background:#111820}.source-picker__footer{position:sticky;bottom:-20px;flex:0 0 auto;margin-top:0}@media(max-width:760px){.source-picker__header{top:-16px}.source-picker__footer{bottom:-16px}}:root{--ui-bg: #070b0f;--ui-panel: #0c141b;--ui-panel-raised: #101b23;--ui-panel-deep: #081016;--ui-border: rgba(126, 163, 173, .22);--ui-border-strong: rgba(103, 207, 194, .42);--ui-text: #edf5f3;--ui-muted: #88a2a8;--ui-accent: #49d9b0;--ui-blue: #78c9f4}.app-shell:not(.in-room){grid-template-columns:minmax(360px,400px) minmax(0,1fr);background:radial-gradient(circle at 78% 16%,rgba(46,153,147,.13),transparent 30%),#070b0f}.app-shell:not(.in-room) .side-panel{gap:16px;border-right:1px solid rgba(126,163,173,.2);background:linear-gradient(180deg,#0f1f25f5,#091015fa),#0b1217;padding:24px 22px}.app-shell:not(.in-room) .brand{gap:13px;padding:2px 2px 8px}.app-shell:not(.in-room) .brand-mark{width:52px;height:52px;border-radius:15px;border-color:#49d9b08a;background:linear-gradient(145deg,#29847b47,#071017);box-shadow:0 10px 28px #0000003d}.app-shell:not(.in-room) .brand h1{color:var(--ui-text);font-size:1.52rem;letter-spacing:-.03em}.app-shell:not(.in-room) .brand .eyebrow{color:var(--ui-accent);font-size:.65rem;letter-spacing:.14em}.app-shell:not(.in-room) .brand small{max-width:230px;color:var(--ui-muted);font-size:.72rem}.app-shell:not(.in-room) .account-bar{border-color:#49d9b03d;border-radius:13px;background:#0a2323ad;padding:9px}.app-shell:not(.in-room) .join-card{gap:14px;border-color:var(--ui-border);border-radius:18px;background:linear-gradient(160deg,#16252df2,#0b141bfa),var(--ui-panel);padding:18px}.app-shell:not(.in-room) .join-card label>span,.app-shell:not(.in-room) .join-card legend{color:#c9dcda;font-size:.8rem}.app-shell:not(.in-room) .join-card input,.app-shell:not(.in-room) .join-card select{min-height:44px;border-color:#7ea3ad3d;border-radius:10px;background:#071016}.app-shell:not(.in-room) .join-card input:focus,.app-shell:not(.in-room) .join-card select:focus{border-color:var(--ui-border-strong);box-shadow:0 0 0 3px #49d9b014}.app-shell:not(.in-room) .profile-row{gap:14px}.app-shell:not(.in-room) .avatar-upload{gap:6px;color:#9ab4b5}.app-shell:not(.in-room) .avatar-upload .avatar{width:58px;height:58px;border:2px solid rgba(73,217,176,.36);box-shadow:0 0 0 5px #49d9b00f}.app-shell:not(.in-room) .invite-entry-row,.app-shell:not(.in-room) .device-row{gap:7px}.app-shell:not(.in-room) .invite-entry-row button,.app-shell:not(.in-room) .device-row button,.app-shell:not(.in-room) .config-refresh-button{border-color:#7ea3ad3d;border-radius:10px;background:#081218e6}.app-shell:not(.in-room) .field-note{color:#789398;font-size:.7rem;line-height:1.45}.app-shell:not(.in-room) .preset-list{grid-template-columns:1fr 1fr;gap:7px}.app-shell:not(.in-room) .preset{min-height:56px;display:grid;align-content:center;justify-items:start;gap:3px;border-color:#7ea3ad38;border-radius:10px;background:#071016c2}.app-shell:not(.in-room) .preset span{color:#dceae8;font-size:.8rem}.app-shell:not(.in-room) .preset small{color:#779297;overflow:hidden;max-width:100%;font-size:.65rem;text-overflow:ellipsis}.app-shell:not(.in-room) .preset.active{border-color:#49d9b09e;background:linear-gradient(145deg,#16584e6b,#092327bf);box-shadow:inset 0 1px #afffe514}.app-shell:not(.in-room) .toggle-row{gap:7px}.app-shell:not(.in-room) .toggle{min-height:42px;border-color:#7ea3ad38;border-radius:10px;background:#07101694}.app-shell:not(.in-room) .toggle span{color:#c4d6d4;font-size:.76rem}.app-shell:not(.in-room) .primary-button{min-height:48px;border-radius:12px;box-shadow:0 10px 24px #1fa98229;font-size:.9rem}.app-shell:not(.in-room) .server-card{border-color:#7ea3ad2e;border-radius:16px;background:#091218d6;padding:14px}.app-shell:not(.in-room) .server-card__invite{border-color:#7ea3ad2e;border-radius:11px;background:#050d12a6}.app-shell:not(.in-room) .port-grid span{border-color:#7ea3ad29;border-radius:9px;background:#ffffff06;color:#9db4b4;font-size:.69rem}.app-shell:not(.in-room) .stage{display:grid;place-items:center;overflow:auto;background:radial-gradient(circle at 70% 35%,rgba(54,170,160,.1),transparent 28%),linear-gradient(145deg,#071016,#070b0f 62%);padding:clamp(24px,4vw,64px)}.app-shell:not(.in-room) .empty-stage{width:min(1080px,100%);min-height:0;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);grid-template-rows:auto auto auto auto;column-gap:clamp(32px,6vw,92px);row-gap:13px;align-items:center;border:1px solid rgba(126,163,173,.22);border-radius:26px;background:linear-gradient(135deg,#11272cb3,#091218f0 58%),#0b151b;box-shadow:0 24px 70px #00000047,inset 0 1px #ffffff09;padding:clamp(30px,5vw,70px);text-align:left}.app-shell:not(.in-room) .empty-visual{grid-column:1;grid-row:1 / -1;width:100%;height:auto;aspect-ratio:16 / 10;border-color:#78c9f459;border-radius:20px;background:linear-gradient(90deg,rgba(120,201,244,.08) 1px,transparent 1px),linear-gradient(rgba(120,201,244,.08) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(67,204,186,.18),transparent 58%),#081219;background-size:30px 30px,30px 30px,auto,auto;box-shadow:inset 0 0 0 1px #78c9f40f,0 18px 36px #0000003d}.app-shell:not(.in-room) .empty-visual svg{width:62px;height:62px;color:var(--ui-blue);filter:drop-shadow(0 8px 18px rgba(120,201,244,.26))}.app-shell:not(.in-room) .empty-stage h2{grid-column:2;color:var(--ui-text);font-size:clamp(1.8rem,3.4vw,3.2rem);letter-spacing:-.045em}.app-shell:not(.in-room) .empty-stage p{grid-column:2;max-width:480px;color:#91abb0;font-size:.96rem}.app-shell:not(.in-room) .metric-strip{grid-column:2;justify-content:flex-start}.app-shell:not(.in-room) .metric-strip span{border-color:#7ea3ad38;border-radius:999px;background:#071117ad;color:#b4d2d4;padding:8px 13px}.app-shell.in-room .stage{display:flex;justify-content:center;overflow:auto;background:radial-gradient(circle at 80% 0%,rgba(54,176,161,.1),transparent 28%),#070c10;padding:clamp(18px,2.6vw,36px)}.app-shell.in-room .room-redesign{width:min(1540px,100%);height:auto;min-height:0;grid-template-rows:auto auto auto auto;gap:14px}.app-shell.in-room .room-header--redesign{min-height:68px;border-color:#7ea3ad38;border-radius:16px;background:linear-gradient(105deg,#0e2429db,#0a1319f5 52%);padding:11px 14px}.app-shell.in-room .room-identity__icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#3292814d,#09131a)}.app-shell.in-room .room-identity__title-row h2{color:var(--ui-text);font-size:clamp(1.25rem,2vw,1.8rem)}.app-shell.in-room .connection-state{color:var(--ui-accent);font-size:.72rem}.app-shell.in-room .room-header__actions .route-mode-control{border-color:#7ea3ad3d;border-radius:10px;background:#060e13bd}.app-shell.in-room .room-header__actions .route-mode-control button{min-height:28px;border-radius:7px}.app-shell.in-room .room-header__actions .route-mode-control button.active{background:#49d9b02e;color:#e7fff8}.app-shell.in-room .quality-pill,.app-shell.in-room .room-refresh-button{min-height:36px;border-color:#7ea3ad3d;border-radius:10px;background:#060e13bd}.app-shell.in-room .room-summary{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:10px}.app-shell.in-room .room-status-callout,.app-shell.in-room .room-network-summary{min-height:54px;border-radius:12px;background:#0d1b22d1;padding:9px 12px}.app-shell.in-room .room-status-callout strong{color:var(--ui-text);font-size:.78rem}.app-shell.in-room .room-status-callout span{color:#87a2a6;font-size:.7rem}.app-shell.in-room .room-network-summary>span{color:var(--ui-accent);font-size:.68rem}.app-shell.in-room .room-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:14px}.app-shell.in-room .screen-pane{width:100%;height:auto;aspect-ratio:16 / 9;max-height:calc(100dvh - 360px);border-color:#7ea3ad38;border-radius:16px;background:#050a0e}.app-shell.in-room .screen-pane__header{min-height:48px;border-color:#7ea3ad2e;background:#0d1a21e6;padding:0 15px}.app-shell.in-room .screen-pane__header strong{color:var(--ui-text);font-size:.82rem}.app-shell.in-room .screen-pane__header span{color:#7f9a9f;font-size:.68rem}.app-shell.in-room .live-screen,.app-shell.in-room .preview-screen{min-height:0;height:100%;background:radial-gradient(circle at 50% 50%,rgba(31,115,110,.08),transparent 35%),#05090d}.app-shell.in-room .screen-placeholder{width:min(360px,calc(100% - 32px));min-height:150px;border:1px solid rgba(73,217,176,.22);border-radius:18px;background:linear-gradient(145deg,#0e2a2db8,#071218d1);padding:24px}.app-shell.in-room .screen-placeholder svg{color:var(--ui-accent)}.app-shell.in-room .screen-placeholder strong{color:var(--ui-text);font-size:1rem}.app-shell.in-room .screen-placeholder small{color:#83a3a9;font-size:.72rem}.app-shell.in-room .people-pane{height:100%;min-height:0;border-color:#7ea3ad38;border-radius:16px;background:linear-gradient(180deg,#0f1d24f2,#091218f5);padding:15px}.app-shell.in-room .people-pane .pane-title{min-height:36px;color:var(--ui-text);font-size:.9rem}.app-shell.in-room .participant{min-height:62px;border-color:#7ea3ad30;border-radius:11px;background:#061016a8}.app-shell.in-room .participant strong,.app-shell.in-room .lk-participant-name{color:var(--ui-text);font-size:.82rem}.app-shell.in-room .participant small{color:#7f9ca1;font-size:.7rem}.app-shell.in-room .audio-note{color:#7d9a9e;font-size:.68rem}.app-shell.in-room .control-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:8px;border-color:#7ea3ad38;border-radius:16px;background:linear-gradient(180deg,#0e1c23f5,#081117fa);padding:11px}.app-shell.in-room .control-bar .volume-controls{grid-column:1 / -1;grid-template-columns:minmax(230px,1.1fr) repeat(2,minmax(180px,1fr));gap:8px}.app-shell.in-room .device-control,.app-shell.in-room .volume-control{min-height:44px;border-color:#7ea3ad2e;border-radius:10px;background:#050d12cc}.app-shell.in-room .device-control span,.app-shell.in-room .volume-control span{color:#a9c0c0;font-size:.72rem}.app-shell.in-room .control-bar .control-button{width:100%;min-width:0;min-height:46px;border-color:#7ea3ad38;border-radius:10px;background:#050d12b8;color:#bfd1d0;font-size:.8rem}.app-shell.in-room .control-bar .control-button:hover{border-color:#49d9b080;background:#143d3dc2;color:#f1fffb}.app-shell.in-room .control-bar .control-button.active{border-color:#49d9b08f;background:linear-gradient(135deg,#208b7470,#16575f66);color:#ecfff9}.app-shell.in-room .control-bar .control-button.danger{border-color:#ff767661;background:#5420269e;color:#ffd8d8}@media(max-width:1240px){.app-shell:not(.in-room){grid-template-columns:360px minmax(0,1fr)}.app-shell.in-room .room-grid{grid-template-columns:minmax(0,1fr) 260px}.app-shell.in-room .control-bar .volume-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.app-shell:not(.in-room) .empty-stage{grid-template-columns:1fr}.app-shell:not(.in-room) .empty-visual,.app-shell:not(.in-room) .empty-stage h2,.app-shell:not(.in-room) .empty-stage p,.app-shell:not(.in-room) .metric-strip{grid-column:1}.app-shell:not(.in-room) .empty-visual{grid-row:auto;width:min(520px,100%);justify-self:center}.app-shell:not(.in-room) .empty-stage h2,.app-shell:not(.in-room) .empty-stage p,.app-shell:not(.in-room) .metric-strip{text-align:center;justify-content:center}.app-shell.in-room .room-summary{grid-template-columns:1fr}.app-shell.in-room .screen-pane{max-height:none}}@media(max-width:760px){.app-shell:not(.in-room){grid-template-columns:1fr}.app-shell:not(.in-room) .side-panel{border-right:0;padding:18px 14px}.app-shell:not(.in-room) .stage{min-height:520px;padding:14px}.app-shell:not(.in-room) .empty-stage{padding:24px 18px}.app-shell:not(.in-room) .preset-list{grid-template-columns:1fr 1fr}.app-shell.in-room .stage{padding:12px}.app-shell.in-room .room-header--redesign{align-items:stretch;flex-direction:column}.app-shell.in-room .room-header__actions{justify-content:flex-start;flex-wrap:wrap}.app-shell.in-room .room-header__actions .route-mode-control{width:100%}.app-shell.in-room .room-grid{grid-template-columns:1fr}.app-shell.in-room .screen-pane{aspect-ratio:16 / 9}.app-shell.in-room .people-pane{min-height:220px}.app-shell.in-room .control-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell.in-room .control-bar .volume-controls{grid-template-columns:1fr}.app-shell.in-room .control-bar .volume-controls,.app-shell.in-room .control-bar .control-hint,.app-shell.in-room .control-bar .invite-popover{grid-column:1 / -1}}:root{--motion-fast: .14s;--motion-standard: .22s;--motion-layout: .36s;--ease-out: cubic-bezier(.16, 1, .3, 1)}html{min-height:100%;background:var(--bg, #080d12);scrollbar-gutter:stable}body{min-height:100svh;min-height:100dvh;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,label:has(input:focus-visible){outline:2px solid rgba(91,225,191,.88);outline-offset:3px}.app-shell:not(.in-room) .stage,.app-shell.in-room .stage{overflow:auto;scrollbar-gutter:stable}.app-shell.in-room .room-grid{width:min(100%,1360px);margin-inline:auto;align-items:start;grid-template-columns:minmax(0,1fr) 300px}.app-shell.in-room .screen-pane{aspect-ratio:auto;grid-template-rows:auto auto;align-content:start}.app-shell.in-room .screen-pane>.preview-screen,.app-shell.in-room .screen-pane>.live-screen{width:100%;height:auto;min-height:0;aspect-ratio:16 / 9}.app-shell.in-room .screen-pane>.preview-screen>*,.app-shell.in-room .screen-pane>.live-screen>*{min-height:0}.app-shell.in-room .people-pane{min-height:0}.app-shell.in-room .room-header,.app-shell.in-room .room-summary,.app-shell.in-room .room-grid,.app-shell.in-room .control-bar,.app-shell:not(.in-room) .join-card,.app-shell:not(.in-room) .server-card,.app-shell:not(.in-room) .empty-stage{transition:border-color var(--motion-standard) ease,background-color var(--motion-standard) ease,box-shadow var(--motion-standard) ease,transform var(--motion-layout) var(--ease-out),opacity var(--motion-layout) var(--ease-out)}.app-shell.in-room .room-status-callout,.app-shell.in-room .room-network-summary,.app-shell.in-room .participant,.app-shell.in-room .screen-pane,.app-shell.in-room .people-pane{transition:border-color var(--motion-standard) ease,background-color var(--motion-standard) ease,box-shadow var(--motion-standard) ease,transform var(--motion-standard) var(--ease-out)}.app-shell:not(.in-room) .preset,.app-shell:not(.in-room) .toggle,.app-shell:not(.in-room) .primary-button,.app-shell.in-room .control-button,.app-shell.in-room .route-mode-control button,.app-shell.in-room .room-refresh-button{transition:color var(--motion-fast) ease,border-color var(--motion-fast) ease,background-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,transform var(--motion-fast) var(--ease-out)}@media(hover:hover){.app-shell:not(.in-room) .preset:not(.active):hover,.app-shell:not(.in-room) .toggle:hover,.app-shell.in-room .participant:hover,.app-shell.in-room .room-network-summary:hover{transform:translateY(-1px);border-color:#5be1bf6b}.app-shell:not(.in-room) .primary-button:hover,.app-shell.in-room .control-button:hover,.app-shell.in-room .room-refresh-button:hover,.app-shell.in-room .route-mode-control button:hover{transform:translateY(-1px)}}.app-shell:not(.in-room) .primary-button:active,.app-shell.in-room .control-button:active,.app-shell.in-room .room-refresh-button:active,.app-shell.in-room .route-mode-control button:active{transform:translateY(1px) scale(.985)}.app-shell:not(.in-room) .primary-button:disabled,.app-shell.in-room .control-button:disabled,.app-shell.in-room .room-refresh-button:disabled{transform:none;cursor:not-allowed}@keyframes pl-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pl-scale-in{0%{opacity:0;filter:blur(5px);transform:scale(.985)}to{opacity:1;filter:blur(0);transform:scale(1)}}@keyframes pl-pulse{0%,to{box-shadow:0 0 #49d9b000}50%{box-shadow:0 0 0 5px #49d9b01a}}@media(prefers-reduced-motion:no-preference){.app-shell:not(.in-room) .join-card{animation:pl-fade-up .42s var(--ease-out) both}.app-shell:not(.in-room) .empty-stage{animation:pl-scale-in .52s var(--ease-out) 80ms both}.app-shell.in-room .room-header{animation:pl-fade-up .36s var(--ease-out) both}.app-shell.in-room .room-summary{animation:pl-fade-up .36s var(--ease-out) 60ms both}.app-shell.in-room .room-grid{animation:pl-scale-in .46s var(--ease-out) .12s both}.app-shell.in-room .control-bar{animation:pl-fade-up .36s var(--ease-out) .18s both}.app-shell.in-room .connection-state.warning .connection-state__dot,.app-shell.in-room .connection-state.error .connection-state__dot{animation:pl-pulse 1.6s ease-in-out infinite}}@media(max-width:900px){.app-shell.in-room .room-grid{width:100%;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}.app-shell.in-room .people-pane{min-height:220px}.app-shell.in-room .screen-pane>.preview-screen,.app-shell.in-room .screen-pane>.live-screen{min-height:0}}@media(orientation:landscape)and (min-width:600px)and (max-height:760px){.app-shell.in-room .stage{min-height:100svh;min-height:100dvh}.app-shell.in-room .room-redesign{height:auto;min-height:calc(100svh - 24px);min-height:calc(100dvh - 24px)}.app-shell.in-room .room-grid{grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:auto}.app-shell.in-room .screen-pane>.preview-screen,.app-shell.in-room .screen-pane>.live-screen{max-height:none}}@media(orientation:landscape)and (min-width:600px)and (max-width:900px)and (max-height:760px){.app-shell.in-room .room-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}}@media(max-width:600px){.app-shell:not(.in-room) .side-panel,.app-shell.in-room .stage{padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}.app-shell:not(.in-room) .stage{min-height:420px}.app-shell.in-room .room-header__actions{gap:6px}.app-shell.in-room .room-header__actions .route-mode-control{min-height:42px}.app-shell.in-room .room-header__actions .route-mode-control button{min-height:34px}.app-shell.in-room .control-bar .control-button,.app-shell.in-room .room-refresh-button{min-height:44px}.app-shell.in-room .screen-pane__header{min-height:44px;padding-inline:11px}.app-shell.in-room .screen-pane__header strong,.app-shell.in-room .people-pane .pane-title{font-size:.9rem}}@media(max-width:430px){.app-shell:not(.in-room) .preset-list{grid-template-columns:1fr}.app-shell.in-room .room-identity__title-row{gap:7px}.app-shell.in-room .room-identity__title-row h2{font-size:1.15rem}.app-shell.in-room .room-network-summary .network-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.app-shell.in-room .room-network-summary .network-stats span{min-width:0;overflow:hidden;text-overflow:ellipsis}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}@media(max-width:900px){.app-shell.in-room .room-grid{display:flex;height:auto;min-height:0;flex-direction:column;align-items:stretch}.app-shell.in-room .screen-pane,.app-shell.in-room .people-pane{width:100%;flex:0 0 auto}.app-shell.in-room .screen-pane>.preview-screen,.app-shell.in-room .screen-pane>.live-screen{flex:0 0 auto}}@media(orientation:landscape)and (min-width:600px)and (max-height:760px){.app-shell.in-room .room-redesign{grid-template-rows:auto auto auto auto}.app-shell.in-room .room-grid{height:auto;min-height:0}.app-shell.in-room .screen-pane>.preview-screen,.app-shell.in-room .screen-pane>.live-screen{height:auto!important;min-height:0!important;aspect-ratio:16 / 9}}@media(max-width:900px){.app-shell.in-room .room-redesign{display:flex;height:auto;min-height:0;flex-direction:column}.app-shell.in-room .room-redesign>.room-header,.app-shell.in-room .room-redesign>.room-summary,.app-shell.in-room .room-redesign>.room-grid,.app-shell.in-room .room-redesign>.control-bar{flex:0 0 auto}.app-shell.in-room .room-grid{flex-shrink:0}}@media(orientation:landscape)and (min-width:901px)and (max-height:760px){.app-shell.in-room .room-redesign{display:flex;height:auto;min-height:0;flex-direction:column}.app-shell.in-room .room-redesign>.room-header,.app-shell.in-room .room-redesign>.room-summary,.app-shell.in-room .room-redesign>.room-grid,.app-shell.in-room .room-redesign>.control-bar{flex:0 0 auto}.app-shell.in-room .room-grid{display:flex;align-items:flex-start;gap:14px}.app-shell.in-room .screen-pane{width:auto;flex:1 1 auto}.app-shell.in-room .people-pane{width:280px;flex:0 0 280px}.app-shell.in-room .screen-pane{height:auto!important;max-height:none!important;aspect-ratio:auto!important}.app-shell.in-room .room-grid{min-height:0!important}.app-shell.in-room .control-bar{flex:0 0 auto}}@media(min-width:901px){.app-shell.in-room .stage{min-height:0;overflow:hidden}.app-shell.in-room .room-redesign{height:calc(100dvh - 72px);min-height:0;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.app-shell.in-room .room-grid{min-height:0;overflow:hidden}.app-shell.in-room .screen-pane{min-height:0;height:100%;aspect-ratio:auto;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.app-shell.in-room .screen-pane>.preview-screen,.app-shell.in-room .screen-pane>.live-screen{min-height:0;height:100%;aspect-ratio:auto}.app-shell.in-room .people-pane{height:100%;min-height:0;overflow:hidden}.app-shell.in-room .control-bar{position:relative;z-index:5;flex:0 0 auto}}.source-picker .source-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.source-picker .source-tile{min-height:0;height:auto;align-content:start}.source-picker .source-tile>img{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:contain}.source-picker .source-tile .source-icon{width:18px;height:18px;aspect-ratio:1;object-fit:contain}.app-shell.in-room .room-identity__icon{padding:0;overflow:hidden}.app-shell.in-room .room-identity__icon img{display:block;width:100%;height:100%;object-fit:cover}.relay-backdrop{align-items:center;justify-content:center;padding:16px}.relay-backdrop .relay-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;border-radius:16px;box-shadow:0 24px 70px #0000006b}.app-shell:not(.in-room) .empty-visual img{display:block;width:min(116px,34%);height:auto;border-radius:22%;box-shadow:0 18px 34px #00000047}body.partylink-presentation-mode{overflow:hidden}body.partylink-presentation-mode .app-shell.in-room{display:block;min-width:0}body.partylink-presentation-mode .app-shell.in-room .stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;width:100vw;height:100dvh;min-height:0;padding:0;overflow:hidden}body.partylink-presentation-mode .app-shell.in-room .room-redesign,body.partylink-presentation-mode .app-shell.in-room .room-grid,body.partylink-presentation-mode .app-shell.in-room .screen-pane,body.partylink-presentation-mode .app-shell.in-room .screen-pane>.preview-screen,body.partylink-presentation-mode .app-shell.in-room .screen-pane>.live-screen{width:100vw;height:100dvh;min-height:0}body.partylink-presentation-mode .app-shell.in-room .room-redesign{display:block;overflow:hidden}body.partylink-presentation-mode .app-shell.in-room .room-header,body.partylink-presentation-mode .app-shell.in-room .room-summary,body.partylink-presentation-mode .app-shell.in-room .people-pane,body.partylink-presentation-mode .app-shell.in-room .control-bar,body.partylink-presentation-mode .app-shell.in-room .screen-pane__header,body.partylink-presentation-mode .app-shell.in-room .floating-action,body.partylink-presentation-mode .app-shell.in-room .sound-unlock,body.partylink-presentation-mode .app-shell.in-room .diagnostics-toggle,body.partylink-presentation-mode .app-shell.in-room .diagnostics-panel{display:none}body.partylink-presentation-mode .app-shell.in-room .screen-pane{display:block;border:0;border-radius:0;max-height:none}body.partylink-presentation-mode .app-shell.in-room .screen-action{position:fixed;top:16px;right:16px;z-index:1010;opacity:.84}@media(min-width:761px){.source-picker-backdrop:not(.relay-backdrop){align-items:center;justify-content:center;padding:24px}.source-picker-backdrop:not(.relay-backdrop) .source-picker{display:grid;width:min(900px,calc(100vw - 48px));max-height:min(760px,calc(100dvh - 48px));grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);grid-template-rows:auto minmax(0,auto) minmax(0,auto) minmax(0,1fr) auto;gap:12px 14px;overflow:hidden;border-radius:18px;padding:20px;box-shadow:0 26px 90px #00000075}.source-picker-backdrop:not(.relay-backdrop) .source-picker__header{position:static;grid-column:1 / -1;grid-row:1;margin:0;padding:0 0 2px}.source-picker-backdrop:not(.relay-backdrop) .source-picker__header h3:after{display:none}.source-picker-backdrop:not(.relay-backdrop) .source-picker>.source-group:nth-of-type(1){grid-column:1;grid-row:2}.source-picker-backdrop:not(.relay-backdrop) .source-picker>.source-group:nth-of-type(2){grid-column:1;grid-row:3}.source-picker-backdrop:not(.relay-backdrop) .source-picker>.source-quality-panel{grid-column:1;grid-row:4}.source-picker-backdrop:not(.relay-backdrop) .source-picker>.source-audio-panel{grid-column:2;grid-row:2 / 5;min-height:0;overflow:auto}.source-picker-backdrop:not(.relay-backdrop) .source-picker>.source-picker__footer{grid-column:1 / -1;grid-row:5;position:static;margin:0;padding:12px 0 0}}.source-quality-panel{display:grid;gap:9px;border:1px solid rgba(142,160,170,.16);border-radius:11px;background:#0c141b;padding:12px}.source-quality-panel__header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.source-quality-panel__header strong{color:var(--ink);font-size:.86rem}.source-quality-panel__header span{overflow:hidden;color:var(--accent);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.source-quality-panel>select{width:100%;min-height:36px}.source-quality-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.source-quality-values label{display:grid;gap:4px;min-width:0}.source-quality-values label>span{color:var(--muted);font-size:.66rem}.source-quality-values input{width:100%;min-height:32px;padding:0 7px;font-size:.75rem}@media(max-width:760px){.source-quality-values{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(orientation:landscape)and (min-width:901px)and (max-height:760px){.app-shell.in-room .stage{overflow:auto}.app-shell.in-room .room-redesign{height:auto;min-height:calc(100dvh - 36px);overflow:visible}.app-shell.in-room .room-grid{overflow:visible}.app-shell.in-room .screen-pane,.app-shell.in-room .people-pane{height:auto}.app-shell.in-room .screen-pane>.preview-screen,.app-shell.in-room .screen-pane>.live-screen{height:auto;aspect-ratio:16 / 9}}@media(max-width:760px){.relay-backdrop{align-items:center;justify-content:center;padding:8px}.relay-backdrop .relay-dialog{width:100%;max-height:calc(100dvh - 16px)}}@media(min-width:761px){.source-picker-backdrop:not(.relay-backdrop){display:grid;place-items:center;padding:24px}.source-picker-backdrop:not(.relay-backdrop) .source-picker{display:grid;width:min(1080px,calc(100vw - 48px));height:min(780px,calc(100dvh - 48px));max-height:min(780px,calc(100dvh - 48px));grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;overflow:hidden;padding:20px}.source-picker-backdrop:not(.relay-backdrop) .source-picker__header,.source-picker-backdrop:not(.relay-backdrop) .source-picker__footer{position:static;margin:0;padding:0}.source-picker-backdrop:not(.relay-backdrop) .source-picker__content{display:grid;min-height:0;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:14px}.source-picker-backdrop:not(.relay-backdrop) .source-picker__visuals,.source-picker-backdrop:not(.relay-backdrop) .source-audio-panel{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.source-picker-backdrop:not(.relay-backdrop) .source-picker__visuals{display:grid;align-content:start;gap:12px;padding-right:4px}.source-picker-backdrop:not(.relay-backdrop) .source-picker__visuals .source-group{min-height:0;overflow:visible}.source-picker-backdrop:not(.relay-backdrop) .source-audio-panel{align-content:start}}.app-shell.in-room .multi-screen-stage,.app-shell.in-room .screen-main,.app-shell.in-room .screen-player{min-width:0;min-height:0}.app-shell.in-room .screen-player video,.app-shell.in-room .screen-player canvas{width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain!important}html:has(body.partylink-presentation-mode),body.partylink-presentation-mode{width:100%;height:100%;margin:0;overflow:hidden;scrollbar-gutter:auto}body.partylink-presentation-mode .app-shell.in-room .stage,body.partylink-presentation-mode .app-shell.in-room .room-redesign,body.partylink-presentation-mode .app-shell.in-room .room-grid,body.partylink-presentation-mode .app-shell.in-room .screen-pane,body.partylink-presentation-mode .app-shell.in-room .screen-pane>.preview-screen,body.partylink-presentation-mode .app-shell.in-room .screen-pane>.live-screen{width:auto;height:auto;min-height:0}body.partylink-presentation-mode .app-shell.in-room .stage{top:0;right:0;bottom:0;left:0;scrollbar-gutter:auto}body.partylink-presentation-mode .app-shell.in-room .room-redesign,body.partylink-presentation-mode .app-shell.in-room .room-grid,body.partylink-presentation-mode .app-shell.in-room .screen-pane,body.partylink-presentation-mode .app-shell.in-room .screen-pane>.preview-screen,body.partylink-presentation-mode .app-shell.in-room .screen-pane>.live-screen{position:absolute;top:0;right:0;bottom:0;left:0}body.partylink-presentation-mode .app-shell.in-room .screen-action{opacity:0;pointer-events:none;transition:opacity .22s ease}@media(min-width:901px){.app-shell.in-room .screen-pane>.preview-screen,.app-shell.in-room .screen-pane>.live-screen{height:auto!important;min-height:0!important;align-self:stretch}.app-shell.in-room .screen-pane .screen-main,.app-shell.in-room .screen-pane .screen-player{height:100%;min-height:0}}body.partylink-presentation-mode .app-shell.in-room .fullscreen-controls-visible .screen-action{opacity:1;pointer-events:auto}.app-shell.in-room .people-pane{display:flex;min-height:0;flex-direction:column}.app-shell.in-room .participant-list{min-height:0;overflow-y:auto}.room-chat-panel{display:grid;min-height:0;margin-top:10px;border-top:1px solid rgba(126,163,173,.18);padding-top:10px;gap:7px}.room-chat-panel__header,.room-chat-panel__header>span,.room-chat-message__meta,.room-chat-form{display:flex;align-items:center}.room-chat-panel__header{justify-content:space-between;gap:8px;color:var(--ui-text, #e7f0ef);font-size:.72rem}.room-chat-panel__actions{display:flex;align-items:center;gap:7px}.floating-chat-launch{display:inline-flex;min-height:27px;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(58,213,164,.28);border-radius:7px;background:#0a2d2794;color:#dffff5;padding:0 7px;font-size:.62rem}.floating-chat-launch:hover,.floating-chat-launch:focus-visible{border-color:#3ad5a485;background:#0a3a31cc}.room-chat-panel__header>span{gap:6px;font-weight:700}.room-chat-panel__header small,.room-chat-count,.room-chat-empty{color:var(--muted, #81999d);font-size:.62rem}.room-chat-scroll{min-height:82px;max-height:180px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.room-chat-messages{display:grid;gap:7px}.room-chat-message{min-width:0;border-radius:8px;background:#ffffff09;padding:7px 8px}.room-chat-message.is-self{background:#3ad5a417}.room-chat-message__meta{justify-content:space-between;gap:8px;color:#99b1b4;font-size:.6rem}.room-chat-message__meta strong{overflow:hidden;color:var(--ui-accent, #3ad5a4);text-overflow:ellipsis;white-space:nowrap}.room-chat-message p,.room-chat-empty,.room-chat-error{margin:0}.room-chat-message p{margin-top:3px;overflow-wrap:anywhere;color:var(--ui-text, #e7f0ef);font-size:.69rem;line-height:1.45;white-space:pre-wrap}.room-chat-error{color:#ff9a9a;font-size:.62rem}.room-chat-form{gap:6px}.room-chat-form input{width:100%;min-width:0;min-height:34px;border:1px solid rgba(126,163,173,.24);border-radius:8px;background:#030b0fb8;color:var(--ui-text, #e7f0ef);padding:0 9px;font-size:.68rem}.room-chat-form button,.fullscreen-chat-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(58,213,164,.34);border-radius:8px;background:#0a2d27e6;color:#dffff5}.room-chat-form button{width:36px;min-width:36px;height:34px;padding:0}.room-chat-form button:disabled{border-color:#7ea3ad29;background:#ffffff06;color:#5f7478}.room-chat-count{justify-self:end}.fullscreen-chat{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));left:max(22px,env(safe-area-inset-left));z-index:1040;display:grid;max-width:min(520px,62vw);justify-items:start;gap:8px}.fullscreen-chat-overlay{width:min(480px,60vw);max-height:46vh;overflow:hidden;border:1px solid rgba(160,218,208,.16);border-radius:12px;background:#03090d9e;box-shadow:0 14px 36px #0000004d;opacity:0;padding:10px;pointer-events:none;transform:translateY(8px);transition:opacity .9s ease,transform .9s ease}.fullscreen-chat-overlay.is-visible{opacity:1;transform:translateY(0)}.fullscreen-chat-overlay .room-chat-message{background:#0000003d}.fullscreen-chat-composer{width:min(480px,60vw);border:1px solid rgba(160,218,208,.18);border-radius:10px;background:#03090dad;box-shadow:0 10px 28px #0000003d;padding:7px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.fullscreen-chat-form{display:flex;align-items:center;gap:7px}.fullscreen-chat-form input{width:100%;min-width:0;min-height:34px;border:1px solid rgba(126,163,173,.3);border-radius:8px;background:#01070ad1;color:var(--ui-text, #e7f0ef);padding:0 10px}.fullscreen-chat-form button{display:inline-grid;width:36px;min-width:36px;height:34px;place-items:center;border:1px solid rgba(58,213,164,.42);border-radius:8px;background:#0a4438eb;color:#dffff5;padding:0}.fullscreen-chat-form button:disabled{border-color:#7ea3ad24;background:#ffffff0a;color:#5f7478}.fullscreen-chat-toggle{min-height:32px;gap:6px;padding:0 10px;font-size:.68rem;opacity:.64}.fullscreen-chat-toggle:hover,.fullscreen-chat-toggle:focus-visible{opacity:1}@media(max-width:900px){.room-chat-scroll{max-height:220px}.fullscreen-chat{max-width:calc(100vw - 32px);left:16px;bottom:16px}.fullscreen-chat-overlay,.fullscreen-chat-composer{width:min(440px,calc(100vw - 32px))}}
