@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.woff2) 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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-math-wght-normal-Bl4ZGkZl.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-symbols-wght-normal-DxQzqQfC.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-vietnamese-wght-normal-BBxOatbv.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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(data:font/woff2;base64,d09GMgABAAAAAAcwABUAAAAADVQAAAbBAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGkQbgR4cLj9IVkFSYD9NVkFSRgZgP1NUQVSBECcqAFwvZBEICoMkgnELFAAwhH4BNgIkAyIEIAWGEAdnDAcboAsonoWxMy2MW9VSU/H2d24ggnj6P7/qdF8kHtj4XCsDah+E/KT39YIFcHcr5mdFZwLNDw9CeW4KlnBLVwQRet6nWJGSNRWvjZZM5AF9/V+YzdmiNbWZhBUUSOGWSLhW2RoXvEtYlxCEfCMrFAA6BuFam7oKRUZVCFWhRR/qJMlMiCgVZ/4ca0sETSHYgDJIJKezg6AEeH4/UIDkWQgqQABAB41AABe1VKK6dOsdhehnpalC9DfR1iEaDRCEADJ7qqmDPyCAYODEgeBAUIADRQ2tgB4qkWgAgOBp5BnH2tUEgA3ErCKtimIziMYx+tZRkDo+B2CcYroAUAMQQMOC/DExNOyf1AIEqIEEKgEKoAEFyK2JYdUjqxX9gAAwZpyto8zKVlMAICtmCHZvvscvU9uhetlltjPXxFCpcgAT1C41AqC3NxEZR3GGgPFsQPEn9Dv9AAEV1gUdEnSDES/lADn+6DGoZioeqIBCEBwIUIQ/UAa5fLpoEwZQQLIclVoNmiUiAMTkNhAAsaQOgAYUSg6A+hsQAHFIasTfqUaMdhH93bqCn0dv0Y1Mxwz/rMEkngeFGyecLPOg2jTgjVHHlnFn1ePPoBCvIU0PgI97z1hU0OQ8V6Iq/BwEUU8EQ4OB4FQdyadBEOByAhRAIhThj4OXDnAXcgDG2hAxxIQMtyzUgY0DcCA1wwnPy+biZg5xg64AiKelqxEkCD8ATgAKAdzAdMBJoAx4e5naGUU9jSAGahwNjTq+8W7DtfwYMsuPz6g1XPyMe4OHcM9wzZ544OVL2fjTo1fDhz95JRtfunY9r+B6JRd3737xgg3f338+ZMjD5wE2vLjmvqrsfi7KpklBNhwDNs4hLtfZB1nVo/LtXbteDo7bGL+x9LnOu7gSi0s45CJc/mquZ+53Had/3dvtr8Ybttd9ifzjnXq4Zb+pTblf584tP9A9sdAIX89W9cqWOy8urXS6243Og4UTLSdNOtqi74T6Wi+zp5Xr6RpTqLOrX2Wp2FTquoyMtjObjK4jpZMt84p3bd218fcnDp+IoMbXTl0+vgP56caMH6fVqeP+OKNQ34WDI8PmIJDVIAAbW7oRW9vBIzQAYINeo695N38DAQQF1BAAQB1AaXV6TEEMP0RLzQ5ctUHhwY/gB6cDpZRWWNvhvV7xtTdCTx62RTr+t9EROf52+4hqwKoHM4/P3FgXpe6yLMD76VNExDcBX1jIH3Yp7lSX+fKlzCapUmWPbtYsN7eRA47ZYTVbbEp/xcTqp40a3d8kgcC2lmDn2kCI59VnWx1NAZbGgyDNV1vAFJu5FO3miyhkCFmswIrSVn+m4cGofr9T0gtXmTw09dO1a16PkZUSH/IBkrx9G5qSFfLgxvTvUt01arz+FBpnGCEhx00R2RZKkZ2alp0fzE1LDbpKNhShcYSQv0hQG1qZDr/fmZca/ghYVGJxlLKSkix/drZ/c6tCgVkxImp4WHxugc/XJo8s3HRlyqfYLHfRckwVJGlsXycqqOGwidPXFPr25z/Nmxau/p9Rr57aFGS1RW4u7iIFAw1tFS5Mxb/8VkR5k5cXVEauSXY2pXVWSkRkklGk1rBYI0tr8nLTSpb8G+5yhXMADzyTaevXgL1Zp6VZlh0QM3fsx6LChf9nUFEe5Rfxel+//BCekJby74034cm1Sj0pKdGfMTg6JQXHolu80R26VNVeFRGjTGrML/a3KLdYsfRSwdIdF/wS97oFBJCflu4t3XhyfFibNIfWkQCf9r4tAJ9v5YH5D/L/t64YRwELBYDAz9xlvaUoc/8UQJDdHboro2Mz9jFInPDh9H5qASpKQgBOzmMzgG87VkOtVdB9GjGcwLdyIEJCoawjhU8WkKZZWpFBpZQgk2Guk0Ul58N9NCPHEwMP48ikiG6ycNGBbHyygBx4aEJOCsggFw7KkJtCAo/uwQV0olqyQtFmHZtpSTNMxXktRyAaKYo+cK9zaHpJBCK7ld6ZnAkoolP/ZzYvSzUPD8sKk8TLZmFYJCoGZhJ4DGjXa4xuGebQcRBOoWGIwKFaYhqHmCwSTJeiCKMCq0gNAc+GYSrLDBajCqNYJQYHcZXJJ0A4xapUqMKZ6z2NlL69lfVr0u8Nccx9YwPV6tkC81rPZI+nqPdmFSuWYpQISRkjH5QNMRmyUjejicO9FXMknCLnOWQIJNp0jmWMFZiWYyRwhQrhmdU9JWEPp+eCXCSYbnA0cgpOoIp7UWjRYogpltVxkolc5Ld0nsQ2aGrgvbG4QXMT38TJjo3+3UW3hhd38NKijMZseaj+FQn2vbEXAA==) 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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-cyrillic-wght-normal-C627f1f8.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-vietnamese-wght-normal-rat7GD3o.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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-ext-wght-normal-D6H-S6MW.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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-wght-normal-D5afBTBx.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}:root{color-scheme:dark;--ink: #121510;--ink-deep: #0c0f0a;--surface: #1a1e17;--surface-2: #232920;--line: #343c2d;--line-soft: #262c22;--text: #eef1ea;--text-dim: #a9b2a1;--text-faint: #7e8875;--primary: #315107;--primary-hover: #3d650a;--primary-edge: #50801a;--on-primary: #f2f8e8;--signal: #a5d469;--signal-ink: #172505;--signal-glow: rgba(165, 212, 105, .32);--warn: #e8b84a;--danger: #f0565a;--scrim-dark: rgba(12, 15, 10, .78);--on-video: #eef1ea;--error-text: #ffc9ca;--warn-text: #f3dca3;--bubble-mine: #2c3f15;--chip-mine: #24340f;--tint: rgba(255, 255, 255, .08);--tile-edge: rgba(255, 255, 255, .04);--shadow: rgba(0, 0, 0, .4);--scene-a: #1f271b;--scene-b: #141a12;--badge-error-text: #ffb3b3;--badge-warn-text: #ffd98a;--font-display: "Unbounded Variable", "Onest Variable", system-ui, sans-serif;--font-ui: "Onest Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--r-sm: 8px;--r-md: 12px;--r-tile: 16px;--r-panel: 22px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);font-family:var(--font-ui);font-size:16px;line-height:1.5;color:var(--text);background:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--ink: #f4f6f0;--ink-deep: #e7ebe1;--surface: #ffffff;--surface-2: #eef1e8;--line: #cfd7c4;--line-soft: #e2e7da;--text: #182013;--text-dim: #4b5643;--text-faint: #6c7763;--primary: #315107;--primary-hover: #3d650a;--primary-edge: #315107;--on-primary: #f2f8e8;--signal: #4c7d12;--signal-ink: #f4fae9;--signal-glow: rgba(76, 125, 18, .22);--warn: #a86f00;--danger: #d6363b;--error-text: #a3242a;--warn-text: #6e5208;--bubble-mine: #dbeac6;--chip-mine: #e4f0d3;--tint: rgba(0, 0, 0, .06);--tile-edge: rgba(0, 0, 0, .06);--shadow: rgba(30, 40, 20, .16);--scene-a: #e8eedf;--scene-b: #dbe4cf;--badge-error-text: #9b1c1c;--badge-warn-text: #7a5300}}:root[data-theme=light]{color-scheme:light;--ink: #f4f6f0;--ink-deep: #e7ebe1;--surface: #ffffff;--surface-2: #eef1e8;--line: #cfd7c4;--line-soft: #e2e7da;--text: #182013;--text-dim: #4b5643;--text-faint: #6c7763;--primary: #315107;--primary-hover: #3d650a;--primary-edge: #315107;--on-primary: #f2f8e8;--signal: #4c7d12;--signal-ink: #f4fae9;--signal-glow: rgba(76, 125, 18, .22);--warn: #a86f00;--danger: #d6363b;--error-text: #a3242a;--warn-text: #6e5208;--bubble-mine: #dbeac6;--chip-mine: #e4f0d3;--tint: rgba(0, 0, 0, .06);--tile-edge: rgba(0, 0, 0, .06);--shadow: rgba(30, 40, 20, .16);--scene-a: #e8eedf;--scene-b: #dbe4cf;--badge-error-text: #9b1c1c;--badge-warn-text: #7a5300}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{min-height:100vh;min-height:100dvh;background:var(--ink);overscroll-behavior:none}#app{min-height:100vh;min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--signal)}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.display{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;line-height:1.1;margin:0}.display-xl{font-size:clamp(2.1rem,5.2vw,3.6rem)}.display-lg{font-size:clamp(1.6rem,3.4vw,2.3rem)}.display-md{font-size:1.25rem}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.small{font-size:.875rem}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:1.15rem;color:var(--text);text-decoration:none;background:none;border:0;padding:0}.lamp{--lamp: var(--signal);--lamp-halo: rgba(165, 212, 105, .2);width:12px;height:12px;border-radius:50%;background:var(--lamp);box-shadow:0 0 0 3px var(--lamp-halo),0 0 16px var(--lamp);flex:none}.lamp.is-off{--lamp: var(--text-faint);box-shadow:none}.lamp.is-warn{--lamp: var(--warn);--lamp-halo: rgba(232, 184, 74, .2);animation:lamp-pulse 1.2s ease-in-out infinite}.lamp.is-bad{--lamp: var(--danger);--lamp-halo: rgba(240, 86, 90, .22)}@keyframes lamp-pulse{50%{opacity:.35}}.lang-picker{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--line-soft);background:var(--surface);color:var(--text-faint)}.lang-picker:hover{border-color:var(--line);color:var(--text-dim)}.lang-picker:focus-within{border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-glow)}.lang-code{color:var(--text);font-size:.85rem;font-weight:700;letter-spacing:.04em}.theme-picker{padding:0 11px;color:var(--text-dim)}.lang-picker select{position:absolute;inset:0;width:100%;height:100%;opacity:0;appearance:none;-webkit-appearance:none;border:0;margin:0;padding:0;font-size:16px;cursor:pointer}.lang-picker option,select.input option{background:var(--surface-2);color:var(--text)}.head-actions{display:inline-flex;align-items:center;gap:10px}.install-btn svg{color:var(--signal)}.install-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}.install-steps li{display:flex;align-items:center;gap:12px}.install-mark{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--signal)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-weight:600;font-size:.95rem;white-space:nowrap;transition:background-color .15s,border-color .15s,transform .1s}.btn:hover:not(:disabled){border-color:var(--text-faint)}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--primary);border-color:var(--primary-edge);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--signal)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--line)}.btn-block{width:100%}.back-btn{padding-left:6px;margin-left:-6px}.btn-lg{min-height:52px;padding:0 26px;font-size:1rem}.btn-sm{min-height:34px;padding:0 12px;font-size:.85rem;gap:6px}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--text-dim)}.icon-btn:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.field{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.field>span,.field>label{font-size:.875rem;color:var(--text-dim)}.field-hint{font-size:.8rem;color:var(--text-faint)}.field-hint.is-error{color:var(--error-text)}.auth-form{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.input{width:100%;min-height:48px;padding:0 14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--ink-deep);color:var(--text);font-size:16px}.input::placeholder{color:var(--text-faint)}.input:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-glow)}select.input{-webkit-appearance:none;appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--text-dim) 50%),linear-gradient(135deg,var(--text-dim) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat}.form-error{margin:0;padding:10px 12px;border-radius:var(--r-sm);background:#f0565a24;color:var(--error-text);font-size:.9rem}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page{min-height:100vh;min-height:100dvh;padding:calc(20px + var(--safe-top)) calc(20px + var(--safe-right)) calc(28px + var(--safe-bottom)) calc(20px + var(--safe-left));display:flex;flex-direction:column}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:1080px;margin:0 auto 28px}.page-body{width:100%;max-width:1080px;margin:0 auto;flex:1}.user-chip{display:inline-flex;align-items:center;gap:10px;padding:4px 4px 4px 14px;border-radius:999px;border:1px solid var(--line-soft);background:var(--surface)}.user-chip strong{font-weight:600;font-size:.95rem;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth{display:grid;gap:40px;align-items:center;grid-template-columns:minmax(0,1.1fr) minmax(320px,420px)}.auth-pitch,.auth-card{min-width:0}.auth-pitch p{max-width:34ch;font-size:1.1rem;color:var(--text-dim);margin:20px 0 0}.auth-card{padding:28px;border-radius:var(--r-panel);background:var(--surface);border:1px solid var(--line-soft);display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.auth-card h2{margin:0 0 4px}.auth-switch{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--ink-deep)}.auth-switch button{flex:1;min-height:38px;border:0;border-radius:999px;background:transparent;color:var(--text-dim);font-weight:600}.auth-switch button[aria-pressed=true]{background:var(--surface-2);color:var(--text)}.link-btn{justify-self:start;padding:2px 0;border:0;background:none;color:var(--signal);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.link-btn:hover{text-decoration:underline}.recovery{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.recovery-back{justify-self:start;margin-left:-12px}.recovery-code{font-variant-numeric:tabular-nums;letter-spacing:.3em;font-size:1.15rem}.recovery-current{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md);background:var(--ink-deep);color:var(--signal)}.recovery-current div{display:grid;min-width:0}.recovery-current strong{color:var(--text);overflow:hidden;text-overflow:ellipsis}.recovery-actions{display:flex;gap:10px;flex-wrap:wrap}.recovery-notice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding:12px 14px;border-radius:var(--r-md);background:#a5d46914;border:1px solid rgba(165,212,105,.22);color:var(--text-dim);font-size:.92rem}.recovery-notice svg{color:var(--signal);flex:none}.recovery-notice span{flex:1;min-width:200px}.guide{width:100%;max-width:1080px;margin:72px auto 0}.guide-head{margin-bottom:24px}.guide.is-compact{margin:0 0 40px}.guide-head p{max-width:52ch;margin:12px 0 0;color:var(--text-dim)}.guide-steps{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.guide-step{min-width:0;padding:10px 10px 20px;border-radius:var(--r-panel);background:var(--surface);border:1px solid var(--line-soft)}.guide-art{aspect-ratio:240 / 150;border-radius:var(--r-tile);overflow:hidden;background:radial-gradient(90% 80% at 50% 0%,rgba(49,81,7,.32),transparent 70%),var(--ink-deep)}.guide-art svg{display:block;width:100%;height:100%}.guide-copy{padding:16px 10px 0}.guide-num{color:var(--signal);font-family:var(--font-display);font-size:.8rem;font-variant-numeric:tabular-nums}.guide-copy h3{margin:6px 0 4px;font-size:.98rem;font-weight:600}.guide-copy p{margin:0;font-size:.875rem;color:var(--text-dim)}.guide-art .g-orbit{fill:none;stroke:#a5d4691f}.guide-art .g-panel{fill:var(--surface);stroke:var(--line)}.guide-art .g-device{fill:var(--surface-2);stroke:var(--line)}.guide-art .g-chip{fill:var(--surface);stroke:#a5d46957}.guide-art .g-label{fill:#0c0f0a9e}.guide-art .g-field{fill:var(--ink-deep);stroke:var(--line)}.guide-art .g-dot,.guide-art .g-base,.guide-art .g-bar{fill:var(--line)}.guide-art .g-bar.is-soft{fill:var(--line-soft)}.guide-art .g-bar.is-light{fill:var(--text-dim)}.guide-art .g-primary{fill:var(--primary);stroke:var(--primary-edge)}.guide-art .g-signal{fill:var(--signal)}.guide-art .g-signal.is-dim{opacity:.5}.guide-art .g-hangup{fill:var(--danger)}.guide-art .g-tile{fill:var(--tile-lo)}.guide-art .g-glow{fill:var(--tile-hi);opacity:.7}.guide-art .g-ring{fill:none;stroke:var(--signal);stroke-width:2}.guide-art .g-line,.guide-art .g-on-primary,.guide-art .g-on-signal{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.guide-art .g-line{stroke:var(--signal)}.guide-art .g-on-primary{stroke:var(--on-primary)}.guide-art .g-on-signal{stroke:var(--signal-ink)}.guide-art .is-thin{stroke-width:1.6}.guide-art .g-dash{fill:none;stroke:var(--signal);stroke-width:2;stroke-linecap:round;stroke-dasharray:1 7;opacity:.6}.guide-art .g-icon{color:var(--text-dim)}.guide-art .g-icon-on{color:var(--on-primary)}.guide-art .g-eq rect{fill:var(--signal)}.guide-art .g-emoji{font-size:18px}.guide-art .g-caret{animation:guide-blink 1.1s steps(1) infinite}.guide-art .g-float,.guide-art .g-plane,.guide-art .g-eq rect,.guide-art .g-emoji{transform-box:fill-box}.guide-art .g-float{animation:scene-drift 3.2s ease-in-out infinite alternate}.guide-art .g-plane{animation:guide-fly 3.6s ease-in-out infinite alternate}.guide-art .g-eq rect{transform-origin:bottom;animation:scene-eq .5s ease-in-out infinite alternate}.guide-art .g-eq rect:nth-child(2){animation-delay:-.2s}.guide-art .g-eq rect:nth-child(3){animation-delay:-.35s}.guide-art .g-emoji{transform-origin:center;animation:scene-drift 2.6s ease-in-out infinite alternate}.guide-art .g-emoji.is-late{animation-delay:-1.3s}@keyframes guide-blink{50%{opacity:0}}@keyframes guide-fly{0%{transform:translate(-4px,3px)}to{transform:translate(4px,-3px)}}.home-greeting{margin-bottom:28px}.home-greeting p{margin:10px 0 0;color:var(--text-dim)}.home-actions{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:40px}.action-panel{padding:22px;border-radius:var(--r-panel);background:var(--surface);border:1px solid var(--line-soft);display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-content:start}.action-panel h2{margin:0;font-size:1.05rem;font-weight:600}.action-row{display:flex;gap:10px}.action-row .input{flex:1;min-width:0}.section-title{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--text-dim)}.room-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-soft)}.room-list li{border-bottom:1px solid var(--line-soft)}.room-row{width:100%;display:grid;align-items:center;gap:14px;grid-template-columns:minmax(0,1fr) auto auto;padding:14px 6px;background:none;border:0;text-align:left;color:inherit}.room-row:hover .room-name{color:var(--signal)}.room-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-when{color:var(--text-faint);font-size:.875rem}.room-online{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-dim)}.room-online .lamp{width:8px;height:8px;box-shadow:0 0 10px var(--signal)}.empty-note{color:var(--text-faint);padding:18px 6px;margin:0}.lobby{display:grid;gap:32px;align-items:center;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}.lobby-preview{position:relative;aspect-ratio:16 / 10;border-radius:var(--r-panel);overflow:hidden;background:var(--ink-deep);border:1px solid var(--line-soft)}.lobby-preview .media-video,.lobby-preview .tile-avatar{position:absolute;inset:0}.lobby-controls{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:12px}.lobby-side{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0}.lobby-side h1{word-break:break-word}.lobby-presence{color:var(--text-dim);margin:0}.notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);background:#e8b84a1a;border:1px solid rgba(232,184,74,.3);color:var(--warn-text);font-size:.9rem}.notice svg{flex:none;margin-top:2px}.notice.is-error{background:#f0565a1f;border-color:#f0565a59;color:var(--error-text)}.invite-line{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;border-radius:999px;background:var(--ink-deep);border:1px solid var(--line-soft)}.invite-line span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-size:.9rem}.invite-line .icon-btn{flex:none;width:36px;height:36px}.invite-qr{display:grid;place-items:center;width:min(280px,70vw);aspect-ratio:1;margin:4px auto 0}.invite-qr svg{display:block;width:100%;height:100%;border-radius:var(--r-md)}.invite-qr-hint{max-width:32ch;margin:14px auto 0;text-align:center}.call{position:fixed;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);background:var(--ink-deep);padding:var(--safe-top) var(--safe-right) 0 var(--safe-left)}.call-top{display:flex;align-items:center;gap:12px;padding:12px 16px}.call-title{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.call-title h1{font-family:var(--font-display);font-weight:600;font-size:1rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-status{font-size:.85rem;color:var(--text-dim);white-space:nowrap}.call-status.is-warn{color:var(--warn)}.top-btn{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--line-soft);background:var(--surface);color:var(--text-dim);font-weight:600;font-size:.9rem}.top-btn:hover,.top-btn[aria-pressed=true]{color:var(--text);border-color:var(--line)}.badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--signal);color:var(--signal-ink);font-size:.72rem;font-weight:700;display:inline-grid;place-items:center}.call-main{position:relative;display:flex;min-height:0;gap:12px;padding:0 12px}.stage{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px}.gallery{flex:1;min-height:0;min-width:0;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:10px}.gallery>.tile{flex:none;width:100%;height:100%}.solo{position:relative;flex:1;min-height:0;display:flex}.solo>.tile:first-child{flex:1}.filmstrip{flex:none;display:flex;align-items:stretch;gap:10px;height:136px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.filmstrip .tile{flex:0 0 auto;width:200px}.presentation{position:relative;flex:1;min-height:0;border-radius:var(--r-tile);overflow:hidden;background:#000}.presentation .media-video{position:absolute;inset:0}.presentation-bar{position:absolute;left:12px;right:12px;top:12px;display:flex;align-items:center;gap:10px;pointer-events:none}.presentation-bar>*{pointer-events:auto}.pill{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border-radius:999px;background:var(--scrim-dark);color:var(--on-video);font-size:.875rem;font-weight:600;border:0}.presentation-bar .spacer{flex:1}.presentation-self{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:14px;text-align:center;padding:24px;background:var(--surface)}.presentation-self .media-video{position:relative;inset:auto;width:min(560px,90%);aspect-ratio:16/9;border-radius:var(--r-md);opacity:.75}.tile{position:relative;min-width:0;min-height:0;border-radius:var(--r-tile);overflow:hidden;margin:0;background:var(--surface);isolation:isolate}.tile .media-video{position:absolute;inset:0}.tile:after{content:"";position:absolute;inset:0;z-index:4;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px var(--tile-edge);transition:box-shadow .18s}.tile.is-speaking:after{box-shadow:inset 0 0 0 3px var(--signal),inset 0 0 22px var(--signal-glow)}.tile-avatar{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(120% 90% at 50% 40%,var(--surface-2),var(--surface))}.avatar{--hue: 90;display:grid;place-items:center;flex:none;width:var(--size, 72px);height:var(--size, 72px);border-radius:50%;background:hsl(var(--hue) 38% 34%);color:hsl(var(--hue) 70% 90%);font-family:var(--font-display);font-weight:600;font-size:calc(var(--size, 72px) * .36);-webkit-user-select:none;user-select:none}.tile-label{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;background:var(--scrim-dark);color:var(--on-video);font-size:.82rem;font-weight:600}.tile-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-label .mic-off{color:var(--danger);flex:none}@media(hover:hover){.tile-label{transition:opacity .15s}.tile-label:not(.has-icons){opacity:0}.tile-label.has-icons .tile-name,.tile-label.has-icons .guest-tag{display:none}.tile:hover .tile-label,.tile:focus-within .tile-label{opacity:1}.tile:hover .tile-label .tile-name,.tile:focus-within .tile-label .tile-name,.tile:hover .tile-label .guest-tag,.tile:focus-within .tile-label .guest-tag{display:inline}}.tile-state{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;background:#0c0f0a99;color:var(--on-video);font-size:.875rem;font-weight:600;text-align:center;padding:12px}.tile-state.is-stuck{background:#0c0f0acc}.tile-state .btn{margin-top:4px}.tile-reaction{position:absolute;z-index:5;top:8px;left:10px;font-size:30px;line-height:1;animation:reaction-pop .35s cubic-bezier(.2,1.4,.4,1)}@keyframes reaction-pop{0%{transform:scale(.3);opacity:0}}.tile-corner{position:absolute;top:8px;right:8px;display:flex;gap:6px}.tile-corner .icon-btn{width:34px;height:34px;background:var(--scrim-dark);color:var(--on-video)}.tile-corner{z-index:6}.tile-pin{opacity:0;transition:opacity .15s}.tile:hover .tile-pin,.tile-pin:focus-visible,.tile-pin.is-on{opacity:1}.tile-pin.is-on{background:var(--signal);color:var(--signal-ink)}@media(hover:none){.tile-pin{opacity:.7}}.filmstrip .tile-corner{top:6px;right:6px}.filmstrip .tile-pin{width:28px;height:28px}.spotlight{position:relative;flex:1;min-height:0;display:flex}.spotlight>.tile{flex:1}.spotlight .media-video.fit-contain{background:#000}.pip{position:absolute;z-index:5;right:12px;bottom:12px;width:30%;max-width:150px;aspect-ratio:3 / 4;border-radius:var(--r-md);box-shadow:0 8px 24px #00000073}.controls{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 16px calc(14px + var(--safe-bottom))}.ctl{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);transition:background-color .15s,color .15s,border-color .15s}.ctl:hover:not(:disabled){border-color:var(--text-faint)}.ctl.is-off{background:var(--text);color:var(--ink);border-color:var(--text)}.ctl.is-active{background:var(--primary);color:var(--on-primary);border-color:var(--primary-edge)}.ctl.hangup{width:68px;border-radius:999px;background:var(--danger);border-color:var(--danger);color:#fff}.ctl.hangup:hover{background:#ff6b6f}.ctl-sep{width:1px;height:28px;background:var(--line);margin:0 4px}.ctl.ctl-sm{width:44px;height:44px;flex:none}.controls{max-height:200px;transition:max-height .3s ease,padding .3s ease,opacity .2s,transform .3s ease}.call.is-idle>.controls{max-height:0;padding-top:0;padding-bottom:0;overflow:hidden;opacity:0;transform:translateY(24px);visibility:hidden;transition:max-height .4s ease,padding .4s ease,opacity .25s,transform .4s ease,visibility 0s .4s}.call-main{transition:padding-bottom .4s ease}.call.is-idle>.call-main{padding-bottom:calc(12px + var(--safe-bottom))}.call.is-idle .stage{cursor:none}@media(prefers-reduced-motion:reduce){.controls,.call.is-idle>.controls{transition:opacity .2s,visibility 0s;transform:none}}.floating-layer{position:absolute;inset:0;z-index:15;pointer-events:none;overflow:hidden}.floating-layer:empty{inset:auto;width:0;height:0}.stage.has-clear-video .floating-layer:not(:empty){top:auto;height:150px}.stage.has-clear-video .chat-peek:nth-last-child(n+3){display:none}.has-clear-video .toasts{top:auto;bottom:calc(100px + var(--safe-bottom))}.floating{position:absolute;bottom:6px;display:flex;flex-direction:column;align-items:center;gap:4px;animation:float-up 4.2s cubic-bezier(.25,.7,.35,1) forwards;will-change:transform,opacity}.floating-emoji{font-size:40px;line-height:1}.floating-name{max-width:140px;padding:2px 8px;border-radius:999px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--scrim-dark);color:var(--on-video);font-size:.75rem;font-weight:600}.floating.is-mine .floating-name{background:var(--primary);color:var(--on-primary)}@keyframes float-up{0%{transform:translate3d(0,24px,0) scale(.5);opacity:0}10%{transform:translateZ(0) scale(1);opacity:1}75%{opacity:1}to{transform:translate3d(var(--drift, 0px),calc(min(55vh,440px)*-1),0) scale(.9);opacity:0}}@keyframes float-fade{0%,80%{opacity:1}to{opacity:0}}.chat-peeks{position:absolute;right:12px;bottom:12px;z-index:16;display:flex;flex-direction:column;align-items:flex-end;gap:6px;width:min(360px,calc(100% - 24px));pointer-events:none}.chat-peek{pointer-events:auto;display:flex;align-items:center;gap:8px;max-width:100%;padding:5px 14px 5px 5px;border-radius:999px;cursor:pointer;text-align:left;border:1px solid var(--line);background:var(--surface);box-shadow:0 8px 24px var(--shadow);color:var(--text-dim);font:inherit;font-size:.875rem}.chat-peek:hover{border-color:var(--signal)}.chat-peek-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-peek-text strong{margin-right:6px;color:var(--text);font-weight:600}.peek-enter-active,.peek-leave-active{transition:opacity .2s ease,transform .2s ease}.peek-enter-from,.peek-leave-to{opacity:0;transform:translateY(8px)}.peek-move{transition:transform .2s ease}@media(max-width:640px){.chat-peeks{top:10px;bottom:auto;right:10px;width:calc(100% - 20px);z-index:20}}.reaction-bar{position:absolute;z-index:25;left:50%;bottom:calc(84px + var(--safe-bottom));transform:translate(-50%);display:flex;gap:2px;padding:6px;max-width:calc(100% - 24px);overflow-x:auto;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);box-shadow:0 10px 30px var(--shadow)}.reaction-bar button{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:transparent;font-size:24px;line-height:1;transition:transform .12s,background-color .12s}.reaction-bar button:hover{background:var(--line-soft);transform:scale(1.12)}.reaction-bar button:active{transform:scale(.92)}.menu-panel{position:absolute;z-index:25;left:50%;bottom:calc(84px + var(--safe-bottom));transform:translate(-50%);width:min(440px,calc(100% - 24px));max-height:min(60vh,520px);overflow-y:auto;padding:12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);box-shadow:0 10px 30px var(--shadow)}.more-menu{width:min(340px,calc(100% - 24px));padding:6px;display:grid;gap:2px}.menu-item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:8px 12px;border:0;border-radius:10px;background:transparent;color:var(--text);text-align:left;font:inherit}.menu-item:hover:not(:disabled){background:var(--line-soft)}.menu-item:disabled{opacity:.6}.menu-item>svg{flex:none;color:var(--text-dim)}.menu-text{flex:1;min-width:0;display:grid}.menu-text strong{font-weight:600;font-size:.92rem}.menu-text small{color:var(--text-faint);font-size:.78rem}.menu-state{flex:none;font-size:.78rem;font-weight:700;color:var(--text-faint)}.menu-state.is-on{color:var(--signal)}.react-panel{width:min(420px,calc(100% - 24px));display:grid;gap:10px}.reaction-row{display:flex;flex-wrap:wrap;justify-content:center;gap:2px}.reaction-row button{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:transparent;font-size:24px;line-height:1;transition:transform .12s,background-color .12s}.reaction-row button:hover{background:var(--line-soft);transform:scale(1.12)}.reaction-row button:active{transform:scale(.92)}.floating-sticker{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}.tile-reaction-sticker{width:44px;height:44px;object-fit:contain}.sticker-picker{display:grid;gap:8px}.sticker-tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.sticker-tabs button{flex:none;display:inline-flex;align-items:center;gap:6px;max-width:160px;min-height:34px;padding:0 10px 0 4px;border:1px solid var(--line-soft);border-radius:999px;background:transparent;color:var(--text-dim);font:inherit;font-size:.8rem}.sticker-tabs button[aria-selected=true]{border-color:var(--signal);color:var(--text)}.sticker-tabs img{width:26px;height:26px;object-fit:contain}.sticker-tabs span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;max-height:220px;overflow-y:auto}.sticker-cell{position:relative;display:grid;place-items:center;aspect-ratio:1;padding:4px;border:1px solid transparent;border-radius:12px;background:transparent;cursor:pointer}button.sticker-cell:hover{background:var(--line-soft)}.sticker-cell img{width:100%;height:100%;object-fit:contain}.sticker-empty{margin:0;text-align:center;font-size:.82rem;color:var(--text-faint)}.chat-stickers{padding:8px 10px 0;border-top:1px solid var(--line-soft)}.chat-stickers .sticker-grid{max-height:180px}.msg-sticker{display:block;width:120px;height:120px;object-fit:contain}.msg.is-mine .msg-sticker{margin-left:auto}.msg-sticker-gone{margin:0;font-size:.82rem;font-style:italic;color:var(--text-faint)}.stickers{display:grid;gap:14px}.stickers-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.stickers-head p{margin:4px 0 0;max-width:60ch}.stickers-new{display:flex;gap:8px;flex:1;max-width:420px;min-width:min(100%,280px)}.stickers-new .input{min-height:44px}.sticker-pack{display:grid;gap:10px;padding:14px;border-radius:var(--r-panel);background:var(--surface);border:1px solid var(--line-soft)}.sticker-pack-head{display:flex;align-items:center;gap:10px;min-height:36px}.sticker-pack-head h3{margin:0;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sticker-pack-head .spacer{flex:1}.sticker-rename{display:flex;align-items:center;gap:6px;flex:1}.sticker-rename .input{min-height:38px}.sticker-grid.is-editable{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));max-height:none}.sticker-grid.is-editable .sticker-cell{background:var(--ink);border-color:var(--line-soft);cursor:default}.sticker-remove{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:var(--scrim-dark);color:#fff;opacity:0;transition:opacity .15s;cursor:pointer}.sticker-cell:hover .sticker-remove,.sticker-remove:focus-visible{opacity:1}@media(hover:none){.sticker-remove{opacity:.85}}.sticker-cell.is-loading{color:var(--text-faint)}.sticker-add{gap:4px;align-content:center;color:var(--text-dim);font-size:.75rem;text-align:center;border-style:dashed!important;cursor:pointer!important}.sticker-add:hover{color:var(--text);border-color:var(--signal)!important}.sticker-add:focus-within{outline:2px solid var(--signal);outline-offset:1px}.bg-picker{display:grid;gap:10px}.bg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.bg-option{display:grid;gap:4px;padding:4px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text-dim);cursor:pointer;text-align:center;font:inherit}.bg-option:hover{background:var(--line-soft)}.bg-option[aria-pressed=true]{border-color:var(--signal);color:var(--text)}.bg-option:focus-within{outline:2px solid var(--signal);outline-offset:1px}.bg-thumb{display:block;width:100%;aspect-ratio:16 / 9;border-radius:8px;object-fit:cover;background:var(--ink-deep)}.bg-thumb-icon{display:grid;place-items:center;color:var(--text-dim);border:1px dashed var(--line)}.bg-thumb-blur{background:radial-gradient(60% 80% at 40% 40%,#4a5a3e,#1d2219);border-style:solid}.bg-name{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bg-foot{display:flex;align-items:center;gap:6px;margin:0;font-size:.78rem;color:var(--text-faint)}.lobby-bg{padding:12px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft)}.mic-level{display:inline-flex;align-items:center;gap:3px;height:16px}.mic-level i{width:6px;height:100%;border-radius:2px;background:var(--line);transition:background-color .06s}.mic-level i.is-lit{background:var(--signal)}.mic-level i.is-lit:nth-child(n+11){background:var(--warn)}.field>.check-row,.check-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:4px}.lobby-check{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft)}.lobby-check small{flex-basis:100%}.lobby-check-row{display:inline-flex;align-items:center;gap:8px}.sound-test .is-playing{color:var(--signal)}.watch{position:relative;flex:1;min-height:0;border-radius:var(--r-tile);overflow:hidden;background:#000;display:flex;flex-direction:column}.watch-screen{position:relative;flex:1;min-height:0}.watch.is-clear .watch-bar{position:static;background:var(--surface);padding:6px 10px}.watch.is-clear .watch-btn,.watch.is-clear .watch-time{color:var(--text)}.watch.is-clear .watch-btn:hover:not(:disabled){background:var(--tint)}.watch-bar .watch-live{min-height:24px;padding:0 8px}.watch-hint{flex:1;min-width:0;font-size:.8rem;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watch-hint.is-alert{display:flex;gap:6px;overflow-x:auto}.watch-frame,.watch-frame iframe,.watch-mount{position:absolute;inset:0;width:100%;height:100%;border:0}.watch-hit{position:absolute;z-index:2;inset:0 0 56px;border:0;background:transparent;cursor:pointer}.watch-top{position:absolute;z-index:3;left:12px;right:12px;top:12px;display:flex;align-items:center;gap:10px;pointer-events:none}.watch-top>*{pointer-events:auto}.watch-top .spacer{flex:1}.watch-close{padding:0 10px;cursor:pointer}.watch-notice{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;font-size:.95rem;max-width:calc(100% - 32px)}.watch-unblock{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:8px;max-width:calc(100% - 32px);text-align:center}.watch-unblock .btn-ghost{background:var(--scrim-dark);color:var(--on-video)}.watch-live{background:#e5383b;color:#fff;font-weight:800;letter-spacing:.06em;font-size:.75rem;min-height:26px}.watch-bar{position:absolute;z-index:3;left:0;right:0;bottom:0;display:flex;align-items:center;gap:10px;padding:18px 12px 8px;background:linear-gradient(transparent,#000000c7)}.watch-btn{display:inline-grid;place-items:center;flex:none;width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer}.watch-btn:hover:not(:disabled){background:#ffffff24}.watch-btn:disabled{opacity:.4}.watch-time{flex:none;font-size:.8rem;color:#fff;font-variant-numeric:tabular-nums}.watch-seek{flex:1;min-width:60px;accent-color:var(--signal)}.watch-volume{flex:none;width:90px;accent-color:var(--signal)}.msg-watch{margin-top:6px}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}.pip-body{margin:0;height:100vh;overflow:hidden;background:var(--ink-deep)}.pipwin{height:100vh;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;padding:8px;box-sizing:border-box}.pipwin-stage{position:relative;min-height:0;display:flex}.pipwin-stage>*{flex:1}.pipwin-controls{display:flex;justify-content:center;gap:8px}.pipwin .ctl{width:40px;height:40px}.pipwin .ctl.hangup{width:52px}.audio-unlock{position:absolute;z-index:20;left:50%;top:16px;transform:translate(-50%)}.side{flex:none;width:340px;min-height:0;display:flex;flex-direction:column;border-radius:var(--r-panel);background:var(--surface);border:1px solid var(--line-soft);overflow:hidden}.side-head{display:flex;align-items:center;gap:8px;padding:12px 12px 12px 18px;border-bottom:1px solid var(--line-soft)}.side-head h2{margin:0;font-size:1rem;font-weight:600;flex:1}.side-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.people{list-style:none;margin:0;padding:8px}.polls{display:grid;gap:12px;padding:12px}.poll-new{gap:6px}.polls-empty{display:grid;justify-items:center;gap:10px;margin:24px 8px;color:var(--text-faint);text-align:center;font-size:.9rem}.poll-form{display:grid;gap:12px;padding:14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-soft)}.poll-form-options{display:grid;gap:8px}.poll-form-option{display:flex;align-items:center;gap:4px}.poll-form-option .input{flex:1;min-width:0}.poll-add{display:inline-flex;align-items:center;gap:4px;justify-self:start}.poll-anon{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.poll-anon input{margin-top:3px;accent-color:var(--primary)}.poll-anon span{display:grid;gap:2px}.poll-anon small{color:var(--text-faint);font-size:.8rem}.poll-form-actions{display:flex;justify-content:flex-end;gap:8px}.poll{padding:14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-soft)}.poll h3{margin:0;font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.poll-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0 10px;color:var(--text-faint);font-size:.8rem}.poll-options{display:grid;gap:6px;margin:0;padding:0;list-style:none}.poll-option{position:relative;display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:8px 12px;overflow:hidden;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--text);text-align:left}.poll-option:hover:not(:disabled){border-color:var(--signal)}.poll-option.is-mine{border-color:var(--signal);box-shadow:inset 0 0 0 1px var(--signal)}.poll-option:disabled{opacity:1;cursor:default}.poll-bar{position:absolute;left:0;top:0;bottom:0;background:var(--signal-glow);transition:width .3s}.poll-option-text{position:relative;flex:1;display:inline-flex;align-items:center;gap:6px;overflow-wrap:anywhere}.poll-option-text svg{flex:none;color:var(--signal)}.poll-option-count{position:relative;flex:none;color:var(--text-dim);font-size:.85rem;font-variant-numeric:tabular-nums}.poll-voters{display:block;padding:2px 12px 0;color:var(--text-faint);font-size:.75rem;overflow-wrap:anywhere}.poll-hint{margin:8px 0 0;color:var(--text-faint);font-size:.75rem}.poll-close{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:.85rem}.poll.is-closed .poll-option{color:var(--text-dim)}.person{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:var(--r-md)}.person-name{flex:1;min-width:0}.person-name strong{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-name small{color:var(--text-faint)}.person-icons{display:flex;gap:6px;color:var(--text-faint)}.person-icons .is-off{color:var(--danger)}.person-icons .is-speaking{color:var(--signal)}.quality{display:inline-flex;flex:none}.quality.is-fair{color:var(--warn)}.quality.is-poor{color:var(--danger)}.quality .bar-off{opacity:.3}.people-host{display:grid;gap:10px;margin:8px 8px 0;padding:10px 10px 10px 14px;border-radius:var(--r-md);background:var(--ink-deep);color:var(--text-dim);font-size:.85rem}.people-host-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--line);cursor:pointer}.switch-row strong{display:block;color:var(--text);font-weight:600}.switch-row small{display:block;color:var(--text-faint);font-size:.78rem}.switch{-webkit-appearance:none;appearance:none;flex:none;position:relative;width:40px;height:24px;margin:0;border-radius:999px;background:var(--surface-2);cursor:pointer;transition:background .15s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text-dim);transition:transform .15s,background .15s}.switch:checked{background:var(--signal)}.switch:checked:after{transform:translate(16px);background:var(--ink-deep)}.switch:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.guest-tag{display:inline-block;margin-right:6px;padding:0 7px;border-radius:999px;background:var(--tint);color:var(--text-dim);font-size:.72rem;font-weight:600;line-height:1.6}.guest-tag-inline{margin:0 0 0 6px;font-size:.68rem}.host-tag{display:inline-block;margin-right:6px;padding:0 7px;border-radius:999px;background:#a5d46924;color:var(--signal);font-size:.72rem;font-weight:600;line-height:1.6}.person-actions{display:flex;gap:2px;margin-left:2px}.person-actions .icon-btn{width:34px;height:34px}.person-actions .icon-btn:disabled{opacity:.35}.icon-btn.is-danger:hover:not(:disabled){color:var(--danger)}.person-confirm{display:flex;gap:4px}.chat{position:relative;display:flex;flex-direction:column;height:100%}.chat-list{flex:1;min-height:0;overflow-y:auto;padding:14px 14px 6px;display:flex;flex-direction:column;gap:10px}.chat-empty{margin:auto;text-align:center;color:var(--text-faint);max-width:24ch}.msg{max-width:88%;align-self:flex-start}.msg.is-mine{align-self:flex-end}.msg-meta{font-size:.75rem;color:var(--text-faint);margin:0 4px 3px;display:flex;gap:8px}.msg.is-mine .msg-meta{justify-content:flex-end}.msg-text{padding:8px 12px;border-radius:14px 14px 14px 4px;background:var(--surface-2);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.msg.is-mine .msg-text{border-radius:14px 14px 4px;background:var(--bubble-mine)}.msg.is-pending .msg-text,.msg.is-pending .msg-image{opacity:.6}.msg-failed{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--error-text);background:none;border:0;padding:2px 4px;text-decoration:underline}.msg.is-mine .msg-failed{float:right}.msg-body{position:relative;display:grid;gap:6px;justify-items:start}.msg.is-mine .msg-body{justify-items:end}.msg-react{position:absolute;top:2px;right:-36px;width:30px;height:30px;padding:0;display:grid;place-items:center;border-radius:50%;border:0;background:transparent;color:var(--text-faint);opacity:0;transition:opacity .12s}.msg.is-mine .msg-react{right:auto;left:-36px}.msg:hover .msg-react,.msg-react:focus-visible,.msg-react[aria-expanded=true]{opacity:1}.msg-react:hover{color:var(--text);background:var(--surface-2)}@media(hover:none){.msg-react{opacity:.55}}.reaction-picker{position:absolute;z-index:6;left:0;top:34px;width:max-content;display:flex;flex-wrap:wrap;gap:2px;padding:4px;max-width:232px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line);box-shadow:0 10px 30px var(--shadow)}.reaction-picker.is-up{top:auto;bottom:calc(100% + 6px)}.msg.is-mine .reaction-picker{left:auto;right:0}.reaction-picker button{width:36px;height:36px;border:0;border-radius:50%;background:transparent;font-size:20px;line-height:1}.reaction-picker button:hover{background:var(--line-soft)}.msg-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.msg.is-mine .msg-reactions{justify-content:flex-end}.reaction-chip{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--text-dim);font-size:.8rem;font-weight:600}.reaction-chip.is-mine{border-color:var(--primary-edge);background:var(--chip-mine);color:var(--text)}.reaction-emoji{font-size:15px;line-height:1}.msg-image-link{display:block;border-radius:12px}.msg-image{display:block;max-width:min(240px,100%);max-height:240px;border-radius:12px;object-fit:cover;background:var(--surface-2)}.msg-file{display:grid;gap:6px;max-width:100%}.file-row{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;padding:10px 12px;border-radius:14px;background:var(--surface-2);color:inherit;text-decoration:none}a.file-row:hover{background:var(--line-soft)}.file-row>svg{flex:none;color:var(--signal)}.file-meta{display:grid;min-width:0}.file-meta strong{font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta small{color:var(--text-faint);font-size:.78rem}.file-row .icon-btn{width:30px;height:30px;margin-left:auto;flex:none}.progress{height:3px;border-radius:2px;background:var(--line);overflow:hidden}.progress span{display:block;height:100%;background:var(--signal);transform-origin:left center;transition:transform .2s linear}.drop-hint{position:absolute;inset:8px;z-index:6;display:grid;place-items:center;pointer-events:none;border:2px dashed var(--signal);border-radius:16px;background:#0c0f0ae0;color:var(--on-video);font-weight:600;text-align:center;padding:16px}.chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line-soft)}.chat-form textarea{flex:1;min-width:0;resize:none;min-height:44px;max-height:120px;padding:10px 14px;border-radius:22px;border:1px solid var(--line);background:var(--ink-deep);font-size:16px;line-height:1.4}.chat-form textarea:focus{outline:none;border-color:var(--signal)}.chat-form .ctl{width:44px;height:44px;flex:none}.scrim{position:fixed;inset:0;z-index:40;background:#0608059e;display:grid;place-items:center;padding:16px}.dialog{width:min(460px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px;border-radius:var(--r-panel);background:var(--surface);border:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.dialog-head{display:flex;align-items:center;gap:12px}.dialog-head h2{margin:0;flex:1;font-size:1.15rem}.toasts{position:fixed;z-index:60;right:16px;top:calc(16px + var(--safe-top));display:grid;gap:8px;width:min(380px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;gap:10px;align-items:flex-start;padding:12px 12px 12px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);box-shadow:0 10px 30px var(--shadow);font-size:.92rem}.toast p{margin:0;flex:1}.toast .icon-btn{width:28px;height:28px;margin:-4px -4px 0 0}.toast.is-error{border-color:#a94956}.toast.is-warning{border-color:#8c7536}.toast.is-success{border-color:#5d7d33}.ended{min-height:100dvh;display:grid;place-items:center;text-align:center;padding:24px}.ended>div{display:grid;gap:16px;justify-items:center;max-width:420px}.media-video{width:100%;height:100%;object-fit:cover;background:transparent;display:block}.media-video.fit-contain{object-fit:contain}.media-video.mirror{transform:scaleX(-1)}.center-screen{min-height:100dvh;display:grid;place-items:center}.admin .page-head,.admin .page-body{max-width:1240px}.admin-body{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-content:start}.admin-title p{margin:8px 0 0}.admin code{font-size:.85em;padding:1px 5px;border-radius:5px;background:var(--ink-deep);color:var(--text)}.admin-note{display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px 14px;border-radius:var(--r-md);background:#e8b84a1a;border:1px solid rgba(232,184,74,.28);color:var(--text-dim);font-size:.9rem}.admin-note svg{color:var(--warn);flex:none;margin-top:2px}.admin-gate{max-width:440px}.admin-gate p{margin:0}.admin-loading{display:grid;place-items:center;min-height:240px}.admin-toolbar,.log-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.admin-updated{margin-left:auto}.segmented{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--ink-deep);border:1px solid var(--line-soft)}.segmented button{min-height:34px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--text-dim);font-weight:600;font-size:.875rem;white-space:nowrap}.segmented button:hover{color:var(--text)}.segmented button[aria-checked=true]{background:var(--primary);color:var(--on-primary);box-shadow:inset 0 0 0 1px var(--primary-edge)}.input-sm{min-height:40px;width:auto;font-size:16px;padding:0 12px;border-radius:999px}select.input-sm{padding-right:34px;background-position:calc(100% - 18px) 17px,calc(100% - 13px) 17px}.admin-content,.log-list{transition:opacity .2s}.admin-content.is-refreshing,.log-list.is-refreshing{opacity:.6}.admin-content{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.admin-now{display:grid;grid-template-columns:minmax(170px,auto) minmax(0,1fr);gap:28px;align-items:start;padding:22px 24px;border-radius:var(--r-panel);background:linear-gradient(120deg,#31510761,#31510714 55%),var(--surface);border:1px solid var(--line)}.now-label{display:flex;align-items:center;gap:10px;margin:0;font-size:.95rem;font-weight:600;color:var(--text-dim)}.now-label .lamp{width:10px;height:10px}.now-value{margin:6px 0 0;font-size:64px;font-weight:600;line-height:1;letter-spacing:-.02em}.now-sub{margin:6px 0 0;color:var(--text-dim)}.now-empty{margin:0;align-self:center;color:var(--text-faint)}.now-rooms{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.now-room{padding:12px 14px;border-radius:var(--r-md);background:var(--ink);border:1px solid var(--line-soft);min-width:0}.now-room-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.now-room-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-people{list-style:none;margin:0;padding:0;display:grid;gap:6px}.now-people li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.now-people li.is-away{opacity:.55}.now-person{display:grid;min-width:0;line-height:1.25}.now-person strong{font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-person small{display:inline-flex;align-items:center;gap:4px;color:var(--text-faint);font-size:.78rem;overflow:hidden;white-space:nowrap}.now-icons{display:inline-flex;gap:6px;color:var(--text-faint)}.now-icons .is-on{color:var(--signal)}.kpi-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0}.kpi{padding:14px 16px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft);display:grid;gap:2px;align-content:start;min-width:0}.kpi dt{font-size:.85rem;color:var(--text-dim)}.kpi dd{margin:2px 0 0;display:flex;align-items:center;gap:6px;font-size:1.75rem;font-weight:600;line-height:1.2}.kpi.is-bad dd svg{color:var(--danger)}.kpi-note{font-size:.8rem;color:var(--text-faint)}.admin-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start}.admin-col{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}.admin-panel{padding:18px 20px 16px;border-radius:var(--r-panel);background:var(--surface);border:1px solid var(--line-soft);min-width:0}.panel-title{margin:0 0 14px;font-size:1rem;font-weight:600}.chart{margin:0}.chart-plot{position:relative;width:100%}.chart-svg{display:block;overflow:visible;touch-action:pan-y}.chart-svg:focus-visible{outline:2px solid var(--signal);outline-offset:4px;border-radius:6px}.chart-grid line{stroke:var(--line-soft);stroke-width:1;shape-rendering:crispEdges}.chart-grid line.is-base{stroke:var(--line)}.chart-grid text{fill:var(--text-faint);font-size:11px;font-variant-numeric:tabular-nums}.chart-hover-band{fill:#eef1ea0d}.chart-col{transition:opacity .12s}.chart-col.is-dim{opacity:.45}.chart-empty{position:absolute;inset:0 0 26px 40px;display:grid;place-items:center;margin:0;color:var(--text-faint);font-size:.9rem;pointer-events:none}.chart-tip{position:absolute;top:4px;z-index:2;transform:translate(14px);min-width:170px;padding:10px 12px;border-radius:10px;pointer-events:none;background:var(--surface-2);border:1px solid var(--line);box-shadow:0 12px 28px var(--shadow);font-size:.85rem}.chart-tip.is-flipped{transform:translate(calc(-100% - 14px))}.chart-tip-title{color:var(--text-dim);margin-bottom:6px}.chart-tip-row{display:flex;align-items:center;gap:8px;line-height:1.6}.chart-tip-row strong{font-weight:600;font-variant-numeric:tabular-nums}.chart-tip-row span:last-child{color:var(--text-dim)}.chart-tip-row.is-extra{padding-left:22px}.chart-tip-row.is-extra strong{font-weight:500}.chart-key{width:14px;height:3px;border-radius:2px;flex:none}.chart-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;font-size:.85rem;color:var(--text-dim)}.chart-legend>span{display:inline-flex;align-items:center;gap:6px}.chart-swatch{width:10px;height:10px;border-radius:3px}.chart-table{margin-top:8px;font-size:.85rem}.chart-table summary{cursor:pointer;color:var(--text-faint);width:max-content}.chart-table summary:hover{color:var(--text-dim)}.table-scroll{max-height:260px;overflow:auto;margin-top:8px;border-radius:var(--r-sm);border:1px solid var(--line-soft)}.chart-table table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.chart-table th,.chart-table td{padding:6px 10px;text-align:right;border-bottom:1px solid var(--line-soft);white-space:nowrap}.chart-table th:first-child{text-align:left;font-weight:500}.chart-table thead th{position:sticky;top:0;background:var(--surface-2);color:var(--text-dim);font-weight:500}.bar-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.bar-list li{display:grid;gap:3px}.bar-label{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-dim);min-width:0}.bar-label svg{color:var(--text-faint);flex:none}.bar-track{display:flex;align-items:center;gap:8px}.bar-fill{height:10px;min-width:3px;max-width:calc(100% - 72px);border-radius:0 4px 4px 0;flex:none}.bar-value{font-size:.875rem;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.bar-value small{font-weight:400;color:var(--text-faint);margin-left:2px}.conn-stat{display:grid;gap:8px}.conn-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:var(--text-dim);font-size:.9rem}.conn-head strong{color:var(--text);font-size:1.6rem;font-weight:600}.meter{height:8px;border-radius:999px;background:#76a43c2e;overflow:hidden}.meter span{display:block;height:100%;border-radius:inherit;background:#76a43c}.meter span.is-warn{background:#fab219}.meter span.is-bad{background:#d03b3b}.conn-note{margin:0;font-size:.85rem;color:var(--text-faint)}.conn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line-soft)}.conn-grid dt{font-size:.78rem;color:var(--text-faint);line-height:1.3}.conn-grid dd{margin:4px 0 0;font-size:1.1rem;font-weight:600}.conn-turn{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft)}.conn-turn h3{margin:0 0 8px;font-size:.85rem;font-weight:600;color:var(--text-dim)}.conn-turn ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.9rem}.conn-turn li{display:flex;align-items:center;gap:8px}.conn-turn li strong{margin-left:auto;font-variant-numeric:tabular-nums}.status-dot{width:8px;height:8px;border-radius:50%;flex:none}.status-dot.is-good{background:#0ca30c}.status-dot.is-bad{background:#d03b3b}.status-dot.is-off{background:var(--text-faint)}.conn-hint{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0;font-size:.82rem;color:var(--text-dim)}.conn-hint svg{flex:none;margin-top:2px;color:var(--warn)}.conn-hint.is-bad svg{color:var(--danger)}.level-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap;width:max-content;background:var(--surface-2);color:var(--text-dim)}.level-badge.is-error{background:#d03b3b2e;color:var(--badge-error-text)}.level-badge.is-warn{background:#fab21924;color:var(--badge-warn-text)}.top-errors{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-soft)}.top-errors li{border-bottom:1px solid var(--line-soft)}.top-error{width:100%;display:grid;grid-template-columns:9.5rem minmax(0,1fr) auto 7rem;gap:14px;align-items:center;padding:10px 4px;border:0;background:none;text-align:left;color:inherit}.top-error:hover .top-error-text strong{color:var(--signal)}.top-error-text{display:grid;min-width:0}.top-error-text strong{font-weight:600;font-size:.92rem}.top-error-text span{color:var(--text-dim);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-error-count{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.top-error-when{text-align:right}.admin-log{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;scroll-margin-top:16px;padding-top:8px}.admin-log .panel-title{margin:0;font-size:1.15rem}.log-search{position:relative;flex:1 1 260px;display:flex}.log-search svg{position:absolute;left:12px;top:12px;color:var(--text-faint);pointer-events:none}.log-search .input{width:100%;padding-left:36px}.log-list{list-style:none;margin:0;padding:0;border-radius:var(--r-panel);background:var(--surface);border:1px solid var(--line-soft);overflow:hidden}.log-row+.log-row{border-top:1px solid var(--line-soft)}.log-row.is-error{box-shadow:inset 3px 0 #d03b3b}.log-row.is-warn{box-shadow:inset 3px 0 #fab219}.log-head{width:100%;display:grid;grid-template-columns:8.6rem 9.5rem minmax(0,1fr) minmax(0,15rem) 16px;gap:12px;align-items:center;padding:10px 14px;border:0;background:none;color:inherit;text-align:left}.log-head:disabled{cursor:default;opacity:1}.log-head:hover:not(:disabled){background:#eef1ea08}.log-time{font-size:.8rem;color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.log-main{display:grid;min-width:0}.log-main strong{font-weight:600;font-size:.9rem}.log-message{color:var(--text-dim);font-size:.85rem;overflow-wrap:anywhere}.log-who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-chevron{color:var(--text-faint);transition:transform .15s}.log-head[aria-expanded=true] .log-chevron{transform:rotate(180deg)}.log-details{margin:0 14px 12px;padding:12px;border-radius:var(--r-sm);background:var(--ink-deep);font-size:.78rem;line-height:1.5;color:var(--text-dim);overflow:auto;max-height:320px;white-space:pre-wrap;overflow-wrap:anywhere}.log-more{justify-self:center}@media(max-width:1100px){.kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.admin-grid{grid-template-columns:minmax(0,1fr)}.admin-now{grid-template-columns:minmax(0,1fr);gap:16px}.log-head{grid-template-columns:auto auto minmax(0,1fr) 16px}.log-head .log-who{grid-column:1 / -2;grid-row:2}}@media(max-width:640px){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi dd{font-size:1.4rem}.kpi:last-child:nth-child(odd){grid-column:1 / -1}.admin-now{padding:18px}.now-value{font-size:52px}.now-rooms{grid-template-columns:minmax(0,1fr)}.admin-panel{padding:16px 14px 14px}.admin-updated{display:none}.admin-toolbar .segmented{flex:1}.admin-toolbar .segmented button{flex:1;padding:0 8px}.log-filters .segmented{width:100%;overflow-x:auto}.log-filters select{flex:1;min-width:0}.conn-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.top-error{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.top-error .level-badge{grid-column:1 / -1}.top-error-when{display:none}.log-head{grid-template-columns:minmax(0,1fr) auto 16px;gap:6px 10px;padding:10px 12px}.log-head .log-time{grid-column:1;grid-row:1}.log-head .level-badge{grid-column:2;grid-row:1}.log-head .log-chevron{grid-column:3;grid-row:1}.log-head .log-main{grid-column:1 / -1;grid-row:2}.log-head .log-who{grid-column:1 / -1;grid-row:3}}.char-sprout{--skin: #bfe08f;--accent: #6f9a35;--body: #86ad55;--tile-hi: #4f7140;--tile-lo: #1d2918}.char-bot{--skin: #9fd2f2;--accent: #5f9cc6;--body: #d58a63;--tile-hi: #7b5647;--tile-lo: #2a201b}.char-pill{--skin: #cbbdf6;--accent: #8f7bd6;--body: #8471cf;--tile-hi: #4c4879;--tile-lo: #1d1c31}.char-cat{--skin: #f1d07c;--accent: #cfa43f;--body: #5ea597;--tile-hi: #2f6661;--tile-lo: #162b29}.character .skin{fill:var(--skin)}.character .accent{fill:var(--accent)}.character .body{fill:var(--body)}.character .stalk{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round}.character .bulb{fill:#a5d469}.character .eyes ellipse,.character .mouth{fill:#1b2013}.character .cheek{fill:#ff8f8f;opacity:.32}.scene{position:relative;width:100%;max-width:560px;aspect-ratio:560 / 420;margin-top:24px}.scene-orbit{position:absolute;inset:0;animation:scene-sway 26s ease-in-out infinite alternate}.scene-orbit svg{width:100%;height:100%;overflow:visible}.scene-orbit ellipse{fill:none;stroke:#a5d46929;stroke-width:1}.scene-card{position:absolute;left:50%;top:50%;width:64%;transform:translate(-50%,-50%) rotate(-3deg);padding:10px;border-radius:22px;background:linear-gradient(160deg,var(--scene-a),var(--scene-b));border:1px solid rgba(165,212,105,.34);box-shadow:0 30px 60px #00000073,0 0 0 6px #31510729}.scene-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.scene-tile{position:relative;aspect-ratio:160 / 112;border-radius:14px;overflow:hidden;background:radial-gradient(120% 95% at 50% 15%,var(--tile-hi),var(--tile-lo))}.scene-person{position:absolute;inset:0;width:100%;height:100%}.scene-person .head,.scene-person .eyes,.scene-person .mouth{transform-box:fill-box;transform-origin:center}.scene-person .head{transform-origin:50% 100%;animation:scene-bob 10s ease-in-out infinite;animation-delay:calc(var(--i) * 2.5s)}.scene-person .mouth{transform:scaleY(.3);animation:scene-talk 10s linear infinite;animation-delay:calc(var(--i) * 2.5s)}.scene-person .eyes{animation:scene-blink 5.5s linear infinite;animation-delay:calc(var(--i) * 1.3s)}.scene-ring{position:absolute;inset:0;border-radius:inherit;opacity:0;box-shadow:inset 0 0 0 2px var(--signal),inset 0 0 18px #a5d46959;animation:scene-speaker 10s linear infinite;animation-delay:calc(var(--i) * 2.5s)}.scene-name{position:absolute;left:7px;bottom:6px;display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:999px;background:#0c0f0a9e;color:var(--on-video);font-size:11px;font-weight:600;line-height:1.5}.scene-eq{display:inline-flex;align-items:flex-end;gap:1.5px;height:9px;opacity:0;animation:scene-speaker 10s linear infinite;animation-delay:calc(var(--i) * 2.5s)}.scene-eq i{width:2px;height:9px;border-radius:1px;background:var(--signal);transform-origin:bottom;animation:scene-eq .45s ease-in-out infinite alternate}.scene-eq i:nth-child(2){animation-delay:-.2s}.scene-eq i:nth-child(3){animation-delay:-.32s}.scene-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 4px 1px;font-size:12px;color:var(--text-dim)}.scene-live{display:inline-flex;align-items:center;gap:7px}.scene-live .lamp,.scene-chip .lamp{width:7px;height:7px;box-shadow:0 0 0 3px var(--lamp-halo)}.scene-tools{display:inline-flex;align-items:center;gap:10px;color:var(--signal)}.scene-hangup{display:inline-grid;place-items:center;width:24px;height:16px;border-radius:999px;background:var(--danger);color:#fff}.scene-float{position:absolute;left:var(--x);bottom:30%;font-size:26px;line-height:1;opacity:0;animation:scene-rise 10s ease-out infinite;animation-delay:var(--at)}.scene-chip,.scene-bubble{position:absolute;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid var(--line);background:var(--surface);box-shadow:0 12px 30px var(--shadow)}.scene-chip{padding:8px 12px;border-radius:12px;color:var(--text);font-size:13px;font-weight:600;animation:scene-drift 6s ease-in-out infinite alternate}.scene-chip svg{color:var(--signal)}.scene-chip.is-top{right:0;top:12%}.scene-chip.is-left{left:0;bottom:20%;animation-delay:-3s}.scene-bubble{right:3%;bottom:5%;padding:7px 12px;border-radius:14px 14px 4px;color:var(--text-dim);font-size:12.5px;opacity:0;animation:scene-pop 10s ease-out infinite;animation-delay:var(--at)}.scene-bubble svg{color:var(--signal)}@keyframes scene-speaker{0%{opacity:0}2%,22%{opacity:1}25%,to{opacity:0}}@keyframes scene-talk{0%,24%,to{transform:scaleY(.3)}3%{transform:scaleY(1)}6%{transform:scaleY(.4)}9%{transform:scaleY(1.1)}12%{transform:scaleY(.35)}15%{transform:scaleY(1)}18%{transform:scaleY(.45)}21%{transform:scaleY(.9)}}@keyframes scene-bob{0%,25%,to{transform:none}6%,18%{transform:translateY(-2px) rotate(-2deg)}12%{transform:translateY(-1px) rotate(2deg)}}@keyframes scene-blink{0%,93%,to{transform:none}95%{transform:scaleY(.1)}}@keyframes scene-eq{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}@keyframes scene-sway{0%{transform:rotate(-6deg)}to{transform:rotate(6deg)}}@keyframes scene-drift{0%{transform:translateY(0)}to{transform:translateY(-7px)}}@keyframes scene-rise{0%{opacity:0;transform:translate(-50%) scale(.6)}2%{opacity:1;transform:translate(-50%,-10px) scale(1.08)}15%{opacity:1}22%,to{opacity:0;transform:translate(-50%,-110px) scale(1)}}@keyframes scene-pop{0%{opacity:0;transform:translateY(8px)}3%,32%{opacity:1;transform:none}36%,to{opacity:0;transform:translateY(-4px)}}@media(max-width:640px){.scene{max-width:400px;aspect-ratio:390 / 296;margin:10px auto 0}.scene-card{width:82%;padding:8px;border-radius:18px}.scene-grid{gap:6px}.scene-tile{border-radius:11px}.scene-name{font-size:10px;left:5px;bottom:4px;padding:1px 6px}.scene-bar{font-size:11px;padding-top:7px}.scene-chip,.scene-bubble{display:none}.scene-float{font-size:22px}}@media(prefers-reduced-motion:reduce){.scene,.scene *{animation:none!important}.scene-tile:first-child .scene-ring,.scene-tile:first-child .scene-eq{opacity:1}.scene-bubble:first-of-type{opacity:1}}@media(max-width:980px){.side{position:absolute;z-index:30;inset:0 12px 0 auto;width:min(380px,calc(100% - 24px));box-shadow:-20px 0 50px #00000073}}@media(max-width:820px){.auth,.lobby{grid-template-columns:minmax(0,1fr);gap:24px}.home-actions{grid-template-columns:1fr}.guide-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-pitch,.auth-card{min-width:0}.auth-pitch p{font-size:1rem}}@media(max-width:640px){.page{padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right))}.page-head{margin-bottom:20px}.auth-card,.action-panel{padding:20px}.guide:not(.is-compact){margin-top:48px}.guide-steps{grid-template-columns:minmax(0,1fr)}.auth{gap:20px;align-items:start}.auth-pitch .display-xl{font-size:1.75rem}.auth-pitch .auth-blurb{display:none}.auth-pitch p{margin-top:10px}.room-row{grid-template-columns:minmax(0,1fr) auto}.room-when{display:none}.user-chip strong{max-width:110px}.install-label{display:none}.install-btn{padding:0 11px}.admin .head-actions .btn{display:none}.call-top{padding:10px 12px;gap:8px}.call-status,.top-btn .label{display:none}.call-main{padding:0 8px}.gallery{gap:8px}.filmstrip{height:96px}.filmstrip .tile{width:128px}.controls{gap:8px;padding-top:10px}.ctl{width:48px;height:48px}.ctl.hangup{width:60px}.ctl-sep{display:none}.reaction-bar{bottom:calc(76px + var(--safe-bottom));gap:0;padding:4px}.menu-panel{bottom:calc(76px + var(--safe-bottom))}.stage.has-clear-video .floating-layer:not(:empty){height:104px}.watch-volume,.watch-time+.watch-seek+.watch-time{display:none}.watch-bar{gap:6px;padding-left:6px;padding-right:6px}.reaction-bar button{width:36px;height:40px;font-size:21px}.floating-emoji{font-size:34px}.side{inset:0;width:auto;border-radius:0;border:0;position:fixed;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);z-index:45}.toasts{left:16px;right:16px;width:auto;top:auto;bottom:calc(86px + var(--safe-bottom))}}@media(max-width:400px){.controls{gap:6px;padding-left:8px;padding-right:8px}.ctl{width:44px;height:44px}.ctl.hangup{width:54px}}@media(max-width:480px){.user-chip{padding-left:4px}.user-chip strong{display:none}}@media(max-height:520px)and (orientation:landscape){.call-top{padding-top:6px;padding-bottom:6px}.controls{padding-top:6px;padding-bottom:calc(6px + var(--safe-bottom))}.filmstrip{height:84px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.floating{animation-name:float-fade!important;animation-duration:4.2s!important}}@media(hover:none){.btn:hover:not(:disabled),.ctl:hover:not(:disabled){border-color:var(--line)}}.call.is-focus{grid-template-rows:minmax(0,1fr);padding:0;background:#000}.call.is-focus>.call-top,.call.is-focus>.controls,.call.is-focus>.popover,.call.is-focus .side{display:none}.call.is-focus .call-main{padding:0;gap:0}.stage.is-focus{display:grid;gap:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"main"}.stage.is-focus.dock-bottom{grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"main" "dock"}.stage.is-focus.dock-top{grid-template-rows:auto minmax(0,1fr);grid-template-areas:"dock" "main"}.stage.is-focus.dock-left{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"dock main"}.stage.is-focus.dock-right{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main dock"}.stage.is-focus>.watch,.stage.is-focus>.presentation,.stage.is-focus>.focus-tile{grid-area:main;min-width:0;min-height:0;border-radius:0}.stage .is-hidden{display:none!important}.focus-tile .media-video.fit-contain{background:#000}.dock-track{grid-area:dock;position:relative;min-width:0;min-height:0}.dock-track.is-free{grid-area:auto;position:absolute;inset:0;z-index:12;pointer-events:none}.dock-track.is-free .dock{pointer-events:auto;box-shadow:0 10px 30px #00000073}.dock{position:absolute;z-index:12;top:0;left:0;display:flex;align-items:stretch;gap:var(--dock-gap);padding:var(--dock-pad);border-radius:14px;background:var(--surface);border:1px solid var(--line);transition:background .15s,border-color .15s,opacity .15s,box-shadow .15s}.dock.is-vertical{flex-direction:column}.dock.is-dragging{z-index:60;opacity:.88;box-shadow:0 18px 50px #0000008c;cursor:grabbing}.dock-tile{flex:none;width:var(--dock-tile-w);height:var(--dock-tile-h)}.dock-tile .tile-corner{top:4px;right:4px}.dock-tile .tile-pin{width:26px;height:26px}.dock-bar{order:-1;flex:none;display:flex;align-items:center;justify-content:center;gap:4px;height:var(--dock-bar-v);color:var(--text-faint);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:opacity .15s}.dock:not(.is-vertical):not(.is-collapsed) .dock-bar{display:grid;grid-template-columns:repeat(2,auto);align-content:center;gap:2px;width:var(--dock-bar-h);height:auto}.dock:not(.is-vertical):not(.is-collapsed) .dock-grip{display:none}.dock.is-collapsed:not(.is-vertical) .dock-bar{width:var(--dock-bar-long)}.dock.is-collapsed.is-vertical .dock-bar{flex-direction:column;width:var(--dock-bar-v);height:var(--dock-bar-long)}.dock-btn{display:grid;place-items:center;flex:none;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-dim);cursor:pointer}.dock-btn:hover:not(:disabled){background:var(--tint);color:var(--text)}.dock-btn:disabled{opacity:.35;cursor:not-allowed}.dock-btn.is-off{color:var(--danger)}.dock-btn.is-on{color:var(--signal)}.dock-handle{order:1;flex:none;position:relative;width:var(--dock-handle);border-radius:6px;cursor:ew-resize;touch-action:none;transition:opacity .15s}.dock.is-vertical .dock-handle{width:auto;height:var(--dock-handle);cursor:ns-resize}.dock-handle:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:24px;transform:translate(-50%,-50%);border-radius:2px;background:var(--line);transition:background .15s}.dock.is-vertical .dock-handle:after{width:24px;height:4px}.dock-handle:hover:after,.dock-handle:focus-visible:after{background:var(--signal)}.dock-handle:focus-visible{outline:none}.dock.is-reversed .dock-bar{order:1}.dock.is-reversed .dock-handle{order:-1}.dock-track.is-small .dock-btn{width:20px;height:20px}.dock-track.is-small .dock-grip{display:none}.dock.is-collapsed{opacity:.55;background:color-mix(in srgb,var(--surface) 60%,transparent)}.dock.is-collapsed:hover,.dock.is-collapsed:focus-within,.dock.is-collapsed.is-dragging{opacity:1;background:var(--surface)}@media(hover:hover){.dock:not(.is-collapsed):not(.is-dragging):not(:hover):not(:focus-within){background:transparent;border-color:transparent;box-shadow:none}.dock:not(.is-collapsed):not(.is-dragging):not(:hover):not(:focus-within)>.dock-bar,.dock:not(.is-collapsed):not(.is-dragging):not(:hover):not(:focus-within)>.dock-handle{opacity:0}}.dock-zone{position:fixed;z-index:55;pointer-events:none;border-radius:14px;border:2px dashed var(--line);background:#a5d4690d;transition:background .12s,border-color .12s}.dock-zone.is-active{border-color:var(--signal);background:#a5d46933}.stage.is-focus.has-clear-video .floating-layer:not(:empty){inset:auto;height:auto}.stage.is-focus.has-clear-video.dock-bottom .floating-layer:not(:empty){left:0;right:0;bottom:0;height:var(--dock-thick)}.stage.is-focus.has-clear-video.dock-top .floating-layer:not(:empty){left:0;right:0;top:0;height:var(--dock-thick)}.stage.is-focus.has-clear-video.dock-left .floating-layer:not(:empty){left:0;top:0;bottom:0;width:var(--dock-thick)}.stage.is-focus.has-clear-video.dock-right .floating-layer:not(:empty){right:0;top:0;bottom:0;width:var(--dock-thick)}.stage.is-focus.has-clear-video.dock-left .chat-peeks,.stage.is-focus.has-clear-video.dock-right .chat-peeks{width:calc(var(--dock-thick) - 12px);right:6px;bottom:6px}.stage.is-focus.has-clear-video.dock-left .chat-peeks{left:6px;right:auto;align-items:flex-start}.stage.is-focus.has-clear-video.dock-top .chat-peeks{top:6px;bottom:auto}.waiting-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--signal)}.waiting-card>.spin{flex:none;color:var(--signal)}.waiting-text{flex:1;min-width:0}.waiting-text strong{display:block;font-weight:600}.waiting-text small{display:block;color:var(--text-dim);font-size:.85rem}.people-lobby{margin:8px 8px 0;padding:8px 0 0;border-radius:var(--r-md);border:1px solid var(--signal)}.people-lobby-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px;padding:0 10px 0 14px}.people-lobby-head strong{font-size:.9rem;font-weight:600}.people-lobby .people{padding:4px}.people-lobby .person-actions{align-items:center;gap:4px}.badge.is-alert{background:var(--warn);color:#1d1a0c}.toast>.btn{flex:none;align-self:center}.access-choice{margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.access-choice legend{padding:0;margin-bottom:6px;font-size:.875rem;color:var(--text-dim)}.access-option{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line);cursor:pointer;transition:border-color .15s,background .15s}.access-option:hover{border-color:var(--text-faint)}.access-option.is-on{border-color:var(--signal);background:var(--chip-mine)}.access-option:has(input:focus-visible){outline:2px solid var(--signal);outline-offset:2px}.access-option svg{flex:none;margin-top:2px;color:var(--text-dim)}.access-option.is-on svg{color:var(--signal)}.access-option strong{display:block;font-size:.9rem;font-weight:600}.access-option small{display:block;color:var(--text-faint);font-size:.78rem;line-height:1.35}@media(max-width:420px){.access-choice{grid-template-columns:minmax(0,1fr)}}.room-lock{vertical-align:-2px;margin-right:6px;color:var(--text-faint)}.msg.is-grouped{margin-top:-5px}.msg-time{font-size:.68rem;line-height:1;color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap;-webkit-user-select:none;user-select:none}.msg-text .msg-time{float:right;position:relative;top:7px;margin:0 -4px 0 12px}.msg-time.is-over{grid-area:1 / 1;align-self:end;justify-self:end;z-index:1;margin:6px;padding:3px 7px;border-radius:999px;background:var(--scrim-dark);color:var(--on-video);pointer-events:none}.msg-body>.msg-sticker,.msg-body>.msg-image-link{grid-area:1 / 1}.msg-time.is-below{margin:-2px 4px 0}body.is-focus .toasts{top:calc(16px + var(--safe-top));bottom:auto}body.focus-dock-top .toasts{top:calc(var(--dock-thick) + 16px + var(--safe-top))}body.focus-dock-right .toasts{right:calc(var(--dock-thick) + 16px)}body.focus-dock-left .toasts{left:calc(var(--dock-thick) + 16px)}@media(max-width:640px){body.is-focus .toasts{top:auto;bottom:calc(16px + var(--safe-bottom))}body.focus-dock-bottom .toasts{bottom:calc(var(--dock-thick) + 16px + var(--safe-bottom))}}.mod-tag{background:#e8b84a29;color:var(--warn)}.person-actions .icon-btn.is-on{color:var(--signal)}.leave-menu{left:auto;right:12px;transform:none}.menu-item.is-danger,.menu-item.is-danger>svg{color:var(--danger)}.quick-call{display:grid;gap:10px;margin-top:4px;padding-top:16px;border-top:1px solid var(--line-soft)}.quick-head strong{display:block;font-weight:600}.quick-head small{display:block;color:var(--text-faint);font-size:.82rem}.quick-row{display:flex;gap:8px}.quick-row .input{flex:1;min-width:0}.quick-row .btn{flex:none;gap:6px}@media(max-width:420px){.quick-row{flex-direction:column}}.lobby-expires{margin:-8px 0 0}.board{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;border-radius:var(--r-tile);overflow:hidden;background:var(--surface);border:1px solid var(--line-soft)}.board-bar{flex:none;display:flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;border-bottom:1px solid var(--line-soft);color:var(--text-dim);font-size:.875rem}.board-bar strong{color:var(--text);font-weight:600}.board-bar small{color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-bar .spacer{flex:1}.board-bar .icon-btn{width:32px;height:32px}.board-canvas{position:relative;flex:1;min-height:0}.board-host{position:absolute;inset:0}.stage.is-focus>.board{grid-area:main;min-width:0;min-height:0;border-radius:0;border:0}@media(max-width:640px){.board-bar small{display:none}}.rec-pill{color:var(--text);border-color:#e5383b8c;font-variant-numeric:tabular-nums}.rec-pill.is-others{cursor:default}.rec-dot{flex:none;width:9px;height:9px;border-radius:50%;background:#e5383b;animation:rec-blink 1.4s ease-in-out infinite}@keyframes rec-blink{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.rec-dot{animation:none}}.menu-state.is-rec{color:#e5383b;font-variant-numeric:tabular-nums}.board-confirm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;color:var(--text)}.msg-text.is-long{white-space:normal}.msg-text-body{white-space:pre-wrap}.msg-text.is-folded .msg-text-body{max-height:15em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 65%,transparent);mask-image:linear-gradient(#000 65%,transparent)}.msg-more-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}.msg-more{padding:0;border:0;background:none;color:var(--signal);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}.msg-more:hover{text-decoration:underline}.msg-more-row .msg-time{float:none;top:0;margin:0}.shot-flash{position:absolute;inset:0;z-index:30;pointer-events:none;background:#fff;animation:shot-flash .35s ease-out forwards}@keyframes shot-flash{0%{opacity:.55}to{opacity:0}}@media(prefers-reduced-motion:reduce){.shot-flash{display:none}}.rec-meta{margin:0 0 4px;color:var(--text-dim);font-variant-numeric:tabular-nums}.rec-files{list-style:none;margin:0;padding:0;display:grid;gap:8px}.rec-file{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2)}.rec-file>svg{flex:none;color:var(--text-dim)}.rec-file-text{flex:1;min-width:0;display:grid}.rec-file-text strong{font-weight:600}.rec-file-text strong small{color:var(--text-faint);font-weight:500;margin-left:4px}.rec-file-text>small{color:var(--text-faint);font-size:.8rem}.rec-size{flex:none;font-weight:600;font-variant-numeric:tabular-nums}.rec-file .btn{flex:none;gap:6px}.rec-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.rec-warn{color:var(--warn-text);font-size:.85rem}@media(max-width:480px){.rec-file{flex-wrap:wrap}.rec-file .btn{width:100%;justify-content:center}}.showcase{width:100%;max-width:1080px;margin:72px auto 0}.showcase-head{margin-bottom:24px}.showcase-head p{max-width:58ch;margin:12px 0 0;color:var(--text-dim)}.showcase-body{display:grid;gap:20px;align-items:start;grid-template-columns:minmax(250px,320px) minmax(0,1fr)}.sc-tabs{display:grid;gap:6px;min-width:0}.sc-tab{position:relative;display:flex;align-items:flex-start;gap:14px;overflow:hidden;padding:12px 14px;border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:var(--text-dim);text-align:left;transition:background .2s,border-color .2s}.sc-tab:hover{background:var(--tint)}.sc-tab[aria-selected=true]{background:var(--surface);border-color:var(--line-soft)}.sc-tab-icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--surface-2);color:var(--text-dim);transition:background .2s,color .2s}.sc-tab[aria-selected=true] .sc-tab-icon{background:var(--primary);color:var(--on-primary)}.sc-tab-text{display:grid;min-width:0;padding-top:6px}.sc-tab-text strong{color:var(--text);font-weight:600;line-height:1.3}.sc-tab-text small{max-height:0;opacity:0;overflow:hidden;font-size:.86rem;line-height:1.45;transition:max-height .35s ease,opacity .25s,margin .35s}.sc-tab[aria-selected=true] .sc-tab-text small{max-height:8em;opacity:1;margin-top:4px}.sc-tab-progress{position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--signal);transform-origin:left;animation:sc-fill var(--ms) linear forwards}.sc-tab-progress.is-held{animation-play-state:paused}@keyframes sc-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.sc-stage{position:relative;aspect-ratio:16 / 10;overflow:hidden;container-type:inline-size;border-radius:var(--r-panel);border:1px solid var(--line-soft);background:radial-gradient(90% 80% at 50% 0%,rgba(49,81,7,.32),transparent 70%),var(--ink-deep);user-select:none;-webkit-user-select:none}.sc-demo{position:absolute;inset:0}.sc-caption{display:none}.sc-swap-enter-active,.sc-swap-leave-active{transition:opacity .22s,transform .22s}.sc-swap-enter-from{opacity:0;transform:translateY(8px)}.sc-swap-leave-to{opacity:0;transform:translateY(-6px)}.sc-pop-enter-active,.sc-pop-leave-active{transition:opacity .2s,scale .25s}.sc-pop-enter-from,.sc-pop-leave-to{opacity:0;scale:.9}.sc-slide-enter-active,.sc-slide-leave-active{transition:opacity .22s,transform .3s cubic-bezier(.2,.8,.2,1)}.sc-slide-enter-from{opacity:0;transform:translateY(16px)}.sc-slide-leave-to{opacity:0;transform:translateY(-8px)}.showcase-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;padding:18px 20px 18px 24px;border-radius:var(--r-panel);border:1px solid var(--line-soft);background:linear-gradient(110deg,rgba(49,81,7,.34),transparent 65%),var(--surface)}.showcase-cta p{margin:0;color:var(--text-dim)}.showcase-cta strong{color:var(--text);font-weight:600}.sc-grid{display:grid;gap:1.4cqw}.sc-grid[data-count="2"]{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr)}.sc-grid[data-count="3"]{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}.sc-grid[data-count="3"]>*{grid-column:span 2}.sc-grid[data-count="3"]>:nth-child(3){grid-column:2 / span 2}.sc-grid[data-count="4"]{grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr))}.sc-tile{position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:2cqw;background:radial-gradient(120% 95% at 50% 15%,var(--tile-hi),var(--tile-lo))}.sc-tile:after{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .25s;box-shadow:inset 0 0 0 2px var(--signal),inset 0 0 18px var(--signal-glow)}.sc-tile.is-speaking:after{opacity:1}.sc-person{position:absolute;left:0;bottom:0;width:100%;height:92%}.sc-name{position:absolute;left:6px;bottom:6px;display:inline-flex;align-items:center;gap:4px;max-width:calc(100% - 12px);padding:2px 8px;border-radius:999px;white-space:nowrap;background:var(--scrim-dark);color:var(--on-video);font-size:clamp(10px,1.6cqw,12.5px);font-weight:600}.sc-badge-icon{flex:none;color:#e8b84a}.sc-badge-icon.is-mod{color:#a5d469}.sc-person .head,.sc-person .eyes,.sc-person .mouth,.sc-cam .head{transform-box:fill-box;transform-origin:center}.sc-person .head,.sc-cam .head{transform-origin:50% 100%}.sc-person .mouth{transform:scaleY(.35)}.sc-person .eyes{animation:scene-blink 5.2s linear infinite}.char-bot .sc-person .eyes{animation-delay:-1.4s}.char-pill .sc-person .eyes{animation-delay:-2.9s}.char-cat .sc-person .eyes{animation-delay:-4.1s}.sc-tile.is-speaking .sc-person .mouth{animation:sc-talk .8s ease-in-out infinite}.sc-tile.is-speaking .sc-person .head{animation:sc-nod 2.4s ease-in-out infinite}.sc-tile.is-cheer .sc-person .head,.sc-cam.is-lit .head{animation:sc-cheer .9s ease-out}@keyframes sc-talk{0%,to{transform:scaleY(.35)}25%{transform:scaleY(1)}50%{transform:scaleY(.5)}75%{transform:scaleY(1.1)}}@keyframes sc-nod{0%,to{transform:none}30%{transform:translateY(-2px) rotate(-2deg)}65%{transform:rotate(2deg)}}@keyframes sc-cheer{0%,to{transform:none}30%{transform:translateY(-9%) rotate(-7deg)}60%{transform:translateY(-3%) rotate(5deg)}}.sc-emoji{flex:none;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;font-size:17px;line-height:1;transition:transform .15s,background .15s}.sc-emoji:hover{background:var(--tint);transform:translateY(-2px) scale(1.12)}.sc-emoji:active{transform:scale(.9)}.sc-tools-sep{flex:none;width:1px;align-self:stretch;margin:3px 4px;background:var(--line)}.sc-sticker{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(1.5px 0 0 #fff) drop-shadow(-1.5px 0 0 #fff) drop-shadow(0 1.5px 0 #fff) drop-shadow(0 -1.5px 0 #fff) drop-shadow(0 2px 4px rgba(0,0,0,.3))}.sc-emoji.sc-sticker-btn{width:32px;height:32px;padding:3px}.sc-watch{display:flex;flex-direction:column;gap:2.4cqw;padding:4cqw 4cqw 2.6cqw}.sc-devices{flex:1;min-height:0;display:flex;align-items:flex-end;justify-content:center;gap:5cqw}.sc-laptop,.sc-phone{margin:0;display:flex;flex-direction:column;align-items:center}.sc-laptop{width:60cqw}.sc-laptop-lid{display:flex;width:100%;aspect-ratio:16 / 10;padding:1.1cqw;border-radius:1.8cqw 1.8cqw .6cqw .6cqw;background:#0d100c;border:1px solid var(--line)}.sc-laptop-base{width:114%;height:1.5cqw;border-radius:0 0 1.6cqw 1.6cqw;background:linear-gradient(var(--line),var(--surface-2))}.sc-laptop figcaption,.sc-phone figcaption{margin-top:.8cqw;color:var(--text-faint);font-size:clamp(10px,1.5cqw,12px);font-weight:600}.sc-phone{width:19cqw}.sc-phone-body{position:relative;display:flex;flex-direction:column;justify-content:center;gap:1cqw;width:100%;aspect-ratio:9 / 18.5;padding:3cqw .9cqw 1.6cqw;border-radius:2.6cqw;background:#0d100c;border:1px solid var(--line)}.sc-phone-notch{position:absolute;left:50%;top:1cqw;translate:-50% 0;width:30%;height:.9cqw;border-radius:999px;background:#232920}.sc-phone .sc-video{flex:none;aspect-ratio:16 / 9}.sc-phone-tile{flex:1;border-radius:1cqw}.sc-phone-tile .sc-name{left:4px;bottom:4px;padding:1px 6px;font-size:9px}.sc-video{position:relative;flex:1;overflow:hidden;border-radius:.8cqw;background:#000;cursor:pointer}.sc-video-art{position:absolute;inset:0;display:block;width:100%;height:100%}.sc-video-paused{position:absolute;left:50%;top:50%;translate:-50% -50%;display:grid;place-items:center;width:max(28px,5cqw);height:max(28px,5cqw);border-radius:50%;background:var(--scrim-dark);color:var(--on-video)}.sc-video-note{position:absolute;left:4%;top:6%;padding:2px 9px;border-radius:999px;white-space:nowrap;background:var(--scrim-dark);color:var(--on-video);font-size:clamp(9px,1.5cqw,12px);font-weight:600}.sc-video-float{position:absolute;left:var(--x);bottom:8%;font-size:clamp(14px,3cqw,26px);line-height:1;pointer-events:none;animation:sc-float 2.3s ease-out forwards}.sc-phone .sc-video-paused{width:18px;height:18px}.sc-phone .sc-video-paused svg{width:10px;height:10px}.sc-phone .sc-video-note{left:3%;top:5%;padding:0 5px;font-size:7.5px}.sc-phone .sc-video-float{font-size:11px}@keyframes sc-float{0%{opacity:0;transform:translate(-50%) scale(.6)}12%{opacity:1;transform:translate(-50%,-20%) scale(1.15)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-260%) scale(1)}}.sc-cam{position:absolute;right:3%;bottom:5%;width:23%;aspect-ratio:160 / 112;overflow:hidden;border-radius:.9cqw;background:radial-gradient(120% 95% at 50% 15%,var(--tile-hi),var(--tile-lo));box-shadow:0 4px 14px #00000059;transition:box-shadow .2s}.sc-cam svg{display:block;width:100%;height:100%}.sc-cam.is-lit{box-shadow:0 0 0 2px var(--signal),0 4px 14px #00000059}.sc-player{flex:none;align-self:center;display:flex;align-items:center;gap:10px;width:min(100%,560px);padding:5px 8px 5px 5px;border-radius:999px;background:var(--surface);border:1px solid var(--line-soft)}.sc-round{flex:none;display:grid;place-items:center;width:32px;height:32px;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--text)}.sc-round.is-primary{background:var(--primary);border-color:var(--primary-edge);color:var(--on-primary)}.sc-time{flex:none;color:var(--text);font-size:12px;font-variant-numeric:tabular-nums}.sc-time.is-dim{color:var(--text-faint)}.sc-seek{flex:1;min-width:40px;height:4px;margin:0;border-radius:2px;cursor:pointer;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,var(--signal) var(--fill),var(--line) var(--fill))}.sc-seek::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;border:2px solid var(--surface);background:var(--signal)}.sc-seek::-moz-range-thumb{width:9px;height:9px;border-radius:50%;border:2px solid var(--surface);background:var(--signal)}.sc-player-react{flex:none;display:flex;padding-left:6px;border-left:1px solid var(--line-soft)}.sc-board{background-color:var(--surface);background-image:radial-gradient(var(--line) 1px,transparent 1.4px);background-size:22px 22px}.sc-board-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.sc-ink{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.sc-cursor{pointer-events:none}.sc-cursor-name{fill:#fff;font:600 11px var(--font-ui)}.sc-cursor-bubble{animation:sc-bubble .3s ease-out}.sc-cursor-bubble rect{fill:var(--surface-2);stroke:var(--line)}.sc-cursor-bubble text{fill:var(--text);font:600 11px var(--font-ui)}@keyframes sc-bubble{0%{opacity:0;transform:translateY(5px)}}.sc-board-tools{position:absolute;left:12px;top:12px;display:flex;align-items:center;gap:6px;padding:6px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);box-shadow:0 6px 18px var(--shadow)}.sc-swatch{width:22px;height:22px;padding:0;border-radius:50%;border:2px solid transparent;background:var(--c);box-shadow:inset 0 0 0 2px var(--surface-2);transition:transform .15s}.sc-swatch:hover{transform:scale(1.1)}.sc-swatch[aria-pressed=true]{border-color:var(--c)}.sc-tool{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-dim)}.sc-tool:hover{background:var(--tint);color:var(--text)}.sc-hint{position:absolute;left:50%;bottom:14px;translate:-50% 0;max-width:calc(100% - 24px);margin:0;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--text-dim);font-size:13px;text-align:center;pointer-events:none}.sc-knock .sc-grid{position:absolute;inset:9cqw 4cqw 17cqw}.sc-room-chip{position:absolute;left:4cqw;top:3cqw;display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-size:12px;font-weight:600}.sc-tile-enter-active{transition:opacity .4s,transform .5s cubic-bezier(.2,.8,.2,1.25)}.sc-tile-enter-from{opacity:0;transform:scale(.8)}.sc-tile-move{transition:transform .45s ease}.sc-wave{position:absolute;left:74%;top:16%;font-size:clamp(20px,4.5cqw,38px);line-height:1;pointer-events:none;transform-origin:70% 90%;animation:sc-wave 1.4s ease-out forwards}@keyframes sc-wave{0%{opacity:0;transform:translate(-50%,10px) rotate(0)}15%{opacity:1;transform:translate(-50%) rotate(-14deg)}30%{transform:translate(-50%) rotate(14deg)}45%{transform:translate(-50%) rotate(-10deg)}60%{transform:translate(-50%) rotate(8deg)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-6px) rotate(0)}}.sc-request{position:absolute;left:50%;bottom:3cqw;translate:-50% 0;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 20px);overflow:hidden;padding:8px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--text);box-shadow:0 12px 30px var(--shadow)}.sc-request.is-outcome{padding-right:18px}.sc-request.is-again{gap:8px;padding:10px 16px;font-weight:600;cursor:pointer}.sc-request.is-again:hover{background:var(--surface-2)}.sc-request-face{flex:none;width:40px;height:40px;overflow:hidden;border-radius:50%;background:radial-gradient(120% 95% at 50% 15%,var(--tile-hi),var(--tile-lo))}.sc-request-face svg{display:block;width:190%;height:auto;margin:-20% 0 0 -45%}.sc-request-text{display:grid;min-width:0}.sc-request-text strong{font-size:.92rem;font-weight:600}.sc-request-text small{display:inline-flex;align-items:center;gap:5px;color:var(--text-dim);font-size:.8rem;white-space:nowrap}.sc-request-actions{display:flex;gap:6px}.sc-request-timer{position:absolute;left:0;bottom:0;width:100%;height:2px;opacity:.7;background:var(--signal);transform-origin:left;animation:sc-drain var(--wait) linear forwards}.sc-knock-icon{color:var(--signal);animation:sc-knock 1.1s ease-in-out infinite}@keyframes sc-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes sc-knock{0%,55%,to{transform:none}65%{transform:rotate(-14deg)}77%{transform:rotate(12deg)}89%{transform:rotate(-6deg)}}.sc-react .sc-grid{position:absolute;inset:4cqw 4cqw 14cqw}.sc-rises{position:absolute;inset:0 0 12cqw;overflow:hidden;pointer-events:none}.sc-rise{position:absolute;left:var(--x);bottom:0;display:flex;flex-direction:column;align-items:center;gap:3px;animation:sc-rise 2.6s cubic-bezier(.2,.7,.3,1) forwards}.sc-rise-emoji{font-size:clamp(22px,4.6cqw,38px);line-height:1}.sc-rise .sc-sticker{width:clamp(52px,11cqw,92px);height:clamp(52px,11cqw,92px);filter:drop-shadow(2.5px 0 0 #fff) drop-shadow(-2.5px 0 0 #fff) drop-shadow(0 2.5px 0 #fff) drop-shadow(0 -2.5px 0 #fff) drop-shadow(0 6px 12px rgba(0,0,0,.3))}.sc-rise-name{padding:1px 8px;border-radius:999px;white-space:nowrap;background:var(--scrim-dark);color:var(--on-video);font-size:11px;font-weight:600}@keyframes sc-rise{0%{opacity:0;transform:translate(-50%,20%) scale(.6)}10%{opacity:1;transform:translate(-50%,-6%) scale(1.1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-30cqw) scale(1)}}.sc-react-bar{position:absolute;left:50%;bottom:3cqw;translate:-50% 0;display:flex;align-items:center;gap:2px;max-width:calc(100% - 16px);padding:5px 8px;border-radius:999px;border:1px solid var(--line-soft);background:var(--surface);box-shadow:0 10px 24px var(--shadow)}.sc-rec-head{position:absolute;left:4cqw;right:4cqw;top:3cqw;display:flex;align-items:center;justify-content:space-between;gap:8px}.sc-rec-pill{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border-radius:999px;background:#f0565a29;color:var(--danger);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}.sc-rec-pill.is-off{background:var(--tint);color:var(--text-faint)}.sc-rec-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:sc-blink 1.2s ease-in-out infinite}.sc-rec-pill.is-off .sc-rec-dot{animation:none}.sc-rec-chip{color:var(--text-dim);font-size:12px}@keyframes sc-blink{50%{opacity:.25}}.sc-record .sc-grid{position:absolute;inset:10cqw 4cqw 14cqw}.sc-rec-bar{position:absolute;left:50%;bottom:3cqw;translate:-50% 0;display:flex;align-items:center;gap:8px;white-space:nowrap}.sc-stop{color:var(--danger)}.sc-shots{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;border:1px solid var(--line-soft);background:var(--surface);font-size:12px;font-weight:600;animation:sc-bump .4s ease-out}@keyframes sc-bump{0%{transform:scale(.7)}60%{transform:scale(1.12)}to{transform:none}}.sc-flash{position:absolute;inset:0;background:#fff;pointer-events:none;animation:shot-flash .45s ease-out forwards}.sc-shot-fly{position:absolute;inset:10cqw 4cqw 14cqw;display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:4px;border-radius:8px;background:#fff;box-shadow:0 10px 30px #0006;pointer-events:none;transform-origin:75% 100%;animation:sc-fly .9s cubic-bezier(.5,0,.3,1) forwards}.sc-shot-fly span{border-radius:4px;background:radial-gradient(120% 95% at 50% 15%,var(--tile-hi),var(--tile-lo))}@keyframes sc-fly{0%{opacity:1;transform:none}25%{transform:scale(.92) rotate(-2deg)}to{opacity:0;transform:translate(6%,22%) scale(.1) rotate(-8deg)}}.sc-rec-dialog{position:absolute;left:50%;top:50%;translate:-50% -50%;display:grid;gap:10px;width:min(92%,400px);padding:18px;border-radius:18px;border:1px solid var(--line);background:var(--surface);box-shadow:0 0 0 100vmax #00000059,0 24px 60px #00000073}.sc-rec-dialog>strong{font-size:1rem;font-weight:600}.sc-rec-meta{margin-top:-8px;color:var(--text-dim);font-variant-numeric:tabular-nums}.sc-rec-dialog ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.sc-rec-dialog li{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border-radius:12px;border:1px solid var(--line-soft);background:var(--surface-2)}.sc-rec-dialog li>svg{flex:none;color:var(--text-dim)}.sc-rec-file{flex:1;display:grid;min-width:0}.sc-rec-file b{font-size:.9rem;font-weight:600}.sc-rec-file b small{color:var(--text-faint);font-weight:500}.sc-rec-file>small{color:var(--text-faint);font-size:.75rem}.sc-rec-size{flex:none;font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}.sc-rec-dialog li .btn{flex:none}.sc-rec-again{justify-self:start;display:inline-flex;align-items:center;gap:6px}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .sc-stage{background:radial-gradient(90% 80% at 50% 0%,rgba(76,125,18,.12),transparent 70%),var(--ink-deep)}:root:not([data-theme=dark]) .showcase-cta{background:linear-gradient(110deg,rgba(76,125,18,.12),transparent 65%),var(--surface)}}:root[data-theme=light] .sc-stage{background:radial-gradient(90% 80% at 50% 0%,rgba(76,125,18,.12),transparent 70%),var(--ink-deep)}:root[data-theme=light] .showcase-cta{background:linear-gradient(110deg,rgba(76,125,18,.12),transparent 65%),var(--surface)}@media(max-width:860px){.showcase{margin-top:56px}.showcase-body{grid-template-columns:minmax(0,1fr);gap:14px}.sc-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 calc(-20px - var(--safe-right)) 0 calc(-20px - var(--safe-left));padding:0 20px}.sc-tabs::-webkit-scrollbar{display:none}.sc-tab{flex:none;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;border-color:var(--line-soft)}.sc-tab-icon{width:30px;height:30px;border-radius:50%}.sc-tab-text{padding:0}.sc-tab-text strong{font-size:.9rem;white-space:nowrap}.sc-tab-text small{display:none}.sc-caption{display:block;margin:0;color:var(--text-dim);font-size:.95rem}}@media(max-width:640px){.sc-tabs{margin:0 calc(-16px - var(--safe-right)) 0 calc(-16px - var(--safe-left));padding:0 16px}.sc-stage{aspect-ratio:4 / 3.4;border-radius:var(--r-tile)}.sc-watch{padding:5cqw 3cqw 3cqw}.sc-laptop{width:64cqw}.sc-phone{width:21cqw}.sc-player{gap:6px}.sc-time.is-dim,.sc-rec-chip{display:none}.sc-emoji{width:28px;height:28px;font-size:15px}.sc-emoji.sc-sticker-btn{width:28px;height:28px}.sc-knock .sc-grid{inset:11cqw 4cqw 21cqw}.sc-react .sc-grid{inset:4cqw 4cqw 16cqw}.sc-record .sc-grid,.sc-shot-fly{inset:12cqw 4cqw 17cqw}.sc-request{gap:8px;padding:6px}.sc-request-face{width:32px;height:32px}.sc-hint{font-size:12px}.showcase-cta{padding:16px}.showcase-cta .btn{width:100%}}@media(prefers-reduced-motion:reduce){.sc-person .eyes,.sc-tile .sc-person .head,.sc-tile.is-speaking .sc-person .mouth,.sc-cam .head,.sc-knock-icon,.sc-rec-dot,.sc-wave{animation:none!important}.sc-rise,.sc-video-float{animation:sc-fade 2.4s forwards;transform:translate(-50%)}.sc-flash,.sc-shot-fly{display:none}.sc-tile-enter-active,.sc-tile-move,.sc-swap-enter-active,.sc-swap-leave-active{transition:opacity .2s;transform:none}}@keyframes sc-fade{0%,70%{opacity:1}to{opacity:0}}.js .prerender{display:none}.auth-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;width:100%;max-width:1080px;margin:56px auto 0;padding-top:24px;border-top:1px solid var(--line-soft)}.auth-pages a{color:var(--text-dim);text-decoration:none;font-size:.95rem}.auth-pages a:hover{color:var(--text)}.prerender{padding:20px 20px 28px}.skip-link{position:absolute;left:12px;top:-60px;z-index:10;padding:10px 16px;border-radius:999px;background:var(--surface-2);color:var(--text);font-weight:600;text-decoration:none}.skip-link:focus{top:12px}.lp a.btn{text-decoration:none}.lp-main{width:100%;max-width:1080px;margin:0 auto;flex:1}.lp-hero{display:grid;gap:40px;align-items:center;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.lp-hero.is-text{grid-template-columns:minmax(0,1fr);max-width:760px}.lp-hero h1{margin:0}.lp-hero .display-xl{font-size:clamp(2rem,4.2vw,3rem)}.lp-kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;color:var(--signal);font-weight:600;font-size:.95rem}.lp-lead{max-width:46ch;margin:20px 0 0;color:var(--text-dim);font-size:1.1rem}.lp-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:28px}.lp-cta small{color:var(--text-faint);font-size:.875rem;max-width:32ch}.lp-cta .form-error{flex-basis:100%;margin:0}.lp-demo{margin:0;min-width:0}.lp-demo figcaption{margin-top:10px;color:var(--text-faint);font-size:.875rem;text-align:center}.lp-demo-host{position:absolute;inset:0}.lp-tool{margin-top:56px;padding:24px;border-radius:var(--r-panel);background:var(--surface);border:1px solid var(--line-soft)}.lp-tool p{margin:8px 0 0;color:var(--text-dim)}.lp-tool-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.lp-tool-row .input{flex:1 1 260px;min-width:0}.lp-tool .lp-tool-result{min-height:1.5em;margin-top:12px;color:var(--text-dim);font-weight:600}.lp-tool-result[data-state=ok]{color:var(--signal)}.lp-tool-result[data-state=bad]{color:var(--error-text)}.lp-section{margin-top:72px}.lp-section>h2{margin-bottom:24px}.lp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}.lp-steps li,.lp-points li{display:grid;align-content:start;gap:6px;padding:20px;border-radius:var(--r-panel);background:var(--surface);border:1px solid var(--line-soft)}.lp-steps span,.lp-points span{color:var(--text-dim)}.lp-steps .lp-step-num{color:var(--signal);font-family:var(--font-display);font-size:.8rem;font-variant-numeric:tabular-nums}.lp-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}.lp-points svg{color:var(--signal)}.lp-prose{max-width:72ch}.lp-prose>h2{margin-bottom:16px}.lp-prose p,.lp-prose li{color:var(--text-dim)}.lp-prose p{margin:0 0 14px}.lp-prose ul{margin:0;padding-left:1.2em;display:grid;gap:8px}.lp-faq{max-width:820px;border-bottom:1px solid var(--line-soft)}.lp-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;cursor:pointer;font-weight:600;list-style:none}.lp-faq summary::-webkit-details-marker{display:none}.lp-faq summary:after{content:"+";flex:none;color:var(--signal);font-size:1.4rem;line-height:1;transition:transform .2s}.lp-faq[open] summary:after{transform:rotate(45deg)}.lp-faq p{margin:0 0 18px;max-width:70ch;color:var(--text-dim)}.lp-final{padding:32px;border-radius:var(--r-panel);border:1px solid var(--line-soft);background:linear-gradient(110deg,rgba(49,81,7,.34),transparent 65%),var(--surface)}.lp-final>h2{margin-bottom:8px}.lp-final>p{margin:0;color:var(--text-dim)}.lp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:0;padding:0;list-style:none}.lp-card{position:relative;display:grid;align-content:start;gap:6px;height:100%;padding:20px 20px 44px;border-radius:var(--r-panel);background:var(--surface);border:1px solid var(--line-soft);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}.lp-card:hover{border-color:var(--signal);transform:translateY(-2px)}.lp-card>span{color:var(--text-dim)}.lp-card>.lp-card-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:6px;border-radius:var(--r-md);background:var(--surface-2);color:var(--signal)}.lp-card>.lp-card-go{position:absolute;right:18px;bottom:16px;color:var(--signal)}.lp-foot{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:24px;width:100%;max-width:1080px;margin:88px auto 0;padding-top:28px;border-top:1px solid var(--line-soft)}.lp-foot-brand p{margin:10px 0 0;max-width:36ch;color:var(--text-faint);font-size:.9rem}.lp-foot-links{display:grid;align-content:start;gap:8px}.lp-foot-links a{color:var(--text-dim);text-decoration:none;font-size:.95rem}.lp-foot-links a:hover{color:var(--text)}@media(max-width:860px){.lp-hero{grid-template-columns:minmax(0,1fr);gap:28px}.lp-steps{grid-template-columns:minmax(0,1fr)}.lp-foot{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lp-foot-brand{grid-column:1 / -1}}@media(max-width:640px){.page.lp,.prerender{padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right))}.lp-open{display:none}.lp-points{grid-template-columns:minmax(0,1fr)}.lp-section{margin-top:56px}.lp-tool,.lp-final{padding:20px}.lp-cta .btn{width:100%}}.pd-app{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--surface)}.pd-app-bar{display:flex;align-items:center;gap:6px;padding:2.4cqw 3cqw;border-bottom:1px solid var(--line-soft)}.pd-app-bar i{width:1.6cqw;height:1.6cqw;border-radius:50%;background:var(--line)}.pd-app-bar span{width:22cqw;height:1.6cqw;margin-left:2cqw;border-radius:999px;background:var(--line-soft)}.pd-app-body{display:grid;align-content:start;gap:2.2cqw;padding:5cqw 6cqw}.pd-line{display:block;height:1.8cqw;border-radius:999px;background:var(--line-soft)}.pd-line.is-typing{position:relative;background:var(--line)}.pd-line.is-typing:after{content:"";position:absolute;right:-1cqw;top:-.6cqw;width:.5cqw;height:3cqw;background:var(--signal);animation:sc-blink 1s steps(1) infinite}.pd-call{position:absolute;inset:0;background:var(--ink-deep)}.pd-grid{position:absolute;inset:3cqw 3cqw 13cqw}.pd-bar{position:absolute;left:50%;bottom:3cqw;translate:-50% 0;display:flex;align-items:center;gap:8px;white-space:nowrap}.pd-open{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 14px;border-radius:999px;border:1px solid var(--primary-edge);background:var(--primary);color:var(--on-primary);font-size:13px;font-weight:600}.pd-float{position:absolute;width:36%;aspect-ratio:4 / 3;display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:var(--r-md);background:var(--ink-deep);border:1px solid var(--line);box-shadow:0 12px 32px var(--shadow);cursor:grab;touch-action:none;container-type:inline-size}.pd-float:active{cursor:grabbing}.pd-float .sc-tile{flex:1}.pd-float-bar{display:flex;justify-content:center;gap:6px}.pd-float-bar .sc-round{width:26px;height:26px}.sc-round.is-off{background:var(--text);color:var(--ink);border-color:var(--text)}.sc-round.is-danger{background:var(--danger);border-color:var(--danger);color:#fff}.pm{position:fixed;inset:0;display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--ink-deep);container-type:inline-size}.pm-tile{flex:1}.pm-bar{display:flex;justify-content:center;gap:10px}.pm-bar .sc-round{width:40px;height:40px}
