[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{--bg: #f5f6f8;--surface: #ffffff;--text: #1a1d23;--text-muted: #6b7280;--primary: #0b6bff;--primary-hover: #0856d1;--on-primary: #ffffff;--danger: #e5484d;--success: #2fbf71;--warning: #f5b301;--border: #e3e6eb;--color-success: var(--success);--color-danger: var(--danger);--color-accent: var(--primary);--color-control-bg: rgba(255, 255, 255, .14);--color-control-icon: #f7f9fc;--color-on-control: #ffffff;--color-tooltip-bg: rgba(9, 11, 15, .94);--color-tooltip-text: #f1f3f7;--color-focus: #86b4ff;--color-badge-ring: #111318;--control-size: 48px;--control-size-sm: 44px;--radius: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--controlbar-h: 76px;--controlbar-offset: calc(var(--space-2) * 2);--header-h: 64px;--strip-w: 220px;--board-paper: #fbfbfd;--board-grid: rgba(26, 29, 35, .08);--board-shadow: rgba(0, 0, 0, .35);--board-overlay: rgba(17, 19, 24, .75);--cursor-color-1: #0b6bff;--cursor-color-2: #d92d20;--cursor-color-3: #15803d;--cursor-color-4: #b45309;--cursor-color-5: #7c3aed;--cursor-color-6: #c0266d;--cursor-color-7: #0e7490;--cursor-color-8: #4d7c0f;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}.theme-dark{--bg: #111318;--surface: #1b1e25;--text: #f1f3f7;--text-muted: #9aa3b2;--border: #2a2f39}.home-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-6)}.login-form{background-color:var(--surface);padding:var(--space-6);border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;width:100%;max-width:400px}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:500}.form-group input{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);color:var(--text);font-size:1rem}.form-group input:focus{outline:none;border-color:var(--primary)}.btn-primary{width:100%;padding:var(--space-3);background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;cursor:pointer;transition:background-color .2s}.lobby-container{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:var(--space-4) var(--space-6);background-color:var(--bg);color:var(--text)}.lobby-content{display:flex;flex-direction:column;flex:1;gap:var(--space-3);max-width:1000px;min-height:0;margin:0 auto;width:100%}.lobby__header h1{margin:0;font-size:1.375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lobby__header p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:.875rem}.device-preview{display:flex;flex-direction:column;gap:var(--space-3);flex:1;min-height:0}.lobby__preview{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:hidden;border-radius:var(--radius);background:#000}.lobby__preview-pane{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:0;min-height:0}.lobby__preview-pane .lobby__preview{flex:1}.background-notice{margin:0;color:var(--text-muted);font-size:.75rem}.lobby__preview-controls{position:absolute;left:50%;bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:2;display:flex;gap:var(--space-2);transform:translate(-50%)}.device-preview h2{margin:0 0 var(--space-3);font-size:1rem}.camera-preview{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;margin:0;background:#000}.camera-preview__video{width:100%;height:100%;max-height:100%;object-fit:contain;border-radius:0;background-color:#000}.camera-preview__note{position:absolute;margin:0;padding:var(--space-2) var(--space-3);border-radius:8px;background:#0000009e;color:var(--text-muted);font-size:.875rem;text-align:center}@media (min-width: 1024px){.device-preview{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:stretch}.device-preview h2{grid-column:1 / -1}}.camera-preview-placeholder{background-color:#f0f0f0;border-radius:var(--radius);padding:var(--space-6);text-align:center;min-height:300px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.camera-preview-placeholder p{margin:0}.device-controls{background-color:var(--surface);padding:var(--space-4);border-radius:var(--radius);box-shadow:0 2px 8px #0000001a;margin-bottom:0;min-height:0;overflow-y:auto}.control-group{margin-bottom:var(--space-3)}.control-group label{display:block;margin-bottom:var(--space-1);font-weight:500}.control-group select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);color:var(--text);font-size:1rem}.control-group select:focus-visible,.user-name-input input:focus-visible,.join-room-btn:focus-visible,.settings select:focus-visible,.settings__close:focus-visible,.chat__send:focus-visible,.toast__close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.mic-meter{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.mic-meter__track{display:flex;align-items:stretch;gap:2px;width:100%;height:8px}.mic-meter__segment{flex:1;border-radius:2px;background:var(--border)}.mic-meter__segment.is-on{background:var(--success)}.mic-meter__segment.is-on:nth-child(n+10){background:var(--warning)}.mic-meter__note{color:var(--text-muted);font-size:.75rem}.user-name-input{margin-bottom:0}.user-name-input label{display:block;margin-bottom:var(--space-2);font-weight:500}.lobby-identity{margin:0;color:var(--text-muted);font-size:1rem}.lobby-identity strong{color:var(--text);font-weight:600}.user-name-input input{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);color:var(--text);font-size:1rem}.lobby-actions{text-align:center}.join-room-btn{padding:var(--space-3) var(--space-6);background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;cursor:pointer;transition:background-color .2s}.join-room-btn:hover{background-color:var(--primary-hover)}@media (max-width: 767px){.lobby-container{padding:var(--space-3)}.lobby-content{gap:var(--space-2)}.lobby__header h1{font-size:1.125rem}.lobby__header p{display:none}.device-preview{gap:var(--space-2)}.device-controls{padding:var(--space-3)}.device-controls h2,.control-group{margin-bottom:var(--space-2)}.control-group select{padding:var(--space-1) var(--space-2);font-size:.9375rem}.user-name-input input{padding:var(--space-2) var(--space-3)}.join-room-btn{width:100%;padding:var(--space-2) var(--space-4)}}@media (prefers-reduced-motion: reduce){.mic-meter__segment{transition:none}}*{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font);background-color:var(--bg);color:var(--text)}input,select,button{font-family:inherit}.app-shell{display:flex;flex-direction:column;min-height:100dvh;background-color:var(--bg);color:var(--text)}.app-main{display:flex;flex-direction:column;flex:1;min-height:0}.app-header{flex:none;background-color:var(--surface);border-bottom:1px solid var(--border);color:var(--text)}.app-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;max-width:1200px;min-height:var(--header-h);margin:0 auto;padding:var(--space-2) var(--space-4)}.app-header__brand{display:inline-flex;align-items:center;gap:var(--space-2);flex:none;padding:var(--space-1) var(--space-2);border-radius:var(--radius);color:var(--text);font-size:1rem;font-weight:600;text-decoration:none;white-space:nowrap}.app-header__brand:hover{background-color:var(--bg)}.app-header__brand[aria-current=page]{color:var(--primary)}.app-header__nav{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1);min-width:0}.app-header__link,.app-header__button{display:inline-flex;align-items:center;gap:var(--space-2);flex:none;padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius);background-color:transparent;color:var(--text-muted);font-size:.9375rem;font-weight:500;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer}.app-header__link:hover,.app-header__button:hover:not(:disabled){background-color:var(--bg);color:var(--text)}.app-header__link[aria-current=page]{border-color:var(--border);background-color:var(--bg);color:var(--primary)}.app-header__button:disabled{cursor:default;opacity:.6}.app-header__brand:focus-visible,.app-header__link:focus-visible,.app-header__button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-header__user{display:flex;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-1) var(--space-2);color:var(--text);font-weight:500}.app-header__avatar{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background-color:var(--primary);color:var(--on-primary);font-size:.8125rem;font-weight:600;line-height:1}.app-header__user-name{overflow:hidden;max-width:160px;text-overflow:ellipsis;white-space:nowrap}.home-container,.auth-container{display:flex;flex:1;justify-content:center;align-items:center;padding:var(--space-6);overflow-y:auto}.state-page{display:flex;flex:1;align-items:center;justify-content:center;min-height:0;padding:var(--space-6)}.state-page .btn-primary{width:auto}.auth-card{background-color:var(--surface);border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;padding:var(--space-6);width:100%;max-width:400px}.auth-card-content{display:flex;flex-direction:column;gap:var(--space-4)}.login-form,.register-form{display:flex;flex-direction:column;gap:var(--space-3)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-group label{font-weight:500;color:var(--text)}.form-group input{padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--border);background-color:var(--bg);color:var(--text)}.btn-primary{padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:none;background-color:var(--primary);color:#fff;font-weight:500;cursor:pointer}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background-color:transparent;color:var(--text);font-weight:500;cursor:pointer}.btn-secondary:hover{background-color:var(--surface)}.btn-outline{padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--border);background-color:transparent;color:var(--text);font-weight:500;cursor:pointer}.btn-outline:hover{background-color:var(--surface)}.auth-links{text-align:center;margin-top:var(--space-3)}.auth-links a{color:var(--primary);text-decoration:none}.auth-links a:hover{text-decoration:underline}.error-message{padding:var(--space-3);border-radius:var(--radius);background-color:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.error-message--field{padding:var(--space-2);font-size:.875rem}@media (max-width: 768px){.login-form,.auth-card{padding:var(--space-4)}}@media (max-width: 767px){.app-header__inner{gap:var(--space-1);padding:var(--space-2) var(--space-3)}.app-header__brand{padding:var(--space-1)}.app-header__link,.app-header__button{padding:var(--space-2)}.app-header__link-text,.app-header__button-text{display:none}.app-header__user{padding:var(--space-1)}.app-header__user-name{max-width:96px}.home-container,.auth-container{padding:var(--space-4)}}@media (max-width: 420px){.app-header__brand-text{display:none}.app-header__user-name{max-width:84px}}.rooms-page{width:100%;max-width:1000px;margin:0 auto;padding:var(--space-6) var(--space-4)}.rooms-page__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.rooms-page__header h1{margin:0;font-size:1.5rem}.rooms-page__create{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius);background-color:var(--primary);color:var(--on-primary);font-size:.9375rem;text-decoration:none;cursor:pointer;transition:background-color .2s}.rooms-page__create:hover:not(:disabled){background-color:var(--primary-hover)}.rooms-page__create:disabled{opacity:.7;cursor:default}.rooms-page__notice{min-height:1.25rem;margin:0 0 var(--space-3);color:var(--text-muted);font-size:.875rem}.rooms-page__status{margin:0;padding:var(--space-6) 0;color:var(--text-muted);text-align:center}.rooms-page__empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6);border:1px dashed var(--border);border-radius:var(--radius);background-color:var(--surface);text-align:center}.rooms-page__empty p{margin:0;color:var(--text-muted)}.rooms-page__retry{margin-top:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid currentColor;border-radius:var(--radius);background:transparent;color:inherit;font-size:.875rem;cursor:pointer}.rooms-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);margin:0;padding:0;list-style:none}.room-card{display:flex;flex-direction:column;gap:var(--space-3);height:100%;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface)}.room-card__title{margin:0;font-size:1.0625rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-card__meta{display:flex;flex-direction:column;gap:var(--space-1);margin:0;color:var(--text-muted);font-size:.8125rem}.room-card__id{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}.room-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:auto}.room-card__confirm{display:flex;flex-direction:column;gap:var(--space-2);margin-top:auto;font-size:.875rem}.room-card__button{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);font-size:.875rem;text-decoration:none;cursor:pointer;transition:background-color .2s,border-color .2s}.room-card__button:hover:not(:disabled){border-color:var(--primary)}.room-card__button:disabled{opacity:.6;cursor:default}.room-card__button--primary{border-color:var(--primary);background-color:var(--primary);color:var(--on-primary)}.room-card__button--primary:hover{border-color:var(--primary-hover);background-color:var(--primary-hover)}.room-card__button--danger{border-color:var(--danger);color:var(--danger)}.rooms-page__create:focus-visible,.rooms-page__retry:focus-visible,.room-card__button:focus-visible,.rooms-create-form input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.rooms-create-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);width:100%;max-width:640px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface)}.rooms-create-form__field{flex:1 1 260px;margin-bottom:0}.rooms-create-form__field input{width:100%}.rooms-create-form__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media (max-width: 767px){.rooms-page{padding:var(--space-4) var(--space-3)}.rooms-page__header h1{font-size:1.25rem}.rooms-list{grid-template-columns:1fr}}.room{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);height:100dvh;overflow:hidden;background:var(--bg);color:var(--text)}.room--center{display:flex;align-items:center;justify-content:center}.room__state{text-align:center;display:flex;flex-direction:column;gap:var(--space-4);align-items:center}.room__state h1{font-size:1.25rem;margin:0}.room__state p{margin:0;color:var(--text-muted)}.room__header{position:relative;height:48px;min-width:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);border-bottom:1px solid var(--border);background:var(--surface)}.room__title{min-width:0;flex:1 1 auto;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room__header-actions{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex:0 0 auto}.room__count{color:var(--text-muted);white-space:nowrap}.room__header-btn{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:8px;padding:var(--space-1) var(--space-2);cursor:pointer;font-size:.875rem;white-space:nowrap}.room__header-btn:hover{background:var(--surface);border-color:var(--text-muted)}.room__header-btn--active{background:var(--primary);border-color:var(--primary);color:#fff}.participants{position:absolute;top:calc(100% + var(--space-2));right:var(--space-4);width:min(340px,calc(100vw - 2 * var(--space-4)));max-height:min(60dvh,480px);display:flex;flex-direction:column;padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000059;z-index:60}.participants__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2);font-weight:500}.participants__close{border:none;background:transparent;color:var(--text-muted);font-size:1.125rem;line-height:1;cursor:pointer;padding:var(--space-1)}.participants__list{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-1)}.participants__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--border)}.participants__item:last-child{border-bottom:none}.participants__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participants__self{color:var(--text-muted)}.participants__kick,.participants__cancel,.participants__danger{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:8px;padding:var(--space-1) var(--space-2);font-size:.8125rem;cursor:pointer;white-space:nowrap}.participants__kick:hover,.participants__cancel:hover{border-color:var(--text-muted)}.participants__kick:disabled,.participants__danger:disabled{opacity:.6;cursor:default}.participants__danger{border-color:var(--danger);color:var(--danger)}.participants__danger:hover:not(:disabled){background:var(--danger);color:#fff}.participants__footer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border)}.participants__confirm{flex:1 1 100%;font-size:.8125rem;color:var(--text-muted)}@media (max-width: 767px){.participants{position:fixed;top:auto;right:0;left:0;bottom:calc(var(--controlbar-h) + env(safe-area-inset-bottom));width:100%;max-height:calc(100dvh - var(--controlbar-h) - 48px);border-radius:var(--radius) var(--radius) 0 0;border-left:none;border-right:none;border-bottom:none}}.room__header-btn:focus-visible,.participants__close:focus-visible,.participants__kick:focus-visible,.participants__cancel:focus-visible,.participants__danger:focus-visible,.chat__close:focus-visible,.hint__close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.room__main{min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);padding:var(--space-3);position:relative}.stage{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;padding-bottom:calc(var(--controlbar-h) + env(safe-area-inset-bottom))}.stage__frame{aspect-ratio:16 / 9;width:100%;max-height:100%;max-width:calc((100dvh - 48px - var(--space-6)) * 16 / 9);border-radius:var(--radius);overflow:hidden;background:#000;position:relative}.stage__frame--grid{aspect-ratio:auto;max-width:none;width:100%;height:100%}.stage__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#000}.stage__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6);text-align:center;background:radial-gradient(circle at 50% 40%,rgba(11,107,255,.18),transparent 62%),#0b0d11;z-index:1}.stage__placeholder-icon{flex:0 0 auto;width:clamp(32px,7vw,56px);height:auto;color:var(--primary)}.stage__placeholder-title{margin:0;font-size:clamp(1rem,2.2vw,1.375rem);font-weight:600;line-height:1.25}.stage__placeholder-text{margin:0;max-width:46ch;color:var(--text-muted);font-size:clamp(.8125rem,1.5vw,1rem);line-height:1.4}.stage__label{position:absolute;left:var(--space-2);bottom:var(--space-2);max-width:min(60%,360px);padding:var(--space-1) var(--space-2);border-radius:8px;background:#0000009e;color:#fff;font-size:.8125rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:3;pointer-events:none}.tile{position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:#000;isolation:isolate}.tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;border:2px solid var(--primary);border-radius:inherit;box-shadow:inset 0 0 18px #0b6bff47;pointer-events:none;opacity:0;transition:opacity .12s ease-out}.tile--speaking:after{opacity:1}.tile__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:#000;z-index:1}.tile__avatar{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,rgba(11,107,255,.22),transparent 62%),var(--surface)}.tile__avatar-initials{width:clamp(48px,22%,112px);aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);background:#ffffff14;color:var(--text);font-size:clamp(1rem,2.2vw,2rem);font-weight:600;letter-spacing:.02em}.tile__overlay{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-2) var(--space-2);background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.45) 45%,transparent);color:#fff;pointer-events:none;z-index:2}.tile__name{min-width:0;flex:1 1 auto;font-size:.875rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.6)}.tile__mic,.tile__quality{flex:0 0 auto;display:inline-flex;align-items:center}.tile__mic{color:#fff}.tile__mic .icon__slash{display:none}.tile__mic--muted{color:var(--danger)}.tile__mic--muted .icon__slash{display:block}.tile__quality{align-items:flex-end;gap:2px;height:12px}.tile__quality-bar{width:3px;border-radius:1px;background:#ffffff47}.tile__quality-bar:nth-child(1){height:4px}.tile__quality-bar:nth-child(2){height:8px}.tile__quality-bar:nth-child(3){height:12px}.tile__quality-bar--on{background:#fff}.thumbs{position:absolute;top:var(--space-2);right:var(--space-2);bottom:var(--space-2);display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);overflow:hidden;pointer-events:none;z-index:4}.thumbs .tile{flex:0 0 auto;width:clamp(88px,13vw,200px);height:min(110px,calc((100% - 44px)/4));box-shadow:0 4px 16px #00000073}.thumbs__more{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:clamp(88px,13vw,200px);height:clamp(18px,calc((100% - 44px)/8),28px);border-radius:var(--radius);border:1px solid var(--border);background:#1b1e25e0;color:var(--text);font-size:.8125rem}.tile--compact .tile__overlay{padding:2px 5px;gap:var(--space-1);background:linear-gradient(to top,#000000e0,#0006)}.tile--compact .tile__name{font-size:.6875rem;line-height:1.3;text-shadow:none}.tile--compact .tile__quality{display:none}.tile--compact .tile__avatar-initials{width:24px;font-size:.625rem;border:none}.tile-grid{display:grid;gap:var(--space-2);grid-auto-rows:minmax(0,1fr);width:100%;height:100%;min-width:0;min-height:0}.tile-grid--1{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.tile-grid--2{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}@media (min-width: 768px){.tile-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}}.tile-grid--many{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media (max-width: 767px){.tile-grid--many{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.hint{position:absolute;left:50%;top:var(--space-3);transform:translate(-50%);width:min(560px,calc(100% - var(--space-6)));max-width:none;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #00000040;z-index:10}.hint p{margin:0;font-size:.875rem;color:var(--text)}.hint__close{border:none;background:transparent;color:var(--text-muted);font-size:1.125rem;line-height:1;cursor:pointer;padding:var(--space-1)}.floating-bar{position:absolute;left:0;right:0;bottom:calc(var(--controlbar-offset) + env(safe-area-inset-bottom));margin-inline:auto;z-index:25;width:max-content;max-width:calc(100% - var(--space-4));display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--border);border-radius:999px;background:transparent;box-shadow:0 8px 24px #0006;opacity:.92;transition:opacity .14s ease-out}.floating-bar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:color-mix(in srgb,var(--surface) 72%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none}.floating-bar:hover,.floating-bar:focus-within{opacity:1}.controlbar__devices{display:flex}.settings{position:absolute;left:50%;bottom:calc(100% + var(--space-2));transform:translate(-50%);width:min(340px,calc(100vw - 2 * var(--space-4)));max-height:calc(100dvh - var(--controlbar-h) - 48px - var(--space-4));overflow-y:auto;padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000059;z-index:60}.settings__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2);font-weight:500}.settings__close{border:none;background:transparent;color:var(--text-muted);font-size:1.125rem;line-height:1;cursor:pointer;padding:var(--space-1)}.settings__group{margin-bottom:var(--space-3)}.settings__group label{display:block;margin-bottom:var(--space-1);font-weight:500;font-size:.875rem}.settings__group select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.875rem}.settings__note{margin:0;color:var(--text-muted);font-size:.8125rem}.noise-toggle{margin-bottom:var(--space-3)}.noise-toggle__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.noise-toggle__row .noise-toggle__label{margin:0;font-weight:500;font-size:.875rem}.noise-toggle__input{position:relative;flex:none;width:44px;height:24px;margin:0;padding:0;border:1px solid var(--border);border-radius:999px;background-color:var(--border);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.noise-toggle__input:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background-color:var(--on-primary);box-shadow:0 1px 2px #00000059;transition:transform .15s ease}.noise-toggle__input:checked{border-color:var(--primary);background-color:var(--primary)}.noise-toggle__input:checked:after{transform:translate(20px)}.noise-toggle__input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.noise-toggle__input:disabled{opacity:.45;cursor:not-allowed}.noise-toggle__note{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:.8125rem}@media (prefers-reduced-motion: reduce){.noise-toggle__input,.noise-toggle__input:after{transition:none}}.settings__section+.settings__section{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.settings__title{margin:0 0 var(--space-2);color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.background-picker{display:flex;flex-direction:column;gap:var(--space-2)}.background-picker__modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1);padding:var(--space-1);background:var(--bg);border:1px solid var(--border);border-radius:10px}.background-picker__mode,.background-picker__chip{border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:.8125rem;border-radius:8px;padding:var(--space-2);min-height:36px;cursor:pointer;transition:background-color .12s ease-out,color .12s ease-out}.background-picker__mode.is-selected{background:var(--primary);color:var(--on-primary)}.background-picker__blur{display:flex;gap:var(--space-1)}.background-picker__chip{flex:1 1 0;border:1px solid var(--border);background:var(--bg)}.background-picker__chip.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 18%,var(--bg));color:var(--text)}.background-picker__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.background-picker__thumb{position:relative;aspect-ratio:16 / 9;padding:0;overflow:hidden;border:2px solid transparent;border-radius:8px;background:var(--bg);cursor:pointer}.background-picker__thumb img{display:block;width:100%;height:100%;object-fit:cover}.background-picker__thumb.is-selected{border-color:var(--primary)}.background-picker__thumb-label{position:absolute;left:var(--space-1);bottom:var(--space-1);max-width:calc(100% - var(--space-2));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px var(--space-1);border-radius:999px;background:#090b0fb8;color:#fff;font-size:.6875rem}.background-picker__upload{align-self:flex-start;border:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:.8125rem;border-radius:8px;padding:var(--space-2) var(--space-3);min-height:36px;cursor:pointer}.background-picker__upload:hover:not(:disabled){border-color:var(--text-muted);background:var(--bg)}.background-picker__file{display:none}.background-picker__note{margin:0;color:var(--text-muted);font-size:.75rem}.background-picker--compact{flex:0 0 auto;gap:var(--space-1);min-width:0}.background-picker__row{display:flex;align-items:center;gap:var(--space-1);min-width:0;padding-bottom:2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.background-picker__row::-webkit-scrollbar{height:4px}.background-picker__row::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.background-picker__row .background-picker__mode{flex:0 0 auto;min-height:44px;padding:var(--space-1) var(--space-3);white-space:nowrap}.background-picker__row .background-picker__thumb{flex:0 0 auto;width:64px;aspect-ratio:16 / 9;border-width:2px}.background-picker__add{flex:0 0 auto;width:44px;height:44px;padding:0;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:1.25rem;line-height:1;cursor:pointer;transition:border-color .12s ease-out,background-color .12s ease-out}.background-picker__add:hover:not(:disabled){border-color:var(--text-muted);background:var(--bg)}.background-picker__add:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (max-width: 767px){.background-picker__row .background-picker__thumb{width:56px}}@media (max-width: 479px){.background-picker__row{flex-wrap:wrap;overflow-x:visible}}@media (prefers-reduced-motion: reduce){.background-picker__add{transition:none}}.background-picker button:disabled{opacity:.5;cursor:not-allowed}.background-picker__mode:focus-visible,.background-picker__chip:focus-visible,.background-picker__thumb:focus-visible,.background-picker__upload:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (prefers-reduced-motion: reduce){.background-picker__mode,.background-picker__chip{transition:none}}@media (max-width: 767px){.settings{position:fixed;left:0;right:0;bottom:calc(var(--controlbar-h) + env(safe-area-inset-bottom));transform:none;width:100%;max-height:calc(100dvh - var(--controlbar-h) - var(--space-3));border-radius:var(--radius) var(--radius) 0 0;border-left:none;border-right:none;border-bottom:none}}.toasts{position:fixed;left:50%;bottom:calc(var(--controlbar-h) + var(--space-2) + env(safe-area-inset-bottom));transform:translate(-50%);z-index:50;display:flex;flex-direction:column;gap:var(--space-2);width:max-content;max-width:min(520px,calc(100vw - var(--space-6)));pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-2);max-width:100%;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--warning);border-radius:var(--radius);box-shadow:0 8px 24px #00000059;font-size:.875rem;pointer-events:auto}.toast__close{border:none;background:transparent;color:var(--text-muted);font-size:1.125rem;line-height:1;cursor:pointer;padding:0 var(--space-1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.room__overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0009;z-index:40}.room__overlay-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4) var(--space-6)}.room__overlay-card p{margin:0}.chat{position:absolute;top:0;right:0;bottom:0;width:min(320px,100%);display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);border-radius:var(--radius) 0 0 var(--radius);z-index:20}.chat__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);font-weight:500}.chat__close{border:none;background:transparent;color:var(--text-muted);font-size:1.125rem;line-height:1;cursor:pointer;padding:var(--space-1)}.chat__body{min-height:0;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3)}.chat__empty{margin:auto;color:var(--text-muted);font-size:.875rem;text-align:center}.chat__message{display:flex;flex-direction:column;gap:2px}.chat__message--own .chat__text{background:color-mix(in srgb,var(--primary) 18%,var(--bg))}.chat__meta{color:var(--text-muted);font-size:.75rem}.chat__text{padding:var(--space-2);border-radius:8px;background:var(--bg);font-size:.875rem;white-space:pre-wrap;overflow-wrap:anywhere}.chat__status{margin:0;color:var(--text-muted);font-size:.75rem;text-align:center}.chat__error{margin:0;color:var(--danger);font-size:.75rem}.chat__form{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border-top:1px solid var(--border)}.chat__field{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.chat__input{width:100%;padding:var(--space-2);border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.875rem}.chat__input:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.chat__send{flex:0 0 auto;padding:var(--space-2) var(--space-3);border:1px solid var(--primary);border-radius:8px;background:var(--primary);color:#fff;font-size:.875rem;cursor:pointer}.chat__send:disabled{opacity:.55;cursor:default}@media (max-width: 1023px){.chat{top:0;left:0;border-radius:0;border-left:none}.chat__form{padding-bottom:calc(var(--controlbar-h) + env(safe-area-inset-bottom))}}@media (max-width: 767px){.room__main{padding:var(--space-2);gap:var(--space-2)}.room__header{height:44px;padding:0 var(--space-2)}.room__title{font-size:.9375rem}.room__header-actions{gap:var(--space-2)}.thumbs .tile,.thumbs__more{width:clamp(72px,24vw,140px)}.tile--compact .tile__name{font-size:.625rem}.floating-bar{max-width:calc(100% - var(--space-2));column-gap:var(--space-1)}.room:has(.controlbar .control-btn:nth-child(8)){--controlbar-h: 118px}}.room--board{--controlbar-h: 0px;grid-template-rows:auto minmax(0,1fr)}.room--board .room__main{padding:0;gap:0}.room--board .stage{padding-bottom:0}.room--board .controlbar{display:none}.room--board .board{border-radius:0}.board-mini__sep{width:1px;height:20px;margin:0 2px;background:var(--border)}@media (max-width: 519px){.board-mini{left:var(--space-2);right:auto;margin-inline:0;transform:none}}@media (prefers-reduced-motion: reduce){.tile:after{transition:none}}@media (max-width: 519px){.room__header-btn{display:none}}.pip-body{margin:0;overflow:hidden;background:var(--bg)}.pip-window{display:flex;flex-direction:column;height:100dvh;background:#000;color:var(--text);font-family:var(--font)}.pip-window__tiles{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:var(--space-2);overflow-y:auto;padding:var(--space-2);background:var(--bg)}.pip-window__tiles .tile{width:100%;aspect-ratio:16 / 9;box-shadow:none}.pip-window__controls{flex:0 0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2);background:var(--bg);border-top:1px solid var(--border)}.pip-window .control-btn__tooltip{max-width:min(200px,calc(100vw - 16px))}.board{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;gap:var(--space-2);min-width:0;min-height:0;padding:var(--space-2);background:var(--bg);border-radius:var(--radius)}.board__surface{position:relative;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden}.board__canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:8px;background-color:var(--board-paper);touch-action:none;-webkit-user-select:none;user-select:none}.board__canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;touch-action:none}.board__canvas--live{pointer-events:none}.board__cursors{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;overflow:hidden;pointer-events:none}.board__cursor{position:absolute;top:0;left:0;width:0;height:0;pointer-events:none;will-change:transform;transition:transform 70ms linear;color:var(--cursor-color);--cursor-color: var(--cursor-color-1)}.board__cursor[data-color="0"]{--cursor-color: var(--cursor-color-1)}.board__cursor[data-color="1"]{--cursor-color: var(--cursor-color-2)}.board__cursor[data-color="2"]{--cursor-color: var(--cursor-color-3)}.board__cursor[data-color="3"]{--cursor-color: var(--cursor-color-4)}.board__cursor[data-color="4"]{--cursor-color: var(--cursor-color-5)}.board__cursor[data-color="5"]{--cursor-color: var(--cursor-color-6)}.board__cursor[data-color="6"]{--cursor-color: var(--cursor-color-7)}.board__cursor[data-color="7"]{--cursor-color: var(--cursor-color-8)}.board__cursor-arrow{position:absolute;top:0;left:0;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.board__cursor-arrow path{fill:currentColor;stroke:#fff;stroke-width:1.2;stroke-linejoin:round}.board__cursor-name{position:absolute;top:16px;left:13px;max-width:150px;overflow:hidden;padding:1px 8px;border-radius:999px;background:var(--cursor-color);color:#fff;font-size:12px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 1px 3px #0000004d}.board__canvas[data-tool=pen],.board__canvas[data-tool=marker]{cursor:crosshair}.board__canvas[data-tool=eraser]{cursor:cell}.board__main{position:relative;flex:1 1 auto;min-width:0;min-height:0;display:flex;gap:var(--space-2)}.board__rail{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:2px;width:48px;max-height:calc(100% - var(--space-2) * 2);padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:0 12px 32px var(--board-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.board__rail-btn{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.board__rail-dot{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 2px var(--surface)}.board__rail-btn:hover:not(:disabled){background:var(--border);color:var(--text)}.board__rail-btn--active{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.board__rail-btn--active:hover:not(:disabled){border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.board__rail-btn--lock.board__rail-btn--active,.board__rail-btn--lock.board__rail-btn--active:hover:not(:disabled){border-color:var(--danger);background:var(--danger);color:var(--on-primary)}.board__rail-btn--open:not(.board__rail-btn--active){background:var(--border);color:var(--text)}.board__color-sample{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--board-shadow),0 0 0 1px var(--border)}.board__rail-sep{flex:0 0 auto;width:24px;height:1px;margin:2px 0;background:var(--border)}.board__flyout{position:absolute;z-index:6;left:calc(48px + var(--space-2));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:var(--space-2);width:272px;max-width:calc(100% - 48px - var(--space-3));max-height:calc(100% - var(--space-4));padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 12px 32px var(--board-shadow);color:var(--text);overflow-y:auto}.board__flyout-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.board__flyout-title{font-size:.8125rem;font-weight:600}.board__flyout-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:1.125rem;line-height:1;cursor:pointer}.board__flyout-close:hover{background:var(--border);color:var(--text)}.board__tool-row{display:flex;flex-wrap:wrap;gap:var(--space-1)}.board__tool{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.board__tool:hover{border-color:var(--text-muted);color:var(--text)}.board__tool--active{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.board__icon{display:block}.board__palette{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.board__swatch{width:24px;height:24px;padding:0;border:2px solid transparent;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 1px #00000040}.board__swatch[aria-pressed=true]{border-color:var(--text);outline:2px solid var(--primary);outline-offset:1px}.board__custom{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--border);border-radius:50%;background:conic-gradient(from 0deg,#e5484d,#f5b301,#2fbf71,#0b6bff,#a855f7,#e5484d);cursor:pointer}.board__custom:after{content:"+";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.875rem;font-weight:700;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.65);pointer-events:none}.board__custom input{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);padding:0;border:none;opacity:0;cursor:pointer}.board__width{display:flex;align-items:center;gap:var(--space-2);width:100%;color:var(--text-muted);font-size:.75rem}.board__width-label{flex:0 0 auto}.board__width input[type=range]{flex:1 1 auto;min-width:0;accent-color:var(--primary)}.board__width-value{min-width:2ch;color:var(--text);font-variant-numeric:tabular-nums;text-align:right}.board__toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font:inherit;font-size:.75rem;cursor:pointer}.board__toggle:hover{border-color:var(--text-muted);color:var(--text)}.board__toggle--active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.board__pages-panel{display:flex;flex-direction:column;gap:var(--space-2);min-height:0}.board__page-nav{display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:var(--space-1)}.board__page-btn{width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font-size:1rem;line-height:1;cursor:pointer}.board__page-btn:hover:not(:disabled){border-color:var(--text-muted);background:var(--border)}.board__page-btn:disabled{opacity:.45;cursor:default}.board__page-count{min-width:3.5em;text-align:center;color:var(--text);font-size:.875rem;font-variant-numeric:tabular-nums}.board__pages-list{display:flex;flex-direction:column;gap:2px;max-height:220px;margin:0;padding:var(--space-1);list-style:none;border:1px solid var(--border);border-radius:8px;overflow-y:auto;scrollbar-width:thin}.board__page-row{display:flex;align-items:center;gap:var(--space-1);width:100%;min-width:0;height:30px;padding:0 var(--space-1);border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-size:.8125rem;text-align:left;cursor:pointer}.board__page-row:hover{background:var(--border)}.board__page-row--active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.board__page-row--active:hover{background:color-mix(in srgb,var(--primary) 20%,transparent)}.board__page-row-index{flex:0 0 1.5em;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right}.board__page-row--active .board__page-row-index{color:var(--primary)}.board__page-row-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board__page-new{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--primary)}.board__pages-form{display:flex;flex-direction:column;gap:var(--space-1)}.board__pages-field{display:flex;flex-direction:column;gap:2px;color:var(--text-muted);font-size:.75rem}.board__pages-field input,.board__pages-field select{width:100%;height:32px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:.8125rem}.board__pages-error{margin:0;color:var(--danger);font-size:.75rem}.board__pages-actions{display:flex;flex-direction:column;gap:var(--space-1)}.board__pages-buttons{display:flex;gap:var(--space-1)}.board__action{flex:0 0 auto;height:28px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:.8125rem;white-space:nowrap;cursor:pointer}.board__action:hover:not(:disabled){border-color:var(--text-muted);background:var(--border)}.board__action:disabled{opacity:.5;cursor:default}.board__action--primary{border-color:var(--primary);color:var(--primary)}.board__action--danger{border-color:var(--danger);color:var(--danger)}.board__confirm{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.board__confirm-text{color:var(--text);font-size:.8125rem}.board__status--switch{inset:auto var(--space-2) var(--space-2) auto;z-index:3;padding:var(--space-1) var(--space-3);border-radius:999px;font-size:.8125rem;pointer-events:none}.board__status{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);background:var(--board-overlay);color:var(--text);text-align:center}.board__status p{margin:0;max-width:42ch}.board__status--error{color:var(--danger)}.board__retry{padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.875rem;cursor:pointer}.board__file-input{display:none}.board__image-actions{position:absolute;top:var(--space-2);left:50%;z-index:4;display:flex;align-items:center;gap:var(--space-1);padding:3px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:0 4px 16px var(--board-shadow);opacity:.92;transform:translate(-50%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.board__image-actions:hover,.board__image-actions:focus-within{opacity:1}.board__image-actions .board__action{display:inline-flex;align-items:center;gap:var(--space-1);height:30px;border-color:transparent;border-radius:999px}.board__image-actions .board__action--primary{border-color:var(--primary)}.board__drop{position:absolute;inset:var(--space-2);z-index:30;display:flex;align-items:center;justify-content:center;padding:var(--space-4);border:2px dashed var(--primary);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--text);font-weight:600;text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.board__upload{position:absolute;left:50%;bottom:calc(var(--space-2) + 44px);z-index:6;padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 86%,transparent);color:var(--text);font-size:.8125rem;transform:translate(-50%);box-shadow:0 4px 16px var(--board-shadow);pointer-events:none}.board__image-panel{display:flex;flex-direction:column;gap:var(--space-2)}.board__image-hint,.board__image-status{margin:0;font-size:.8125rem;line-height:1.4}.board__image-hint{color:var(--text-muted)}.board__image-status{color:var(--text)}.board__canvas[data-tool=select]{cursor:default}.board~.thumbs{z-index:12}.board__tool:focus-visible,.board__rail-btn:focus-visible,.board__flyout-close:focus-visible,.board__toggle:focus-visible,.board__swatch:focus-visible,.board__custom:focus-within,.board__width input:focus-visible,.board__retry:focus-visible,.board__page-btn:focus-visible,.board__page-row:focus-visible,.board__action:focus-visible,.board__pages-field input:focus-visible,.board__pages-field select:focus-visible,.board__symbol:focus-visible,.board__snippet:focus-visible,.board__sticker:focus-visible,.board__text:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.board__text{position:absolute;z-index:2;min-width:120px;max-width:90%;min-height:1.25em;padding:2px 4px;border:1px dashed var(--primary);border-radius:4px;background:var(--board-paper);font-family:inherit;line-height:1.25;resize:none;overflow:auto;outline:none;box-sizing:border-box;white-space:pre;-webkit-user-select:text;user-select:text}.board__symbols{display:flex;flex-direction:column;gap:var(--space-2)}.board__symbol-group{display:flex;flex-wrap:wrap;align-items:center;gap:2px}.board__symbol-label{flex:0 0 100%;margin:0 0 2px;color:var(--text-muted);font-size:.75rem;white-space:nowrap}.board__symbol,.board__snippet{min-width:26px;height:26px;padding:0 6px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);font:inherit;font-size:.875rem;line-height:1;cursor:pointer}.board__snippet{padding:0 10px;border-color:var(--primary);color:var(--primary)}.board__symbol:hover:not(:disabled),.board__snippet:hover:not(:disabled){border-color:var(--text-muted);background:var(--border)}.board__symbol:disabled,.board__snippet:disabled{opacity:.4;cursor:default}.board__stickers{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-1)}.board__sticker{width:100%;aspect-ratio:1;padding:0;border:2px solid transparent;border-radius:8px;background:transparent;font-size:1.25rem;line-height:1;cursor:pointer}.board__sticker:hover{background:var(--border)}.board__sticker--active{border-color:var(--primary);background:var(--border)}.board__zoom{position:absolute;right:var(--space-2);bottom:var(--space-2);z-index:3;display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 74%,transparent);box-shadow:0 4px 16px var(--board-shadow);opacity:.88;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.board__zoom:hover,.board__zoom:focus-within{opacity:1}.board__zoom--open{z-index:12;opacity:1}.board__zoom .board__tool{width:28px;height:28px;border-color:transparent;border-radius:999px}.board__zoom .board__action{height:28px;padding:0 var(--space-2);border-color:transparent;border-radius:999px;font-size:.75rem}.board__zoom-value{min-width:3.75em;height:28px;padding:0 var(--space-1);border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text);font:inherit;font-size:.75rem;font-variant-numeric:tabular-nums;text-align:center;cursor:pointer}.board__zoom-value:hover,.board__zoom-value[aria-expanded=true]{background:var(--border)}.board__zoom-value:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.board__zoom-menu{position:absolute;right:0;bottom:calc(100% + var(--space-1));z-index:1;display:flex;flex-direction:column;min-width:116px;padding:4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 12px 32px var(--board-shadow)}.board__zoom-menu-item{display:flex;align-items:center;gap:6px;width:100%;height:32px;padding:0 var(--space-2);border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:.8125rem;text-align:left;cursor:pointer}.board__zoom-menu-item:hover{background:var(--border)}.board__zoom-menu-item:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.board__zoom-menu-item--active{color:var(--primary);font-weight:600}.board__zoom-menu-check{flex:0 0 auto;width:1em}.board__indicators{position:absolute;left:var(--space-2);bottom:var(--space-2);z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:min(70%,480px);pointer-events:none}.board__indicator{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 86%,transparent);color:var(--text);font-size:.75rem;line-height:1.25;box-shadow:0 4px 16px var(--board-shadow);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.board__indicator .board__icon{flex:0 0 auto;width:14px;height:14px}.board__indicator--connecting{border-color:color-mix(in srgb,var(--warning) 55%,var(--border));color:var(--warning)}.board__indicator--offline,.board__indicator--error{border-color:color-mix(in srgb,var(--danger) 55%,var(--border));color:var(--danger)}.board__indicator--locked{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));color:var(--primary)}.board__indicator--error{pointer-events:auto;white-space:normal}.board__indicator-retry{flex:0 0 auto;padding:1px 8px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font-size:.75rem;cursor:pointer}.board__indicator-retry:disabled{opacity:.5;cursor:default}.board__tool:disabled,.board__rail-btn:disabled{opacity:.4;cursor:default}.board__tool:disabled:hover,.board__rail-btn:disabled:hover{border-color:var(--border);color:var(--text-muted)}.board__rail-btn:disabled:hover{background:transparent;border-color:transparent}.board__canvas[data-tool=line],.board__canvas[data-tool=arrow],.board__canvas[data-tool=rect],.board__canvas[data-tool=ellipse]{cursor:crosshair}.board__canvas[data-tool=text]{cursor:text}.board__canvas[data-tool=sticker]{cursor:copy}.board__canvas[data-tool=hand],.board__canvas[data-panning=true]{cursor:grab}.board__canvas[data-tool=hand]:active,.board__canvas[data-panning=true]:active{cursor:grabbing}@media (max-width: 767px){.board{gap:var(--space-1);padding:var(--space-1)}.board__main{gap:var(--space-1)}.board__indicators{right:var(--space-1);bottom:44px;max-width:calc(100% - var(--space-1) * 2)}.board__flyout{left:calc(48px + var(--space-1));width:min(264px,calc(100% - 48px - var(--space-1)));max-width:calc(100% - 48px - var(--space-1));max-height:calc(100% - var(--space-2))}.board__swatch,.board__custom{width:22px;height:22px}.board__pages-list{max-height:180px}}@media (prefers-reduced-motion: reduce){.board__tool,.board__rail-btn,.board__flyout-close,.board__cursor{transition:none}}.control-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:var(--control-size);height:var(--control-size);padding:0;border:none;border-radius:50%;background:var(--color-control-bg);color:var(--color-control-icon);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .14s ease,filter .14s ease,background-color .14s ease,color .14s ease}.control-btn:hover{transform:scale(1.08);filter:brightness(1.14)}.control-btn:active{transform:scale(.96);filter:brightness(.94)}.control-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.control-btn:disabled{cursor:default;opacity:.6}.control-btn:disabled:hover,.control-btn:disabled:active{transform:none;filter:none}.control-btn--success{background:var(--color-success);color:var(--color-on-control)}.control-btn--danger,.control-btn--leave{background:var(--color-danger);color:var(--color-on-control)}.control-btn--accent{background:var(--color-accent);color:var(--color-on-control)}.control-btn__icon{position:relative;display:block;width:22px;height:22px}.control-btn__glyph{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;opacity:0;transform:scale(.82);transition:opacity .12s ease,transform .12s ease}.control-btn__glyph.is-visible{opacity:1;transform:scale(1)}.control-btn__glyph svg{display:block;width:22px;height:22px}.control-btn__badge{position:absolute;top:3px;right:3px;min-width:18px;height:18px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--color-badge-ring);border-radius:999px;background:var(--color-danger);color:var(--color-on-control);font-size:.6875rem;font-weight:600;line-height:1;pointer-events:none}.control-btn__dot{position:absolute;top:5px;right:5px;width:10px;height:10px;border:2px solid var(--color-badge-ring);border-radius:50%;background:var(--color-danger);pointer-events:none}.control-btn__spinner{position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid rgba(255,255,255,.35);border-top-color:var(--color-on-control);border-radius:50%;animation:control-btn-spin .8s linear infinite;pointer-events:none}.control-btn.is-loading .control-btn__icon{opacity:.3}@keyframes control-btn-spin{to{transform:rotate(360deg)}}.control-btn__tooltip{position:absolute;left:50%;bottom:calc(100% + 10px);z-index:100;width:max-content;max-width:min(240px,calc(100vw - 16px));padding:6px 10px;border-radius:8px;background:var(--color-tooltip-bg);color:var(--color-tooltip-text);font-size:.8125rem;line-height:1.25;text-align:center;text-wrap:balance;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,4px);transition:opacity .12s ease,transform .12s ease,visibility .12s}.control-btn:hover .control-btn__tooltip,.control-btn:focus-visible .control-btn__tooltip{opacity:1;visibility:visible;transform:translate(-50%)}.control-btn:first-child .control-btn__tooltip{left:0;transform:translateY(4px)}.control-btn:last-child .control-btn__tooltip{right:0;left:auto;transform:translateY(4px)}.control-btn:first-child:hover .control-btn__tooltip,.control-btn:first-child:focus-visible .control-btn__tooltip,.control-btn:last-child:hover .control-btn__tooltip,.control-btn:last-child:focus-visible .control-btn__tooltip{transform:translateY(0)}@media (max-width: 767px){.control-btn{width:var(--control-size-sm);height:var(--control-size-sm)}.control-btn__icon,.control-btn__glyph svg{width:20px;height:20px}.control-btn__spinner{width:18px;height:18px;margin:-9px 0 0 -9px}.control-btn__tooltip{font-size:.75rem;padding:5px 8px}}@media (prefers-reduced-motion: reduce){.control-btn,.control-btn__glyph,.control-btn__tooltip{transition:none}.control-btn:hover,.control-btn:active{transform:none}.control-btn__spinner{animation:none}}
