@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.media-volume-control{display:flex;align-items:center;gap:4px;flex:0 0 auto;padding:2px 6px 2px 2px;border-radius:var(--radius-sm);background:var(--bg-elevated)}.media-volume-control>.media-volume-toggle{padding:4px;width:26px;min-width:26px;background:transparent;border:0;box-shadow:none}.media-volume-control>input[type=range]{flex:0 0 65px;width:65px;min-width:0;margin:0;background:color-mix(in srgb,var(--text-secondary) 38%,var(--bg-elevated));border-color:color-mix(in srgb,var(--text-secondary) 55%,transparent)}.media-volume-control:focus-within{outline:2px solid var(--accent-color);outline-offset:2px}.choice-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:12px;border:0;padding:0;margin:18px 0;min-width:0}.choice-cards .choice-card{position:relative;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:12px;white-space:normal;text-align:left;padding:20px;color:var(--text-primary);background:var(--bg-card);border:1px solid transparent;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.choice-cards .choice-card:hover{background:var(--bg-card-hover)}.choice-card.is-selected{background:var(--accent-subtle);border-color:var(--accent-color)}.choice-card-icon{display:flex;color:var(--accent-color)}.choice-card-description{color:var(--text-secondary);font-size:12px;font-weight:400;line-height:1.6}.choice-card input{position:absolute;opacity:0;width:1px;height:1px}.choice-card:has(input:focus-visible){outline:2px solid var(--accent-color);outline-offset:3px}.choice-card.is-disabled,.choice-cards:disabled .choice-card{opacity:.5;cursor:not-allowed}.download-link.btn{width:auto;flex:none}.download-panel{min-width:0}.download-steps{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--text-muted);font-size:12px;margin-bottom:24px}.download-steps [aria-current]{color:var(--accent-color)}.download-step-header{display:flex;align-items:center;gap:10px;margin-bottom:18px}.download-step-heading{font-size:18px;margin:0;outline:none}.download-step-heading:focus-visible{outline:2px solid var(--accent-color);outline-offset:4px}.download-systems{display:grid;grid-template-columns:repeat(3,minmax(0,160px));gap:16px}.download-systems .download-system{display:flex;flex-direction:column;gap:10px;aspect-ratio:1;width:100%;min-width:0;min-height:0;overflow:hidden;padding:10px;white-space:normal}.download-system small{color:var(--text-muted);font-size:11px;font-weight:400;overflow-wrap:anywhere}.download-platform{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:13px;margin:14px 0 24px}.download-files{list-style:none;padding:0;margin:0}.download-file{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:20px 0}.download-file+.download-file{border-top:1px solid var(--border-subtle)}.download-file-badge{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent-color) 8%,var(--bg-control));border:1px solid color-mix(in srgb,var(--accent-color) 22%,var(--border-subtle));color:var(--accent-color);flex-shrink:0;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.download-file:hover .download-file-badge{background:color-mix(in srgb,var(--accent-color) 14%,var(--bg-control));border-color:color-mix(in srgb,var(--accent-color) 38%,var(--border-subtle));transform:translateY(-1px)}.download-file.is-unavailable .download-file-badge{background:var(--bg-control);border-color:var(--border-subtle);color:var(--text-muted);opacity:.6}.download-file-info h3{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin:0 0 5px;font-size:14px}.download-format-pill{display:inline-flex;align-items:center;padding:1px 6px;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-muted);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);line-height:1.4;text-transform:lowercase}.download-file-info p{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.6}.download-file>small{color:var(--text-muted);font-size:12px}.download-file>.btn{width:auto}.download-file.is-unavailable{opacity:.5}.download-file.is-unavailable>.btn{grid-column:3 / -1;opacity:1}@media(max-width:650px){.download-systems{gap:8px}.download-system small{font-size:10px}.download-file{grid-template-columns:36px minmax(0,1fr);gap:12px}.download-file-badge{width:36px;height:36px;border-radius:var(--radius-sm)}.download-file>small{grid-column:2}.download-file>.btn,.download-file.is-unavailable>.btn{grid-column:2;justify-self:start}}:root{--font-sans: "Plus Jakarta Sans Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono Variable", monospace;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.16, 1, .3, 1);--transition-normal: .22s cubic-bezier(.16, 1, .3, 1);--content-exit-duration: .15s;--dropdown-enter-duration: .32s;--dropdown-exit-duration: .26s;--source-loading-duration: .4s;--dropdown-hover-bg: color-mix(in srgb, var(--bg-card-hover) 96%, var(--text-primary) 4%);--bg-selected: color-mix(in srgb, var(--text-primary) 18%, var(--bg-input));--switch-track: color-mix(in srgb, var(--text-primary) 40%, var(--bg-app));--switch-thumb: var(--text-primary);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px 0 rgba(0, 0, 0, .12);--shadow-lg: 0 12px 32px -4px rgba(0, 0, 0, .25)}html[data-theme=dark],:root{--bg-app: #09090b;--bg-surface: #121215;--bg-elevated: #18181b;--bg-card: #141417;--bg-card-hover: #1c1c21;--bg-control: #25252c;--bg-control-hover: #34343e;--bg-input: #18181b;--bg-overlay: rgba(0, 0, 0, .72);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-focus: rgba(255, 255, 255, .24);--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-disabled: #52525b;--danger-bg: rgba(239, 68, 68, .12);--danger-border: rgba(239, 68, 68, .3);--danger-text: #f87171;--danger-hover: #ef4444;--success-bg: rgba(16, 185, 129, .12);--success-border: rgba(16, 185, 129, .3);--success-text: #34d399;--warning-text: #e6ad55;--skeleton-base: rgba(255, 255, 255, .05);--skeleton-highlight: rgba(255, 255, 255, .12)}html[data-theme=light]{--bg-app: #f4f4f5;--bg-surface: #ffffff;--bg-elevated: #fafafa;--bg-card: #ffffff;--bg-card-hover: #f4f4f5;--bg-input: #f4f4f5;--bg-overlay: rgba(0, 0, 0, .45);--border-subtle: rgba(0, 0, 0, .06);--border-default: rgba(0, 0, 0, .12);--border-focus: rgba(0, 0, 0, .3);--text-primary: #09090b;--text-secondary: #52525b;--text-muted: #71717a;--text-disabled: #a1a1aa;--danger-bg: rgba(239, 68, 68, .08);--danger-border: rgba(239, 68, 68, .25);--danger-text: #dc2626;--danger-hover: #b91c1c;--success-bg: rgba(16, 185, 129, .08);--success-border: rgba(16, 185, 129, .25);--success-text: #059669;--warning-text: #99600f;--skeleton-base: rgba(0, 0, 0, .05);--skeleton-highlight: rgba(0, 0, 0, .12)}html[data-accent=brown]{--accent-color: #a47754;--accent-hover: #8b6040;--accent-subtle: rgba(164, 119, 84, .12);--accent-border: rgba(164, 119, 84, .3);--accent-text-on-accent: #000000}html[data-accent=navy]{--accent-color: #1e40af;--accent-hover: #1e3a8a;--accent-subtle: rgba(30, 64, 175, .12);--accent-border: rgba(30, 64, 175, .3);--accent-text-on-accent: #ffffff}html[data-accent=custom]{--accent-color: var(--custom-accent-color);--accent-hover: var(--custom-accent-hover);--accent-subtle: var(--custom-accent-subtle);--accent-border: var(--custom-accent-border);--accent-text-on-accent: var(--custom-accent-text)}html[data-accent=cyan]{--accent-color: #06b6d4;--accent-hover: #0891b2;--accent-subtle: rgba(6, 182, 212, .12);--accent-border: rgba(6, 182, 212, .3);--accent-text-on-accent: #ffffff}html[data-accent=sky]{--accent-color: #0284c7;--accent-hover: #0369a1;--accent-subtle: rgba(2, 132, 199, .12);--accent-border: rgba(2, 132, 199, .3);--accent-text-on-accent: #ffffff}html[data-accent=blue]{--accent-color: #3b82f6;--accent-hover: #2563eb;--accent-subtle: rgba(59, 130, 246, .12);--accent-border: rgba(59, 130, 246, .3);--accent-text-on-accent: #ffffff}html[data-accent=indigo]{--accent-color: #6366f1;--accent-hover: #4f46e5;--accent-subtle: rgba(99, 102, 241, .12);--accent-border: rgba(99, 102, 241, .3);--accent-text-on-accent: #ffffff}html[data-accent=violet]{--accent-color: #8b5cf6;--accent-hover: #7c3aed;--accent-subtle: rgba(139, 92, 246, .12);--accent-border: rgba(139, 92, 246, .3);--accent-text-on-accent: #ffffff}html[data-accent=purple]{--accent-color: #a855f7;--accent-hover: #9333ea;--accent-subtle: rgba(168, 85, 247, .12);--accent-border: rgba(168, 85, 247, .3);--accent-text-on-accent: #ffffff}html[data-accent=fuchsia]{--accent-color: #d946ef;--accent-hover: #c026d3;--accent-subtle: rgba(217, 70, 239, .12);--accent-border: rgba(217, 70, 239, .3);--accent-text-on-accent: #ffffff}html[data-accent=pink]{--accent-color: #ec4899;--accent-hover: #db2777;--accent-subtle: rgba(236, 72, 153, .12);--accent-border: rgba(236, 72, 153, .3);--accent-text-on-accent: #ffffff}html[data-accent=rose]{--accent-color: #f43f5e;--accent-hover: #e11d48;--accent-subtle: rgba(244, 63, 94, .12);--accent-border: rgba(244, 63, 94, .3);--accent-text-on-accent: #ffffff}html[data-accent=red]{--accent-color: #ef4444;--accent-hover: #dc2626;--accent-subtle: rgba(239, 68, 68, .12);--accent-border: rgba(239, 68, 68, .3);--accent-text-on-accent: #ffffff}html[data-accent=orange]{--accent-color: #f97316;--accent-hover: #ea580c;--accent-subtle: rgba(249, 115, 22, .12);--accent-border: rgba(249, 115, 22, .3);--accent-text-on-accent: #ffffff}html[data-accent=amber]{--accent-color: #f59e0b;--accent-hover: #d97706;--accent-subtle: rgba(245, 158, 11, .12);--accent-border: rgba(245, 158, 11, .3);--accent-text-on-accent: #000000}html[data-accent=lime]{--accent-color: #84cc16;--accent-hover: #65a30d;--accent-subtle: rgba(132, 204, 22, .12);--accent-border: rgba(132, 204, 22, .3);--accent-text-on-accent: #000000}html[data-accent=emerald]{--accent-color: #10b981;--accent-hover: #059669;--accent-subtle: rgba(16, 185, 129, .12);--accent-border: rgba(16, 185, 129, .3);--accent-text-on-accent: #ffffff}html[data-accent=teal]{--accent-color: #14b8a6;--accent-hover: #0d9488;--accent-subtle: rgba(20, 184, 166, .12);--accent-border: rgba(20, 184, 166, .3);--accent-text-on-accent: #ffffff}html[data-accent=zinc]{--accent-color: #e4e4e7;--accent-hover: #ffffff;--accent-subtle: rgba(255, 255, 255, .1);--accent-border: rgba(255, 255, 255, .25);--accent-text-on-accent: #09090b}html[data-theme=light][data-accent=zinc]{--accent-color: #27272a;--accent-hover: #09090b;--accent-subtle: rgba(39, 39, 42, .08);--accent-border: rgba(39, 39, 42, .2);--accent-text-on-accent: #ffffff}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%;background-color:var(--bg-app)}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);height:100%;display:flex;flex-direction:column;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-font-smoothing:antialiased}#root{height:100%;width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#ffffff52}html[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000002e}html[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00000059}.hidden{display:none!important}.app-header{height:72px;background-color:var(--bg-app);border-bottom:0;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);flex-shrink:0;z-index:100}.header-room-info{display:flex;align-items:center;gap:8px;min-width:0}.app-update-badge,.btn.app-update-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;border-radius:var(--radius-full);background-color:var(--accent-subtle);border:1px solid var(--accent-border);color:var(--accent-color);white-space:nowrap;width:auto;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.app-update-badge:hover,.btn.app-update-badge:hover{background-color:var(--accent-color);border-color:var(--accent-color);color:var(--accent-text-on-accent);transform:translateY(-1px)}.app-update-badge:active,.btn.app-update-badge:active{transform:translateY(0)}.app-update-badge-icon{flex-shrink:0;width:12px;height:12px;transition:transform var(--transition-fast)}.app-update-badge:hover .app-update-badge-icon,.btn.app-update-badge:hover .app-update-badge-icon{transform:translateY(1px)}.app-update-content{display:grid;gap:12px}.release-notes-list{margin:0;padding-inline-start:20px;display:grid;gap:12px;color:var(--text-secondary);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.release-notes-list p{margin:0;line-height:inherit}.release-notes-list strong,.release-notes-list h2,.release-notes-list h3{color:var(--text-primary)}.release-notes-list h2,.release-notes-list h3{margin:0 0 8px;font-size:15px}.release-notes-list :is(p,ul,ol,pre,blockquote)+:is(p,ul,ol,pre,blockquote){margin-block-start:8px}.release-notes-list :is(ul,ol){padding-inline-start:20px}.release-notes-list :is(code,pre){font-family:var(--font-mono);background:var(--bg-input);border-radius:var(--radius-xs)}.release-notes-list code{padding:1px 4px}.release-notes-list pre{padding:10px;overflow:auto}.release-notes-list pre code{padding:0}.release-notes-list blockquote{margin-inline:0;padding-inline-start:12px;border-inline-start:2px solid var(--border-default)}.app-update-progress{width:100%;accent-color:var(--accent-color)}.app-version{font-variant-numeric:tabular-nums}.app-version-compact{font-size:11px;color:var(--text-muted)}.home-version{position:fixed;right:16px;bottom:8px;padding:2px 6px;border-radius:var(--radius-xs);background:var(--bg-app)}.app-update-notes{max-height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-muted)}.header-user-info{flex-shrink:0;display:flex;align-items:center;gap:8px}.app-header.is-in-room{height:64px;padding-inline:18px;gap:16px;background-color:color-mix(in srgb,var(--bg-app) 98.5%,#fff)}.header-room-info{flex:1}.header-room-name{display:flex;align-items:center;gap:8px;min-width:0;margin-right:8px}.header-room-name strong{max-width:min(28vw,360px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;color:color-mix(in srgb,var(--text-primary) 92%,var(--text-muted))}.header-room-name .room-lock-icon{flex:none;color:var(--text-muted)}.btn.header-room-action{min-width:112px;width:auto;min-height:32px;padding:6px 16px;flex:none;border-radius:var(--radius-full)}.btn.header-room-action.is-copied{background:var(--success-bg);color:color-mix(in srgb,var(--success-text) 55%,var(--text-primary))}.header-invite-icon{display:grid;place-items:center;animation:inviteFeedback var(--transition-normal)}@keyframes inviteFeedback{0%{opacity:0;transform:scale(.8) translateY(2px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.header-invite-icon{animation:none}}.btn-icon-header.header-room-save{width:28px;height:28px;flex:none;background:transparent;color:var(--text-muted)}.btn-icon-header.header-room-save:hover{background:var(--bg-control-hover);color:var(--text-primary)}.btn-icon-header.header-room-save.is-saved{color:color-mix(in srgb,var(--accent-color) 45%,var(--text-primary))}.btn-icon-header.header-room-save:disabled{opacity:.45;cursor:default}.btn-icon-header.header-leave-room{color:var(--danger-text);background:var(--danger-bg)}.btn-icon-header.header-leave-room:hover{color:#fff;background:var(--danger-hover)}.header-pill-label{font-size:10px;font-weight:700;opacity:.8;letter-spacing:.5px}.user-pill{display:flex;align-items:center;gap:7px;background-color:transparent;border:0;padding:6px 10px 6px 6px;border-radius:var(--radius-full);cursor:pointer;font-size:13px;font-weight:500;color:var(--text-primary);transition:all var(--transition-fast);outline:none}.user-pill:hover{background-color:var(--bg-card-hover);border-color:var(--border-focus)}.user-status-dot{width:7px;height:7px;background-color:var(--accent-color);border-radius:var(--radius-full)}.btn-icon-header{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-elevated);border:0;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);outline:none}.btn-icon-header:hover{background-color:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-focus)}.app-workspace{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.app-workspace.is-home{background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--ambient-glow, #00225c) 12%,transparent),transparent 65%)}.app-workspace.is-home .app-header{background-color:transparent;transition:background-color var(--transition-fast),box-shadow var(--transition-fast)}.app-workspace.is-home .app-header.is-home-scrolled{background-color:color-mix(in srgb,var(--bg-app) 94%,transparent);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-main{flex:1;display:flex;overflow:hidden;position:relative;min-height:0;height:100%}.view{display:none;width:100%;height:100%;flex-direction:column;min-height:0}.view.active{display:flex;flex:1}#view-home{overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;background:transparent}.hero-container{width:100%;flex-shrink:0;margin:0 auto;padding:12px clamp(20px,4vw,64px) 28px;display:flex;flex-direction:column;gap:28px;text-align:left}.home-hero{--text-primary: #f7f9ff;--text-secondary: #c1c9d8;--text-muted: #9caac1;--hero-art-width: clamp(260px, 32vw, 460px);--bg-control: var(--hero-control, #181818);--bg-control-hover: var(--hero-control-hover, #292929);position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(200px,.8fr);align-items:center;gap:clamp(24px,5vw,80px);padding:clamp(13px,2vw,32px) clamp(24px,3vw,48px);border-radius:calc(var(--radius-lg) * 1.6);background:var(--hero-background, #000000)}.home-hero:before{content:"";position:absolute;right:0;bottom:0;width:calc(var(--hero-art-width) * 1.75);height:100%;pointer-events:none;background:radial-gradient(ellipse 100% 100% at 100% 100%,#00225c 0%,#00225c 32%,transparent 90%)}.home-hero:after,.site-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22640%22%20height%3D%22360%22%20viewBox%3D%220%200%20640%20360%22%20fill%3D%22none%22%3E%20%3Ccircle%20cx%3D%2235%22%20cy%3D%2242%22%20r%3D%220.8%22%20fill%3D%22rgba(255%2C255%2C255%2C0.3)%22%20%2F%3E%20%3Ccircle%20cx%3D%2285%22%20cy%3D%22180%22%20r%3D%221.1%22%20fill%3D%22rgba(210%2C230%2C255%2C0.4)%22%20%2F%3E%20%3Ccircle%20cx%3D%22140%22%20cy%3D%2295%22%20r%3D%220.7%22%20fill%3D%22rgba(255%2C255%2C255%2C0.25)%22%20%2F%3E%20%3Ccircle%20cx%3D%22195%22%20cy%3D%22290%22%20r%3D%221.3%22%20fill%3D%22rgba(220%2C240%2C255%2C0.45)%22%20%2F%3E%20%3Ccircle%20cx%3D%22230%22%20cy%3D%2250%22%20r%3D%220.9%22%20fill%3D%22rgba(255%2C255%2C255%2C0.3)%22%20%2F%3E%20%3Ccircle%20cx%3D%22270%22%20cy%3D%22160%22%20r%3D%220.7%22%20fill%3D%22rgba(255%2C255%2C255%2C0.2)%22%20%2F%3E%20%3Ccircle%20cx%3D%22315%22%20cy%3D%2275%22%20r%3D%221.2%22%20fill%3D%22rgba(200%2C225%2C255%2C0.5)%22%20%2F%3E%20%3Ccircle%20cx%3D%22340%22%20cy%3D%22260%22%20r%3D%220.8%22%20fill%3D%22rgba(255%2C255%2C255%2C0.3)%22%20%2F%3E%20%3Ccircle%20cx%3D%22410%22%20cy%3D%22130%22%20r%3D%221%22%20fill%3D%22rgba(255%2C255%2C255%2C0.35)%22%20%2F%3E%20%3Ccircle%20cx%3D%22445%22%20cy%3D%2245%22%20r%3D%220.7%22%20fill%3D%22rgba(255%2C255%2C255%2C0.25)%22%20%2F%3E%20%3Ccircle%20cx%3D%22475%22%20cy%3D%22210%22%20r%3D%221.2%22%20fill%3D%22rgba(210%2C230%2C255%2C0.4)%22%20%2F%3E%20%3Ccircle%20cx%3D%22530%22%20cy%3D%2290%22%20r%3D%220.8%22%20fill%3D%22rgba(255%2C255%2C255%2C0.3)%22%20%2F%3E%20%3Ccircle%20cx%3D%22565%22%20cy%3D%22280%22%20r%3D%221.1%22%20fill%3D%22rgba(255%2C255%2C255%2C0.35)%22%20%2F%3E%20%3Ccircle%20cx%3D%2270%22%20cy%3D%22310%22%20r%3D%220.8%22%20fill%3D%22rgba(255%2C255%2C255%2C0.25)%22%20%2F%3E%20%3Ccircle%20cx%3D%22165%22%20cy%3D%22215%22%20r%3D%221%22%20fill%3D%22rgba(255%2C255%2C255%2C0.3)%22%20%2F%3E%20%3Ccircle%20cx%3D%22365%22%20cy%3D%22185%22%20r%3D%220.7%22%20fill%3D%22rgba(255%2C255%2C255%2C0.25)%22%20%2F%3E%20%3Ccircle%20cx%3D%22505%22%20cy%3D%22325%22%20r%3D%220.8%22%20fill%3D%22rgba(255%2C255%2C255%2C0.3)%22%20%2F%3E%20%3Ccircle%20cx%3D%2225%22%20cy%3D%22240%22%20r%3D%221%22%20fill%3D%22rgba(255%2C255%2C255%2C0.35)%22%20%2F%3E%20%3Ccircle%20cx%3D%22245%22%20cy%3D%22330%22%20r%3D%220.7%22%20fill%3D%22rgba(255%2C255%2C255%2C0.2)%22%20%2F%3E%20%3Ccircle%20cx%3D%22580%22%20cy%3D%22150%22%20r%3D%220.9%22%20fill%3D%22rgba(255%2C255%2C255%2C0.3)%22%20%2F%3E%20%3Ccircle%20cx%3D%22615%22%20cy%3D%2265%22%20r%3D%220.8%22%20fill%3D%22rgba(255%2C255%2C255%2C0.25)%22%20%2F%3E%20%3Ccircle%20cx%3D%22110%22%20cy%3D%2225%22%20r%3D%220.7%22%20fill%3D%22rgba(255%2C255%2C255%2C0.25)%22%20%2F%3E%20%3Ccircle%20cx%3D%22490%22%20cy%3D%2230%22%20r%3D%221.1%22%20fill%3D%22rgba(210%2C230%2C255%2C0.4)%22%20%2F%3E%20%3Cg%20transform%3D%22translate(120%2C%2055)%22%3E%20%3Cpath%20d%3D%22M0%20-4%20Q0%200%204%200%20Q0%200%200%204%20Q0%200%20-4%200%20Q0%200%200%20-4Z%22%20fill%3D%22rgba(225%2C240%2C255%2C0.45)%22%20%2F%3E%20%3Ccircle%20cx%3D%220%22%20cy%3D%220%22%20r%3D%220.8%22%20fill%3D%22%23ffffff%22%20%2F%3E%20%3C%2Fg%3E%20%3Cg%20transform%3D%22translate(390%2C%2085)%22%3E%20%3Cpath%20d%3D%22M0%20-5%20Q0%200%205%200%20Q0%200%200%205%20Q0%200%20-5%200%20Q0%200%200%20-5Z%22%20fill%3D%22rgba(210%2C235%2C255%2C0.5)%22%20%2F%3E%20%3Ccircle%20cx%3D%220%22%20cy%3D%220%22%20r%3D%220.9%22%20fill%3D%22%23ffffff%22%20%2F%3E%20%3C%2Fg%3E%20%3Cg%20transform%3D%22translate(290%2C%20230)%22%3E%20%3Cpath%20d%3D%22M0%20-3.5%20Q0%200%203.5%200%20Q0%200%200%203.5%20Q0%200%20-3.5%200%20Q0%200%200%20-3.5Z%22%20fill%3D%22rgba(225%2C240%2C255%2C0.4)%22%20%2F%3E%20%3Ccircle%20cx%3D%220%22%20cy%3D%220%22%20r%3D%220.7%22%20fill%3D%22%23ffffff%22%20%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E");background-repeat:repeat;background-size:640px 360px;opacity:.6;animation:heroStarsTwinkle 10s ease-in-out infinite alternate}@keyframes heroStarsTwinkle{0%{opacity:.45}to{opacity:.75}}@media(prefers-reduced-motion:reduce){.home-hero:after,.site-hero:after{animation:none}}:root[data-reduced-motion=true] .home-hero:after,:root[data-reduced-motion=true] .site-hero:after{animation:none!important}.hero-text{position:relative;z-index:2;min-width:0;max-width:780px}.hero-title{font-size:clamp(32px,3.7vw,64px);font-weight:650;line-height:1.14;letter-spacing:-.045em;color:var(--text-primary);max-width:14ch;margin-bottom:24px;text-wrap:balance}.hero-subtitle{font-size:clamp(14px,1.2vw,17px);line-height:1.8;color:var(--text-secondary);max-width:48ch;margin-bottom:32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-actions .btn{width:auto;min-height:48px;padding:14px 22px;border-radius:var(--radius-full)}.hero-note{margin-top:18px;color:var(--text-muted);font-size:12px;line-height:1.6}.hero-brand{position:absolute;right:0;bottom:0;width:var(--hero-art-width);height:100%;pointer-events:none;z-index:1}.hero-logo{display:block;width:100%;height:100%;object-fit:contain;object-position:right bottom}.header-invite-label{font-weight:600}.user-pill #current-username-display{max-width:min(24vw,240px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-pill .header-profile-avatar{width:38px;height:38px;font-size:14px}:is(.user-pill,.btn-icon-header,.btn,.pill-btn):focus-visible{outline:2px solid var(--text-primary);outline-offset:3px}@media(max-width:760px){.home-hero{grid-template-columns:minmax(0,1fr) 160px;gap:16px;padding:13px 24px}.home-hero{--hero-art-width: 200px}.hero-container{gap:24px}}@media(max-width:540px){.home-hero{grid-template-columns:minmax(0,1fr);padding:12px 20px}.hero-brand{display:none}.hero-actions .btn{width:100%}.header-invite-label{display:none}.btn.header-room-action{min-width:0}.app-header.is-in-room{padding-inline:12px;gap:8px}.header-room-name{margin-right:0}.is-in-room .user-pill #current-username-display{display:none}.app-header{padding:0 16px}}.saved-rooms-section{width:100%;margin-top:0;text-align:left}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.saved-rooms-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.saved-rooms-heading{margin-bottom:14px}.saved-rooms-heading .saved-rooms-add{width:auto;flex:none}.saved-rooms-heading h2{color:var(--text-primary);font-size:17px;margin:0 0 4px}.saved-rooms-heading p,.saved-rooms-empty{color:var(--text-muted);font-size:12px;margin:0}.saved-rooms-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}.saved-room-card{--room-role-text: #8aeaca;display:flex;flex-direction:column;min-width:0;gap:24px;padding:20px;background:var(--bg-card);border:0;border-radius:var(--radius-lg)}.saved-room-card.is-owned{--room-role-text: #ffd09a}.saved-room-card:hover{box-shadow:var(--shadow-md)}html[data-theme=light] .saved-room-card{--room-role-text: #075443}html[data-theme=light] .saved-room-card.is-owned{--room-role-text: #74430d}.saved-room-card{position:relative;transition:background-color var(--transition-fast),box-shadow var(--transition-normal)}.saved-room-card-heading{display:flex;align-items:center;gap:10px;min-width:0}.saved-room-card-heading .saved-room-drag-handle{width:28px;min-width:28px;height:32px;padding:0;flex:0 0 28px;border:0;background:transparent;color:var(--text-muted);cursor:grab;touch-action:none}.saved-room-card-heading .saved-room-drag-handle:hover{color:var(--text-primary)}.saved-room-card-heading .saved-room-drag-handle:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.saved-room-card-heading .saved-room-drag-handle:active,.saved-room-card.is-dragging .saved-room-drag-handle{cursor:grabbing}.saved-room-card.is-dragging{z-index:10;border-color:var(--accent-color);box-shadow:var(--shadow-lg)}.saved-rooms-grid.is-sorting{-webkit-user-select:none;user-select:none}.saved-rooms-grid.is-sorting .saved-room-card:not(.is-dragging){pointer-events:none}.saved-room-details{display:flex;flex:1;min-width:0;flex-direction:column;gap:6px}.saved-room-details strong{color:var(--text-primary);font-size:17px;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-room-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--text-muted)}.saved-room-role.badge-host{color:var(--room-role-text);font-size:11px;font-weight:500;letter-spacing:0;line-height:1.5}.saved-room-id{color:var(--text-muted);font:10px var(--font-mono)}.saved-room-actions{display:flex;align-items:center;gap:8px}.saved-room-actions .btn{min-height:40px;border-radius:var(--radius-md);font-size:13px}.saved-room-actions .saved-room-enter{width:auto;flex:1;background:color-mix(in srgb,var(--accent-color) 10%,var(--bg-control));color:var(--text-primary)}.saved-room-actions .saved-room-enter:hover{background:color-mix(in srgb,var(--accent-color) 18%,var(--bg-control-hover))}.saved-room-actions .saved-room-icon-button,.saved-room-actions .saved-room-remove{width:40px;height:40px;padding:10px;flex:none}.saved-room-form-field,.saved-room-edit-password{margin-top:16px}@media(max-width:640px){.saved-rooms-grid{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;outline:none;text-decoration:none;font-family:inherit;white-space:nowrap;width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--accent-color);color:var(--accent-text-on-accent)}.btn-primary:hover{background-color:var(--accent-hover)}.btn-primary:active{transform:scale(.98)}.btn-secondary{background-color:var(--bg-control);border-color:transparent;color:var(--text-primary)}.btn-secondary:hover{background-color:var(--bg-control-hover);border-color:transparent}.btn-outline{background-color:var(--bg-control);border-color:transparent;color:var(--text-primary)}.btn-outline:hover{background-color:var(--bg-control-hover);border-color:transparent}.btn-danger{background-color:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.btn-danger:hover{background-color:var(--danger-hover);color:#fff}.btn-sm{padding:6px 12px;font-size:12px;border-radius:var(--radius-sm);width:auto}.btn-compact{padding:6px 10px}.btn.btn-transmission-menu{padding-right:8px}.btn-transmission-menu .transmission-chevron{flex-shrink:0;width:10px;margin-left:-5px}.transmission-source-icon{position:relative;display:grid;place-items:center;padding:7px;border-radius:var(--radius-sm);background:var(--accent-subtle);color:var(--accent-color)}.transmission-source-icon .stream-sharing-indicator{position:absolute;right:1px;bottom:1px;box-shadow:0 0 0 2px var(--bg-elevated)}.room-layout{display:flex;width:100%;height:100%;flex:1;min-height:0;overflow:hidden;position:relative}.stream-area{flex:1;min-width:0;container:stream-area / inline-size;display:flex;flex-direction:column;height:100%;min-height:0;background-color:var(--bg-app);overflow:hidden;position:relative}.stream-header-bar{height:48px;background-color:var(--bg-surface);border-bottom:0;display:flex;align-items:center;justify-content:space-between;padding:0 14px;flex-shrink:0;gap:10px;position:relative;z-index:30}.stream-filter-group{display:inline-flex;align-items:center;background-color:transparent;border:0;border-radius:var(--radius-full);padding:0;gap:6px;margin-left:0;flex-shrink:0}.btn-stream-filter{font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:5px;background:none;border:none;color:var(--text-secondary);font-size:11px;font-weight:600;padding:7px 11px;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.btn-stream-filter:hover{color:var(--text-primary);background-color:var(--bg-control-hover)}.btn-stream-filter.active{background-color:var(--bg-selected);color:var(--text-primary);font-weight:600;box-shadow:none}:is(.btn-stream-filter,.tab-btn,.btn-chat-emoji,.btn-chat-send,.btn-toggle-spotlight-tray,.sidebar-edge-toggle-btn,.participant-card,.stream-card):focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.filter-count-badge{font-size:9px;font-family:var(--font-mono);font-weight:700;padding:0 2px;border-radius:var(--radius-xs);background-color:transparent;color:inherit}.btn-stream-filter.active .filter-count-badge{background-color:transparent;color:inherit}.filter-live-dot{width:6px;height:6px;border-radius:50%;background-color:#ef4444}.btn-stream-filter.active .filter-live-dot{background-color:var(--text-primary)}.stream-filter-empty-state{width:100%;height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;color:var(--text-secondary);font-size:13px}.filter-empty-title{font-size:13.5px;font-weight:500;color:var(--text-muted);margin:0}.filter-empty-btn{margin-top:4px}.stream-actions{display:flex;align-items:center;gap:6px}.stream-sharing-indicator{width:6px;height:6px;background-color:var(--success-text);border-radius:var(--radius-full);display:none}.stream-sharing-indicator.active{display:inline-block}.video-container{flex:1;min-width:0;min-height:0;position:relative;background-color:var(--bg-app);display:flex;flex-direction:column;overflow:hidden;padding:8px}.streams-grid-wrapper{flex:1;min-width:0;min-height:0;contain:size;display:block;position:relative;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;overflow-anchor:none;scrollbar-gutter:stable}.room-card-canvas{position:relative;width:100%;min-height:100%}.room-card-frame{position:relative;min-width:0;min-height:0;-webkit-user-select:none;user-select:none}.room-card-frame:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px;border-radius:var(--radius-md)}.room-card-frame>.stream-card,.room-card-frame>.participant-card,.room-card-frame>.room-app-slot{width:100%;height:100%;min-width:0;min-height:0;aspect-ratio:auto;box-sizing:border-box;animation:none;will-change:auto;transition:border-color var(--transition-fast)}.room-card-frame.is-dragging{z-index:40;pointer-events:none}.room-card-frame.is-dragging>:first-child{outline:2px solid var(--accent-color)}.is-arranging-cards{cursor:grabbing}.room-card-placeholder{box-sizing:border-box;z-index:2;pointer-events:none;border:2px dashed var(--accent-color);border-radius:var(--radius-md);background:var(--accent-subtle)}.room-card-edge{position:absolute;z-index:25;touch-action:none}.room-card-edge-n,.room-card-edge-s{left:8px;right:8px;height:6px;cursor:ns-resize}.room-card-edge-n{top:0}.room-card-edge-s{bottom:0}.room-card-edge-e,.room-card-edge-w{top:8px;bottom:8px;width:6px;cursor:ew-resize}.room-card-edge-e{right:0}.room-card-edge-w{left:0}.room-card-edge-ne,.room-card-edge-nw,.room-card-edge-se,.room-card-edge-sw{width:10px;height:10px}.room-card-edge-ne,.room-card-edge-sw{cursor:nesw-resize}.room-card-edge-nw,.room-card-edge-se{cursor:nwse-resize}.room-card-edge-ne{top:0;right:0}.room-card-edge-nw{top:0;left:0}.room-card-edge-se{bottom:0;right:0}.room-card-edge-sw{bottom:0;left:0}.spotlight-tray-strip{position:relative}.spotlight-tray-strip>.room-card-frame,.spotlight-tray-strip>.room-card-placeholder{height:100%;aspect-ratio:16 / 9;flex-shrink:0}.spotlight-tray-strip .room-card-frame>.stream-card,.spotlight-tray-strip .room-card-frame>.participant-card,.spotlight-tray-strip .room-card-frame>.room-app-slot{width:100%;height:100%}.spotlight-stage{display:flex;flex-direction:column;width:100%;height:100%;gap:8px;position:relative}.spotlight-featured-area{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;border-radius:var(--radius-md);overflow:hidden}.spotlight-featured-area .stream-card,.spotlight-featured-area .participant-card{width:100%;height:100%;animation:spotlightFeaturedEnter .38s cubic-bezier(.16,1,.3,1) both}.streams-grid-wrapper .stream-card,.streams-grid-wrapper .participant-card,.spotlight-tray-strip .stream-card,.spotlight-tray-strip .participant-card{animation:peerCardEnter .35s cubic-bezier(.16,1,.3,1) both;will-change:transform,opacity}@keyframes peerCardEnter{0%{opacity:0;transform:scale(.94) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes viewModeEnter{0%{opacity:0;transform:scale(.975)}to{opacity:1;transform:none}}@keyframes spotlightFeaturedEnter{0%{opacity:0;transform:scale(.975)}to{opacity:1;transform:none}}.spotlight-tray-container{height:var(--spotlight-tray-height, 110px);display:flex;flex-direction:column;position:relative;background-color:var(--bg-surface);border:0;border-radius:var(--radius-lg);padding:6px;transition:height var(--transition-normal),padding var(--transition-normal),background-color var(--transition-normal),border-color var(--transition-normal);flex-shrink:0}.spotlight-tray-container.collapsed{height:38px;padding:0;background-color:transparent;border-color:transparent}.btn-toggle-spotlight-tray{position:absolute;top:6px;left:50%;transform:translate(-50%);z-index:30;width:26px;height:26px;border-radius:var(--radius-full);background-color:var(--bg-surface);border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);outline:none}.btn-toggle-spotlight-tray:hover{background-color:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-focus)}.spotlight-tray-container.collapsed .btn-toggle-spotlight-tray svg{transform:rotate(180deg)}.btn-toggle-spotlight-tray svg{transition:transform var(--transition-normal)}.spotlight-tray-strip{display:flex;gap:8px;height:100%;overflow-x:auto;align-items:center;padding:2px 4px;min-height:0;opacity:1;visibility:visible;transition:opacity var(--transition-normal),visibility var(--transition-normal)}.spotlight-tray-container.collapsed .spotlight-tray-strip{opacity:0;visibility:hidden;pointer-events:none}.spotlight-tray-strip .stream-card,.spotlight-tray-strip .participant-card{height:100%;width:auto;aspect-ratio:16 / 9;flex-shrink:0;transition:all var(--transition-fast);contain:layout size style}.spotlight-tray-strip .stream-card video{contain:strict;transform:translateZ(0)}.tray-featured-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:radial-gradient(circle at center,var(--accent-subtle) 0%,var(--bg-card) 100%);color:var(--text-primary);pointer-events:none;-webkit-user-select:none;user-select:none}.tray-featured-placeholder svg{color:inherit;filter:none}.spotlight-tray-strip .stream-card-stats-hud,.spotlight-tray-strip .stream-controls-group,.spotlight-tray-strip .stream-volume-controller,.spotlight-tray-strip .stream-zoom-bar,.spotlight-tray-strip .participant-status-text,.spotlight-tray-strip .badge-live-stream,.spotlight-tray-strip .local-broadcaster-title{display:none!important}.spotlight-tray-strip .stream-card-overlay{border:0;max-width:calc(100% - 10px);box-sizing:border-box;bottom:5px;left:5px;padding:2px 7px;font-size:9.5px;border-radius:var(--radius-full)}.spotlight-tray-strip .btn-stop-watch-stream{top:5px;right:5px;font-size:9.5px;padding:2px 7px;border-radius:var(--radius-full);background-color:#000000bf}.spotlight-tray-strip .participant-avatar-badge{width:36px;height:36px}.spotlight-tray-strip .participant-avatar-badge svg{width:18px;height:18px}.spotlight-tray-strip .participant-name-row{margin-top:4px;max-width:calc(100% - 12px);min-width:0}.spotlight-tray-strip .participant-avatar-label,.spotlight-tray-strip .stream-user-name{font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spotlight-tray-strip .participant-action-row{margin-top:4px}.spotlight-tray-strip .btn-watch-stream{padding:3px 8px;font-size:10px}.spotlight-tray-strip .stream-card.selected-featured,.spotlight-tray-strip .participant-card.selected-featured{border-color:var(--accent-color, #06b6d4)!important;box-shadow:0 0 0 2px var(--accent-color, #06b6d4),0 0 16px #06b6d473!important;position:relative}.selected-featured-badge{position:absolute;top:6px;left:6px;z-index:12;display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;background-color:var(--accent-color, #06b6d4);border-radius:var(--radius-full);box-shadow:0 0 8px var(--accent-color, #06b6d4),0 2px 6px #0009;pointer-events:none}.selected-featured-badge-dot{width:5px;height:5px;border-radius:50%;background-color:#080d14}.stream-card{position:relative;background-color:var(--bg-card);border:1px solid transparent;border-radius:var(--radius-md);overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer;aspect-ratio:16 / 9;transition:all var(--transition-fast)}.stream-card:hover{border-color:transparent}.stream-card.selected{border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color)}.stream-card video{width:100%;height:100%;object-fit:contain;background-color:#000;image-rendering:auto}.local-broadcaster-placeholder,.pip-broadcaster-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;background:radial-gradient(circle at center,var(--accent-subtle) 0%,var(--bg-card) 75%);color:var(--text-primary);text-align:center;padding:16px;-webkit-user-select:none;user-select:none}.local-broadcaster-radar-pulse{position:relative;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:var(--radius-full);background-color:var(--accent-subtle);border:1px solid var(--accent-border);color:var(--accent-color)}.local-broadcaster-radar-pulse:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:var(--radius-full);border:2px solid var(--accent-color);animation:radar-pulse-ring 2.5s infinite ease-out;pointer-events:none}.spotlight-tray-strip .local-broadcaster-placeholder{gap:4px;padding:4px}.spotlight-tray-strip .local-broadcaster-radar-pulse{width:32px;height:32px}@keyframes radar-pulse-ring{0%{transform:scale(.95);opacity:.8}70%{transform:scale(1.4);opacity:0}to{transform:scale(1.4);opacity:0}}.local-broadcaster-title{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.local-broadcaster-subtitle{font-size:11px;font-weight:500;color:var(--text-secondary)}.btn-toggle-local-preview{display:inline-flex;align-items:center;gap:6px;background-color:var(--bg-control);border:1px solid transparent;color:var(--text-primary);padding:6px 14px;border-radius:var(--radius-full);font-size:11px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);margin-top:2px}.btn-toggle-local-preview:hover{background-color:var(--accent-subtle);border-color:var(--accent-border);color:var(--accent-color);transform:translateY(-1px)}.btn-toggle-local-preview.active{background-color:#ef444426;border-color:#ef44444d;color:#f87171;padding:4px 10px}.btn-toggle-local-preview.active:hover{background-color:#ef444440;color:#fca5a5}.btn-restore-from-pip{background-color:var(--accent-subtle);border-color:var(--accent-border);color:var(--accent-color)}.btn-restore-from-pip:hover{background-color:var(--accent-color);color:var(--accent-text-on-accent, #fff);border-color:var(--accent-color);transform:translateY(-1px)}.stream-card-overlay{position:absolute;bottom:10px;left:10px;display:flex;align-items:center;gap:8px;background-color:var(--stream-hud-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 10px;border-radius:var(--radius-md);font-size:12px;font-weight:500;color:var(--text-primary);border:0;box-shadow:var(--shadow-md);max-width:calc(100% - 20px);box-sizing:border-box;pointer-events:none;z-index:5}.participant-card{container-type:size;position:relative;border:1px solid transparent;border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;aspect-ratio:16 / 9;background:radial-gradient(circle at center,var(--card-color, var(--user-color, #1f2937)) 0%,var(--card-color, var(--user-color, #1f2937)) 60%,var(--bg-app) 100%);transition:all var(--transition-fast)}.participant-card:hover{border-color:transparent;transform:scale(1.005)}.participant-card.selected{border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color)}.participant-avatar-badge{width:52px;height:52px;border-radius:var(--radius-full);background-color:#ffffff2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 16px #0006}.participant-avatar-badge svg{opacity:.95;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.participant-name-row{margin-top:10px;display:flex;align-items:center;gap:6px}.participant-avatar-label{font-size:13px;font-weight:600;color:var(--card-text, #ffffff);text-shadow:none}.badge-you{font-size:9px;font-weight:700;letter-spacing:.6px;padding:1px 6px;background-color:#fff3;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:var(--radius-full);text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.participant-status-text{font-size:10px;color:var(--card-text, #ffffff);margin-top:2px}.badge-live-stream{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:5px;background-color:#ef444440;border:1px solid rgba(239,68,68,.6);color:#fca5a5;font-size:10px;font-weight:700;letter-spacing:.6px;padding:3px 8px;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.badge-live-dot{width:6px;height:6px;background-color:#ef4444;border-radius:var(--radius-full);animation:pulse-live 1.5s infinite}@keyframes pulse-live{0%{transform:scale(.9);opacity:.8}50%{transform:scale(1.3);opacity:1}to{transform:scale(.9);opacity:.8}}.participant-action-row{margin-top:12px;display:flex;align-items:center;justify-content:center;z-index:10}.btn-watch-stream{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;background-color:var(--accent-color);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;box-shadow:0 4px 12px #00000059;transition:all var(--transition-fast)}.btn-watch-stream:hover{filter:brightness(1.12);transform:translateY(-1px)}.btn-stop-watch-stream{position:absolute;top:10px;right:10px;z-index:15;background-color:var(--stream-hud-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-default);color:var(--text-primary);font-size:12px;font-weight:600;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-stop-watch-stream:hover{background-color:var(--danger-hover);border-color:var(--danger-hover);color:#fff}.stream-card:not(.in-tray) .stream-card-stats-hud,.stream-card:not(.in-tray) .btn-stop-watch-stream,.stream-card:not(.in-tray) .stream-card-overlay,.stream-card:not(.in-tray) .stream-controls-group,.stream-card:not(.in-tray) .stream-zoom-bar{opacity:0;pointer-events:none;transition:opacity .42s cubic-bezier(.2,.8,.2,1),visibility .42s cubic-bezier(.2,.8,.2,1)}.stream-card:not(.in-tray):hover .stream-card-stats-hud,.stream-card:not(.in-tray):hover .btn-stop-watch-stream,.stream-card:not(.in-tray):hover .stream-card-overlay,.stream-card:not(.in-tray):hover .stream-controls-group,.stream-card:not(.in-tray):hover .stream-zoom-bar,.stream-card:not(.in-tray):focus-within .stream-card-stats-hud,.stream-card:not(.in-tray):focus-within .btn-stop-watch-stream,.stream-card:not(.in-tray):focus-within .stream-card-overlay,.stream-card:not(.in-tray):focus-within .stream-controls-group,.stream-card:not(.in-tray):focus-within .stream-zoom-bar,.stream-card:not(.in-tray).is-hud-pinned .stream-card-stats-hud,.stream-card:not(.in-tray).is-hud-pinned .btn-stop-watch-stream,.stream-card:not(.in-tray).is-hud-pinned .stream-card-overlay,.stream-card:not(.in-tray).is-hud-pinned .stream-controls-group,.stream-card:not(.in-tray).is-hud-pinned .stream-zoom-bar,.stream-card:not(.in-tray).is-hud-active .stream-card-stats-hud,.stream-card:not(.in-tray).is-hud-active .btn-stop-watch-stream,.stream-card:not(.in-tray).is-hud-active .stream-card-overlay,.stream-card:not(.in-tray).is-hud-active .stream-controls-group,.stream-card:not(.in-tray).is-hud-active .stream-zoom-bar{opacity:1;pointer-events:auto;transition:opacity .32s cubic-bezier(.2,.8,.2,1),visibility .32s cubic-bezier(.2,.8,.2,1)}.layout-grid .stream-card .stream-card-overlay{opacity:1;pointer-events:auto}.stream-card,.pip-window-root{--stream-hud-bg: color-mix(in srgb, var(--bg-elevated) 97%, transparent);--stream-hud-hover: var(--bg-control-hover);--stream-quality-color: #34d399;--stream-bitrate-color: #a78bfa;--stream-watchers-color: #38bdf8}html[data-theme=light] :is(.stream-card,.pip-window-root){--stream-quality-color: #047857;--stream-bitrate-color: #6d28d9;--stream-watchers-color: #0369a1}.stream-card-footer{display:contents}.stream-card:not(.in-tray) .stream-card-footer{position:absolute;bottom:10px;left:10px;right:10px;z-index:20;display:flex;align-items:flex-end;gap:8px;pointer-events:none}.stream-card:not(.in-tray) .stream-card-footer .stream-card-overlay{position:relative;bottom:auto;left:auto;min-width:0;max-width:100%;flex:0 1 auto}.stream-card-footer .stream-profile-avatar{flex-shrink:0}.stream-card:not(.in-tray) .stream-card-footer .stream-controls-group{position:relative;bottom:auto;right:auto;margin-left:auto;max-width:none;flex-shrink:0}.stream-user-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stream-card-overlay .badge-you{color:var(--text-primary);background:var(--bg-control);border:0;flex-shrink:0}.stream-card:not(.in-tray) .btn-stop-watch-stream.is-local-stop{opacity:1;pointer-events:auto;background:color-mix(in srgb,var(--danger-bg) 20%,var(--bg-elevated));color:var(--danger-text);border-color:var(--danger-border)}.stream-card:not(.in-tray) .btn-stop-watch-stream.is-local-stop:hover{background:var(--danger-hover);color:#fff}.stream-card:has(.is-local-stop) .stream-card-stats-hud{max-width:calc(100% - 190px)}.stream-controls-group .btn-toggle-local-preview.active{background:var(--bg-control);color:var(--text-primary);border-color:transparent;border-radius:var(--radius-sm);margin:0;min-height:32px}.stream-controls-group .btn-toggle-local-preview.active:hover{background:var(--stream-hud-hover)}:is(.stream-controls-group,.stream-zoom-bar,.stream-card-stats-hud,.pip-top-bar) :is(button,input):focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.btn-stop-transmission{flex-shrink:0}@media(prefers-reduced-motion:reduce){.stream-card .stream-card-stats-hud,.stream-card .stream-card-overlay,.stream-card .btn-stop-watch-stream,.stream-card .stream-controls-group,.stream-card .stream-zoom-bar,.pip-overlay{transition:none!important;animation:none}}.stream-card-stats-hud{position:absolute;top:10px;left:10px;z-index:15;display:flex;align-items:center;gap:5px;pointer-events:auto;flex-wrap:wrap;max-width:calc(100% - 130px)}.stat-badge{display:inline-flex;align-items:center;gap:5px;background-color:var(--stream-hud-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:0;padding:6px 8px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-primary);box-shadow:var(--shadow-md);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.stat-badge:hover{background-color:var(--stream-hud-hover);border-color:var(--border-focus)}.stat-badge-dot{width:6px;height:6px;border-radius:var(--radius-full);background-color:var(--accent-color, #06b6d4);box-shadow:0 0 6px var(--accent-color, #06b6d4)}.stat-ping-dot{width:6px;height:6px;border-radius:var(--radius-full)}.stat-ping-dot.ping-good{background-color:#22c55e;box-shadow:0 0 6px #22c55e}.stat-ping-dot.ping-medium{background-color:#eab308;box-shadow:0 0 6px #eab308}.stat-ping-dot.ping-poor{background-color:#ef4444;box-shadow:0 0 6px #ef4444}.stat-badge-quality{color:var(--stream-quality-color)}.stat-badge-quality .stat-badge-dot{background:currentColor;box-shadow:none}.stat-badge-bitrate{color:var(--stream-bitrate-color);cursor:pointer}.stat-badge-bitrate svg{color:inherit;flex-shrink:0}.stat-badge-watchers{color:var(--stream-watchers-color);cursor:pointer}.stat-badge-watchers svg{flex-shrink:0}.badge-live-watchers{position:absolute;top:10px;left:10px;right:auto;z-index:10;display:inline-flex;align-items:center;gap:4px;background-color:#0ea5e933;border:1px solid rgba(14,165,233,.4);color:#38bdf8;font-size:11px;font-weight:600;padding:3px 8px;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.badge-live-watchers .custom-tooltip{left:0;transform:translateY(4px)}.badge-live-watchers:hover .custom-tooltip{transform:translateY(0)}.custom-tooltip{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(3px) scale(.98);background-color:color-mix(in srgb,var(--bg-control) 90%,#000);color:var(--text-primary);border:0;border-radius:var(--radius-md);padding:8px 12px;min-width:170px;max-width:250px;box-shadow:var(--shadow-lg);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1),visibility .18s cubic-bezier(.16,1,.3,1);z-index:100;text-align:left}.custom-tooltip.tooltip-compact{min-width:auto;max-width:min(280px,calc(100vw - 16px));width:max-content;padding:8px 12px;font-size:12px;font-weight:500;font-family:var(--font-sans);color:var(--text-primary);white-space:normal;overflow-wrap:anywhere;line-height:1.5;text-align:center;border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.custom-tooltip.custom-tooltip-portal{position:fixed!important;min-width:0;max-width:min(280px,calc(100vw - 16px));overflow-wrap:anywhere;left:auto;right:auto;top:auto;bottom:auto;transform:translateY(3px) scale(.98);margin:0!important;pointer-events:none;z-index:99999!important;opacity:0;visibility:hidden;transition:opacity .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1),visibility .18s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.custom-tooltip.custom-tooltip-portal.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.custom-tooltip.custom-tooltip-portal.is-exiting{opacity:0;visibility:hidden;transform:translateY(3px) scale(.98);pointer-events:none!important;transition:opacity .14s cubic-bezier(.16,1,.3,1),transform .14s cubic-bezier(.16,1,.3,1),visibility .14s cubic-bezier(.16,1,.3,1)}.custom-tooltip.custom-tooltip-portal.interactive{pointer-events:auto}.watchers-tooltip{width:max-content;min-width:190px;max-width:280px}.watchers-tooltip-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--accent-color);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.watchers-tooltip-header span{white-space:nowrap}.watchers-tooltip-list{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow-y:auto}.watchers-tooltip-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-primary);font-family:var(--font-sans)}.watchers-tooltip-dot{width:5px;height:5px;border-radius:var(--radius-full);background-color:var(--accent-color);flex-shrink:0}.watchers-tooltip-name{min-width:0;white-space:normal;overflow-wrap:anywhere}.watchers-tooltip-empty{font-size:11px;color:var(--text-muted);font-family:var(--font-sans)}.bitrate-tooltip{width:max-content;min-width:180px;max-width:270px}.bitrate-tooltip-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-primary);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.bitrate-tooltip-header svg{color:var(--text-primary);flex-shrink:0}.bitrate-tooltip-header span{white-space:nowrap}.bitrate-tooltip-content{display:flex;flex-direction:column;gap:4px}.bitrate-tooltip-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-family:var(--font-sans)}.bitrate-tooltip-label{color:var(--text-secondary)}.bitrate-tooltip-value{color:var(--text-primary);font-weight:600;font-family:var(--font-mono, monospace)}.bitrate-tooltip-hint{font-size:10.5px;color:var(--text-muted);line-height:1.35;margin-top:2px}.stream-controls-group{position:absolute;bottom:10px;right:10px;z-index:20;display:flex;align-items:center;gap:4px;padding:4px;border-radius:var(--radius-md);background:var(--stream-hud-bg);box-shadow:var(--shadow-md);max-width:calc(100% - 20px);box-sizing:border-box}.stream-controls-group :is(.btn-stream-fullscreen,.btn-stream-pin,.btn-stream-pip):not(:hover):not(.active){background:transparent}.stream-controls-group .stream-volume-controller{position:relative;bottom:auto;right:auto}.btn-stream-fullscreen,.btn-stream-pin,.btn-stream-pip{background-color:var(--stream-hud-bg, var(--bg-elevated));-webkit-backdrop-filter:none;backdrop-filter:none;border:0;color:var(--text-primary);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:var(--radius-sm);box-shadow:none;cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.btn-stream-fullscreen:hover:not(:disabled),.btn-stream-pin:hover:not(:disabled),.btn-stream-pip:hover:not(:disabled){background-color:var(--stream-hud-hover, var(--bg-control-hover));border-color:var(--accent-border);color:var(--accent-color);transform:none}.btn-stream-fullscreen:disabled,.btn-stream-pin:disabled,.btn-stream-pip:disabled{opacity:.5;cursor:not-allowed}.btn-stream-pin.active{background-color:var(--accent-subtle);border-color:var(--accent-color, #06b6d4);color:var(--accent-color, #06b6d4);box-shadow:inset 0 0 0 1px var(--accent-border)}.btn-stream-pin.active:hover{background-color:var(--stream-hud-hover);border-color:var(--accent-color, #06b6d4);color:var(--accent-color, #06b6d4);transform:none;box-shadow:inset 0 0 0 1px var(--accent-border)}.stream-card:fullscreen,.stream-card:-webkit-full-screen{width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;border-radius:0!important;border:none!important;aspect-ratio:auto!important;background-color:#000!important}.stream-volume-controller{position:absolute;bottom:10px;right:10px;z-index:20;display:flex;align-items:center;gap:0;width:28px;min-width:28px;height:28px;padding:0;box-sizing:border-box;border:1px solid transparent;border-radius:var(--radius-full);overflow:visible;flex-shrink:0}.stream-volume-controller:before{content:"";position:absolute;left:-1px;bottom:-1px;width:28px;height:28px;box-sizing:border-box;border-radius:var(--radius-full);background-color:var(--stream-hud-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-default);box-shadow:var(--shadow-md);pointer-events:none;z-index:-1;transition:height var(--transition-normal),background-color var(--transition-fast),border-color var(--transition-fast)}.stream-volume-controller:hover:before,.stream-volume-controller:has(:focus-visible):before,.stream-volume-controller:has(.stream-volume-range:active):before{height:128px;background-color:var(--stream-hud-hover);border-color:var(--accent-border)}.btn-stream-volume{background:none;border:none;color:var(--text-primary);display:flex;align-items:center;justify-content:center;width:26px;height:26px;min-width:26px;padding:0;border-radius:var(--radius-full);cursor:pointer;flex-shrink:0;transition:color var(--transition-fast)}.btn-stream-volume:hover{color:var(--accent-color)}.stream-volume-slider-box{position:absolute;bottom:24px;left:0;transform:translateY(6px);display:flex;flex-direction:column;align-items:center;gap:6px;width:26px;height:102px;padding:8px 0 6px;box-sizing:border-box;opacity:0;overflow:hidden;pointer-events:none;visibility:hidden;white-space:nowrap;transition:opacity var(--transition-normal),transform var(--transition-normal),visibility var(--transition-normal)}.stream-volume-controller:hover .stream-volume-slider-box,.stream-volume-controller:has(:focus-visible) .stream-volume-slider-box,.stream-volume-controller:has(.stream-volume-range:active) .stream-volume-slider-box{opacity:1;visibility:visible;transform:translateY(0);overflow:hidden;pointer-events:auto}.stream-volume-slider-box .stream-volume-range{writing-mode:vertical-lr;direction:rtl;width:20px;min-width:20px;height:70px}.stream-volume-slider-box .stream-volume-range::-webkit-slider-runnable-track{width:4px;height:100%}.stream-volume-slider-box .stream-volume-range::-webkit-slider-thumb{margin-top:0;margin-left:-4px}.stream-volume-range:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.stream-volume-slider-box .stream-volume-percent{order:-1;text-align:center;min-width:0;font-size:9px;line-height:12px}.stream-volume-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:70px;min-width:70px;height:20px;border-radius:2px;background:transparent;outline:none;cursor:pointer;margin:0;flex-shrink:0}.stream-volume-range::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:#ffffff40}.stream-volume-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;margin-top:-4px;border-radius:50%;background:var(--accent-color, #06b6d4);cursor:pointer;box-shadow:0 0 6px #0009;transition:transform var(--transition-fast)}.stream-volume-range::-webkit-slider-thumb:hover,.stream-volume-range:active::-webkit-slider-thumb{transform:scale(1.25)}.stream-volume-percent{font-size:10px;font-weight:600;font-family:var(--font-mono);color:var(--text-primary);min-width:28px;-webkit-user-select:none;user-select:none;flex-shrink:0}.stream-zoom-bar{position:absolute;bottom:60px;right:10px;z-index:20;display:flex;align-items:center;gap:6px;background-color:var(--stream-hud-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:0;padding:4px 8px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);animation:zoom-bar-fade-in .15s ease-out;-webkit-user-select:none;user-select:none;pointer-events:auto}@keyframes zoom-bar-fade-in{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.stream-zoom-bar:hover{background-color:var(--stream-hud-hover);border-color:var(--accent-border)}.stream-zoom-icon{display:flex;align-items:center;justify-content:center;color:var(--accent-color, #06b6d4);padding:0 2px}.btn-zoom-step{background:none;border:none;color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:3px;border-radius:var(--radius-full);transition:color var(--transition-fast),transform var(--transition-fast),background-color var(--transition-fast)}.btn-zoom-step:hover:not(:disabled){color:var(--accent-color);background-color:#ffffff1a;transform:scale(1.1)}.btn-zoom-step:disabled{opacity:.35;cursor:not-allowed}.stream-zoom-slider-container{display:flex;align-items:center}.stream-zoom-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:76px;height:4px;border-radius:2px;background:var(--border-focus);outline:none;cursor:pointer}.stream-zoom-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent-color, #06b6d4);cursor:pointer;box-shadow:0 0 6px #0009;transition:transform var(--transition-fast),background-color var(--transition-fast)}.stream-zoom-range::-webkit-slider-thumb:hover{transform:scale(1.25);background:#38bdf8}.stream-zoom-badge{font-size:10.5px;font-weight:600;font-family:var(--font-mono);color:var(--text-primary);min-width:32px;text-align:center}.btn-zoom-reset{display:flex;align-items:center;gap:3px;background:var(--bg-control);border:1px solid transparent;color:var(--text-primary);font-size:9.5px;font-weight:600;font-family:var(--font-sans);padding:2px 6px;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.btn-zoom-reset:hover{background:#ef444440;border-color:#ef444499;color:#fca5a5;transform:scale(1.04)}.stream-card.is-zoomed{cursor:grab}.stream-card.is-zoomed.is-dragging{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.stream-card.is-zoomed video{cursor:grab}.stream-card.is-zoomed.is-dragging video{cursor:grabbing!important}.room-sidebar{width:var(--room-sidebar-width, 320px);height:100%;min-height:0;background-color:var(--bg-surface);border-left:0;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;visibility:visible;transition:width var(--transition-normal),border-left-width var(--transition-normal),visibility var(--transition-normal)}.room-sidebar.collapsed{width:0;border-left-width:0;visibility:hidden}.sidebar-toggle-edge{position:absolute;top:50%;transform:translateY(-50%);right:var(--room-sidebar-width, 320px);width:52px;height:280px;display:flex;align-items:center;justify-content:center;z-index:45;pointer-events:none;margin-right:-26px;transition:right var(--transition-normal),margin-right var(--transition-normal),width var(--transition-normal)}.sidebar-toggle-edge.collapsed{right:8px;margin-right:0;width:52px;justify-content:center;pointer-events:none}.sidebar-toggle-edge.expanded{pointer-events:none}.sidebar-toggle-edge .sidebar-edge-toggle-btn{pointer-events:auto}.sidebar-edge-toggle-btn{opacity:0;width:22px;height:48px;background-color:var(--bg-control);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:0;border-radius:var(--radius-sm);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md);transition:opacity .2s ease,background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast);outline:none;pointer-events:auto}.sidebar-toggle-edge.is-nearby .sidebar-edge-toggle-btn,.sidebar-toggle-edge:hover .sidebar-edge-toggle-btn,.sidebar-edge-toggle-btn:hover,.sidebar-edge-toggle-btn:focus-visible{opacity:1}.sidebar-toggle-edge.collapsed .sidebar-edge-toggle-btn{border-radius:var(--radius-sm)}.sidebar-edge-toggle-btn:hover{background-color:var(--bg-control-hover);color:var(--text-primary);box-shadow:var(--shadow-md)}.sidebar-tabs{display:flex;height:48px;box-sizing:border-box;border-bottom:0;flex-shrink:0}.tab-btn{flex:1;height:100%;display:flex;align-items:center;justify-content:center;padding:0 10px;font-size:12px;font-weight:600;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:color-mix(in srgb,var(--accent-color) 35%,var(--text-primary));background:transparent;border-bottom-color:currentColor}.sidebar-tab-content{display:none;flex:1;min-height:0;flex-direction:column;overflow:hidden}.sidebar-tab-content.active{display:flex}#tab-content-chat{position:relative}.chat-file-drop-overlay{position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;border:2px dashed var(--accent-color);border-radius:12px;background:var(--bg-surface);color:var(--accent-color);pointer-events:none;text-align:center;animation:modalFadeIn .2s ease}.chat-file-drop-overlay strong{font-size:16px}.chat-file-drop-overlay span{color:var(--text-secondary);font-size:12px}.chat-messages-container{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;pointer-events:auto;user-select:text;-webkit-user-select:text}.chat-messages-container *{user-select:text;-webkit-user-select:text}.chat-system-msg{min-width:0;padding:0 2px}.chat-system-content{display:flex;align-items:center;gap:6px;min-width:0;width:100%;font-size:12px;line-height:1.4;color:var(--text-secondary)}.chat-sys-icon{flex-shrink:0;color:var(--text-secondary)}.chat-system-join .chat-sys-icon{color:color-mix(in srgb,var(--success-text) 55%,var(--text-secondary))}.chat-system-leave .chat-sys-icon{color:color-mix(in srgb,var(--danger-text) 40%,var(--text-secondary))}.chat-system-info .chat-sys-icon{color:color-mix(in srgb,var(--accent-color) 45%,var(--text-secondary))}.chat-system-app-start .chat-sys-icon{color:color-mix(in srgb,var(--accent-color) 65%,var(--text-secondary))}.chat-system-app-stop .chat-sys-icon{color:color-mix(in srgb,var(--danger-text) 45%,var(--text-secondary))}.chat-system-stream-start .chat-sys-icon{color:color-mix(in srgb,var(--accent-color) 55%,var(--text-secondary))}.chat-system-stream-stop .chat-sys-icon{color:color-mix(in srgb,var(--accent-color) 30%,var(--text-secondary))}.chat-sys-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-sys-highlight{color:var(--text-primary);font-weight:600}.chat-sys-highlight button.chat-sys-actor-btn{display:inline;background:transparent;border:0;padding:0;margin:0;font:inherit;font-weight:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;border-radius:var(--radius-xs);transition:text-decoration-color var(--transition-fast),color var(--transition-fast)}.chat-sys-highlight button.chat-sys-actor-btn:hover{color:var(--accent-color);text-decoration-color:var(--accent-color)}.chat-sys-highlight button.chat-sys-actor-btn:focus-visible{outline:1.5px solid var(--accent-color);outline-offset:1px}.chat-sys-time{font-size:10px;color:var(--text-secondary);flex-shrink:0}.chat-msg{display:flex;flex-direction:column;gap:4px}.chat-msg-header{display:flex;align-items:center;gap:8px;min-height:22px;line-height:20px;font-size:13px}.chat-msg-sender{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:var(--accent-color)}.chat-msg-time{flex-shrink:0;margin-left:auto;font-size:11px;color:var(--text-secondary)}.chat-msg-bubble{font-size:13.75px;line-height:1.48;color:var(--text-primary);background-color:var(--bg-elevated);padding:7px 11px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);word-break:break-word}.chat-msg-bubble.chat-msg-text{background:transparent;border:0;border-radius:0;padding:4px 0 2px}.chat-file-card{min-width:0}.chat-file-card-row{display:flex;align-items:center;gap:9px}.chat-file-card-row>svg{flex:none;color:var(--accent-color)}.chat-file-card-info{display:flex;flex:1;flex-direction:column;min-width:0;gap:3px}.chat-file-card-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-file-card-info span{color:var(--text-secondary);font-size:10px;overflow-wrap:anywhere}.chat-file-card-info small{color:var(--accent-color);font-size:10px}.chat-file-meta{display:flex;align-items:center;gap:4px;white-space:nowrap}.chat-file-hash{font-family:var(--font-mono)}.chat-file-copy-hash{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--text-secondary);cursor:pointer}.chat-file-copy-hash:hover{color:var(--accent-color);background:var(--bg-card-hover)}.custom-tooltip.chat-file-hash-tooltip{max-width:270px;width:auto;overflow-wrap:anywhere;word-break:break-all;white-space:normal;font-family:var(--font-sans);font-size:11px;font-weight:500;line-height:1.45}.chat-file-download-wrap{position:relative;display:flex;align-items:center;gap:4px;flex-shrink:0}.chat-file-download-button,.chat-file-reveal-button{display:grid;place-items:center;width:30px;height:30px;padding:0;line-height:0;border:0;border-radius:50%;background:var(--bg-control);color:var(--text-primary);cursor:pointer}.chat-file-reveal-button{color:var(--text-secondary)}.chat-file-reveal-button:hover{color:var(--accent-color);border-color:var(--accent-border)}.chat-file-download-button svg,.chat-file-reveal-button svg{display:block}.chat-file-progress-button{position:relative;display:grid;place-items:center;width:32px;height:32px;padding:0;line-height:0;border:0;background:transparent;color:var(--text-primary);cursor:pointer}.chat-file-progress-outline{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.chat-file-progress-outline,.chat-file-progress-stop{display:block}.chat-file-progress-outline circle{fill:none;stroke-width:2.5}.chat-file-progress-track{stroke:var(--border-default)}.chat-file-progress-fill{stroke:var(--accent-color);stroke-linecap:round;transition:stroke-dashoffset .16s ease}.chat-file-progress-stop{position:relative;opacity:0;transition:opacity var(--transition-fast)}.chat-file-progress-button.is-pending .chat-file-progress-stop,.chat-file-progress-button:hover .chat-file-progress-stop,.chat-file-progress-button:focus-visible .chat-file-progress-stop{opacity:1}.chat-file-progress-button:hover .chat-file-progress-stop{color:var(--danger-text)}.chat-file-download-menu{position:absolute;z-index:30;right:0;bottom:calc(100% + 4px);width:120px;padding:4px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);box-shadow:0 10px 24px #00000040}.chat-file-download-menu.is-below{top:calc(100% + 4px);bottom:auto}.chat-file-download-menu button{width:100%;border:0;background:transparent;color:var(--text-primary);padding:7px;text-align:left;cursor:pointer}.chat-file-download-menu button:hover{background:var(--dropdown-hover-bg)}.chat-file-image-button{display:flex;align-items:center;justify-content:center;width:100%;max-height:220px;margin-bottom:7px;padding:0;overflow:hidden;border:0;border-radius:var(--radius-sm);background:var(--bg-card);cursor:zoom-in}.chat-file-image-button img{display:block;max-width:100%;max-height:220px;object-fit:contain}.chat-file-preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:100%;height:140px;margin-bottom:7px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary)}.chat-file-preview-placeholder span{font-size:11px}.chat-file-preview-request{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--accent-color);cursor:pointer}.chat-file-preview-request:hover{border-color:var(--accent-color);background:var(--bg-card-hover)}.chat-file-dialog{max-width:480px}.chat-file-dialog,.chat-file-dialog button,.chat-file-dialog input{font-family:var(--font-sans)}.chat-file-dialog-body{display:flex;flex-direction:column;gap:13px}.chat-file-switch{display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:12px;font-weight:600;color:var(--text-primary)}.chat-file-dialog .chat-file-observation{margin:-7px 0 0;font-size:11px;line-height:1.45;color:var(--text-muted)}.chat-file-observation strong{color:var(--text-secondary)}.chat-file-detail{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);overflow-wrap:anywhere;font-size:11px;color:var(--text-secondary)}.chat-file-detail span:last-child{font-family:var(--font-mono);font-size:10px}.chat-file-error{color:#ef4444}.chat-file-toasts{position:fixed;z-index:1200;right:340px;top:118px;display:flex;flex-direction:column;gap:10px;width:min(300px,calc(100vw - 40px))}.chat-file-toast{display:flex;flex-direction:column;gap:8px;padding:16px;border:0;border-radius:var(--radius-lg);background:var(--bg-input);box-shadow:var(--shadow-lg);overflow-wrap:anywhere}.chat-file-toast-title{margin:0;color:var(--text-primary);font-size:12px;line-height:1.5;font-weight:400}.chat-file-toast-title .chat-file-toast-person{color:var(--accent-color);font-weight:700}.chat-file-toast-title .chat-file-toast-name{color:var(--text-primary);font-weight:700}.chat-file-toast span{font-size:11px;color:var(--text-secondary)}.chat-file-toast>div{display:flex;justify-content:flex-end;gap:8px}.chat-file-toast button{padding:6px 10px;border:0;border-radius:var(--radius-md);background:var(--bg-control);color:var(--text-primary);cursor:pointer}.chat-file-toast button.btn-primary{background:var(--accent-color);color:var(--accent-text-on-accent)}.chat-file-toast progress{width:100%;accent-color:var(--accent-color)}@media(max-width:800px){.chat-file-toasts{right:16px;top:118px}}.chat-transfer-center{position:relative;display:flex;align-items:center;justify-content:center;gap:5px}.btn-chat-transfer{position:relative;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.btn-chat-transfer:hover,.btn-chat-transfer.active{background:var(--bg-card-hover);color:var(--accent-color)}.chat-transfer-count{position:absolute;top:0;right:-2px;min-width:13px;height:13px;padding:0 2px;border-radius:7px;background:var(--accent-color);color:var(--accent-text-on-accent);font-size:9px;line-height:13px;text-align:center}.chat-transfer-menu{position:absolute;z-index:80;bottom:calc(100% + 11px);left:50%;width:min(290px,calc(100vw - 36px));max-height:min(300px,45vh);padding:10px;overflow-y:auto;transform:translate(-50%);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow-lg)}.chat-transfer-title{display:block;padding:2px 2px 8px;font-size:12px;color:var(--text-primary)}.chat-transfer-empty{padding:14px 2px;color:var(--text-muted);font-size:11px;text-align:center}.chat-transfer-list{display:flex;flex-direction:column;gap:4px}.chat-transfer-item{display:flex;align-items:center;gap:6px;padding:8px 5px;border-top:1px solid var(--border-subtle)}.chat-transfer-file-icon{display:grid;flex:none;place-items:center;width:24px;height:24px;color:var(--accent-color)}.chat-transfer-item-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.chat-transfer-item-copy strong{overflow:hidden;color:var(--text-primary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.chat-transfer-item-copy span,.chat-transfer-item-copy small{color:var(--text-secondary);font-size:10px}.chat-transfer-item button{display:grid;flex:none;place-items:center;width:25px;height:25px;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--text-secondary);cursor:pointer}.chat-transfer-item button:hover{background:var(--bg-card-hover);color:var(--text-primary)}.chat-transfer-speed{white-space:nowrap}.chat-transfer-peer-row{display:flex;align-items:center;gap:6px;min-height:18px}.chat-transfer-peer-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-transfer-item .chat-transfer-details-trigger{display:inline-grid;width:18px;height:18px;padding:0;margin-left:auto}.chat-transfer-details{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:11px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.chat-image-viewer{position:fixed;z-index:1500;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#000000e0}.chat-image-viewer-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 20px;color:#fff}.chat-image-viewer-toolbar>span:first-child{margin-right:auto}.chat-image-viewer-toolbar .btn-stream-fullscreen{width:30px;height:30px}.chat-image-viewer-stage{display:grid;flex:1;place-items:center;overflow:auto;cursor:zoom-out}.chat-image-viewer-stage img{max-width:90vw;max-height:85vh;object-fit:contain;transition:transform .15s ease}.chat-image-viewer-stage img.is-zoomed{cursor:grab;touch-action:none}.chat-image-viewer-stage img.is-zoomed:active{cursor:grabbing;transition:none}.chat-msg-edited{color:color-mix(in srgb,var(--text-muted) 75%,var(--text-secondary));font-size:10px;cursor:help}.chat-msg-edited:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}.chat-msg-menu-wrap{position:relative;flex-shrink:0;line-height:0;-webkit-user-select:none;user-select:none}.chat-msg-menu-trigger,.chat-composer-reply>button{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.chat-msg-menu-trigger:hover,.chat-composer-reply>button:hover{background:var(--bg-card-hover);color:var(--text-primary)}.chat-msg-highlighted .chat-msg-bubble{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-subtle)}.chat-msg-highlighted .chat-msg-text{box-shadow:none;background:var(--bg-selected)}.chat-msg-reply{display:flex;flex-direction:column;gap:2px;width:100%;max-width:100%;margin:0 0 6px;padding:4px 7px;border:0;border-left:2px solid var(--accent-color);border-radius:2px;background:var(--accent-subtle);color:var(--text-secondary);text-align:left;cursor:pointer}.chat-msg-reply span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px}.chat-msg-reply span:first-child{color:var(--accent-color);font-weight:600}.chat-msg-edit .chat-composer-editor{max-height:180px}.chat-msg-edit-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:6px}.chat-msg-edit-actions button{border:0;border-radius:var(--radius-sm);padding:4px 8px;background:var(--bg-card);color:var(--text-primary);cursor:pointer}.chat-msg-edit-actions button:last-child{background:var(--accent-color);border-color:var(--accent-color);color:var(--accent-text-on-accent)}.chat-msg-edit-actions .chat-msg-edit-emoji{display:grid;place-items:center;margin-right:auto;padding:4px;color:var(--text-secondary)}.chat-msg-edit-actions .chat-msg-edit-emoji.active{color:var(--accent-color);border-color:var(--accent-color)}.chat-msg-bubble p+p,.chat-msg-bubble p+pre,.chat-msg-bubble pre+p,.chat-msg-bubble ul+p,.chat-msg-bubble ol+p{margin-top:7px}.chat-msg-bubble p,.chat-msg-bubble li{white-space:pre-wrap}.chat-msg-bubble h1{font-size:16px;line-height:1.4;margin:4px 0}.chat-msg-bubble h2{font-size:15px;line-height:1.4;margin:4px 0}.chat-msg-bubble h3{font-size:14px;line-height:1.4;margin:3px 0}.chat-msg-bubble ul,.chat-msg-bubble ol{padding-left:20px}.chat-msg-bubble blockquote{padding-left:8px;border-left:2px solid var(--border-default);color:var(--text-secondary)}.chat-msg-bubble code,.chat-msg-bubble pre{font-family:var(--font-mono);font-size:12.5px}.chat-msg-bubble code{padding:1px 4px;border-radius:3px;background:var(--bg-surface)}.chat-msg-bubble pre{max-width:100%;overflow-x:auto;margin:6px 0;padding:8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);white-space:pre}.chat-msg-bubble pre code{padding:0;background:transparent}.chat-msg-bubble a{color:var(--accent-color);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.chat-msg-bubble a:hover{color:var(--accent-hover)}.chat-msg-mention{display:inline-flex;align-items:center;font-weight:600;color:var(--accent-color);background:var(--accent-subtle);border-radius:var(--radius-xs);padding:0 5px;margin:0 1.5px;border:0;font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer;vertical-align:baseline;transition:background-color var(--transition-fast),color var(--transition-fast)}.chat-msg-mention:hover{background:var(--bg-card-hover);text-decoration:underline}.chat-msg-mention:focus-visible{outline:1.5px solid var(--accent-color);outline-offset:1px}.chat-msg-mention.is-self{background:color-mix(in srgb,var(--accent-color) 25%,transparent);color:var(--accent-color);font-weight:700}.chat-msg-jumbo{line-height:1.25;margin:4px 0}.chat-msg-jumbo .emoji-glyph{vertical-align:middle}.emoji-glyph{display:inline-flex;position:relative;align-items:center;justify-content:center;flex:none;vertical-align:-3px;line-height:1;overflow:hidden}.emoji-glyph-image{background-repeat:no-repeat;color:transparent;font-size:0}.emoji-glyph-native{font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}.emoji-glyph-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.chat-messages-container ::selection,.chat-composer-editor ::selection{background:#4389ff6e}.emoji-glyph.emoji-selected:after,.chat-editor-emoji.emoji-selected:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#4389ff6e;pointer-events:none}.emoji-pack-twemoji{background-image:url(/emojis/twemoji.png)}.emoji-pack-noto{background-image:url(/emojis/noto.png)}.emoji-pack-openmoji{background-image:url(/emojis/openmoji.png)}.emoji-pack-classic{background-image:url(/emojis/classic.png)}.chat-composer{position:relative;flex-shrink:0}.chat-mention-popover{position:absolute;z-index:55;left:10px;right:10px;bottom:calc(100% + 6px);max-height:220px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:5px;display:flex;flex-direction:column;gap:2px;animation:dropdownEnter var(--dropdown-enter-duration) cubic-bezier(.16,1,.3,1) both}@media(prefers-reduced-motion:reduce){.chat-mention-popover{animation:none}}.chat-mention-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm);background:transparent;border:0;color:var(--text-primary);font:inherit;font-size:13px;cursor:pointer;text-align:left;width:100%;transition:background-color var(--transition-fast)}.chat-mention-item:hover,.chat-mention-item.active{background:var(--bg-card-hover);color:var(--text-primary)}.chat-mention-item.active{background:var(--bg-selected);outline:1px solid var(--accent-subtle)}.profile-avatar.chat-mention-avatar{width:24px;height:24px;font-size:11px;flex-shrink:0}.chat-mention-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.chat-composer-reply{display:flex;align-items:center;gap:8px;margin:0 10px;padding:7px 8px;border-left:2px solid var(--accent-color);background:var(--bg-elevated);color:var(--accent-color)}.chat-composer-reply>div{display:flex;flex-direction:column;flex:1;min-width:0;font-size:11px}.chat-composer-reply strong{font-weight:600}.chat-composer-reply span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.chat-input-bar{padding:10px;border-top:0;display:flex;flex-direction:column;gap:8px;align-items:stretch;flex-shrink:0}.chat-input-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:5px}.chat-input-actions-left{display:flex;align-items:center;gap:5px}.chat-input-actions .btn-chat-send{justify-self:end}.chat-composer-field{position:relative;flex:1;min-width:0;width:100%}.chat-composer-editor{display:block;width:100%;min-height:42px;max-height:130px;margin:0;padding:11px 14px;border-radius:var(--radius-md);font-family:inherit;font-size:13.75px;line-height:20px;white-space:pre-wrap;overflow-wrap:break-word;-moz-tab-size:4;tab-size:4;background-color:var(--bg-input);border:1px solid transparent;color:var(--text-primary);overflow-y:auto;caret-color:var(--text-primary);outline:none;user-select:text;-webkit-user-select:text}.chat-composer-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none;float:left;height:0}.chat-composer-editor:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-subtle)}.chat-composer-editor p+p,.chat-composer-editor p+pre,.chat-composer-editor pre+p{margin-top:5px}.chat-composer-editor ul,.chat-composer-editor ol{padding-left:19px}.chat-composer-editor blockquote{padding-left:8px;border-left:2px solid var(--border-default);color:var(--text-secondary)}.chat-composer-editor code,.chat-composer-editor pre{font-family:var(--font-mono);font-size:11px}.chat-composer-editor code{padding:1px 3px;border-radius:3px;background:var(--bg-surface)}.chat-composer-editor pre{overflow-x:auto;margin:5px 0;padding:7px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface)}.chat-composer-editor pre code{padding:0;background:transparent}.chat-composer-editor a{color:var(--accent-color);text-decoration:underline}.chat-editor-emoji{display:inline-block;position:relative;flex:none;overflow:hidden;color:transparent;-webkit-text-fill-color:transparent;font-size:13px;line-height:16px;vertical-align:-2px;background-repeat:no-repeat;caret-color:var(--text-primary)}.chat-format-bubble{z-index:1500;padding:4px;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}.chat-format-actions,.chat-format-link{display:flex;align-items:center;gap:2px}.chat-format-button{display:flex;align-items:center;justify-content:center;width:27px;height:27px;flex:none;color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-xs);cursor:pointer}.chat-format-button:hover,.chat-format-button.active{color:var(--accent-color);background:var(--bg-card-hover)}.chat-format-divider{width:1px;height:18px;margin:0 3px;background:var(--border-default)}.chat-format-link input{width:190px;padding:5px 7px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-xs);outline:none}.chat-format-link input[aria-invalid=true]{border-color:var(--danger-border)}.chat-format-link input:focus{border-color:var(--border-focus)}.btn-chat-send{background-color:var(--accent-color);color:var(--accent-text-on-accent);border:none;border-radius:var(--radius-md);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.btn-chat-send:hover{background-color:var(--accent-hover)}.btn-chat-emoji{width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-chat-emoji:hover,.btn-chat-emoji.active{color:var(--accent-color);border-color:var(--accent-color);background:var(--bg-card-hover)}.emoji-picker{position:absolute;z-index:50;left:10px;right:10px;bottom:calc(100% + 6px);height:min(370px,55vh);display:flex;flex-direction:column;gap:8px;padding:12px;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.emoji-picker-popover{position:fixed;z-index:1000}.emoji-picker-popover .emoji-picker{position:static;width:100%;height:min(370px,55vh)}.emoji-picker-header{display:flex;justify-content:space-between;align-items:center;font-size:13px}.emoji-picker-section-label{color:var(--text-muted);font-size:11px}.emoji-picker-search{width:100%;flex:none;padding:7px 9px;font:inherit;font-size:12px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);outline:none}.emoji-picker-search:focus-visible{border-color:var(--border-focus)}.emoji-picker-categories{display:flex;overflow-x:auto;gap:3px;padding-bottom:3px;flex:none;scrollbar-width:auto;scrollbar-color:auto}.emoji-picker-categories::-webkit-scrollbar{height:3px}.emoji-picker-categories::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}.emoji-picker-results{flex:1;min-height:0;overflow-y:auto;scrollbar-width:auto;scrollbar-color:auto}.emoji-picker-results::-webkit-scrollbar{width:6px}.emoji-picker-results::-webkit-scrollbar-track,.emoji-picker-categories::-webkit-scrollbar-track{background:transparent}.emoji-picker-results::-webkit-scrollbar-thumb{background:var(--border-focus);border-radius:var(--radius-full)}.emoji-picker-results::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.emoji-picker-results::-webkit-scrollbar-button,.emoji-picker-categories::-webkit-scrollbar-button{display:none}.emoji-picker-section+.emoji-picker-section{margin-top:8px}.emoji-picker-section-label{margin:0 0 5px}.emoji-picker-categories button,.emoji-picker-grid button{border:0;border-radius:var(--radius-sm);background:transparent;cursor:pointer}.emoji-picker-categories button{min-width:29px;height:29px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.emoji-picker-categories button.active{color:var(--accent-color)}.emoji-picker-categories button:hover,.emoji-picker-categories button.active,.emoji-picker-grid button:hover,.emoji-picker-grid button:focus-visible{background:var(--bg-card-hover);outline:1px solid var(--border-default)}.emoji-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:34px;gap:2px;align-content:start}.emoji-picker-grid button{display:flex;align-items:center;justify-content:center;min-width:0;padding:2px}.emoji-picker-empty{grid-column:1 / -1;color:var(--text-muted);font-size:12px}.emoji-pack-options{display:flex;flex-direction:column;gap:7px;height:194px;overflow-y:auto;padding-right:4px;scrollbar-width:auto;scrollbar-color:auto}.emoji-pack-option{display:flex;align-items:center;gap:12px;width:100%;height:60px;flex:none;padding:9px 11px;text-align:left;color:var(--text-primary);background:var(--bg-card);border:0;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.emoji-pack-option:hover{background:var(--bg-control)}.emoji-pack-option.active{background:var(--bg-selected)}.emoji-pack-option:focus-visible{outline:2px solid var(--text-primary);outline-offset:-2px}.emoji-pack-preview{display:grid;grid-template-columns:repeat(3,23px);gap:3px;align-items:center;justify-items:center;width:75px;min-width:75px;overflow:hidden}.emoji-pack-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.emoji-pack-copy strong{font-size:12px}.emoji-pack-copy small{color:var(--text-muted);font-size:11px}.emoji-pack-radio{width:15px;height:15px;flex:none;border:1.5px solid var(--border-default);border-radius:50%}.emoji-pack-option.active .emoji-pack-radio{border:5px solid var(--accent-color)}.participants-list{padding:10px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1;min-height:0}.participant-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background-color:var(--bg-elevated);border:0;border-radius:var(--radius-md);font-size:12px;color:var(--text-primary);transition:all var(--transition-fast)}.participant-item:hover{border-color:var(--border-default);background-color:var(--bg-card-hover)}.participant-item-identity{display:flex;align-items:center;gap:10px;overflow:hidden}.participant-item-avatar{width:28px;height:28px;border-radius:var(--radius-full);border:1.5px solid var(--border-default);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-sm)}.participant-item-avatar-letter{font-size:12px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4)}.participant-item-text{display:flex;align-items:center;gap:6px;min-width:0;flex:1;overflow:hidden}.participant-end-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.participant-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.participant-menu-trigger:hover{background:var(--bg-card-hover);color:var(--text-primary)}.participant-confirm-dialog{max-width:430px}.participant-item-name{min-width:0;flex:0 1 auto;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.badge-host{flex-shrink:0;color:var(--accent-color);font-size:9px;font-weight:700;letter-spacing:.4px;line-height:1}.participant-item .user-status-dot.connecting{background-color:var(--text-muted);opacity:.55}.participant-item .user-status-dot,.participant-item .badge-you,.badge-live-stream-mini{flex-shrink:0}.badge-live-stream-mini{font-size:9px;font-weight:700;padding:1px 5px;background-color:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);border-radius:var(--radius-xs);letter-spacing:.4px}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalCardEnter{0%{opacity:0;transform:scale(.93) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalCardExit{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.93) translateY(8px)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:modalFadeIn .28s cubic-bezier(.16,1,.3,1) both}.modal-overlay.closing{animation:modalFadeOut .24s cubic-bezier(.16,1,.3,1) forwards;pointer-events:none}.modal-overlay .modal-card{animation:modalCardEnter .28s cubic-bezier(.16,1,.3,1) both;will-change:transform,opacity}.modal-overlay.closing .modal-card{animation:modalCardExit .24s cubic-bezier(.16,1,.3,1) forwards}.modal-overlay.hidden{display:none}.modal-card{background-color:var(--bg-surface);border:0;border-radius:var(--radius-lg);width:100%;max-width:480px;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden;max-height:90vh}.modal-card.modal-lg{max-width:620px}.modal-card.modal-xl{max-width:760px}.modal-header{padding:18px 22px;border:0;display:flex;align-items:center;gap:12px;position:relative}.modal-header-icon{width:36px;height:36px;border-radius:var(--radius-sm);background-color:var(--bg-elevated);display:flex;align-items:center;justify-content:center;color:var(--accent-color);flex-shrink:0}.modal-header h2{font-size:16px;font-weight:600;color:var(--text-primary);letter-spacing:-.3px}.modal-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.btn-close{position:absolute;right:18px;top:18px;background:transparent;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;line-height:1;transition:color var(--transition-fast)}.btn-close:hover{color:var(--text-primary)}.modal-body{padding:20px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.modal-body p{font-size:13px;color:var(--text-secondary);line-height:1.5}.external-link-address{padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);background:var(--bg-input);font-family:var(--font-mono);font-size:12px;line-height:1.5;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:.1px;-webkit-user-select:none;user-select:none;margin-bottom:2px}.modal-footer{padding:14px 22px;border:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;background-color:var(--bg-surface)}.modal-footer .btn{width:auto;white-space:nowrap}.text-input,.text-input-sm{width:100%;box-sizing:border-box;background-color:var(--bg-input);border:1px solid transparent;border-radius:var(--radius-md);min-height:44px;padding:11px 14px;font-size:14px;color:var(--text-primary);outline:none;font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.text-input-sm{min-height:38px;padding:9px 12px;font-size:12.5px;border-radius:var(--radius-md)}.text-input:focus,.text-input-sm:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-subtle)}.select-input-sm{background-color:var(--bg-input);min-height:38px;border:1px solid transparent;border-radius:var(--radius-md);padding:9px 12px;font-size:12px;color:var(--text-primary);outline:none;font-family:inherit}.modal-card.modal-settings{max-width:820px;height:580px;max-height:90vh;display:flex;flex-direction:column}.modal-body-settings-layout{display:flex;flex-direction:row;flex:1;min-height:0;overflow:hidden;padding:0;background-color:var(--bg-surface)}.settings-nav-sidebar{width:210px;flex-shrink:0;background-color:var(--bg-surface);border:0;padding:14px 10px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.settings-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid transparent;cursor:pointer;text-align:left;transition:all var(--transition-fast);outline:none}.settings-nav-item:hover{background-color:var(--bg-elevated);color:var(--text-primary)}.settings-nav-item.active{background-color:var(--bg-selected);border-color:transparent;color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-sm)}.settings-nav-item svg{flex-shrink:0;color:inherit}.settings-tab-content-area{flex:1;padding:22px 26px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;background-color:var(--bg-surface)}.settings-tab-pane{display:none;flex-direction:column;gap:13px;animation:fadeIn .18s cubic-bezier(.16,1,.3,1)}.settings-tab-pane.active{display:flex}.settings-pane-header{margin-bottom:2px;padding-bottom:7px;border:0}.settings-pane-title{font-size:15px;font-weight:700;color:var(--text-primary);letter-spacing:-.2px}.settings-pane-desc{font-size:12px;color:var(--text-muted);margin-top:2px}.settings-row{display:flex;flex-direction:column;gap:6px;width:100%}.settings-row.settings-options-panel{gap:10px}.settings-row-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%}.settings-row-grid-2col{grid-template-columns:repeat(2,1fr)!important}@media(max-width:580px){.settings-row-grid,.settings-row-grid-2col{grid-template-columns:1fr!important}}.turn-config-box{display:flex;flex-direction:column;gap:12px;width:100%;box-sizing:border-box;background-color:var(--bg-surface-elevated, #141417);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px}.settings-col{display:flex;flex-direction:column;gap:5px}.settings-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.sfx-test-buttons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media(max-width:640px){.modal-card.modal-settings{height:auto;max-height:92vh}.modal-body-settings-layout{flex-direction:column}.settings-nav-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-subtle);flex-direction:row;overflow-x:auto;padding:8px;gap:4px}.settings-nav-item{white-space:nowrap;padding:8px 10px;font-size:12px}.settings-tab-content-area{padding:16px}.sfx-test-buttons-grid{grid-template-columns:1fr}}.theme-mode-pills{display:flex;gap:6px;background-color:var(--bg-elevated);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.pill-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.pill-btn:hover{color:var(--text-primary)}.pill-btn.active{background-color:var(--bg-selected);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-sm)}.background-settings{margin:10px 0}.background-settings .settings-pane-desc{margin:4px 0 8px}.accent-colors-palette.color-palette-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.color-palette-tiles .accent-swatch{width:100%;height:52px;border:0;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.color-palette-tiles .accent-swatch:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.color-palette-tiles .accent-swatch.active{transform:scale(1.015);outline:2px solid var(--text-primary);outline-offset:1px;box-shadow:var(--shadow-sm)}.color-palette-tiles .custom-color-picker{background:conic-gradient(#ef4444,#facc15,#22c55e,#06b6d4,#a855f7,#ef4444);padding:3px}.accent-colors-palette{display:flex;align-items:center;gap:8px;padding:4px 0;flex-wrap:wrap}.accent-swatch{width:24px;height:24px;border-radius:var(--radius-full);background-color:var(--swatch-color);border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);outline:none;position:relative;box-shadow:0 1px 3px #0003}.accent-swatch:hover{transform:scale(1.18);box-shadow:0 0 0 2px var(--bg-surface),0 0 0 4px var(--swatch-color)}.accent-swatch:focus-visible{outline:2px solid var(--text-primary);outline-offset:4px}.custom-color-picker{padding:2px;background:conic-gradient(#ef4444,#facc15,#22c55e,#06b6d4,#a855f7,#ef4444);background-clip:padding-box;background-repeat:no-repeat;--swatch-color: var(--accent-color)}.custom-color-picker-swatch{display:block;width:100%;height:100%;border-radius:var(--radius-full)}.custom-color-picker.custom-color-picker-tile{position:relative;width:100%;height:51px;padding:0;border-radius:var(--radius-md);background:transparent;border-color:var(--border-subtle)}.custom-color-picker-tile:hover{transform:none;border-color:var(--accent-color)}.custom-color-picker-tile .custom-color-picker-swatch{border-radius:inherit}.custom-color-picker-edit{position:absolute;top:8px;right:8px;color:#fff;filter:drop-shadow(0 1px 2px rgb(0 0 0 / 55%));pointer-events:none}.color-picker-dialog{width:min(340px,calc(100vw - 32px))}.color-picker-preview{height:64px;border:1px solid var(--border-default);border-radius:var(--radius-sm);margin-bottom:16px}.color-picker-channels{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.color-picker-channel{display:grid;grid-template-columns:68px minmax(0,1fr) 28px;gap:10px;align-items:center;font-size:12px;color:var(--text-secondary)}.color-picker-channel output{text-align:right;font-family:var(--font-mono)}.color-picker-channel .settings-slider-input:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}.spotlight-tray-strip .badge-you,.spotlight-tray-strip .user-status-dot{flex-shrink:0}@media(prefers-reduced-motion:reduce){.stream-volume-slider-box,.stream-volume-controller:before{transition:none}}.accent-swatch.active{border-color:#fff;transform:scale(1.18);box-shadow:0 0 0 2px var(--bg-surface),0 0 0 4px var(--swatch-color)}.picker-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border-subtle);padding-bottom:10px}.picker-tab-btn{background:transparent;border:1px solid transparent;padding:6px 14px;font-size:13px;font-weight:500;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.picker-tab-btn:hover{color:var(--text-primary);background-color:var(--bg-elevated)}.picker-tab-btn.active{color:var(--accent-color);background-color:var(--accent-subtle);font-weight:600}.picker-sources-container-wrapper{position:relative;min-height:180px}.modal-card.screen-picker-card{max-width:820px}.picker-preview-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);gap:16px;align-items:start}.picker-preview-layout .source-cards-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.media-preview{overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card)}.media-preview-stage{position:relative;aspect-ratio:16 / 9;background:#000;display:grid;place-items:center}.media-preview-stage video{width:100%;height:100%;object-fit:contain;position:absolute;top:0;right:0;bottom:0;left:0}.media-preview-video{opacity:0}.media-preview-video.ready{opacity:1;animation:sourceCardsFadeIn var(--source-loading-duration) cubic-bezier(.16,1,.3,1) both}.media-preview-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;background:var(--bg-card);pointer-events:none}.media-preview-skeleton .media-preview-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.media-preview-skeleton .source-card-thumb-skeleton-icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center}.media-preview-stage p{position:relative;padding:16px;text-align:center;color:var(--text-secondary);font-size:.8125rem}.media-preview-caption{display:flex;flex-direction:column;gap:4px;padding:12px;min-width:0;font-size:.8125rem}.media-preview-caption strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-preview-caption span{color:var(--text-secondary)}.source-card-thumb.camera-device-thumb{background:var(--bg-elevated);color:var(--text-secondary)}@media(max-width:720px){.picker-preview-layout{grid-template-columns:1fr}}.source-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;max-height:320px;overflow-y:auto;padding:4px}.source-cards-skeleton-layer,.media-preview-skeleton{animation:sourceCardsFadeIn var(--source-loading-duration) cubic-bezier(.16,1,.3,1) backwards;transition:opacity var(--source-loading-duration) cubic-bezier(.16,1,.3,1)}.source-cards-skeleton-layer.fade-out,.media-preview-skeleton.fade-out{opacity:0;animation:none}.source-cards-skeleton-layer.fade-out{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none;z-index:2}.source-cards-content-layer{animation:sourceCardsFadeIn var(--source-loading-duration) cubic-bezier(.16,1,.3,1) both}@keyframes sourceCardsFadeIn{0%{opacity:0}to{opacity:1}}.source-card{background-color:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:8px;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:all var(--transition-fast)}.source-card:hover{background-color:var(--bg-card-hover);border-color:var(--border-focus)}.source-card.selected{border-color:var(--accent-color);background-color:var(--accent-subtle)}.source-card-thumb{width:100%;aspect-ratio:16 / 9;background-color:#000;border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center}.source-card-thumb img{width:100%;height:100%;object-fit:contain}.source-card-info{display:flex;flex-direction:column;gap:2px}.source-card-title{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-card-subtitle{font-size:11px;color:var(--text-muted)}.source-card-skeleton{cursor:default;pointer-events:none;background-color:var(--bg-card);border-color:var(--border-subtle)}.source-card-skeleton:hover{background-color:var(--bg-card);border-color:var(--border-subtle)}.source-card-thumb-skeleton-icon{color:var(--text-disabled);opacity:.35;display:flex;align-items:center;justify-content:center}.source-card-thumb-skeleton-icon svg{display:block}.skeleton-shimmer{position:relative;overflow:hidden;background:linear-gradient(90deg,var(--skeleton-base) 0%,var(--skeleton-highlight) 50%,var(--skeleton-base) 100%);background-size:200% 100%;animation:skeleton-shimmer-sweep 1.5s infinite ease-in-out}@keyframes skeleton-shimmer-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{border-radius:var(--radius-xs)}.skeleton-title-line{height:12px;width:75%;margin-top:2px}.skeleton-sub-line{height:10px;width:45%;margin-top:4px}.source-cards-empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;gap:10px;color:var(--text-muted);font-size:13px;text-align:center;padding:30px}.source-cards-empty-state svg{color:var(--text-disabled)}.picker-settings-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding-top:10px;border-top:1px solid var(--border-subtle)}.picker-setting-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.picker-checkbox-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:pointer}.inline-notice{font-size:12px;line-height:1.4;color:var(--text-secondary);padding:8px 12px;background-color:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.inline-notice{display:flex;align-items:flex-start;gap:8px;margin:12px 0}.inline-notice>svg{flex-shrink:0;color:var(--text-primary)}.toast-container{position:fixed;bottom:20px;right:20px;max-width:min(360px,calc(100vw - 40px));align-items:flex-end;display:flex;flex-direction:column;gap:8px;z-index:9999}.toast{max-width:100%;box-sizing:border-box;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;background-color:var(--bg-input);border:0;color:var(--text-primary);padding:13px 18px;border-radius:var(--radius-lg);font-size:12px;font-weight:500;box-shadow:var(--shadow-lg);animation:toastIn var(--transition-normal) both}.toast-stack-item{width:100%}.toast.is-exiting{pointer-events:none;animation:toastOut var(--transition-fast) both}@keyframes toastOut{to{opacity:0;transform:translateY(6px) scale(.98)}}@media(prefers-reduced-motion:reduce){.toast,.toast.is-exiting{animation:none}}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.connecting-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--bg-overlay);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:modalFadeIn .32s cubic-bezier(.16,1,.3,1) both}.connecting-overlay.hidden{display:none!important}.connecting-card{background-color:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:36px 32px;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:400px;width:90%;box-shadow:var(--shadow-lg);animation:modalCardEnter .28s cubic-bezier(.16,1,.3,1) both;will-change:transform,opacity}.connecting-spinner-wrapper{margin-bottom:20px;position:relative;display:flex;align-items:center;justify-content:center}.connecting-spinner{width:44px;height:44px;border-radius:50%;border:3px solid var(--border-subtle);border-top-color:var(--accent-color);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.connecting-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.3px}.connecting-subtitle{font-size:13px;line-height:1.5;color:var(--text-muted);margin-bottom:20px}.connecting-room-badge{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--accent-color);background-color:var(--accent-subtle);border:1px solid var(--accent-border);padding:6px 14px;border-radius:var(--radius-full);margin-bottom:24px;letter-spacing:.5px}.btn-cancel-connect{width:140px}.room-lock-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.room-lock-icon svg{display:block}.input-with-action{display:flex;align-items:center;position:relative;gap:6px}.input-with-action .text-input{flex:1}.btn-inline-action{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;height:40px;border-radius:var(--radius-md);font-size:12px;font-weight:600;white-space:nowrap}.btn-inline-action-icon{width:40px;min-width:40px;padding:0;flex-shrink:0}.label-hint{font-size:11px;font-weight:400;color:var(--text-muted);margin-left:6px}.field-info-text{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);margin-top:6px;line-height:1.4}.room-security-info-box{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.security-info-row{display:flex;align-items:center;justify-content:space-between;font-size:12px}.security-info-label{color:var(--text-muted);font-weight:500}.security-info-value{font-family:var(--font-mono);font-weight:700;color:var(--accent-color)}.security-info-status{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--text-primary)}.log-path-box{display:flex;align-items:center;gap:8px;background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px 12px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-path-text{-webkit-user-select:text;user-select:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-slider-container{width:100%;display:flex;align-items:center;padding:4px 0}.settings-slider-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--radius-full);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);outline:none;cursor:pointer;transition:all var(--transition-fast)}.settings-slider-input:hover{border-color:var(--accent-border)}.settings-slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent-color, #06b6d4);cursor:pointer;box-shadow:0 0 8px #0006;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.settings-slider-input::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 10px var(--accent-color, #06b6d4)}.btn-outline-danger{color:#f87171!important;border-color:#ef444459!important}.btn-outline-danger:hover{background-color:#ef444426!important;border-color:#ef4444!important;color:#fff!important}.settings-switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;background-color:var(--bg-card);border:0;border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast)}.settings-switch-row:hover{background-color:var(--bg-card-hover)}.settings-switch-label-group{display:flex;flex-direction:column;gap:2px;flex:1}.settings-switch-title{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.3}.settings-switch-subtitle{font-size:11.5px;color:var(--text-muted);line-height:1.3}.modern-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}.modern-switch input{opacity:0;width:0;height:0;position:absolute}.switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--switch-track);border:1px solid transparent;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);border-radius:var(--radius-full)}.switch-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:var(--switch-thumb);transition:transform var(--transition-fast),background-color var(--transition-fast);border-radius:50%;box-shadow:0 1px 4px #00000073}.modern-switch input:checked+.switch-slider{background-color:var(--accent-color, #06b6d4);border-color:var(--accent-color, #06b6d4);box-shadow:0 0 12px var(--accent-glow, rgba(6, 182, 212, .35))}.modern-switch input:focus-visible+.switch-slider{outline:2px solid var(--accent-color);outline-offset:2px}.modern-switch input:checked+.switch-slider:before{transform:translate(18px);background-color:var(--accent-text-on-accent)}@container stream-area (max-width: 1080px){.stream-header-bar{height:auto;min-height:48px;flex-direction:column;align-items:stretch;padding:8px 14px;gap:8px}.stream-filter-group{align-self:flex-start}.stream-actions{flex-wrap:wrap;justify-content:flex-start}}.pip-window-root{position:relative;width:100vw;height:100vh;margin:0;padding:0;background-color:#000;color:var(--text-primary);overflow:hidden;-webkit-user-select:none;user-select:none;box-sizing:border-box}.pip-video-element{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background-color:#000;transition:transform var(--transition-fast)}.pip-loading-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);font-size:13px;background-color:var(--bg-surface);z-index:5}.pip-loading-spinner,.loading-spinner{width:28px;height:28px;border:2px solid var(--border-subtle);border-top-color:var(--accent-color);border-radius:var(--radius-full);animation:spin .8s linear infinite}.loading-spinner{display:inline-block;flex-shrink:0;width:16px;height:16px;border-color:currentColor;border-top-color:transparent}.virtual-cursor-text{color:var(--accent-color);transform:translate(-50%,-50%);filter:drop-shadow(0 1px 1px var(--bg-card))}.media-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--text-secondary);background:var(--bg-card);font-size:12px;pointer-events:none;animation:mediaLoadingEnter var(--transition-fast) both}.media-loading-overlay.closing{animation:mediaLoadingExit var(--dropdown-exit-duration) both}@keyframes mediaLoadingEnter{0%{opacity:0}to{opacity:1}}@keyframes mediaLoadingExit{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.media-loading-overlay,.media-loading-overlay.closing{animation:none}}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none}}.pip-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .22s ease-out;z-index:10}.pip-window-root:hover .pip-overlay,.pip-window-root:focus-within .pip-overlay,.pip-overlay.is-hud-pinned{opacity:1;pointer-events:none}.pip-window-root:hover .pip-overlay>*,.pip-window-root:focus-within .pip-overlay>*,.pip-overlay.is-hud-pinned>*{pointer-events:auto}.pip-top-bar{position:absolute;top:0;left:0;right:0;height:38px;background:var(--stream-hud-bg);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:space-between;padding:0 10px;z-index:50;cursor:grab;-webkit-user-select:none;user-select:none}.pip-top-left{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.pip-status-dot{width:7px;height:7px;border-radius:var(--radius-full);background-color:var(--accent-color, #06b6d4);box-shadow:0 0 6px var(--accent-color, #06b6d4);flex-shrink:0}.pip-title{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px;text-shadow:none}.pip-top-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.pip-header-btn{background:transparent;border:none;color:var(--text-primary);width:26px;height:26px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all var(--transition-fast)}.pip-header-btn:hover{background-color:var(--stream-hud-hover);color:var(--text-primary)}.pip-header-btn.active{color:var(--accent-color, #06b6d4);background-color:var(--accent-subtle)}.pip-header-btn.pip-close-btn:hover{background-color:var(--danger-bg, rgba(239, 68, 68, .25));color:var(--danger-hover, #ef4444)}.pip-overlay .pip-stream-stats-hud{position:absolute;top:42px;left:10px;z-index:20;max-width:calc(100% - 20px)}.pip-overlay .stream-controls-group{position:absolute;bottom:10px;right:10px;z-index:20}.pip-overlay .stream-zoom-bar{position:absolute;bottom:60px;right:10px;z-index:20}.rendezvous-header{margin-top:13px}.settings-subtabs{height:40px}.rendezvous-panel,.rendezvous-editor{display:flex;flex-direction:column;gap:10px}.rendezvous-add{display:flex;flex-wrap:wrap;gap:8px}.rendezvous-bulk-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.rendezvous-add .text-input-sm{flex:1;min-width:180px}.rendezvous-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:5px}.rendezvous-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border-default);border-radius:var(--radius-sm)}.rendezvous-server-url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.rendezvous-error{color:var(--danger-text);font-size:12px}@keyframes dropdownEnter{0%{opacity:0;scale:.97;translate:0 var(--dropdown-enter-offset, -4px)}to{opacity:1;scale:1;translate:0 0}}@keyframes dropdownExit{0%{opacity:1;scale:1;translate:0 0}to{opacity:0;scale:.97;translate:0 var(--dropdown-enter-offset, -4px)}}.chat-file-download-menu,.chat-transfer-menu,.emoji-picker{transform-origin:top right;animation:dropdownEnter var(--dropdown-enter-duration) cubic-bezier(.16,1,.3,1) both}.chat-file-download-menu:not(.is-below){--dropdown-enter-offset: 4px;transform-origin:bottom right}.chat-transfer-menu,.emoji-picker{--dropdown-enter-offset: 4px;transform-origin:bottom center}.dropdown-closing{pointer-events:none;animation:dropdownExit var(--dropdown-exit-duration) cubic-bezier(.4,0,.2,1) both}@media(prefers-reduced-motion:reduce){.chat-file-download-menu,.chat-transfer-menu,.emoji-picker{animation:none}}.context-menu{position:fixed;z-index:10000;width:max-content;min-width:min(190px,calc(100vw - 16px));max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow-y:auto;padding:5px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);box-shadow:0 12px 32px #0000003d;transform-origin:top left;animation:dropdownEnter var(--dropdown-enter-duration) cubic-bezier(.16,1,.3,1) both}.context-menu button{display:flex;align-items:center;gap:9px;width:100%;min-height:32px;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:var(--text-primary);font:inherit;font-size:12px;text-align:left;cursor:pointer}.context-menu button:hover,.context-menu button:focus-visible{background:var(--dropdown-hover-bg);outline:none}.context-menu button[aria-checked=true]{background:var(--accent-subtle)}.context-menu.context-menu-visual-grid{display:flex;flex-wrap:wrap;gap:4px;padding:4px;min-width:0;width:max-content;max-width:158px}.context-menu .context-menu-visual-choice{width:34px;height:34px;min-height:34px;padding:4px;justify-content:center;border-radius:var(--radius-sm);flex:0 0 34px}.context-menu-visual-choice .context-menu-icon{width:auto;height:auto}.context-menu.context-menu-anchored-above{overflow:visible;transform-origin:bottom center}.context-menu-anchored-above:after{content:"";position:absolute;width:9px;height:9px;left:var(--context-menu-arrow-left, 50%);bottom:-5px;transform:translate(-50%) rotate(45deg);background:var(--bg-card);border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default);pointer-events:none}.integer-slider .integer-slider-value{width:36px;min-width:0;padding:2px;min-height:22px;text-align:center;background:transparent;border-color:transparent;font:inherit}.integer-slider .integer-slider-value:focus{background:var(--bg-input);border-color:var(--accent-color)}.context-menu-row{display:flex;align-items:center;gap:5px;padding:3px;margin-bottom:4px;background:var(--bg-elevated);border-radius:var(--radius-sm)}.context-menu-row>button:first-child{flex:1;min-width:0}.context-menu-row .context-menu-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu-trailing-icon{display:flex;flex-shrink:0;margin-left:auto;padding-left:12px;color:var(--text-secondary)}.context-menu-row>button:first-child:hover .context-menu-trailing-icon,.context-menu-row>button:first-child:focus-visible .context-menu-trailing-icon{color:var(--accent-color)}.context-menu-row .context-menu-secondary{flex-shrink:0;width:36px;height:36px;padding:9px;justify-content:center;border-radius:var(--radius-sm)}.context-menu-row .context-menu-secondary.context-menu-danger{background:var(--danger-bg)}.context-menu-row .context-menu-secondary.context-menu-danger:hover,.context-menu-row .context-menu-secondary.context-menu-danger:focus-visible{background:var(--danger-hover);color:#fff}.context-menu-row>button:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.context-menu button:disabled{opacity:.45;cursor:default}.context-menu .context-menu-danger{color:var(--danger-text)}.context-menu .context-menu-separated{border-top:1px solid var(--border-default);margin-top:4px;border-radius:0 0 4px 4px}.context-menu-icon{display:flex;flex-shrink:0;color:var(--text-secondary)}.context-menu-danger .context-menu-icon{color:inherit}.context-menu.context-submenu{z-index:10001}.context-menu.dropdown-closing{pointer-events:none;animation:dropdownExit var(--dropdown-exit-duration) cubic-bezier(.4,0,.2,1) both}@media(prefers-reduced-motion:reduce){.context-menu,.context-menu.dropdown-closing{animation:none}}.app-select{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;min-height:38px;padding:9px 12px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);font:inherit;font-size:12px;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.app-select:hover:not(:disabled){background:color-mix(in srgb,var(--bg-input) 90%,var(--text-primary) 10%)}.app-select:focus-visible,.app-select.is-open{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-subtle)}.app-select:disabled{opacity:.45;cursor:default}.app-select-label{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.app-select-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.app-select-icon>img{display:block;border-radius:2px}.app-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-select-chevron{flex-shrink:0;color:var(--text-secondary);transition:transform var(--dropdown-enter-duration) cubic-bezier(.16,1,.3,1)}.app-select.is-open .app-select-chevron{transform:rotate(180deg)}.app-select-list{position:fixed;z-index:10000;width:max-content;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-default) transparent;padding:5px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);box-shadow:var(--shadow-lg);transform-origin:top center;animation:dropdownEnter var(--dropdown-enter-duration) cubic-bezier(.16,1,.3,1) both}.app-select-list[data-placement=top]{transform-origin:bottom center;--dropdown-enter-offset: 4px}.app-select-list::-webkit-scrollbar{width:5px}.app-select-list::-webkit-scrollbar-track{background:transparent}.app-select-list::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:8px}.app-select-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-select-option{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:32px;padding:7px 9px;border-radius:4px;font-size:12px;line-height:1.4;cursor:pointer;-webkit-user-select:none;user-select:none}.app-select-option.is-active{background:var(--dropdown-hover-bg)}.app-select-option[aria-selected=true]{color:var(--text-primary);background:var(--bg-selected);font-weight:600}.app-select-option[aria-selected=true].is-active{background:color-mix(in srgb,var(--bg-selected) 92%,var(--text-primary))}.app-select-option[aria-disabled=true]{opacity:.45;cursor:default}.app-select-option>svg{flex-shrink:0}.app-select-list.dropdown-closing{pointer-events:none;animation:dropdownExit var(--dropdown-exit-duration) cubic-bezier(.4,0,.2,1) both}@media(prefers-reduced-motion:reduce){.app-select,.app-select-chevron{transition:none}.app-select-list,.app-select-list.dropdown-closing{animation:none}}.context-menu button,.context-menu-row,.app-select-option,.chat-file-download-menu button{transition:background-color var(--transition-fast),color var(--transition-fast)}@media(prefers-reduced-motion:reduce){.source-cards-skeleton-layer,.source-cards-content-layer,.media-preview-skeleton,.media-preview-video.ready,.skeleton-shimmer{animation:none;transition:none}.context-menu button,.context-menu-row,.app-select-option,.chat-file-download-menu button{transition:none}.custom-tooltip,.custom-tooltip.custom-tooltip-portal,.app-update-badge,.btn.app-update-badge,.app-update-badge-icon{transition:none!important;transform:none!important}}.chat-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-full);background:var(--accent-color);color:var(--bg-app);font-size:11px;font-weight:700;font-family:var(--font-mono);flex-shrink:0}.tab-btn .chat-unread-badge{margin-left:6px}.sidebar-toggle-edge.has-unread .sidebar-edge-toggle-btn{opacity:1}.sidebar-edge-toggle-btn{position:relative}.sidebar-edge-toggle-btn .chat-unread-badge{position:absolute;right:2px;bottom:calc(100% + 4px)}.settings-sound-events{display:flex;flex-direction:column;gap:8px;margin-top:7px}.settings-sound-event{display:flex;align-items:center;gap:12px}.settings-sound-event .settings-switch-row{flex:1}.settings-sound-event .btn{flex-shrink:0}.window-titlebar{position:relative;z-index:10001;display:flex;height:32px;flex-shrink:0;background:var(--bg-surface);border-bottom:0;color:var(--text-primary);-webkit-user-select:none;user-select:none}.window-titlebar-drag{display:flex;flex:1;align-items:center;min-width:0;gap:8px;padding-left:12px;font-size:12px}.window-titlebar-drag img{pointer-events:none;flex-shrink:0}.window-titlebar-title{color:color-mix(in srgb,currentColor 92%,var(--text-muted));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-titlebar.is-inactive .window-titlebar-drag{color:var(--text-muted)}.window-titlebar-actions{display:flex;align-items:center;padding:0 8px}.window-titlebar-actions .app-update-badge{height:24px}.panel-resize-handle{position:absolute;z-index:40;touch-action:none;-webkit-user-select:none;user-select:none}.panel-resize-width{top:0;bottom:0;right:calc(var(--room-sidebar-width, 320px) - 4px);width:8px;cursor:ew-resize}.panel-resize-height{top:-5px;left:0;right:0;height:8px;cursor:ns-resize}.panel-resize-width{transition:right var(--transition-normal)}.room-layout:has(>.panel-resize-handle[data-resizing])>.room-sidebar,.room-layout:has(>.panel-resize-handle[data-resizing])>.sidebar-toggle-edge,.room-layout:has(>.panel-resize-handle[data-resizing])>.panel-resize-width,.spotlight-tray-container:has(>.panel-resize-handle[data-resizing]){transition:none}.room-layout:has(>.panel-resize-handle[data-resizing]) .sidebar-edge-toggle-btn{opacity:0!important;pointer-events:none!important}@media(prefers-reduced-motion:reduce){.room-sidebar,.sidebar-toggle-edge,.panel-resize-width,.spotlight-tray-container,.spotlight-tray-strip,.btn-toggle-spotlight-tray svg{transition:none}}.spotlight-tray-container>.panel-resize-handle{z-index:20}.panel-resize-handle:hover,.panel-resize-handle:focus-visible{background:var(--accent-glow)}.panel-resize-handle:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.window-caption-controls{display:flex;align-self:stretch}.btn.window-caption-button{width:46px;height:100%;min-width:46px;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-primary);box-shadow:none}.btn.window-caption-button:hover{background:var(--bg-card-hover);transform:none}.btn.window-caption-button:active{transform:none}.btn.window-caption-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:-3px}.btn.window-caption-close:hover{background:var(--danger-hover);color:#fff}.profile-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-full);overflow:hidden;position:relative;font-weight:700}.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}.profile-avatar.participant-avatar-badge{width:52px;height:52px}.spotlight-tray-strip .profile-avatar.participant-avatar-badge{width:36px;height:36px}.profile-avatar.participant-item-avatar{width:28px;height:28px;font-size:12px}.profile-avatar.chat-msg-avatar{width:31px;height:31px;font-size:13px;flex-shrink:0}.profile-avatar.stream-profile-avatar{width:24px;height:24px;font-size:11px;flex-shrink:0}.spotlight-tray-strip .profile-avatar.stream-profile-avatar{width:20px;height:20px;font-size:10px}.profile-avatar.header-profile-avatar,.profile-avatar.watcher-profile-avatar{width:24px;height:24px;font-size:12px}.profile-avatar.profile-editor-preview{width:96px;height:96px;font-size:32px}.profile-editor-preview img,.profile-crop-stage img{position:absolute;max-width:none}.profile-editor-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile-crop-dialog{width:min(440px,calc(100vw - 32px))}.profile-crop-stage{position:relative;width:min(100%,300px);aspect-ratio:1;overflow:hidden;margin:16px auto;touch-action:none;cursor:grab;background:var(--bg-input)}.profile-crop-stage.is-landscape{width:min(100%,360px);aspect-ratio:6 / 5}.profile-crop-stage.is-portrait{aspect-ratio:5 / 6}.profile-crop-frame{position:absolute;left:50%;top:50%;width:100%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}.profile-crop-stage.is-landscape .profile-crop-frame{width:calc(100% * 5 / 6)}.profile-crop-stage:active{cursor:grabbing}.profile-crop-circle{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid white;box-shadow:0 0 0 100vmax #0000008c;pointer-events:none}.profile-editor-photo{position:relative;display:inline-flex}.btn.profile-upload-button{padding:0;border:0;border-radius:var(--radius-full);background:transparent}.profile-upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000008c;color:#fff;opacity:0;transition:opacity var(--transition-fast)}.profile-upload-button:hover .profile-upload-overlay,.profile-upload-button:focus-visible .profile-upload-overlay,.profile-upload-button[aria-busy=true] .profile-upload-overlay{opacity:1}.btn.profile-remove-button{position:absolute;top:0;right:0;width:24px;height:24px;padding:0;border-radius:var(--radius-full);background:color-mix(in srgb,var(--danger-bg),var(--bg-surface) 70%)}.profile-upload-button:focus-visible,.profile-remove-button:focus-visible,.profile-crop-stage:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}@media(prefers-reduced-motion:reduce){.profile-upload-overlay{transition:none}}.color-picker-sv{position:relative;aspect-ratio:1;border-radius:var(--radius-md);background-image:linear-gradient(to top,black,transparent),linear-gradient(to right,white,transparent);touch-action:none;margin-bottom:16px;cursor:crosshair}.color-picker-sv-cursor{position:absolute;width:14px;height:14px;border:2px solid white;box-shadow:0 0 0 1px #000;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.settings-slider-input.color-picker-hue{background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.btn.profile-remove-button:hover{background:var(--danger-hover);color:#fff}.profile-loading-status{color:var(--text-secondary);font-size:12px}.participant-card:not(.in-tray) .profile-avatar.participant-avatar-badge{width:clamp(52px,28.8cqmin,162px);height:clamp(52px,28.8cqmin,162px);font-size:clamp(18px,9cqmin,50.4px)}.profile-card-settings{margin-top:16px}.profile-card-settings .accent-colors-palette{margin-top:8px}.participant-card .badge-you{color:var(--card-text, #ffffff);background-color:color-mix(in srgb,var(--card-text, #ffffff) 12%,transparent);border-color:color-mix(in srgb,var(--card-text, #ffffff) 30%,transparent)}.profile-editor-identity{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:16px;row-gap:8px;align-items:start}.profile-editor-avatar-column,.profile-editor-details{display:flex;flex-direction:column;gap:8px;min-width:0}.profile-editor-avatar-media{width:96px;display:flex;flex-direction:column;gap:8px}.profile-editor-name{min-width:0}.profile-editor-identity .profile-card-settings{min-width:0;margin-top:8px}.profile-editor-identity .profile-banner-editor{display:contents}.profile-editor-identity .profile-banner-upload{margin-top:0;min-width:0}.profile-editor-identity .profile-banner-options{margin-top:0}.profile-editor-details .text-input{width:100%}@media(max-width:480px){.profile-editor-identity{display:flex;flex-direction:column;gap:16px}.profile-editor-avatar-column{display:flex;flex-direction:column;align-items:center;gap:8px}.profile-editor-details{display:block;width:100%;min-width:0}.profile-editor-identity .profile-banner-editor{display:block}.profile-editor-identity .profile-banner-upload{margin-top:8px}}.join-room-participants{display:grid;gap:8px;list-style:none;padding:0;margin:16px 0;max-height:240px;overflow-y:auto}.join-room-participants li{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);font-size:13px;line-height:1.4;overflow-wrap:anywhere}.join-room-participants li>span{min-width:0}.join-room-participants .profile-avatar{width:30px;height:30px;flex-shrink:0}.join-room-loading{display:flex;justify-content:center;padding:16px}.join-room-error{color:var(--danger-text);margin-top:12px}.nickname{display:inline}.nickname-motion,.nickname-ink{display:inline-block;max-width:100%}.nickname-letter{display:inline-block;white-space:pre}.nickname-effect-solid,.nickname-effect-glow{color:var(--nickname-color)}.nickname-effect-gradient,.nickname-effect-rainbow,.nickname-effect-shine{background-clip:text;-webkit-background-clip:text;color:transparent}.nickname-effect-gradient{background-image:linear-gradient(100deg,var(--nickname-color),var(--nickname-secondary))}.nickname-effect-rainbow{background-image:linear-gradient(90deg,#f87171,#facc15,#4ade80,#38bdf8,#a78bfa,#f87171);background-size:200% 100%;animation:nickname-rainbow 5s linear infinite}.nickname-effect-glow{animation:nickname-glow 3s ease-in-out infinite}.nickname-effect-shine{background-image:linear-gradient(110deg,var(--nickname-color) 35%,var(--nickname-shine) 50%,var(--nickname-color) 65%);background-size:250% 100%;animation:nickname-shine 4s ease-in-out infinite}.nickname-animation-float{animation:nickname-float 3s ease-in-out infinite}.nickname-animation-pulse{animation:nickname-pulse 2.5s ease-in-out infinite}.nickname-animation-wave .nickname-letter{animation:nickname-float 2s ease-in-out infinite;animation-delay:calc(var(--nickname-index) * -90ms)}@keyframes nickname-float{0%,to{transform:translateY(0)}50%{transform:translateY(-.12em)}}@keyframes nickname-pulse{0%,to{opacity:1}50%{opacity:.65}}@keyframes nickname-glow{0%,to{text-shadow:0 0 .12em var(--nickname-color)}50%{text-shadow:0 0 .5em var(--nickname-color)}}@keyframes nickname-rainbow{0%{background-position:0% 50%}to{background-position:200% 50%}}@keyframes nickname-shine{0%,15%{background-position:100% 50%}75%,to{background-position:0% 50%}}.nickname-editor{display:grid;gap:12px;margin-top:16px}.nickname-preview{padding:20px;text-align:center;font-size:1.4rem;font-weight:700;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.nickname-editor-fields{display:grid;gap:8px}.nickname-editor-fields p{margin:0 0 4px;color:var(--text-muted);font-size:.75rem}.nickname-colors{display:flex;align-items:center;gap:8px}.nickname-editor>.btn{justify-self:start}@media(prefers-reduced-motion:reduce){.nickname-motion,.nickname-ink,.nickname-letter{animation:none!important}}@media(forced-colors:active){.nickname-ink,.nickname-letter{color:CanvasText!important;background:none;text-shadow:none}}.nickname-field{display:flex;align-items:stretch;gap:8px;min-width:0}.nickname-field>.text-input{flex:1 1 0;min-width:0;width:0}.nickname-field-appearance{display:flex;align-items:center;gap:8px;flex:0 1 170px;min-width:0;max-width:50%;padding:0 4px 0 12px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.nickname-field-appearance:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-subtle)}.nickname-field-preview{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 0}.nickname-field-appearance>.nickname-customize-button{flex:0 0 auto;width:auto;padding:6px;border:0;background:transparent}.nickname-field-appearance>.nickname-customize-button:hover:not(:disabled){background:var(--bg-card-hover)}.nickname-style-dialog .nickname-editor{margin-top:0}.profile-banner-editor{margin-bottom:16px}.profile-banner-upload{position:relative;margin-top:8px}.btn.profile-banner-button{display:block;width:100%;border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden}.profile-banner-preview{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:3;overflow:hidden;background:var(--bg-input);color:var(--text-muted)}.profile-banner-preview img{display:block;width:100%;height:100%;object-fit:cover}.profile-banner-preview>img[style]{position:absolute;max-width:none}.profile-banner-options{display:grid;gap:8px;margin-top:8px}.profile-banner-crop-dialog{width:min(560px,calc(100vw - 32px))}.profile-crop-stage.is-banner{width:100%;aspect-ratio:2}.profile-crop-stage.is-banner .profile-crop-frame{width:100%}.profile-crop-circle.is-banner{border-radius:0}.participant-card{isolation:isolate}.profile-card-banner{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.profile-card-banner img{width:100%;height:100%;object-fit:cover}.profile-card-banner.is-blurred img{filter:blur(12px);transform:scale(1.12)}.profile-card-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0009}.modal-card.profile-view-modal{position:relative;width:min(580px,calc(100vw - 32px));max-width:580px;border:none}.modal-overlay-actions{position:absolute;top:18px;right:18px;z-index:1;display:flex;gap:8px}.modal-overlay-actions .modal-overlay-close{position:static;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:#fff;background:#000000a6}.modal-overlay-close:hover{color:#fff;background:#000000bf}.profile-view-modal .modal-body{display:block;padding:0}.profile-view-banner{aspect-ratio:3;overflow:hidden}.profile-view-banner img{display:block;width:100%;height:100%;object-fit:cover}.profile-view-banner.is-empty{opacity:.65}.profile-view-content{padding:0 24px 24px}.profile-view-identity{position:relative;display:flex;align-items:center;gap:16px;margin:-38px 0 20px}.profile-avatar.profile-view-avatar{width:100px;height:100px;flex-shrink:0;font-size:36px;border:4px solid var(--bg-surface)}.profile-view-identity h3{min-width:0;overflow-wrap:anywhere;margin:38px 0 0;font-size:22px}.profile-view-modal h4{margin:0 0 12px}.profile-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.profile-stats-grid>div{padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated)}.profile-stats-grid dt{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.profile-stats-grid dt svg{flex-shrink:0}.profile-stats-grid dd{margin:8px 0 0;font-size:20px;font-weight:600}.profile-stats-note{color:var(--text-secondary);font-size:12px;line-height:1.5;margin:16px 0 0}@media(max-width:400px){.profile-stats-grid{grid-template-columns:minmax(0,1fr)}}.profile-identity-button{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm)}.profile-identity-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}.participant-item-identity.profile-identity-button{flex:1}:where(button,[role=button]){transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.inline-notice{background:var(--bg-control);border:0;padding:12px 14px;border-radius:var(--radius-lg)}.inline-notice>svg{color:var(--accent-color)}.emoji-picker{background:var(--bg-elevated);border:0;border-radius:var(--radius-lg);padding:16px}.emoji-picker-search{min-height:40px;padding:10px 12px;border:0;border-radius:var(--radius-md);background:var(--bg-input);box-shadow:inset 0 0 0 1px var(--border-subtle)}.emoji-picker-categories{gap:5px}.emoji-picker-categories button{min-width:34px;height:34px;border-radius:var(--radius-md)}.emoji-picker-categories button.active{color:var(--text-primary);background:var(--bg-selected)}.emoji-picker-categories button:hover,.emoji-picker-categories button:focus-visible,.emoji-picker-grid button:hover,.emoji-picker-grid button:focus-visible{background:var(--bg-control-hover);color:var(--text-primary)}.emoji-picker-categories button:hover,.emoji-picker-categories button.active,.emoji-picker-grid button:hover{outline:none}.emoji-picker-categories button:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.emoji-picker-grid button:focus-visible,.emoji-picker-search:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.source-card{position:relative;border:0;border-radius:var(--radius-md);padding:10px;background:var(--bg-card);color:var(--text-primary);font:inherit;text-align:left}.source-card:hover{border:0;background:var(--bg-card-hover)}.source-card.selected{border:0;background:var(--bg-card-hover);box-shadow:inset 0 0 0 2px var(--accent-color)}.source-card:focus-visible{outline:2px solid var(--text-primary);outline-offset:3px}.source-card-thumb{border-radius:var(--radius-sm);background:var(--bg-input)}.media-preview{border:0;border-radius:var(--radius-lg);background:var(--bg-card)}.media-preview-stage:not(:has(video.ready)){background:var(--bg-card)}.media-preview-caption{padding:14px;color:var(--text-primary)}.picker-tabs{border:0}.picker-tab-btn{font-weight:600;border:0;border-radius:var(--radius-md)}.picker-tab-btn:hover{background:var(--bg-control-hover)}.picker-tab-btn.active{color:var(--text-primary);background:var(--bg-selected)}.settings-tab-pane,.settings-tab-pane.active,.settings-options-panel,.rendezvous-panel,.sidebar-tab-content.active{animation:none}.content-transition{min-width:0;animation:tabContentEnter var(--transition-normal) both}.content-transition.content-exiting{pointer-events:none;animation:contentExit var(--content-exit-duration) ease-in both}.content-transition-fill{display:flex;flex-direction:column;flex:1;min-height:0;width:100%}@keyframes contentExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes tabContentEnter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.toast-container{width:min(360px,calc(100vw - 40px));max-width:min(360px,calc(100vw - 40px));gap:12px}.toast{--toast-color: var(--text-secondary);position:relative;display:flex;align-items:center;gap:9px;width:100%;min-height:56px;padding:14px 15px 16px;overflow:hidden;font-size:13px;background:var(--bg-elevated);box-shadow:var(--shadow-lg),inset 0 0 0 1px var(--border-subtle)}.toast-success{--toast-color: var(--accent-color)}.toast-error{--toast-color: var(--danger-text)}.toast-warning{--toast-color: var(--warning-text)}.toast-icon{display:flex;flex:none;color:var(--toast-color)}.toast-message{flex:1;min-width:0}.toast .toast-close{flex:none;width:26px;height:26px;margin-left:auto;color:var(--text-secondary);border-radius:var(--radius-sm)}.toast .toast-close:hover{background:var(--bg-control-hover);color:var(--text-primary)}.toast-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--toast-color);transform-origin:left;animation:toastCountdown linear forwards}@keyframes toastCountdown{to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){:where(button,[role=button]){transition:none!important}.content-transition,.content-transition.content-exiting{animation:none}}.audio-filter-modal-card{max-width:560px}.audio-filter-content{display:flex;flex-direction:column;gap:12px}.audio-filter-content>.form-label{margin:0}.audio-app-controls{display:flex;flex-direction:column;gap:12px}.audio-choice-notice{display:flex;align-items:center;gap:12px;padding:20px 16px;border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);font-size:13px}.audio-choice-notice svg{flex:none;color:var(--accent-color)}.audio-list-heading{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-size:13px;font-weight:600}.audio-selection-count{color:var(--text-secondary);font-size:12px;font-variant-numeric:tabular-nums}.audio-choice-hint{margin:-6px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.5}.audio-filter-search{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.audio-filter-search>.text-input{flex:1;min-width:0}.audio-filter-search>svg{flex:none}.btn.audio-filter-refresh{flex:0 0 44px;width:44px;height:44px;padding:0}.audio-filter-app-list{display:flex;flex-direction:column;gap:7px;height:270px;overflow-y:auto;padding-right:4px}.audio-filter-app{gap:12px;min-height:54px;flex:none}.audio-filter-app.selected{background:var(--bg-control)}.audio-filter-app.selected:hover{background:var(--bg-control-hover)}.audio-filter-app-icon{display:grid;place-items:center;flex:none;width:28px;height:28px;color:var(--text-secondary)}.audio-filter-app-icon img{width:24px;height:24px;object-fit:contain;border-radius:var(--radius-sm)}.audio-filter-app-details{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.audio-filter-app-executable{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-secondary)}.audio-filter-app-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--text-primary)}.audio-filter-list-state{display:flex;align-items:center;justify-content:center;gap:10px;height:100%;padding:16px;color:var(--text-secondary);font-size:13px;text-align:center}.audio-clear-selection{align-self:flex-start}.audio-refresh-spinning{animation:spin .8s linear infinite}@media(prefers-reduced-motion:reduce){.audio-refresh-spinning{animation:none}}.modal-overlay:has(>.fullscreen-dialog){padding:0}body:has(.fullscreen-dialog,.chat-image-viewer) .window-titlebar{display:none}.modal-card.fullscreen-dialog{width:100vw;max-width:none;height:100vh;max-height:none;border-radius:0}.fullscreen-dialog>.modal-body{flex:1;min-height:0;padding:0;gap:0;overflow:hidden}.fullscreen-dialog>.modal-footer,.fullscreen-dialog>.modal-overlay-actions{display:none}.collapsible-region{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--transition-normal),opacity var(--transition-normal)}.collapsible-region.is-open{grid-template-rows:1fr;opacity:1}.collapsible-region-content{min-height:0;overflow:hidden}@media(prefers-reduced-motion:reduce){.collapsible-region{transition:none}}.desktop-feature-trigger{display:inline-flex}.desktop-feature-message{display:flex;flex-direction:column;gap:8px;max-width:270px}.desktop-feature-message a{color:var(--accent-color);text-decoration:underline}.header-web-home img{width:28px;height:28px;object-fit:contain}:root[data-reduced-motion=true]{--transition-fast: 0s !important;--transition-normal: 0s !important;--content-exit-duration: 0ms !important;--dropdown-enter-duration: 0ms !important;--dropdown-exit-duration: 0ms !important;--source-loading-duration: 0ms !important}:root[data-reduced-motion=true] .header-invite-icon,:root[data-reduced-motion=true] .badge-live-dot,:root[data-reduced-motion=true] .stream-zoom-bar,:root[data-reduced-motion=true] .modal-overlay,:root[data-reduced-motion=true] .modal-overlay .modal-card,:root[data-reduced-motion=true] .modal-overlay.closing,:root[data-reduced-motion=true] .modal-overlay.closing .modal-card,:root[data-reduced-motion=true] .toast,:root[data-reduced-motion=true] .toast.is-exiting,:root[data-reduced-motion=true] .media-loading-overlay,:root[data-reduced-motion=true] .media-loading-overlay.closing,:root[data-reduced-motion=true] .loading-spinner,:root[data-reduced-motion=true] .context-menu,:root[data-reduced-motion=true] .context-menu.dropdown-closing,:root[data-reduced-motion=true] .app-select-list,:root[data-reduced-motion=true] .app-select-list.dropdown-closing,:root[data-reduced-motion=true] .audio-refresh-spinning{animation:none!important}:root[data-reduced-motion=true] .app-workspace.is-home .app-header,:root[data-reduced-motion=true] .participant-card,:root[data-reduced-motion=true] .btn-watch-stream,:root[data-reduced-motion=true] .btn-stop-watch-stream,:root[data-reduced-motion=true] .stat-badge,:root[data-reduced-motion=true] .stream-volume-controller:before,:root[data-reduced-motion=true] .sidebar-edge-toggle-btn,:root[data-reduced-motion=true] .user-card,:root[data-reduced-motion=true] .app-select,:root[data-reduced-motion=true] .app-select-chevron,:root[data-reduced-motion=true] .app-select-option,:root[data-reduced-motion=true] .context-menu button,:root[data-reduced-motion=true] .context-menu-row,:root[data-reduced-motion=true] .chat-file-download-menu button,:root[data-reduced-motion=true] .profile-upload-overlay,:root[data-reduced-motion=true] .collapsible-region{transition:none!important}:root[data-reduced-effects=true] *,:root[data-reduced-effects=true] *:before,:root[data-reduced-effects=true] *:after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}:root[data-reduced-effects=true] .profile-card-banner.is-blurred img{filter:none!important}:root[data-reduced-effects=true] .app-workspace.is-home{background:var(--bg-app)!important}:root[data-reduced-effects=true] .app-workspace.is-home .app-header.is-home-scrolled{background-color:var(--bg-app)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}:root[data-reduced-effects=true] .modal-overlay,:root[data-reduced-effects=true] .connecting-overlay{background-color:var(--bg-overlay)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}:root[data-reduced-effects=true] .participant-card{background:var(--card-color, var(--user-color, var(--bg-card)))!important}:root[data-reduced-effects=true] .participant-avatar-badge{background-color:#ffffff47!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}:root[data-reduced-effects=true] .stream-card-overlay,:root[data-reduced-effects=true] .btn-stop-watch-stream,:root[data-reduced-effects=true] .stat-badge,:root[data-reduced-effects=true] .stream-zoom-bar,:root[data-reduced-effects=true] .sidebar-edge-toggle-btn,:root[data-reduced-effects=true] .stream-volume-controller:before,:root[data-reduced-effects=true] .badge-live-stream,:root[data-reduced-effects=true] .badge-live-watchers,:root[data-reduced-effects=true] .badge-you{background-color:var(--bg-elevated)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}:root[data-reduced-effects=true] .context-menu{background:var(--bg-card)!important;box-shadow:var(--shadow-md)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}:root[data-reduced-effects=true] .app-select-list{background:var(--bg-input)!important;box-shadow:var(--shadow-md)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}:root[data-reduced-effects=true] .nickname-effect-gradient,:root[data-reduced-effects=true] .nickname-effect-rainbow,:root[data-reduced-effects=true] .nickname-effect-shine{background-image:none!important;color:var(--nickname-color, inherit)!important}html.web-landing,.web-landing body,.web-landing #root{height:auto;min-height:100%;overflow:auto}.web-landing body{-webkit-user-select:text;user-select:text}.site-shell{width:100%;margin:auto;padding:0 clamp(24px,3vw,56px)}.site-shell a{text-decoration:none}.site-shell #content:focus{outline:none}.site-shell .btn{width:auto;flex:none}.site-shell .download-systems .download-system{width:100%;height:auto}.site-header,.site-header nav,.site-brand,.site-actions{display:flex;align-items:center;gap:18px}.site-header{min-height:88px;justify-content:space-between}.site-brand{color:var(--text-primary);font-weight:800;font-size:21px;gap:10px}.site-brand img{width:34px;height:34px;object-fit:contain}.site-header nav{gap:12px}.site-header nav .app-select{max-width:210px}.site-hero{--text-primary: #f7f9ff;--text-secondary: #c1c9d8;--text-muted: #9caac1;--hero-art-width: clamp(280px, 34vw, 520px);--bg-control: var(--hero-control, #181818);--bg-control-hover: var(--hero-control-hover, #292929);--border-subtle: rgba(255, 255, 255, .08);position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(200px,.8fr);align-items:center;gap:clamp(24px,5vw,64px);padding:clamp(36px,5vw,64px) clamp(28px,4vw,56px);border-radius:calc(var(--radius-lg) * 1.6);background:var(--hero-background, #000000);border:1px solid var(--border-subtle);min-height:500px;margin:12px 0 24px}.site-hero:before{content:"";position:absolute;right:0;bottom:0;width:calc(var(--hero-art-width) * 1.75);height:100%;pointer-events:none;background:radial-gradient(ellipse 100% 100% at 100% 100%,#00225c 0%,#00225c 32%,transparent 90%)}.site-hero-content{position:relative;z-index:2;min-width:0;max-width:680px}.site-hero h1{font-size:clamp(32px,3.6vw,56px);line-height:1.15;letter-spacing:-.04em;color:var(--text-primary);margin:0 0 22px;text-wrap:balance}.site-description{color:var(--text-secondary);font-size:clamp(15px,1.2vw,17px);line-height:1.8;max-width:600px}.site-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px}.site-actions .btn{width:auto;min-height:48px;padding:14px 24px;border-radius:var(--radius-full)}.site-note{color:var(--text-muted);font-size:12px;margin-top:18px;line-height:1.6}.site-art{position:absolute;right:0;bottom:0;width:var(--hero-art-width);height:100%;pointer-events:none;display:flex;align-items:flex-end;justify-content:flex-end;z-index:1}.site-art>img,.site-art-logo{display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:right bottom}.site-features{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:32px 0 60px}.site-features article{display:grid;grid-template-columns:32px 1fr;align-content:start;column-gap:14px}.site-feature-icon{color:var(--accent-color);grid-row:span 2}.site-features h2{font-size:16px;margin:0 0 10px}.site-features p{color:var(--text-secondary);line-height:1.8;font-size:14px}.site-footer{margin-top:32px;padding:40px 0 20px;border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:12px}.site-footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding-bottom:40px}.site-footer-identity p{margin-top:14px;color:var(--text-secondary)}.site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.site-footer nav h2{font-size:13px;color:var(--text-primary);margin:0 0 4px}.site-footer nav a{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary)}.site-footer nav a:hover{color:var(--text-primary)}.site-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px}.site-skip{position:fixed;top:-100px;z-index:9999;padding:12px;color:var(--text-primary);background:var(--bg-elevated)}.site-skip:focus{top:8px}.site-download{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.7fr);align-items:start;gap:clamp(32px,5vw,80px);align-content:start;min-height:65vh;padding:38px 0 60px}.site-download-intro{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.site-download-intro h1{font-size:30px;margin:0;letter-spacing:-.03em}.site-download-intro p{grid-column:1;color:var(--text-secondary);line-height:1.7;margin:0}.site-download-intro>.btn{align-self:flex-start}.site-download>.download-panel{min-width:0;background:var(--bg-card);border-radius:var(--radius-lg);padding:28px}.web-app body{min-width:0}.web-app [hidden]{display:none!important}@media(max-width:800px){.site-header{flex-wrap:wrap;gap:16px;padding:20px 0}.site-header nav{flex-wrap:wrap}.site-hero{grid-template-columns:minmax(0,1fr);gap:20px;padding:32px 24px;min-height:0;--hero-art-width: clamp(200px, 34vw, 300px)}.site-hero-content{max-width:100%}.site-art{opacity:.85}.site-download{grid-template-columns:1fr;gap:32px;padding:28px 0}.site-features{grid-template-columns:1fr;gap:24px;padding-bottom:32px}.site-download-intro{grid-template-columns:1fr}.site-download-intro>.btn{grid-column:1;grid-row:auto;justify-self:start}.site-footer-main{grid-template-columns:1fr 1fr}.site-footer-identity{grid-column:1 / -1}}@media(max-width:540px){.site-hero{padding:24px 20px}.site-art{display:none}.site-actions .btn{width:100%}}.site-route-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;pointer-events:none;view-transition-name:site-navigation-feedback}.site-route-progress{position:absolute;inset:0 0 auto;height:3px;overflow:hidden;background:var(--bg-selected)}.site-route-progress:after{content:"";display:block;width:35%;height:100%;background:var(--accent-color);animation:siteRouteProgress calc(var(--source-loading-duration) * 3) ease-in-out infinite}.site-route-loading-label{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:12px;max-width:calc(100% - 32px);padding:14px 20px;background:var(--bg-elevated);color:var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.site-route-loading.closing{animation:mediaLoadingExit var(--dropdown-exit-duration) both}@keyframes siteRouteProgress{0%{transform:translate(-110%)}to{transform:translate(390%)}}::view-transition-old(root){animation:contentExit var(--content-exit-duration) ease-in both}::view-transition-new(root){animation:tabContentEnter var(--transition-normal) both}::view-transition-old(site-navigation-feedback),::view-transition-new(site-navigation-feedback){animation:none}:root[data-reduced-motion=true]::view-transition-group(*),:root[data-reduced-motion=true]::view-transition-old(*),:root[data-reduced-motion=true]::view-transition-new(*){animation:none!important}:root[data-reduced-motion=true] .site-route-loading,:root[data-reduced-motion=true] .site-route-loading-label,:root[data-reduced-motion=true] .site-route-progress:after{animation:none!important}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.site-route-loading,.site-route-loading-label,.site-route-progress:after{animation:none!important}}.site-route-error{display:grid;justify-items:center;gap:16px;padding:48px 24px;color:var(--text-primary)}
