@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/chakra-petch-thai-600-normal-C620THcd.woff2)format("woff2"),url(/assets/chakra-petch-thai-600-normal-BiM5MXH8.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/chakra-petch-vietnamese-600-normal-YQPWIhHU.woff2)format("woff2"),url(/assets/chakra-petch-vietnamese-600-normal-Pvj4qcw_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/chakra-petch-latin-ext-600-normal-CdGvbdDU.woff2)format("woff2"),url(/assets/chakra-petch-latin-ext-600-normal-nL80L4xU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/chakra-petch-latin-600-normal-DVQm9bgb.woff2)format("woff2"),url(/assets/chakra-petch-latin-600-normal-DQKfcdKo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-thai-700-normal-B7WL5pBr.woff2)format("woff2"),url(/assets/chakra-petch-thai-700-normal-vZLZ_5L8.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-vietnamese-700-normal-ZDCXY9IA.woff2)format("woff2"),url(/assets/chakra-petch-vietnamese-700-normal-gQuUA8Wu.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-latin-ext-700-normal-DAkvJhej.woff2)format("woff2"),url(/assets/chakra-petch-latin-ext-700-normal-BeviJPUl.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-latin-700-normal-CnDBPjkL.woff2)format("woff2"),url(/assets/chakra-petch-latin-700-normal-D1s_c2du.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-ext-500-normal-C9ShMxGR.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-500-normal-CEVyPk4Y.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-vietnamese-500-normal-BvH7FW2L.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,:root[data-theme=light] .video-stage,:root[data-theme=light] .test-controller-stage,:root[data-theme=light] .stage-tokens{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0e1016;--color-video:#05060a;--color-surface:#161a23;--color-surface-2:#1b2030;--color-surface-selected:#1e2330;--color-border:#262c3a;--color-border-input:#2a3040;--color-border-strong:#3a4256;--color-border-dashed:#4a5368;--color-divider:#232937;--color-text:#e9ecf2;--color-text-2:#c4cad6;--color-text-muted:#a3abbd;--color-text-faint:#8c95a8;--color-placeholder:#7f889c;--color-accent:#f2a33a;--color-accent-hover:#ffc06b;--color-accent-text:#f2a33a;--color-accent-text-hover:#ffc06b;--color-on-accent:#1a1206;--color-voice:#4fc3d9;--color-ok:#7ee2a8;--color-danger-bg:#2a1519;--color-danger-border:#5a2a33;--color-danger-text:#f4a9b6;--color-p1:#f2a33a;--color-p2:#4fc3d9;--color-p3:#e0627a;--color-p4:#9d8cf0;--tint-voice-bg:#10262b;--tint-voice-border:#2b6573;--tint-accent-bg:#2a1d0c;--tint-accent-border:#6b4a1c;--tint-violet-bg:#1f1b33;--tint-ok-bg:#16352a;--tint-ok-border:#2f7d5a;--tint-you-bg:#3a2c16;--tint-you-border:#5a4424;--color-surface-sunken:#131720;--color-text-dim:#5d667a;--color-dots:#2c3448;--skeleton-shine:#252b3b;--shadow-strong:#00000073;--backdrop:#05060abf}:root{--tc-black:#000;--tc-lamp-off:#373737;--tc-lamp-on:#f2a33a;--tc-line:#787878;--tc-text:#ebebeb;--tc-text-on:#000;--picture-cabinet:#0b0d13;--picture-cabinet-2:#1a1f2c;--picture-bezel:#07080c;--picture-bezel-hi:#3b4254;--font-title:"Chakra Petch", system-ui, sans-serif;--font-text:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-control:10px;--radius-card:14px;--touch-min:44px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f3f4f7;--color-surface:#fff;--color-surface-2:#eef0f4;--color-surface-selected:#e7eaf0;--color-border:#dde1e8;--color-border-input:#cdd2dc;--color-border-strong:#b7becb;--color-border-dashed:#98a0b0;--color-divider:#e5e8ee;--color-text:#141821;--color-text-2:#2c3240;--color-text-muted:#4d5566;--color-text-faint:#5a6374;--color-placeholder:#7b8395;--color-accent:#e8901c;--color-accent-hover:#c97510;--color-accent-text:#8f5200;--color-accent-text-hover:#6f3f00;--color-on-accent:#1a1206;--color-voice:#0f6b7f;--color-ok:#1f8a4c;--color-p1:#8f5200;--color-p2:#0f6b7f;--color-p3:#b3233d;--color-p4:#5b44c9;--color-danger-bg:#fdecef;--color-danger-border:#f1b5c1;--color-danger-text:#b3233d;--tint-voice-bg:#e2f3f7;--tint-voice-border:#9ccfdc;--tint-accent-bg:#fdf0dc;--tint-accent-border:#eec689;--tint-violet-bg:#eceafb;--tint-ok-bg:#e1f3e9;--tint-ok-border:#88c8a4;--tint-you-bg:#fbe8cb;--tint-you-border:#efcf98;--color-surface-sunken:#f0f2f6;--color-text-dim:#8a92a4;--color-dots:#d3d8e1;--skeleton-shine:#f8f9fb;--shadow-strong:#14182129;--backdrop:#14182173}*,:before,:after{box-sizing:border-box}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);background:var(--color-bg);color:var(--color-text);font-family:var(--font-text);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}button,input{font-family:inherit}a{color:var(--color-accent-text)}a:hover{color:var(--color-accent-text-hover)}input::placeholder{color:var(--color-placeholder)}code,kbd,.mono{font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--color-text-muted);margin:0}.faint{color:var(--color-text-faint)}.small{font-size:12px}.small-plus{margin:0;font-size:13px;line-height:1.5}.strong{font-weight:600}.accent{color:var(--color-accent-text)}.center{text-align:center}.left{text-align:left}.grow{flex-grow:1;min-width:0}.spacer{flex-grow:1}.lead{font-size:16px;line-height:1.5}.stack-xxxs,.stack-xxs,.stack-xs,.stack-sm,.stack-md,.stack-lg,.stack-xl{flex-direction:column;display:flex}.stack-xxxs{gap:1px}.stack-xxs{gap:2px}.stack-xs{gap:6px}.stack-sm{gap:10px}.stack-md{gap:14px}.stack-lg{gap:20px}.stack-xl{gap:24px}.with-icon{align-items:center;gap:6px;display:flex}.icon-accent{color:var(--color-accent-text);gap:10px}.icon-accent .card-title{color:var(--color-text)}.voice-text{color:var(--color-voice)}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.dot-small{width:7px;height:7px}.dot-voice{background:var(--color-voice)}.dot-accent{background:var(--color-accent)}#root{flex-direction:column;min-height:100dvh;display:flex}.app-main,.page{flex-direction:column;flex:1 0 auto;display:flex}.page-body{flex-grow:1;gap:32px;min-height:0;padding:32px 40px;display:flex}.page-body.centered{justify-content:center;align-items:center}.page-title{font-family:var(--font-title);margin:0;font-size:36px;font-weight:700;line-height:1.1}.page-title-xl{font-size:44px;line-height:1.05}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:13px;font-weight:600}.eyebrow-accent{color:var(--color-accent-text)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:20px}.card-title{margin:0;font-size:17px;font-weight:600}.problem{align-items:flex-start;max-width:520px}.notice{border-radius:var(--radius-control);border:1px solid var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger-text);margin:0;padding:10px 14px;font-size:14px}.empty-state{border:1px dashed var(--color-border-strong);border-radius:var(--radius-card);flex-direction:column;gap:4px;padding:32px;display:flex}.empty-state p{margin:0}.app-header{border-bottom:1px solid var(--color-divider);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:64px;padding:0 40px;display:flex}.app-header-main{height:72px}.app-header-room{padding:0 32px}.header-left{align-items:center;gap:40px;min-width:0;display:flex}.app-header-room .header-left{gap:20px}.header-right{align-items:center;gap:16px;display:flex}.app-header-room .header-right{gap:10px}.lang-switch{border:1px solid var(--color-border-input);border-radius:999px;gap:4px;padding:3px;display:flex}.lang-bubble{width:34px;height:34px;color:var(--color-text-muted);letter-spacing:.04em;cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:12px;font-weight:600;position:relative}.lang-bubble:after{content:"";position:absolute;inset:-5px}.lang-bubble:hover{color:var(--color-text)}.lang-bubble.is-active{background:var(--color-accent);color:var(--color-on-accent)}.lang-bubble:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.header-divider{background:var(--color-border-input);flex-shrink:0;width:1px;height:28px}.brand{color:var(--color-text);align-items:center;gap:10px;text-decoration:none;display:flex}.brand:hover{color:var(--color-text)}.brand-mark{background:var(--color-accent);width:32px;height:32px;color:var(--color-on-accent);border-radius:8px;justify-content:center;align-items:center;display:flex}.brand-name{font-family:var(--font-title);letter-spacing:.02em;white-space:nowrap;font-size:20px;font-weight:700}.main-nav{gap:28px;font-size:15px;display:flex}.nav-link{color:var(--color-text-muted);border-bottom:2px solid #0000;padding:24px 0;text-decoration:none}.nav-link:hover{color:var(--color-text)}.nav-link.is-active{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:600}.back-link{color:var(--color-text-muted);min-height:var(--touch-min);align-items:center;gap:6px;font-size:14px;text-decoration:none;display:flex}.back-link:hover{color:var(--color-text)}.pill{border:1px solid var(--color-border-input);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:flex}.pill strong{color:var(--color-text);font-weight:500}.button{min-height:var(--touch-min);border-radius:var(--radius-control);cursor:pointer;color:var(--color-text);white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.button:disabled{opacity:.5;cursor:not-allowed}.button-primary{background:var(--color-accent);color:var(--color-on-accent)}.button-primary:hover:not(:disabled){background:var(--color-accent-hover);color:var(--color-on-accent)}.button-secondary{border-color:var(--color-border-strong);color:var(--color-text)}.button-secondary:hover:not(:disabled){border-color:var(--color-text-muted);color:var(--color-text)}.button-ghost{color:var(--color-text-muted);padding:0 8px;font-weight:500}.button-danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text);font-weight:500}.button-danger:hover{color:var(--color-danger-text);border-color:var(--color-danger-text)}.button-block{width:100%}.button-large{min-height:48px;padding:0 26px}.button-compact{min-height:40px;padding:0 16px;font-size:14px;font-weight:500}.button-small{align-self:flex-start;min-height:36px;padding:0 14px;font-size:13px}.icon-button{width:var(--touch-min);height:var(--touch-min);border-radius:var(--radius-control);border:1px solid var(--color-border-strong);color:var(--color-text);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:disabled{opacity:.5;cursor:not-allowed}.icon-button-primary{background:var(--color-accent);color:var(--color-on-accent);border:none}.icon-text-button{border:1px solid var(--color-border-input);min-height:36px;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.icon-text-button:hover{color:var(--color-text);border-color:var(--color-border-strong)}.icon-text-button.is-warning{color:var(--color-accent-text);border-color:var(--color-accent)}.text-link{font-size:14px;font-weight:500}.input{height:var(--touch-min);border-radius:var(--radius-control);border:1px solid var(--color-border-input);background:var(--color-surface);width:100%;color:var(--color-text);padding:0 14px;font-size:15px}.input-large{height:48px}.input-dark{background:var(--color-bg);font-size:14px}.input-mono{font-family:var(--font-mono);font-size:14px}.input:disabled{opacity:.6}.input[aria-invalid=true]{border-color:var(--color-danger-text)}.field-label{color:var(--color-text-2);font-size:13px;font-weight:600}.field-label-small{color:var(--color-text-muted);font-size:12px;font-weight:500}.form-error{color:var(--color-danger-text);margin:0;font-size:14px}.help-box{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.help-box p{margin:0;font-size:14px}.server-banner{background:var(--color-surface-2);border-bottom:1px solid var(--color-accent);color:var(--color-text-2);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:8px 16px;font-size:13px;display:flex}.server-banner code{color:var(--color-accent-text);word-break:break-all}.dialog-backdrop{z-index:40;background:var(--backdrop);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-card);flex-direction:column;gap:14px;width:min(560px,100%);padding:24px;display:flex}.dialog-title{font-family:var(--font-title);margin:0;font-size:22px}.dialog-current{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.dialog-current code,.dialog-footnote code{color:var(--color-text-2);word-break:break-all}.dialog-actions{flex-wrap:wrap;align-items:center;gap:10px;padding-top:6px;display:flex}.dialog-footnote{color:var(--color-text-faint);margin:0;font-size:12px}.tag{background:var(--color-border-input);color:var(--color-text-2);border-radius:6px;padding:1px 7px;font-size:11px;font-weight:600}.lobby-main{flex-grow:1;min-width:0}.lobby-aside{flex-shrink:0;width:360px}.lobby-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.lobby-search{flex-shrink:0;width:300px}.filters{flex-wrap:wrap;gap:10px;display:flex}.filter-chip{cursor:pointer;height:36px;color:var(--color-text-2);border:1px solid var(--color-border-input);background:0 0;border-radius:999px;padding:0 16px;font-size:14px}.filter-chip.is-on{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text);font-weight:600}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.room-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);flex-direction:column;display:flex;overflow:hidden}.room-card-art{background-color:var(--color-surface-2);background-image:radial-gradient(var(--color-dots) 1px, transparent 1px);background-size:8px 8px;align-items:flex-end;height:104px;padding:14px 16px;display:flex;position:relative}.room-card-game{font-family:var(--font-title);padding-right:96px;font-size:19px;font-weight:700;line-height:1.15}.room-badge{background:var(--color-bg);border:1px solid var(--color-voice);color:var(--color-voice);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;position:absolute;top:12px;right:12px}.room-badge.is-full{border-color:var(--color-accent);color:var(--color-accent-text)}.room-card-body{flex-direction:column;flex-grow:1;justify-content:space-between;gap:10px;padding:14px 16px 16px;display:flex}.room-card-title{font-size:16px;font-weight:600}.room-card-meta{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.seat-chips{align-items:center;gap:6px;display:flex}.seat-chip{border:1px dashed var(--color-border-dashed);width:26px;height:22px;color:var(--color-placeholder);border-radius:6px;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.seat-chip.is-taken{background:var(--port-color);color:var(--color-bg);border:none}.device-row{align-items:center;gap:12px;display:flex}.device-icon{background:var(--color-surface-selected);width:44px;height:44px;color:var(--color-voice);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.how{padding:4px}.how-step{gap:12px;font-size:14px;line-height:1.45;display:flex}.how-num{font-family:var(--font-title);color:var(--color-accent-text);font-weight:700}.create-layout{justify-content:center;padding:36px 40px}.create-form{width:640px;max-width:100%}.create-aside{flex-shrink:0;width:400px;padding-top:88px}.fieldset{border:none;min-width:0;margin:0;padding:0}.legend{margin-bottom:10px;padding:0}.option{cursor:pointer;text-align:left;background:var(--color-surface);border:1px solid var(--color-border);width:100%;color:var(--color-text);border-radius:12px;display:flex}.option.is-on{background:var(--color-surface-selected);border-color:var(--color-accent)}.option-rom{align-items:center;gap:14px;min-height:60px;padding:10px 16px}.option-visibility{flex-direction:column;align-items:flex-start;gap:6px;min-height:96px;padding:14px 16px}.radio-dot{border:2px solid var(--color-border-dashed);border-radius:50%;flex-shrink:0;width:18px;height:18px}.option.is-on .radio-dot{border:5px solid var(--color-accent)}.option-text{flex-direction:column;flex-grow:1;align-items:flex-start;gap:2px;display:flex}.option-title{font-size:15px;font-weight:600}.option-title-large{font-size:16px}.option-file{color:var(--color-text-muted);font-size:12px;font-family:var(--font-mono)}.option-note{color:var(--color-text-muted);font-size:12px;line-height:1.4}.option.is-disabled{cursor:default;background:0 0;border-style:dashed}.option.is-disabled .option-title{color:var(--color-text-muted)}.option.is-disabled .option-note{color:var(--color-danger-text)}.unplayable{margin-top:12px}.unplayable summary{cursor:pointer;align-items:center;min-height:44px;padding:8px 0;display:flex}.unplayable ul{margin:0;padding:0;list-style:none}.rom-badge{border:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px}.rom-badge.is-bad{color:var(--color-danger-text);border-color:var(--color-danger-border);background:var(--color-danger-bg)}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.switch-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.switch{cursor:pointer;background:var(--color-border-strong);border:none;border-radius:999px;flex-shrink:0;justify-content:flex-start;width:52px;height:30px;padding:3px;display:flex;position:relative}.switch:after{content:"";position:absolute;inset:-7px 0}.switch.is-on{background:var(--color-voice);justify-content:flex-end}.switch-knob{background:var(--color-bg);border-radius:50%;width:24px;height:24px}.form-actions{justify-content:flex-end;gap:12px;display:flex}.code-box{color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-input);word-break:break-all;border-radius:8px;padding:12px;font-size:14px;line-height:1.5}.invite-row{align-items:center;gap:8px;display:flex}.invite-url{min-width:0;font-family:var(--font-mono);color:var(--color-text-2);text-overflow:ellipsis;white-space:nowrap;flex-grow:1;font-size:12px;overflow:hidden}.rules{color:var(--color-text-2);padding:4px;font-size:14px;line-height:1.45}.rule{gap:10px;display:flex}.device-layout{justify-content:center;align-items:center;gap:72px;padding:40px}.device-main{width:560px;max-width:100%}.code-inputs{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.code-group{gap:6px;display:flex}.code-digit{text-align:center;border:1px solid var(--color-border-strong);background:var(--color-surface);width:48px;height:60px;color:var(--color-text);font-family:var(--font-mono);border-radius:10px;padding:0;font-size:26px}.code-digit[aria-invalid=true]{border-color:var(--color-danger-text)}.device-main .button-large{width:220px;min-height:52px;font-size:16px}.download{border-top:1px solid var(--color-divider);padding-top:24px}.chip-row{flex-wrap:wrap;gap:10px;display:flex}.platform-chip{min-height:var(--touch-min);border-radius:var(--radius-control);border:1px solid var(--color-border-strong);color:var(--color-text);align-items:center;padding:0 16px;font-size:14px;font-weight:500;display:inline-flex}.panel-preview{flex-direction:column;gap:12px;width:520px;max-width:100%;margin:0;display:flex}.preview-window{border-radius:var(--radius-card);border:1px solid var(--color-border-input);background:var(--color-surface);overflow:hidden}.preview-bar{background:var(--color-surface-2);border-bottom:1px solid var(--color-border-input);align-items:center;gap:8px;height:40px;padding:0 14px;display:flex}.preview-light{background:var(--color-border-strong);border-radius:50%;width:10px;height:10px}.preview-url{font-family:var(--font-mono);color:var(--color-text-muted);margin-left:12px;font-size:12px}.preview-body{gap:18px;padding:28px}.preview-head{justify-content:space-between;align-items:center;font-size:15px;display:flex}.preview-code{background:var(--color-bg);border:1px solid var(--color-border-input);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:22px;display:flex}.preview-code-value{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-accent-text);font-size:40px}.preview-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.preview-stat{background:var(--color-surface-2);border-radius:10px;flex-direction:column;gap:2px;padding:12px;display:flex}.preview-stat-value{font-size:18px;font-weight:600}.room-layout{gap:24px;padding:24px 32px}.room-main{flex-direction:column;flex-grow:1;gap:14px;min-width:0;display:flex}.room-title-row{align-items:center;gap:10px;display:flex}.room-title{font-family:var(--font-title);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:20px;font-weight:700;overflow:hidden}.visibility-tag{border:1px solid var(--color-border-strong);color:var(--color-text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;display:flex}.video-stage{border-radius:var(--radius-card);background:var(--color-video);border:1px solid var(--color-surface-selected);flex-shrink:0;justify-content:center;align-items:center;height:520px;display:flex;position:relative;overflow:hidden}.video-placeholder{color:var(--color-text-dim);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:0 16px;display:flex}.video-chip{background:var(--color-bg);border:1px solid var(--color-border-input);border-radius:999px;padding:5px 11px;font-size:12px;position:absolute}.video-live{letter-spacing:.06em;align-items:center;gap:7px;font-weight:600;display:flex;top:14px;left:14px}.video-stats{color:var(--color-text-2);top:14px;right:14px}.video-controls{color:var(--color-text-muted);border-radius:8px;max-width:calc(100% - 90px);bottom:14px;left:14px}.video-fullscreen{background:var(--color-bg);border-color:var(--color-border-input);color:var(--color-text-2);position:absolute;bottom:10px;right:10px}.player-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.player-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;align-items:center;gap:12px;min-width:0;height:76px;padding:0 14px;display:flex}.player-card.is-speaking{border-color:var(--color-voice)}.player-card.is-free{border-style:dashed;border-color:var(--color-border-dashed)}.port-badge{width:40px;height:40px;font-family:var(--font-title);background:var(--port-color);color:var(--color-bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.port-badge.is-free{border:1px dashed var(--port-color);color:var(--port-color);background:0 0}.port-badge-small{border-radius:9px;width:36px;height:36px}.port-badge.is-outline{border:1px solid var(--color-accent);color:var(--color-accent-text);background:0 0}.player-info{flex-direction:column;flex-grow:1;gap:3px;min-width:0;display:flex}.player-name-row{align-items:center;gap:6px;display:flex}.player-name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.you-tag{background:var(--color-border-input);color:var(--color-text-2);border-radius:6px;padding:1px 7px;font-size:11px;font-weight:600}.player-status{color:var(--color-text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.player-status.is-speaking{color:var(--color-voice)}.player-status.is-muted{color:var(--color-text-faint)}.voice-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);flex-shrink:0;align-items:center;gap:18px;min-height:88px;padding:16px 20px;display:flex}.mic-button{cursor:pointer;background:var(--color-danger-bg);border:1px solid var(--color-danger-border);width:56px;height:56px;color:var(--color-danger-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mic-button.is-on{background:var(--color-voice);color:var(--color-bg);border:none}.mic-button.is-locked{background:var(--color-surface-selected);border:1px dashed var(--color-border-dashed);color:var(--color-placeholder);cursor:not-allowed}.voice-meter-column{flex-direction:column;align-items:flex-end;gap:6px;display:flex}kbd{border:1px solid var(--color-border-strong);color:var(--color-text);border-radius:5px;padding:1px 6px}.meter{gap:3px;display:flex}.meter-bar{background:var(--color-border-input);border-radius:2px;width:6px;height:18px}.meter-bar.is-lit{background:var(--color-voice)}.meter-bar.is-peak{background:var(--color-accent)}.room-side{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);flex-direction:column;flex-shrink:0;width:400px;min-height:0;max-height:calc(100vh - 112px);display:flex;position:sticky;top:24px;overflow:hidden}.side-status{border-bottom:1px solid var(--color-divider);padding:16px 18px}.side-status-row{align-items:center;gap:10px;display:flex}.side-status-row.spread{justify-content:space-between}.tabs{border-bottom:1px solid var(--color-divider);padding:0 10px;display:flex}.tab-list{gap:inherit;display:flex}.tab{cursor:pointer;height:48px;color:var(--color-text-muted);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:500;display:flex}.tab.is-on{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:600}.tab-count{background:var(--color-border-input);color:var(--color-text-2);border-radius:999px;padding:1px 7px;font-size:11px}.tab-panel{flex-direction:column;flex-grow:1;gap:14px;min-height:0;padding:16px 18px;display:flex;overflow:auto}.chat-system{color:var(--color-text-faint);text-align:center;padding:2px 0;font-size:12px}.chat-message{flex-direction:column;gap:3px;display:flex}.chat-meta{align-items:baseline;gap:8px;display:flex}.chat-name{color:var(--port-color,var(--color-text-2));font-size:14px;font-weight:600}.chat-role{color:var(--color-text-faint);font-size:11px}.chat-text{color:var(--color-text);font-size:14px;line-height:1.45}.queue-row{background:var(--color-surface-2);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.queue-pos{font-family:var(--font-title);color:var(--color-accent-text);width:36px;font-size:18px;font-weight:700}.viewer-row{align-items:center;gap:10px;font-size:14px;display:flex}.viewer-avatar{background:var(--color-border-input);width:28px;height:28px;color:var(--color-text-2);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.chat-form{border-top:1px solid var(--color-divider);align-items:center;gap:10px;padding:14px 18px;display:flex}@media (width<=1280px){.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.create-aside{padding-top:0}}@media (width<=1100px){.page-body{flex-direction:column;padding:24px 20px}.lobby-aside,.create-aside,.room-side{width:100%}.create-layout,.device-layout{align-items:stretch;gap:32px}.room-page{height:auto}.room-side{min-height:480px}.video-stage{aspect-ratio:4/3;height:auto}.app-header{padding:0 20px}.header-left{gap:20px}}@media (width<=760px){.app-header,.app-header-main{flex-wrap:wrap;height:auto;min-height:64px;padding:10px 16px}.main-nav{gap:16px}.nav-link{padding:12px 0}.lobby-heading{flex-direction:column;align-items:stretch}.lobby-search{width:100%}.room-grid,.two-columns{grid-template-columns:minmax(0,1fr)}.player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-title{font-size:30px}.page-title-xl{font-size:34px}.code-digit{width:40px;height:52px;font-size:22px}.voice-panel,.app-header-room .header-left{flex-wrap:wrap}}.video{object-fit:contain;background:var(--color-video);width:100%;height:100%;image-rendering:pixelated}.video-stage:fullscreen{border:none;border-radius:0}.linked-panel{border-color:var(--color-voice)}.linked-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.icon-voice{color:var(--color-voice);gap:10px}.icon-voice .card-title{color:var(--color-text)}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.metric{background:var(--color-surface-2);border-radius:10px;flex-direction:column;gap:2px;padding:12px;display:flex}.metric-value{font-family:var(--font-mono);font-size:18px;font-weight:500}.facts{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:14px;display:grid}.facts dt{color:var(--color-text-muted)}.facts dd{overflow-wrap:anywhere;margin:0;font-size:13px}.video-sound{background:var(--color-bg);border-color:var(--color-border-input);color:var(--color-text-2);position:absolute;bottom:10px;right:62px}.video-sound.is-muted{color:var(--color-accent-text);border-color:var(--color-accent)}.video-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.controller-tag{background:var(--color-surface-selected);color:var(--color-voice);border-radius:6px;padding:1px 7px;font-weight:600}.video-controls-toggle{background:var(--color-bg);border-color:var(--color-border-input);color:var(--color-text-2);position:absolute;bottom:10px;right:114px}.video-controls-toggle.is-on{color:var(--color-voice);border-color:var(--color-voice)}.video-pause{background:var(--color-bg);border-color:var(--color-border-input);color:var(--color-text-2);position:absolute;bottom:10px;right:166px}.video-pause.is-on{color:var(--color-accent-text);border-color:var(--color-accent)}.video-paused{pointer-events:none;background:#0e10168c;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.video-paused>*{pointer-events:auto}.video-paused-label{background:var(--color-bg);border:1px solid var(--color-accent);color:var(--color-accent-text);letter-spacing:.02em;border-radius:999px;padding:8px 18px;font-weight:600}.toggle-badge{background:var(--color-voice);min-width:18px;height:18px;color:var(--color-bg);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.controls-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);flex-direction:column;flex-shrink:0;gap:8px;padding:14px;display:flex;overflow-x:auto}.kb{align-items:flex-end;gap:18px;min-width:760px;display:flex}.kb-main{flex-direction:column;flex-grow:1;gap:5px;display:flex}.kb-row{gap:5px;display:flex}.kb-row-center{justify-content:center}.kb-arrows{flex-direction:column;gap:5px;width:138px;display:flex}.kb-arrows .kb-key{flex:1 1 0}.kb-key{background:var(--color-surface-2);border:1px solid var(--color-border-input);min-width:0;height:40px;color:var(--color-text-muted);white-space:nowrap;border-radius:7px;flex:1 1 0;justify-content:center;align-items:center;font-size:11px;display:flex;position:relative;overflow:hidden}.kb-key.is-mapped{background:var(--tint-ok-bg);border-color:var(--tint-ok-border);color:var(--color-text);font-weight:600}.kb-key.is-pressed{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.kb-legend{opacity:.8;font-size:9px;font-weight:500;position:absolute;top:2px;left:5px}.gp-list{flex-wrap:wrap;gap:16px;display:flex}.gp{flex-direction:column;gap:6px;width:360px;max-width:100%;margin:0;display:flex}.gp svg{width:100%;height:auto}.gp-part{fill:var(--color-surface-2);stroke:var(--color-border-strong);stroke-width:1px}.gp-part.is-on{fill:var(--color-accent);stroke:var(--color-accent)}.gp-ring{fill:none;stroke:var(--color-border-strong);stroke-width:1.5px}.gp-label{fill:var(--color-text);text-anchor:middle;pointer-events:none;font-size:9px;font-weight:600;font-family:var(--font-text)}.controls-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.tabs-compact{border-bottom:none;padding:0}.tabs-compact .tab{height:36px}.kb-player{align-items:center;gap:8px;display:flex}.player-card.is-you{border-color:var(--port-color,var(--color-accent))}.name-form{align-items:center;gap:8px;display:flex}.name-form label{white-space:nowrap}.input-small{height:36px;font-size:13px}.library{border-top:1px solid var(--color-divider);padding-top:14px}.rom-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:240px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.rom-list li{background:var(--color-surface-2);border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.terms{align-items:center;gap:8px;display:flex}.terms input{width:18px;height:18px;accent-color:var(--color-accent)}.volumes{align-items:center;gap:14px;display:flex}.volume{flex-direction:column;gap:2px;display:flex}.volume input[type=range]{width:110px;accent-color:var(--color-accent)}.icon-button-small{border-color:var(--color-border-input);width:32px;height:32px;color:var(--color-text-muted);margin-left:auto}.icon-button-small.is-warning{color:var(--color-danger-text);border-color:var(--color-danger-border)}.video.has-aspect{object-fit:fill;width:auto;max-width:100%;height:100%}.link-button{color:var(--color-accent-text);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.dir-form{gap:6px;display:grid}.dir-row{align-items:center;gap:8px;display:flex}.drop-zone{border:2px dashed var(--color-border-strong);text-align:center;cursor:pointer;border-radius:12px;gap:4px;padding:16px;display:grid}.drop-zone.is-over{border-color:var(--color-accent);background:var(--color-surface-2)}.drop-zone[aria-disabled=true]{opacity:.6;cursor:progress}.gp-caption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.gp-player{color:var(--color-text-muted);align-items:center;gap:6px;display:inline-flex}.kb-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.remap-dialog{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto}.remap-list{grid-template-columns:1fr 1fr;gap:6px 18px;margin:0;padding:0;list-style:none;display:grid}.remap-list li{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.remap-key{min-width:110px;font-family:var(--font-mono);justify-content:center}.remap-key.is-listening{border-color:var(--color-accent);color:var(--color-accent-text)}@media (width<=560px){.remap-list{grid-template-columns:1fr}}.video-toolbar{z-index:3;gap:8px;display:flex;position:absolute;bottom:10px;right:10px}.video-toolbar>.icon-button{position:relative;inset:auto}.video-fullscreen.is-on{color:var(--color-voice);border-color:var(--color-voice)}.video-stage.is-fullscreen{border:none;border-radius:0}.video-stage.is-pseudo-fullscreen{z-index:50;width:100vw;position:fixed;inset:0;aspect-ratio:auto!important;height:100dvh!important;max-height:none!important}.help-dialog{width:min(680px,100%);max-height:calc(100dvh - 32px);overflow:auto}.help-sections{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.help-section{background:var(--color-surface-2);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.help-section-title{color:var(--color-accent-text);margin:0;font-size:15px;font-weight:600}.help-list{color:var(--color-text-2);flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:13.5px;line-height:1.45;display:flex}.touchpad{--tp-button:clamp(46px, 12vmin, 76px);--tp-dpad:clamp(128px, 36vmin, 210px);--tp-fill:#ffffff14;--tp-line:#ffffff4d;--tp-text:#ffffffd9;z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;position:absolute;inset:0}.touchpad-side{bottom:max(16px, env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;flex-direction:column;gap:14px;display:flex;position:absolute}.touchpad-left{left:max(16px, env(safe-area-inset-left));align-items:flex-start}.touchpad-right{right:max(16px, env(safe-area-inset-right));align-items:flex-end}.touchpad-dpad{width:var(--tp-dpad);height:var(--tp-dpad);background:var(--tp-fill);border:2px solid var(--tp-line);touch-action:none;border-radius:50%;position:relative}.touchpad-arrow{clip-path:polygon(50% 8%,100% 92%,0 92%);background:#fff6;width:24%;height:24%;transition:background 60ms;position:absolute}.touchpad-arrow-up{top:7%;left:38%}.touchpad-arrow-down{bottom:7%;left:38%;transform:rotate(180deg)}.touchpad-arrow-left{top:38%;left:7%;transform:rotate(-90deg)}.touchpad-arrow-right{top:38%;right:7%;transform:rotate(90deg)}.touchpad-arrow.is-on{background:var(--color-accent)}.touchpad-buttons{gap:12px;display:grid}.touchpad-button{width:var(--tp-button);height:var(--tp-button);font-family:var(--font-title);font-weight:700;font-size:calc(var(--tp-button) * .36);color:var(--tp-text);background:var(--tp-fill);border:2px solid var(--tp-line);border-radius:50%;justify-content:center;align-items:center;transition:transform 60ms,background 60ms;display:flex}.touchpad-button.is-on{background:var(--color-accent);opacity:.85;border-color:var(--color-accent);color:var(--color-on-accent);transform:scale(.93)}.touchpad-pill{letter-spacing:.1em;text-transform:uppercase;min-height:40px;color:var(--tp-text);background:var(--tp-fill);border:1.5px solid var(--tp-line);border-radius:999px;align-items:center;padding:0 18px;font-size:12px;font-weight:700;display:flex}.touchpad-starts{gap:6px;display:flex}.touchpad-starts .touchpad-pill{letter-spacing:.06em;padding:0 12px}.touchpad-pill.is-mine{border-color:var(--color-accent);color:var(--color-accent-text)}.touchpad-pill.is-on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.video-stage.has-touchpad .video-toolbar{top:10px;bottom:auto;right:50%;transform:translate(50%)}@media (orientation:portrait){.video-stage.has-touchpad{aspect-ratio:auto;align-items:flex-start;height:min(100dvh - 150px,160vw)}.video-stage.has-touchpad .video,.video-stage.has-touchpad .video.has-aspect{width:100%;height:auto;max-height:56%}.video-stage.has-touchpad .video-toolbar{top:calc(56% + 10px)}.video-stage.has-touchpad.is-fullscreen .video-toolbar{top:auto;bottom:calc(var(--tp-dpad,180px) + 90px)}}@media (orientation:landscape) and (height<=560px){.app-header-room{min-height:52px;padding:6px 16px}.room-layout{padding:8px 12px}.video-stage{aspect-ratio:auto;height:calc(100dvh - 16px)}.help-button span{display:none}}@media (width<=1100px){.video-stage{max-height:calc(100dvh - 90px)}.help-button span{display:none}.help-button{width:var(--touch-min);height:var(--touch-min);justify-content:center;padding:0}}@media (width<=560px){.app-header-room .header-right{flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%}.app-header-room .header-right .button-compact{padding:0 12px}.room-layout{gap:16px;padding:12px}.player-card{height:64px}.app-header-main{gap:8px}.app-header-main .header-left{justify-content:space-between;gap:12px;width:100%}.app-header-main .header-right{flex-wrap:wrap;gap:8px;width:100%}.app-header-main .header-right .button-primary{min-height:40px;margin-left:auto;padding:0 14px}.app-header-main .icon-text-button:not(.is-warning) span{display:none}.app-header-main .main-nav{gap:14px;font-size:14px}}.dash-page{padding:32px 40px 48px;display:block}.dash{--color-accent-dim:#b98643;flex-direction:column;gap:22px;max-width:1600px;margin:0 auto;display:flex}.dash-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.dash-hero-id{align-items:center;gap:20px;min-width:0;display:flex}.dash-device-tile{background:var(--color-surface);border:1px solid var(--color-border-strong);width:76px;height:76px;color:var(--color-accent-text);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.dash-device-dot{background:var(--color-border-strong);border:3px solid var(--color-bg);border-radius:50%;width:16px;height:16px;position:absolute;bottom:-4px;right:-4px}.dash-device-dot.is-live{background:var(--color-voice);animation:2s ease-in-out infinite dash-blink}.dash-device-dot.is-failed{background:var(--color-p3)}.dash-title{font-family:var(--font-title);overflow-wrap:anywhere;margin:0;font-size:40px;font-weight:700;line-height:1.05}.dash-chips{flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.dash-chip{border:1px solid var(--color-border-input);color:var(--color-text-2);border-radius:999px;align-items:center;gap:7px;padding:5px 12px;display:inline-flex}.dash-chip.mono{font-family:var(--font-mono);font-size:12px}.dash-chip-dot{background:var(--color-text-faint);border-radius:50%;width:7px;height:7px}.dash-chip.is-live{background:var(--tint-voice-bg);border-color:var(--tint-voice-border);color:var(--color-voice);font-weight:600}.dash-chip.is-live .dash-chip-dot{background:var(--color-voice)}.dash-chip.is-danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.dash-chip.is-danger .dash-chip-dot{background:var(--color-danger-text)}.dash-hero-actions{flex-wrap:wrap;gap:10px;display:flex}.button-danger-outline{border-color:var(--color-danger-border);color:var(--color-danger-text);background:0 0}.dash-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.dash-kpi{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);flex-direction:column;gap:6px;min-width:0;padding:18px 18px 14px;display:flex}.dash-kpi-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.dash-kpi-label>span{border-radius:2px;flex-shrink:0;width:8px;height:8px}.dash-kpi-value{align-items:baseline;gap:6px;min-width:0;display:flex}.dash-kpi-number{font-family:var(--font-title);font-size:40px;font-weight:700;line-height:1}.dash-kpi-unit{color:var(--color-text-muted);white-space:nowrap;font-size:18px}.dash-kpi-visual{align-items:center;height:38px;display:flex}.dash-kpi-foot{color:var(--color-text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.dash-spark{width:100%;display:block}.dash-bar{background:var(--color-divider);border-radius:999px;width:100%;height:10px;display:flex;overflow:hidden}.dash-bar>span{border-radius:999px;height:100%;transition:width .4s;display:block}.dash-bar.is-thin{height:5px}.dash-seats{gap:6px;width:100%;display:flex}.dash-seats>span{box-sizing:border-box;border:1px dashed var(--port-color);height:26px;color:var(--port-color);font:700 12px var(--font-title);border-radius:7px;flex:1;justify-content:center;align-items:center;display:flex}.dash-seats>span.is-taken{background:var(--port-color);color:var(--color-bg);border-style:solid}.dash-seats.is-large>span{height:32px}.dash-charts{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;display:grid}.dash-card{min-width:0;padding:20px 22px}.dash-charts>.stack-md>.dash-card.grow{flex-grow:1}.dash-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.dash-card-title-row{align-items:center;gap:14px;display:flex}.dash-wrap{flex-wrap:wrap}.dash-live-badge{background:var(--tint-accent-bg);color:var(--color-accent-text);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.dash-live-dot{background:var(--color-accent);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite dash-blink}.dash-legend{color:var(--color-text-2);align-items:center;gap:6px;font-size:13px;display:inline-flex}.dash-legend>span{border-radius:2px;width:14px;height:3px}.dash-segmented{border-radius:var(--radius-control);background:var(--color-bg);border:1px solid var(--color-border-input);padding:3px;display:flex}.dash-segmented button{min-height:32px;color:var(--color-text-faint);font:600 12px var(--font-text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0 12px}.dash-segmented button.is-on{background:var(--color-surface-selected);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border-strong)}.dash-chart-wrap{gap:10px;display:flex}.dash-y-axis{width:36px;height:260px;font-family:var(--font-mono);color:var(--color-placeholder);text-align:right;flex-direction:column;flex-shrink:0;justify-content:space-between;font-size:11px;display:flex}.dash-x-axis{font-family:var(--font-mono);color:var(--color-placeholder);justify-content:space-between;font-size:11px;display:flex}.dash-chart{width:100%;display:block}.dash-grid line{stroke:var(--color-divider);stroke-width:1px;vector-effect:non-scaling-stroke}.dash-pulse{transform-box:fill-box;transform-origin:50%;animation:2s ease-out infinite dash-pulse}.dash-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.dash-stat{background:var(--color-surface-2);border-radius:10px;flex-direction:column;gap:2px;min-width:0;padding:12px 14px;display:flex}.dash-stat-value{font-family:var(--font-mono);white-space:nowrap;font-size:18px}.dash-stat-value.is-voice,.dash-net-value.is-voice{color:var(--color-voice)}.dash-stat-value.is-accent,.dash-net-value.is-accent{color:var(--color-accent-text)}.dash-ring-row{align-items:center;gap:22px;display:flex}.dash-ring{flex-shrink:0}.dash-ring-value{fill:var(--color-text);font:700 32px var(--font-title)}.dash-ring-caption{fill:var(--color-text-muted);font:12px var(--font-text)}.dash-legend-list,.dash-legend-grid{flex-direction:column;flex-grow:1;gap:12px;margin:0;font-size:13px;display:flex}.dash-legend-grid{flex-grow:0;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px 14px;display:grid}.dash-cards .dash-facts-top{margin-top:auto}.dash-legend-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.dash-legend-row dt{color:var(--color-text-2);align-items:center;gap:8px;min-width:0;display:inline-flex}.dash-legend-row dd{margin:0}.dash-legend-row i,.dash-legend-inline i{border-radius:3px;flex-shrink:0;width:10px;height:10px;display:inline-block}.dash-legend-inline{color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;gap:6px 12px;font-size:12px;display:flex}.dash-legend-inline span{align-items:center;gap:6px;display:inline-flex}.dash-legend-inline i.is-empty{background:var(--color-divider);border:1px solid var(--color-border-strong);box-sizing:border-box}.dash-net{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dash-net-value{font-family:var(--font-title);font-size:26px;font-weight:700}.dash-net-value small,.dash-big-number small{font:13px var(--font-text);color:var(--color-text-muted)}.dash-net-chart{height:84px;margin-top:auto;position:relative}.dash-net-chart>svg{position:absolute;inset:0}.dash-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.dash-cards>.dash-card{flex-direction:column;display:flex}.dash-space-label{align-items:center;gap:8px;display:inline-flex}.dash-space-label i{border-radius:3px;width:10px;height:10px;display:inline-block}.dash-actions{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}.dash-big-number{font-family:var(--font-title);font-size:22px;font-weight:700}.dash-stack-bar{border-radius:999px;gap:2px;height:14px;display:flex;overflow:hidden}.dash-stack-bar>span{height:100%;display:block}.dash-stack-bar.is-track{background:var(--color-divider);gap:0;height:12px}.dash-facts{grid-template-columns:max-content minmax(0,1fr);gap:10px 14px;margin:0;font-size:13px;display:grid}.dash-facts dt{color:var(--color-text-muted)}.dash-facts dd{text-align:right;overflow-wrap:anywhere;margin:0;font-size:12px}.dash-facts dd.is-ok{color:var(--color-voice)}.dash-facts dd.is-warn{color:var(--color-accent-text)}.dash-fact-row{display:contents}.dash-facts-top,.dash-divided{border-top:1px solid var(--color-divider);padding-top:12px}.dash-mini-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:12px;font-weight:600}.dash-row{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.dash-push{margin-left:auto}.dash-push-bottom{margin-top:auto}.dash-path{border:1px solid var(--color-border-input);color:var(--color-text-2);border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.dash-path.is-direct{background:var(--tint-voice-bg);border-color:var(--tint-voice-border);color:var(--color-voice)}.dash-path.is-relay{background:var(--tint-accent-bg);border-color:var(--tint-accent-border);color:var(--color-accent-text)}.dash-path .small{color:var(--color-text-2)}.dash-search{border-radius:var(--radius-control);background:var(--color-bg);border:1px solid var(--color-border-input);height:40px;color:var(--color-placeholder);box-sizing:border-box;align-items:center;gap:8px;width:240px;padding:0 12px;display:flex}.dash-search input{color:var(--color-text);font:13px var(--font-text);background:0 0;border:none;outline:none;width:100%;min-width:0}.dash-search:focus-within{border-color:var(--color-accent)}.dash-badge{white-space:nowrap;background:var(--color-surface-selected);color:var(--color-text-muted);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.dash-badge.is-runs{background:var(--tint-voice-bg);color:var(--color-voice)}.dash-badge.is-missing{background:var(--tint-accent-bg);color:var(--color-accent-text)}.dash-badge.is-unsupported{background:var(--tint-violet-bg);color:var(--color-p4)}.dash-badge.is-broken{background:var(--color-danger-bg);color:var(--color-danger-text)}.dash-drop{place-items:center;padding:22px}@keyframes dash-blink{0%,to{opacity:1}50%{opacity:.35}}@keyframes dash-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(2.8)}to{opacity:0;transform:scale(2.8)}}@media (prefers-reduced-motion:reduce){.dash-pulse,.dash-live-dot,.dash-device-dot.is-live,.pair-countdown{animation:none}}@media (width<=1280px){.dash-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1100px){.dash-page{padding:24px 20px 40px}.dash-charts,.roms{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-kpi{padding:14px}.dash-kpi-number{font-size:32px}.dash-cards{grid-template-columns:minmax(0,1fr)}.dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-title{font-size:28px}.dash-device-tile{border-radius:14px;width:56px;height:56px}.dash-hero-actions{width:100%}.dash-hero-actions>*{flex:1}.dash-card-head{flex-wrap:wrap}.dash-y-axis{display:none}.dash-search{width:100%}}@media (width<=560px){.dash-page{padding:16px 12px 32px}.dash-kpis>.dash-kpi:last-child{grid-column:1/-1}.dash-ring-row{gap:14px}.dash-ring{width:112px;height:112px}}.pair{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:center;gap:64px;width:100%;max-width:1400px;margin:0 auto;padding:56px 80px;display:grid}.pair-main{flex-direction:column;gap:26px;min-width:0;display:flex}.pair-title{font-family:var(--font-title);max-width:640px;margin:0;font-size:52px;font-weight:700;line-height:1.02}.pair-lead{max-width:580px;font-size:17px}.pair-card{max-width:640px;padding:26px 28px}.pair-submit{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.pair-aside{flex-direction:column;gap:22px;min-width:0;display:flex}.pair-window{background:var(--color-surface);border:1px solid var(--color-border-strong);box-shadow:0 30px 80px var(--shadow-strong);border-radius:18px;overflow:hidden}.pair-window-body{text-align:center;flex-direction:column;align-items:center;gap:18px;padding:34px 28px 30px;display:flex}.pair-window-code{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-accent-text);font-size:44px}.pair-countdown{stroke-dasharray:226 226;animation:20s linear infinite pair-countdown}.pair-steps{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.pair-steps li{align-items:flex-start;gap:14px;display:flex}.pair-steps strong{color:var(--color-text)}.pair-step-number{background:var(--tint-accent-bg);width:30px;height:30px;color:var(--color-accent-text);font:700 14px var(--font-title);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dot-danger{background:var(--color-p3)}@keyframes pair-countdown{0%{stroke-dashoffset:0}to{stroke-dashoffset:226px}}@media (width<=1100px){.pair{grid-template-columns:minmax(0,1fr);gap:40px;padding:32px 20px}.pair-aside{max-width:560px}}@media (width<=760px){.pair-title{font-size:34px}.pair-window-code{font-size:32px}.pair-card{padding:20px}}@media (width<=560px){.app-header-main .nav-link{white-space:nowrap}.app-header-main .main-nav{gap:12px;font-size:13px}.dash-hero-id{align-items:flex-start;gap:12px}.dash-device-tile{border-radius:12px;width:44px;height:44px}.dash-device-tile svg{width:24px;height:24px}.dash-device-dot{border-width:2px;width:12px;height:12px}.dash-title{font-size:26px}.dash-chip{padding:4px 10px;font-size:12px}}.dash-segmented button,.dash-legend{white-space:nowrap}@media (width<=560px){.dash-card-head>.dash-card-title-row:last-child{flex-wrap:wrap;gap:10px 14px;width:100%}.dash-card-head .dash-segmented{margin-left:auto}.dash-chart{height:190px!important}.dash-card{padding:16px}}.dash-tabs{border-bottom:1px solid var(--color-divider);scrollbar-width:none;gap:28px;display:flex;overflow:auto hidden}.dash-tab{min-height:44px;color:var(--color-text-muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:0 2px;font-size:15px;text-decoration:none;display:inline-flex}.dash-tab:hover{color:var(--color-text)}.dash-tab.is-active{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:600}.dash-tab-count{background:var(--color-border-input);color:var(--color-text-2);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:500}.dash-link-row{border-radius:var(--radius-control);background:var(--color-surface-2);min-height:44px;color:var(--color-text);justify-content:space-between;align-items:center;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.dash-link-row:hover{color:var(--color-accent-text)}.is-voice-text{color:var(--color-voice)}.roms{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.roms-main{flex-direction:column;gap:16px;min-width:0;display:flex}.roms-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.roms-search{width:280px;height:44px}.roms-sort{color:var(--color-text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.roms-toolbar-end{align-items:center;gap:12px;margin-left:auto;display:flex}.roms-view{border-radius:var(--radius-control);background:var(--color-bg);border:1px solid var(--color-border-input);padding:3px;display:flex}.roms-view button{width:42px;height:38px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.roms-view button.is-on{background:var(--color-surface-selected);color:var(--color-accent-text);box-shadow:inset 0 0 0 1px var(--color-border-strong)}.roms-chips{flex-wrap:wrap;gap:6px;display:flex}.roms-chips button{border:1px solid var(--color-border-input);min-height:36px;color:var(--color-text-2);font:13px var(--font-text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.roms-chips button i{border-radius:50%;width:8px;height:8px}.roms-chips button span{font-family:var(--font-mono);background:var(--color-divider);color:var(--color-text-muted);border-radius:999px;padding:1px 6px;font-size:11px}.roms-chips button.is-on{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg);font-weight:600}.roms-chips button.is-on span{background:var(--color-bg);color:var(--color-text)}.roms-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.roms-card{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);flex-direction:column;min-width:0;display:flex;overflow:hidden}.roms-card:hover{border-color:var(--color-border-strong)}.roms-screen{aspect-ratio:4/3;background:var(--color-video);border-bottom:3px solid var(--kind-color);box-sizing:border-box;justify-content:center;align-items:center;padding:14px;display:flex;position:relative}.roms-marquee{font-family:var(--font-title);letter-spacing:.06em;text-align:center;color:var(--color-text-dim);overflow-wrap:anywhere;-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}.roms-screen.is-playable .roms-marquee{color:var(--color-accent-text)}.roms-float-badge{color:var(--kind-color);border:1px solid var(--kind-color);background:#05060acc;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;position:absolute;top:8px;right:8px}.roms-card-body{flex-direction:column;flex-grow:1;gap:6px;min-width:0;padding:14px 16px 16px;display:flex}.roms-card-title{overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.3}.roms-card-foot{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-top:auto;padding-top:6px;display:flex}.roms-card-foot .mono{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roms-play{background:var(--color-accent);min-width:44px;height:38px;color:var(--color-on-accent);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.roms-play:hover{background:var(--color-accent-hover);color:var(--color-on-accent)}.roms-table-wrap{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);overflow-x:auto}.roms-table{border-collapse:collapse;width:100%}.roms-table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:600}.roms-table td{box-sizing:border-box;border-bottom:1px solid var(--color-divider);height:58px;color:var(--color-text-2);padding:8px 16px;font-size:14px}.roms-table tbody tr:last-child td{border-bottom:none}.roms-table tbody tr:hover{background:var(--color-surface-2)}.roms-table .roms-num{text-align:right}.roms-cell-game{color:var(--color-text);align-items:center;gap:12px;min-width:0;display:flex}.roms-mini-screen{background:var(--color-video);border:1px solid var(--color-surface-selected);border-bottom:2px solid var(--kind-color);width:36px;height:27px;color:var(--kind-color);font:700 9px var(--font-title);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.roms-side{min-width:0}@media (width<=1280px){.roms-table .roms-col-maker{display:none}}@media (width<=760px){.roms-search{width:100%}.roms-toolbar-end{justify-content:space-between;width:100%;margin-left:0}.roms-chips{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.roms-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.roms-card-body{padding:10px 12px 12px}.roms-card-title{font-size:13px}.roms-marquee{font-size:12px}.roms-card-foot .roms-play span,.roms-table .roms-col-set,.roms-table .roms-col-year{display:none}.roms-table th,.roms-table td{padding:10px 12px}}@media (width<=560px){.roms-table thead,.roms-table td:nth-child(6),.roms-play span{display:none}}.roms-screen.has-art{padding:0}.roms-art{object-fit:cover;width:100%;height:100%;display:block}.roms-mini-screen.has-art{overflow:hidden}.option-rom .roms-mini-screen{width:30px;height:40px}.option-rom .roms-mini-screen:empty{display:none}.room-card-art{position:relative;overflow:hidden}.room-card-art.has-art .room-card-game{text-shadow:0 2px 8px #000c;position:relative}.room-card-boxart{object-fit:cover;opacity:.55;filter:saturate(1.1);width:100%;height:100%;position:absolute;inset:0}.room-card.is-paused .room-card-boxart{filter:grayscale(.7)}.room-badge.is-paused{background:var(--tint-accent-bg);color:var(--color-accent-text);border-color:var(--tint-accent-border)}.grooms{flex-direction:column;gap:18px;display:flex;position:relative}.grooms-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.grooms-filters{flex-wrap:wrap;gap:6px;display:flex}.grooms-filters button{border:1px solid var(--color-border-input);min-height:40px;color:var(--color-text-2);font:13px var(--font-text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.grooms-filters button span{font-family:var(--font-mono);background:var(--color-divider);color:var(--color-text-muted);border-radius:999px;padding:1px 6px;font-size:11px}.grooms-filters button.is-on{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg);font-weight:600}.grooms-filters button.is-on span{background:var(--color-bg);color:var(--color-text)}.grooms-stats{color:var(--color-text-muted);align-items:center;gap:18px;font-size:13px;display:flex}.grooms-stats b{font:700 22px var(--font-title);color:var(--color-text)}.grooms-stats b.is-voice-text{color:var(--color-voice)}.grooms-note{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-2);border-radius:12px;margin:0;padding:12px 16px;font-size:14px}.grooms-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.groom{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);flex-direction:column;min-width:0;display:flex;overflow:hidden}.groom.is-favorite{border-color:var(--tint-accent-border)}.groom-main{gap:14px;min-width:0;padding:16px;display:flex}.groom-art{background:var(--color-video);border:1px solid var(--color-surface-selected);box-sizing:border-box;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:84px;height:112px;padding:8px;display:flex;overflow:hidden}.groom-art img{object-fit:cover;width:calc(100% + 16px);height:calc(100% + 16px);margin:-8px;display:block}.groom-art span{font:700 10px var(--font-title);letter-spacing:.05em;text-align:center;color:var(--color-accent-text);overflow-wrap:anywhere;line-height:1.15}.groom-art.is-off{filter:grayscale(.8);opacity:.6}.groom-info{flex-direction:column;flex-grow:1;gap:6px;min-width:0;display:flex}.groom-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.groom-name{font-family:var(--font-title);overflow-wrap:anywhere;margin:0;font-size:19px;font-weight:700;line-height:1.15}.groom-pill{letter-spacing:.04em;text-transform:uppercase;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.groom-pill i{background:currentColor;border-radius:50%;width:6px;height:6px}.groom-pill.is-live{background:var(--tint-voice-bg);color:var(--color-voice);border-color:var(--tint-voice-border)}.groom-pill.is-live i{animation:2s ease-in-out infinite dash-blink}.groom-pill.is-paused{background:var(--tint-accent-bg);color:var(--color-accent-text);border-color:var(--tint-accent-border)}.groom-pill.is-archived{background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border-strong)}.groom-pill.is-trash{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.groom-star{width:var(--touch-min);height:var(--touch-min);color:var(--color-placeholder);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-10px -10px 0 0;display:flex}.groom-star.is-on{color:var(--color-accent-text)}.groom-error{color:var(--color-danger-text)}.groom-seats{box-sizing:border-box;padding:0 16px 14px}.groom-seats>span.is-off{border-color:var(--color-border-strong);color:var(--color-placeholder)}.groom-actions{border-top:1px solid var(--color-divider);background:var(--color-surface-sunken);flex-wrap:wrap;gap:8px;margin-top:auto;padding:12px 16px;display:flex}.groom-actions .button{min-height:38px}.grooms-toast{z-index:20;background:var(--color-surface-selected);border:1px solid var(--color-border-strong);border-radius:12px;max-width:calc(100vw - 32px);padding:12px 18px;font-size:14px;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #0006}.groom-dialog-head{align-items:center;gap:14px;display:flex}.groom-dialog-art{background:var(--color-video);border-radius:6px;flex-shrink:0;width:54px;height:72px;overflow:hidden}.groom-dialog-art img{object-fit:cover;width:100%;height:100%;display:block}.groom-options{flex-direction:column;gap:8px;display:flex}.groom-option{border:1px solid var(--color-border-input);background:var(--color-bg);min-height:60px;color:var(--color-text);font:14px var(--font-text);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.groom-option i{box-sizing:border-box;border:2px solid var(--color-border-strong);border-radius:50%;flex-shrink:0;width:18px;height:18px}.groom-option .stack-xxs{flex-grow:1}.groom-option.is-on{background:var(--tint-accent-bg);border-color:var(--color-accent)}.groom-option.is-on i{border:5px solid var(--color-accent)}@media (width<=560px){.grooms-grid{grid-template-columns:minmax(0,1fr)}.grooms-stats{justify-content:space-between;width:100%}.grooms-filters{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}}.groom-actions{align-items:center}.groom-icon{width:var(--touch-min);height:var(--touch-min);border-radius:var(--radius-control);border:1px solid var(--color-border-strong);color:var(--color-text-2);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.groom-icon:hover{color:var(--color-text);border-color:var(--color-text-faint)}.groom-icon.is-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.groom-icon.is-primary:hover{background:var(--color-accent-hover)}.groom-icon.is-danger{color:var(--color-danger-text);border-color:var(--color-danger-border)}.groom-icon[data-tip]:hover:after,.groom-icon[data-tip]:focus-visible:after{content:attr(data-tip);background:var(--color-text);color:var(--color-bg);font:600 12px var(--font-text);white-space:nowrap;pointer-events:none;z-index:5;border-radius:7px;padding:5px 9px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 6px 16px #00000059}.groom-more{margin-left:auto;position:relative}.groom-more .groom-icon[aria-expanded=true]:after{display:none}.groom-menu{z-index:10;background:var(--color-surface-selected);border:1px solid var(--color-border-strong);border-radius:12px;flex-direction:column;gap:2px;min-width:210px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 6px);right:0;box-shadow:0 16px 40px #00000073}.groom-menu-item{min-height:40px;color:var(--color-text);font:14px var(--font-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:0 12px;text-decoration:none;display:flex}.groom-menu-item:hover,.groom-menu-item:focus-visible{background:var(--color-surface-2);color:var(--color-text)}.groom-menu-item.is-danger{color:var(--color-danger-text)}.groom-menu-item svg{color:var(--color-text-muted);flex-shrink:0}.groom-menu-item.is-danger svg{color:var(--color-danger-text)}.lobby-page{box-sizing:border-box;flex-direction:column;gap:32px;width:100%;max-width:1600px;margin:0 auto;padding:32px 40px 48px;display:flex}.lobby-page .lobby-main{width:100%}.lobby-grid{--color-accent-dim:#b98643;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.lcard{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);min-width:0;min-height:156px;display:flex;overflow:hidden}.lcard:hover{border-color:var(--color-border-strong)}.lcard-art{box-sizing:border-box;background-color:var(--art-color);background-image:repeating-linear-gradient(135deg,#0000001a 0 10px,#0000 10px 20px);flex-shrink:0;justify-content:center;align-items:center;width:132px;padding:12px;display:flex;position:relative}.lcard-art span{font:700 13px var(--font-title);letter-spacing:.05em;text-align:center;color:var(--color-bg);overflow-wrap:anywhere;line-height:1.15}.lcard-art.has-art{background:var(--color-video);padding:0}.lcard-art img{object-fit:cover;width:100%;height:100%;display:block}.lcard.is-paused .lcard-art{filter:grayscale(.6)}.lcard-body{flex-direction:column;flex-grow:1;gap:6px;min-width:0;padding:16px;display:flex}.lcard-pill{background:var(--tint-voice-bg);color:var(--color-voice);border:1px solid var(--tint-voice-border);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.lcard-pill i{background:currentColor;border-radius:50%;width:6px;height:6px}.lcard-pill.is-paused{background:var(--tint-accent-bg);color:var(--color-accent-text);border-color:var(--tint-accent-border)}.lcard-pill.is-full{background:var(--color-surface-2);color:var(--color-text-2);border-color:var(--color-border-strong)}.lcard-title{font-family:var(--font-title);overflow-wrap:anywhere;margin:0;font-size:19px;font-weight:700;line-height:1.15}.lcard-line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lcard .seat-chips,.lcard-body>:nth-last-child(2){margin-top:2px}.lcard-cta{min-height:40px;margin-top:auto}.lobby-extras{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}@media (width<=1280px){.lobby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1100px){.lobby-page{padding:24px 20px 40px}.lobby-extras{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.lobby-grid{grid-template-columns:minmax(0,1fr)}.lcard-art{width:104px}}.nav-button{font:inherit;cursor:pointer;background:0 0;border-top:none;border-left:none;border-right:none}.nav-button:hover{color:var(--color-text)}.lcard.is-own{border-color:var(--color-border-strong)}.lcard.is-own.is-favorite{border-color:var(--tint-accent-border)}.lcard-top{align-items:center;gap:8px;min-width:0;display:flex}.lcard-top .groom-star{margin:-10px -10px -10px auto}.lcard-mine{color:var(--color-text-faint);white-space:nowrap;font-size:11px;font-weight:600}.lcard-art.is-off{filter:grayscale(.8);opacity:.6}.lcard .groom-actions{background:0 0;border-top:none;gap:6px;margin-top:auto;padding:8px 0 0}.lobby-table-wrap{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);overflow-x:auto}.lobby-table{border-collapse:collapse;width:100%}.lobby-table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:600}.lobby-table td{box-sizing:border-box;border-bottom:1px solid var(--color-divider);height:68px;color:var(--color-text-2);vertical-align:middle;padding:10px 16px;font-size:14px}.lobby-table tbody tr:last-child td{border-bottom:none}.lobby-table tbody tr:hover{background:var(--color-surface-2)}.lobby-table .lrow-end{text-align:right;white-space:nowrap}.lobby-table td.lrow-end>*{display:inline-flex}.lrow.is-own.is-favorite>td:first-child{box-shadow:inset 3px 0 0 var(--color-accent)}.lrow-room{align-items:center;gap:12px;min-width:220px;display:flex}.lrow-art{background-color:var(--art-color);width:44px;height:44px;color:var(--color-bg);font:700 11px var(--font-title);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.lrow-art.has-art{background:var(--color-video)}.lrow-art img{object-fit:cover;width:100%;height:100%;display:block}.lrow-art.is-off,.lrow.is-paused .lrow-art{filter:grayscale(.7)}.lrow-main{flex-direction:column;gap:2px;min-width:0;max-width:360px;display:flex}.lrow-title{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:15px;font-weight:600;display:flex;overflow:hidden}.lrow-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.lrow-title svg{color:var(--color-accent-text);flex-shrink:0;width:14px;height:14px}.lrow td .groom-pill,.lrow td .lcard-pill{white-space:nowrap}.lrow-col-activity{max-width:240px}.lrow-sub{margin-top:2px;display:block}.lrow-col-host{white-space:nowrap}.lrow .groom-actions{background:0 0;border:none;flex-wrap:nowrap;justify-content:flex-end;gap:6px;margin:0;padding:0}.lrow .groom-more{margin-left:0}@media (width<=1280px){.lobby-table .lrow-col-host{display:none}}@media (width<=1100px){.lobby-table .lrow-col-activity{display:none}}@media (width<=760px){.lobby-table th,.lobby-table td{padding:10px 12px}.lobby-table .lrow-col-seats{display:none}.lrow-room{min-width:0}}@media (width<=560px){.lobby-table thead{display:none}.lobby-table tr{border-bottom:1px solid var(--color-divider);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.lobby-table td{border:none;height:auto;padding:0}.lobby-table td:first-child{flex:100%}.lobby-table td.lrow-end{margin-left:auto}}.start-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.start-bar-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint);margin-right:4px;font-size:12px;font-weight:600}.start-button{border:1.5px solid var(--color-border-strong);background:var(--color-surface);min-width:64px;min-height:44px;color:var(--color-text);font:700 13px var(--font-title);letter-spacing:.06em;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:999px;padding:0 16px}.start-button:hover{background:var(--color-surface-2)}.start-button.is-mine{border-color:var(--color-accent);color:var(--color-accent-text)}.start-button.is-on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.player-swap{flex-shrink:0;margin-left:auto}.player-swap.is-waiting{opacity:.6;animation:1.2s ease-in-out infinite swap-wait}@keyframes swap-wait{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.player-swap.is-waiting{animation:none}}.swap-offer{border-radius:var(--radius-card);background:var(--color-surface);border:1.5px solid var(--color-accent);color:var(--color-text);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex}.swap-offer>svg{color:var(--color-accent-text);flex-shrink:0}.player-card .icon-button-small+.player-swap{margin-left:4px}.room-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding:28px 40px 0;display:flex}.hero-eyebrow .back-link{color:inherit;font:inherit;letter-spacing:inherit;align-items:center;gap:2px;min-height:0;padding:0;text-decoration:none;display:inline-flex}.hero-eyebrow .back-link:hover{color:var(--color-text)}.room-hero .room-title{font:inherit;white-space:normal;overflow:visible}.room-hero.page-hero{margin-bottom:0}.room-hero .dash-hero-actions{align-items:center}.room-page .room-layout{padding:20px 40px 40px}.room-section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-top:4px;display:flex}.room-page .player-card{border-radius:var(--radius-card);background:linear-gradient(135deg, color-mix(in srgb, var(--port-color,var(--color-accent)) 14%, transparent), transparent 62%), var(--color-surface);height:84px;position:relative;overflow:hidden}.room-page .player-card:before{content:"";background:var(--port-color,var(--color-accent));height:3px;position:absolute;top:0;left:0;right:0}.room-page .player-card.is-free{background:0 0}.room-page .player-card.is-free:before{display:none}.room-page .start-bar{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);margin-top:0;padding:12px 16px}.room-page .voice-panel{border-radius:var(--radius-card)}.room-side .tabs{gap:18px;padding:0 18px}.room-side .tab{padding:0 2px;font-size:15px}.room-side .tab.is-on{font-weight:600}@media (width<=1100px){.room-hero{padding:24px 20px 0}.room-page .room-layout{padding:20px}}@media (width<=560px){.room-hero{gap:12px;padding:14px 12px 0}.room-hero .dash-title{font-size:24px}.room-hero .dash-chips{gap:6px;font-size:12px}.room-hero .dash-hero-actions{gap:8px;width:100%}.room-hero .dash-hero-actions .button-compact{padding:0 12px}.room-page .room-layout{padding:12px}.room-page .player-card{height:68px}}@media (orientation:landscape) and (height<=560px){.room-hero{align-items:center;padding:6px 16px 0}.room-hero .hero-tile,.room-hero .dash-chips{display:none}.room-hero .dash-title{font-size:18px}.room-page .room-layout{padding:8px 12px}}.hero-tile{background:var(--color-surface);border:1px solid var(--color-border-strong);width:76px;height:76px;color:var(--color-accent-text);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.hero-tile.has-art{background:var(--color-video)}.hero-tile img{object-fit:cover;border-radius:17px;width:100%;height:100%;display:block}.hero-text{min-width:0}.hero-eyebrow{align-items:center;gap:8px;display:inline-flex}.hero-subtitle{max-width:720px;margin:0}.page-hero{margin-bottom:24px}.dash .page-hero{margin-bottom:0}.segmented{background:var(--color-bg);border:1px solid var(--color-border-input);border-radius:999px;gap:3px;padding:3px;display:inline-flex}.segmented>button{min-height:38px;color:var(--color-text-muted);font:600 14px var(--font-text);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:0 18px}.segmented>button.is-on{background:var(--color-surface-2);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border-strong)}@media (width<=560px){.hero-tile{border-radius:14px;width:52px;height:52px}.hero-tile img{border-radius:13px}.page-hero .dash-title{font-size:28px}}.create-page{box-sizing:border-box;width:100%;max-width:1280px;margin:0 auto}.create-page>.help-box{margin-bottom:16px}.create-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:16px;display:grid}.create-preview{position:sticky;top:24px}.create-preview-art{aspect-ratio:3/4;background:var(--color-video);border:1px solid var(--color-surface-selected);max-height:360px;color:var(--color-accent-text);font:700 16px var(--font-title);text-align:center;box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;padding:12px;display:flex;overflow:hidden}.create-preview-art.has-art{padding:0}.create-preview-art img{object-fit:contain;width:100%;height:100%;display:block}.create-preview-title{font-family:var(--font-title);overflow-wrap:anywhere;font-size:20px;font-weight:700;line-height:1.2}.create-rules{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.create-rules li::marker{color:var(--color-accent-text)}.unplayable-list{flex-direction:column;gap:8px;max-height:240px;margin:10px 0 0;padding:0;list-style:none;display:flex;overflow:auto}.unplayable-list .option-note{display:block}@media (width<=1100px){.create-grid{grid-template-columns:minmax(0,1fr)}.create-preview{position:static}.create-preview-art{aspect-ratio:auto;height:240px;max-height:240px}}.game-picker{position:relative}.game-picker-button{border:1px solid var(--color-border-input);background:var(--color-bg);width:100%;min-height:64px;color:var(--color-text);text-align:left;cursor:pointer;font:inherit;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.game-picker-button:hover,.game-picker-button.is-open{border-color:var(--color-accent)}.game-picker-button .roms-mini-screen,.game-picker-option .roms-mini-screen{border-radius:8px;width:44px;height:44px;overflow:hidden}.roms-mini-screen img{object-fit:cover;width:100%;height:100%;display:block}.game-picker-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.game-picker-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-picker-caret{color:var(--color-text-muted);flex-shrink:0}.game-picker-panel{z-index:30;border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border-strong);flex-direction:column;gap:8px;padding:10px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 18px 50px #00000080}.game-picker-search{width:100%}.game-picker-list{flex-direction:column;gap:2px;max-height:360px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.game-picker-option{cursor:pointer;border-radius:10px;align-items:center;gap:12px;min-height:44px;padding:8px 10px;display:flex}.game-picker-option.is-active{background:var(--color-surface-2)}.game-picker-option.is-on .game-picker-title{color:var(--color-accent-text);font-weight:600}.game-picker-empty{padding:12px}.game-picker-foot{padding:0 4px}.card .switch-row{background:var(--color-bg)}.fieldset .segmented{align-self:flex-start;width:max-content}.pin-stack{flex-direction:column;align-items:center;gap:12px;width:100%;max-height:100%;padding:8px 0;display:flex;overflow-y:auto}.android-app-card{border-radius:var(--radius-control);background:var(--color-surface);border:1px solid var(--color-border);text-align:center;width:min(340px,100% - 32px);padding:14px 16px}.pin-prompt{text-align:center;width:min(340px,100% - 32px);box-shadow:0 18px 50px var(--shadow-strong);align-items:center}.pin-prompt-icon{width:52px;height:52px;color:var(--color-accent-text);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:14px;justify-content:center;align-items:center;display:flex}.pin-input{text-align:center;letter-spacing:.4em;height:56px;font-size:26px}.lcard-title svg{color:var(--color-text-muted);vertical-align:-1px;margin-right:6px}.room-side .side-tools{align-items:center;gap:4px;margin-left:auto;display:flex}.chat-typing{align-items:center;gap:10px;padding:4px 0;display:flex}.typing-dots{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:16px 16px 16px 4px;gap:4px;padding:9px 12px;display:inline-flex}.typing-dots i{background:var(--color-text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.typing-dots i{opacity:.8;animation:none}}.invite-dialog{width:min(640px,100%)}.invite-grid{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:20px;display:grid}.invite-qr{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.qr{border-radius:12px;display:block}.invite-code{letter-spacing:.08em;color:var(--color-text);flex-grow:1;font-size:22px}.invite-actions{flex-wrap:wrap}@media (width<=560px){.invite-grid{grid-template-columns:minmax(0,1fr)}.invite-qr .qr{width:180px;height:180px}}.join-code{align-items:center;gap:8px;display:flex}.join-code .input{text-align:center;letter-spacing:.08em;width:170px}@media (width<=560px){.join-code{width:100%}.join-code .input{flex:1;width:auto}}.players-capsule{z-index:3;-webkit-backdrop-filter:blur(10px);background:#0c0e14b8;border:1px solid #ffffff14;border-radius:999px;flex-direction:column;gap:10px;padding:10px 8px;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%);box-shadow:0 10px 30px #00000059}.capsule-seat{display:flex;position:relative}.capsule-avatar{border:2px solid var(--port-color);background:color-mix(in srgb, var(--port-color) 26%, var(--color-surface));width:48px;height:48px;color:var(--color-text);cursor:default;font:700 15px var(--font-title);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:box-shadow .12s,transform .12s;display:flex;position:relative}button.capsule-avatar{cursor:pointer}button.capsule-avatar:hover,button.capsule-avatar[aria-expanded=true]{transform:scale(1.06)}.capsule-avatar.is-free{color:var(--port-color);background:0 0;border-style:dashed}.capsule-avatar.is-waiting{animation:1.2s ease-in-out infinite swap-wait}.capsule-port{background:var(--port-color);color:var(--color-bg);font:700 9px var(--font-title);border-radius:999px;padding:1px 5px;line-height:13px;position:absolute;top:-6px;left:-4px}.capsule-avatar.is-free .capsule-port{color:var(--port-color);background:0 0;padding:0;font-size:12px;position:static}.capsule-initials:empty{display:none}.capsule-badge{background:var(--color-surface);border:1px solid var(--color-border-strong);width:18px;height:18px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-3px;right:-3px}.capsule-badge.is-silenced{color:var(--color-danger-text)}.capsule-menu{z-index:5;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:12px;flex-direction:column;gap:2px;min-width:220px;padding:6px;display:flex;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%);box-shadow:0 16px 40px #00000080}.capsule-menu-title{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:260px;padding:6px 10px 4px;font-size:12px;overflow:hidden}.capsule-menu button{min-height:40px;color:var(--color-text);font:500 14px var(--font-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:0 10px;display:flex}.capsule-menu button:hover:not(:disabled){background:var(--color-surface-2)}.capsule-menu button:disabled{color:var(--color-text-muted);cursor:default}@media (prefers-reduced-motion:reduce){.capsule-avatar{transition:none}.capsule-avatar.is-waiting{animation:none}}.video-stage.has-touchpad .players-capsule{flex-direction:row;gap:8px;padding:6px 10px;top:calc(56% + 58px);left:50%;right:auto;transform:translate(-50%)}.video-stage.has-touchpad .capsule-avatar{width:38px;height:38px;font-size:12px}.video-stage.has-touchpad .capsule-menu{inset:auto auto calc(100% + 10px) 50%;transform:translate(-50%)}@media (width<=560px){.players-capsule{gap:6px;padding:6px 5px;right:8px}.capsule-avatar{width:38px;height:38px;font-size:12px}}.stream-info{z-index:7;position:absolute}.stream-info-button{border:1px solid var(--color-border-input);width:32px;height:32px;color:var(--color-text-2);cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#0c0e14b8;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.stream-info-button:hover,.stream-info-button[aria-expanded=true]{color:var(--color-text);border-color:var(--color-border-strong)}.stream-info.is-relay .stream-info-button{color:var(--color-accent-text);border-color:var(--color-accent)}.stream-info-panel{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:12px;flex-direction:column;gap:8px;width:240px;padding:10px 12px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px #00000080}.stream-info-panel dl{flex-direction:column;gap:6px;margin:0;display:flex}.stream-info-row{justify-content:space-between;gap:12px;font-size:13px;display:flex}.stream-info-row dt{color:var(--color-text-muted)}.stream-info-row dd{color:var(--color-text);margin:0}.stream-info-panel p{margin:0}.stream-info-row dt,.stream-info-row dd{white-space:nowrap}.button,.button-compact,.button-small,.button-large{border-radius:999px;gap:6px;height:36px;min-height:36px;padding:0 16px;font-size:13px;font-weight:600}.button-ghost{padding:0 12px}.button-small{align-self:auto}.icon-button,.icon-button-small{border-radius:50%;width:36px;height:36px}.icon-button svg{flex-shrink:0}.icon-text-button{height:36px;min-height:36px}.input,.input-small,.input-large{border-radius:999px;height:36px;padding:0 16px;font-size:14px}.input.pin-input{border-radius:14px;height:56px;font-size:26px}.dash-search{border-radius:999px;height:36px;padding:0 14px}.roms-view{border-radius:999px;padding:3px}.roms-view button{border-radius:999px;width:38px;height:28px}.filter-chip,.roms-chips button{height:36px;min-height:36px}.groom-icon{border-radius:50%;width:36px;height:36px}.lrow .groom-icon{width:36px;height:36px}.start-button{min-width:48px;height:36px;min-height:36px;padding:0 14px;font-size:12px}.switch-row{border-radius:14px}:where(.button,.icon-button,.groom-icon,.start-button){position:relative}@media (pointer:coarse){:where(.button,.icon-button,.groom-icon,.start-button):before{content:"";position:absolute;inset:-4px}}@media (hover:hover){[data-tip]:hover:after,[data-tip]:focus-visible:after{content:attr(data-tip);background:var(--color-text);color:var(--color-bg);font:600 12px var(--font-text);white-space:nowrap;pointer-events:none;z-index:20;border-radius:999px;padding:5px 10px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 6px 16px #00000059}.tip-below[data-tip]:hover:after,.tip-below[data-tip]:focus-visible:after{top:calc(100% + 8px);bottom:auto}}.lcard .groom-icon{width:36px;height:36px}.video-toolbar{-webkit-backdrop-filter:blur(10px);z-index:4;background:#0c0e14d1;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:8px;padding:6px;display:flex;bottom:14px;left:50%;right:auto;transform:translate(-50%);box-shadow:0 10px 30px #0006}.video-toolbar .icon-button{border-color:var(--color-border-input);color:var(--color-text-2);background:#161a23d9}.video-toolbar .icon-button.is-on,.video-toolbar .video-sound:not(.is-muted){border-color:var(--color-accent);color:var(--color-accent-text)}.dock-group{border-right:1px solid var(--color-border-input);align-items:center;gap:6px;margin-right:2px;padding-right:8px;display:flex}.dock-group .start-button{background:#161a23d9}.voice-control{position:relative}.mic-toggle.is-on{background:var(--color-voice)!important;border-color:var(--color-voice)!important;color:var(--color-bg)!important}.mic-toggle:not(.is-on):not(.is-locked){background:var(--color-danger-bg)!important;border-color:var(--color-danger-border)!important;color:var(--color-danger-text)!important}.mini-meter{align-items:flex-end;gap:2px;height:16px;display:inline-flex}.mini-meter i{background:var(--color-divider);border-radius:2px;width:3px}.mini-meter i:first-child{height:5px}.mini-meter i:nth-child(2){height:8px}.mini-meter i:nth-child(3){height:11px}.mini-meter i:nth-child(4){height:14px}.mini-meter i:nth-child(5){height:16px}.mini-meter i.is-lit{background:var(--color-voice)}.voice-pop{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border-strong);text-align:left;flex-direction:column;gap:10px;width:290px;padding:14px 16px;display:flex;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%);box-shadow:0 16px 40px #00000080}.voice-pop .volume{align-items:center;gap:12px;display:flex}.voice-pop .volume input{flex:1}.voice-pop kbd{font:500 11px var(--font-mono);border:1px solid var(--color-border-strong);border-radius:4px;padding:1px 5px}.icon-button-danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.swap-toast{z-index:5;border-radius:999px;width:max-content;max-width:calc(100% - 180px);margin:0;padding:6px 6px 6px 16px;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #00000073}.swap-toast .grow{font-size:14px}.chat-message{align-self:flex-start;max-width:88%}.chat-message .chat-text{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:14px 14px 14px 4px;padding:8px 12px;display:block}.chat-message.is-you{align-self:flex-end;align-items:flex-end}.chat-message.is-you .chat-meta{justify-content:flex-end}.chat-message.is-you .chat-text{background:var(--tint-you-bg);border-color:var(--tint-you-border);border-radius:14px 14px 4px}.room-hero .hero-tile{border-radius:12px;width:52px;height:52px}.room-hero .hero-tile img{border-radius:11px}.room-hero .dash-title{font-size:26px}.room-hero .dash-hero-id{gap:14px}.room-hero .dash-hero-actions{gap:8px}@media (width<=560px){.video-toolbar{gap:6px;padding:5px}.swap-toast{white-space:normal;max-width:calc(100% - 24px)}}.video-stage.has-touchpad .video-toolbar{left:50%;right:auto;transform:translate(-50%)}.platform-chip{border-radius:999px;height:36px;min-height:36px}.dash-segmented{border-radius:999px}.dash-segmented button{border-radius:999px;min-height:28px}.dash-link-row{border-radius:999px;min-height:36px;padding:0 16px}.grooms-toast{border-radius:999px}.game-picker-button{border-radius:999px;min-height:56px;padding:6px 18px 6px 8px}.game-picker-button .roms-mini-screen{border-radius:50%}.join-code .input{width:170px}@media (width>=1101px){.room-page .video-stage:not(.is-pseudo-fullscreen):not(.is-fullscreen){height:calc(100dvh - 200px);min-height:440px;max-height:1000px}}.voice-pop .volume{flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;width:100%;display:flex}.voice-pop .volume>span{text-align:left;flex-shrink:0;width:48px}.voice-pop .volume input{flex:1;width:auto;min-width:0}.video-stage{--ctl:clamp(28px, 4.6vh, 36px)}.players-capsule{gap:10px;padding:8px 6px;top:50%;left:14px;right:auto;transform:translateY(-50%)}.capsule-avatar{width:var(--ctl);height:var(--ctl);font-size:calc(var(--ctl) * .36);border-width:2px}.capsule-avatar.is-you{border-width:2.5px}.capsule-avatar.is-speaking{box-shadow:0 0 0 2px var(--color-voice), 0 0 12px var(--color-voice)}.capsule-port{padding:0 4px;font-size:8px;line-height:12px;top:-6px;left:-6px}.capsule-avatar.is-free .capsule-port{font-size:calc(var(--ctl) * .3)}.capsule-badge{width:15px;height:15px;bottom:-4px;right:-4px}.capsule-menu{left:calc(100% + 12px);right:auto}.video-toolbar{flex-direction:column;gap:8px;padding:8px 6px;inset:50% 14px auto auto;transform:translateY(-50%)}.video-toolbar .icon-button,.video-toolbar .start-button{width:var(--ctl);height:var(--ctl);min-height:var(--ctl)}.video-toolbar .start-button{min-width:var(--ctl);font-size:calc(var(--ctl) * .3);padding:0}.video-toolbar svg{width:calc(var(--ctl) * .46);height:calc(var(--ctl) * .46)}.dock-group{border-right:none;border-bottom:1px solid var(--color-border-input);flex-direction:column;margin:0;padding:0 0 8px}.voice-pop{inset:50% calc(100% + 14px) auto auto;transform:translateY(-50%)}.dock-toggle{display:none}@media (hover:hover){.video-toolbar [data-tip]:hover:after,.video-toolbar [data-tip]:focus-visible:after{inset:50% calc(100% + 10px) auto auto;transform:translateY(-50%)}}@media (orientation:portrait){.video-stage.has-touchpad{--ctl:32px}.video-stage.has-touchpad .video-toolbar{flex-direction:row;padding:5px 8px;inset:calc(56% + 10px) auto auto 50%;transform:translate(-50%)}.video-stage.has-touchpad .dock-group{border-bottom:none;border-right:1px solid var(--color-border-input);flex-direction:row;padding:0 8px 0 0}.video-stage.has-touchpad .players-capsule{flex-direction:row;padding:5px 10px;top:calc(56% + 60px);left:50%;right:auto;transform:translate(-50%)}.video-stage.has-touchpad .capsule-avatar{width:var(--ctl);height:var(--ctl)}.video-stage.has-touchpad .voice-pop{inset:auto auto calc(100% + 12px) 50%;transform:translate(-50%)}.video-stage.has-touchpad .capsule-menu{inset:auto auto calc(100% + 10px) 50%;transform:translate(-50%)}.video-stage.has-touchpad.is-fullscreen .video-toolbar{top:auto;bottom:calc(var(--tp-dpad,180px) + 96px)}.video-stage.has-touchpad.is-fullscreen .players-capsule{top:auto;bottom:calc(var(--tp-dpad,180px) + 48px)}}@media (orientation:landscape) and (height<=560px){.video-stage.has-touchpad{--ctl:28px}.video-stage.has-touchpad .players-capsule,.video-stage.has-touchpad.is-fullscreen .players-capsule{top:54px;bottom:auto;left:max(12px, env(safe-area-inset-left));flex-direction:row;gap:6px;padding:5px 7px;right:auto;transform:none}.video-stage.has-touchpad .capsule-menu{inset:calc(100% + 8px) auto auto 0;transform:none}.video-stage.has-touchpad .dock-toggle{z-index:6;top:54px;right:max(12px, env(safe-area-inset-right));border-color:var(--color-border-input);color:var(--color-text-2);background:#0c0e14d1;display:inline-flex;position:absolute}.video-stage.has-touchpad .dock-toggle.is-on{border-color:var(--color-accent);color:var(--color-accent-text)}.video-stage.has-touchpad .video-toolbar,.video-stage.has-touchpad.is-fullscreen .video-toolbar{top:98px;bottom:auto;left:auto;right:max(12px, env(safe-area-inset-right));flex-direction:column;transform:none}.video-stage.has-touchpad .video-toolbar:not(.is-open){display:none}.video-stage.has-touchpad .dock-group{border-right:none;border-bottom:1px solid var(--color-border-input);flex-direction:column;padding:0 0 6px}.video-stage.has-touchpad .voice-pop{inset:0 calc(100% + 10px) auto auto;transform:none}}.video-stage.needs-pin{min-height:420px;padding:24px 0;aspect-ratio:auto!important;height:auto!important}.video-stage.needs-pin .video-toolbar,.video-stage.needs-pin .dock-toggle,.video-stage.needs-pin .video-controls,.video-stage.needs-pin .players-capsule{display:none}@media (width<=760px){.video-chip.video-controls{display:none}.dash-hero-actions>.icon-button{flex:none}.room-hero .dash-hero-actions{width:auto}}.touchpad{--tp-ring:linear-gradient(160deg, #f4f6fa 0%, #9aa3b5 30%, #4b5263 55%, #c9ced9 80%, #6d7486 100%)}.touchpad-button,.touchpad-dpad,.touchpad-pill{background:radial-gradient(circle at 50% 30%, #ffffff38, #ffffff0d 55%, #0000002e) padding-box, var(--tp-ring) border-box;color:#ffffffeb;text-shadow:0 1px 2px #000000b3;border:3px solid #0000;box-shadow:inset 0 2px 3px #ffffff59,inset 0 -4px 8px #00000073,0 4px 10px #0000008c}.touchpad-dpad{background:radial-gradient(circle at 50% 35%, #ffffff24, #ffffff08 60%, #0003) padding-box, var(--tp-ring) border-box}.touchpad-arrow{filter:drop-shadow(0 1px 1px #0009);background:#ffffff8c}.touchpad-button.is-on,.touchpad-pill.is-on{background:radial-gradient(circle at 50% 35%, #ffd08a, var(--color-accent) 60%, #b86d12) padding-box, var(--tp-ring) border-box;color:var(--color-on-accent);text-shadow:none;opacity:1;transform:scale(.94);box-shadow:inset 0 3px 8px #00000059,0 0 16px #f2a33a99}.touchpad-pill.is-mine{background:radial-gradient(circle at 50% 30%, #f2a33a47, #f2a33a14 60%) padding-box, var(--tp-ring) border-box;color:#ffd08a}@media (orientation:portrait){.video-stage.has-touchpad{flex-direction:column;justify-content:flex-start;align-items:center}.video-stage.has-touchpad .players-capsule,.video-stage.has-touchpad .video-toolbar,.video-stage.has-touchpad.is-fullscreen .players-capsule,.video-stage.has-touchpad.is-fullscreen .video-toolbar{flex-shrink:0;margin-top:10px;position:relative;inset:auto;transform:none}}@media (width<=560px){.room-hero .dash-chips .dash-chip:not(.is-live):not(.chip-keep){display:none}}.pill-guest,.dash-chip.chip-guest{border-color:var(--tint-voice-border);background:var(--tint-voice-bg);color:var(--color-voice);font-weight:600}.dot-guest{background:var(--color-voice)}.create-private{align-items:center;gap:6px;margin:0;display:flex}.header-icon{border-color:var(--color-border-input);color:var(--color-text-2)}.header-icon:hover{border-color:var(--color-border-strong);color:var(--color-text)}.header-icon.is-warning{border-color:var(--color-accent);color:var(--color-accent-text)}.header-device{color:var(--color-voice);border-color:var(--tint-voice-border);background:var(--tint-voice-bg)}.header-device-dot{background:var(--color-voice);border:2px solid var(--color-bg);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.pill-guest{box-sizing:border-box;height:36px}.grooms-filters,.roms-chips{gap:8px}.grooms-filters button,.roms-chips button{height:36px;min-height:36px;padding:0 14px}.grooms-filters+*,.roms-chips+*{margin-top:12px}.roms-main{gap:18px}.guest-eyebrow{align-items:center;gap:10px;display:inline-flex}.guest-field{align-items:center;display:flex;position:relative}.guest-field>svg{color:var(--color-text-faint);pointer-events:none;position:absolute;left:16px}.guest-field .input{text-align:left;letter-spacing:.12em;height:48px;padding-left:46px;font-size:18px}.guest-field:focus-within>svg{color:var(--color-accent-text)}.guest-window-body{flex-direction:column;gap:14px;padding:26px 28px;display:flex}.guest-sample-row{background:var(--color-bg);border:1px solid var(--color-border-input);border-radius:999px;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 16px;display:flex}.guest-sample-code{font-family:var(--font-mono);letter-spacing:.1em;color:var(--color-accent-text);font-size:22px}.guest-sample-code.is-pin{color:var(--color-voice)}.lobby-filter-row{align-items:center;gap:12px;display:flex}.lobby-filter-row .grooms-filters{flex:1;min-width:0}.lobby-filter-row>.icon-button{flex-shrink:0;align-self:flex-start}.lobby-filter-row+*{margin-top:12px}.lobby-filter-row>.icon-button{align-self:center;margin-top:0}.lobby-table-wrap{overflow:visible}.lrow .groom-menu{top:calc(100% + 6px);bottom:auto}.lcard{overflow:visible}.lcard-art{border-top-left-radius:var(--radius-card);border-bottom-left-radius:var(--radius-card);overflow:hidden}.skeleton{background:linear-gradient(90deg, var(--color-surface-2) 0%, var(--skeleton-shine) 40%, var(--color-surface-2) 80%);background-size:300% 100%;border-radius:8px;flex-shrink:0;max-width:100%;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}.skeleton.is-round{border-radius:999px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.skeleton-list{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}.skeleton-row{border-bottom:1px solid var(--color-divider);align-items:center;gap:18px;padding:12px 16px;display:flex}.skeleton-row:last-child{border-bottom:none}.skeleton-lines{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.skeleton-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.skeleton-cards.is-tall{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.skeleton-card{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);flex-direction:column;gap:12px;padding:12px;display:flex}@media (width<=760px){.skeleton-row>.skeleton:nth-child(n+4){display:none}}.list-more{justify-content:center;padding:16px 0 4px;display:flex}.history{flex-direction:column;gap:16px;min-width:0;display:flex}.history .grooms-filters{margin-top:0}.skeleton-hero{align-items:center;gap:18px;padding:8px 0 4px;display:flex}.skeleton-hero .skeleton-lines{gap:12px}.skeleton-chips{flex-wrap:wrap;gap:8px;display:flex}.video-stage{color:var(--color-text)}.hist-people{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.hist-people li{align-items:center;gap:6px;min-width:0;font-size:12px;display:flex}.hist-port{font:700 10px/16px var(--font-title);color:var(--color-bg);background:var(--color-p1);border-radius:999px;flex-shrink:0;padding:1px 6px}.hist-port.is-p2{background:var(--color-p2)}.hist-port.is-p3{background:var(--color-p3)}.hist-port.is-p4{background:var(--color-p4)}.hist-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.hist-ip{color:var(--color-text-faint);white-space:nowrap;font-size:11px}.icon-with-badge{position:relative}.icon-badge{box-sizing:border-box;background:var(--color-accent);min-width:18px;height:18px;color:var(--color-on-accent);font:700 10px/18px var(--font-text);text-align:center;pointer-events:none;border-radius:999px;padding:0 5px;position:absolute;top:-5px;right:-5px}@media (width>=900px){.room-hero{padding-top:14px}.room-hero .hero-tile{border-radius:11px;width:44px;height:44px}.room-hero .dash-title{font-size:24px}.room-hero .dash-chips{margin-top:2px}.room-hero .hero-text{gap:2px}.room-page .room-layout{padding-top:14px}.room-page .video-stage{height:clamp(300px,100dvh - 240px,640px)}.room-page .room-main:has(.controls-panel) .video-stage{height:clamp(260px,46dvh,520px)}}.sound-hint{z-index:4;pointer-events:none;align-items:center;gap:6px;margin:0;display:flex;top:14px;left:50%;transform:translate(-50%)}.room-hero .icon-button.is-on{border-color:var(--color-accent);color:var(--color-accent-text)}.lp{box-sizing:border-box;flex-direction:column;gap:88px;width:100%;max-width:1240px;margin:0 auto;padding:40px 40px 72px;display:flex}.lp-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:48px;padding-top:16px;display:grid}.lp-hero-text{flex-direction:column;gap:18px;display:flex}.lp-title{font:700 clamp(36px, 5vw, 60px)/1.02 var(--font-title);letter-spacing:-.01em;margin:0}.lp-accent{color:var(--color-accent-text);display:block}.lp-lead{color:var(--color-text-2);max-width:560px;margin:0;font-size:18px;line-height:1.55}.lp-actions{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.lp-actions.is-centered{justify-content:center}.lp-cta{height:44px;padding:0 22px;font-size:15px}.lp-section{flex-direction:column;gap:12px;display:flex}.lp-h2{font:700 clamp(26px, 3.2vw, 38px)/1.1 var(--font-title);margin:0 0 12px}.lp-h3{font:700 18px/1.25 var(--font-title);margin:0}.lp-section-lead{max-width:720px;margin:-4px 0 16px;font-size:16px;line-height:1.55}.lp-scene{flex-direction:column;gap:14px;margin:0;display:flex}.lp-screen{box-shadow:0 30px 80px var(--shadow-strong), inset 0 0 0 1px #2a3040;aspect-ratio:480/280;background:#05060a;border:10px solid #1b2030;border-radius:20px;position:relative;overflow:hidden}.lp-svg{width:100%;height:100%;display:block}.lp-scanlines{pointer-events:none;mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#0000002e 0 1px,#0000 1px 3px);position:absolute;inset:0}.lp-hud{font:700 12px var(--font-title);fill:#fff;letter-spacing:.1em}.lp-clock{font:700 20px var(--font-mono);fill:#fff}.lp-hp{transform-box:fill-box}.lp-hp1{transform-origin:100%;animation:6s step-end infinite lp-hp1}.lp-hp2{transform-origin:0%;animation:6s step-end infinite lp-hp2}.lp-f1{animation:6s ease-in-out infinite lp-f1}.lp-f2{animation:6s ease-in-out infinite lp-f2}.lp-f1 .lp-arm{animation:6s ease-out infinite lp-punch}.lp-f2 .lp-arm{animation:6s ease-in-out infinite lp-guard}.lp-f2 .lp-leg{transform-box:fill-box;transform-origin:50% 0;animation:6s ease-out infinite lp-kick}.lp-spark{opacity:0}.lp-spark-on2{animation:6s linear infinite lp-spark2}.lp-spark-on1{animation:6s linear infinite lp-spark1}@keyframes lp-f1{0%,12%{transform:translate(0)}6%{transform:translateY(-2px)}18%,22%{transform:translate(24px)}30%,56%{transform:translate(0)}61%{transform:translate(-14px)}70%,74%{transform:translate(0)}80%,84%{transform:translate(24px)}92%,to{transform:translate(0)}}@keyframes lp-punch{0%,17%{transform:translate(0)}20%,23%{transform:translate(16px)}28%,79%{transform:translate(0)}82%,85%{transform:translate(16px,-6px)}90%,to{transform:translate(0)}}@keyframes lp-f2{0%,18%{transform:translate(0)}10%{transform:translateY(-2px)}23%{transform:translate(-16px)}32%,50%{transform:translate(0)}57%,62%{transform:translate(20px)}70%,80%{transform:translate(0)}85%{transform:translate(-16px,-4px)}94%,to{transform:translate(0)}}@keyframes lp-kick{0%,54%{transform:rotate(0)}58%,62%{transform:rotate(-82deg)}68%,to{transform:rotate(0)}}@keyframes lp-guard{0%,40%{transform:translate(0)}45%{transform:translate(-4px,-8px)}52%,to{transform:translate(0)}}@keyframes lp-hp1{0%{transform:scaleX(1)}60%{transform:scaleX(.72)}}@keyframes lp-hp2{0%{transform:scaleX(1)}22%{transform:scaleX(.74)}83%{transform:scaleX(.46)}}@keyframes lp-spark2{0%,20%{opacity:0}21%,25%{opacity:1}26%,81%{opacity:0}82%,86%{opacity:1}87%,to{opacity:0}}@keyframes lp-spark1{0%,58%{opacity:0}59%,63%{opacity:1}64%,to{opacity:0}}.lp-players{color:var(--color-text-2);align-items:center;gap:12px;display:flex}.lp-player{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.lp-player-badge{font:700 11px/18px var(--font-title);color:var(--color-bg);border-radius:999px;padding:2px 8px}.lp-player-badge.is-p1{background:var(--color-p1)}.lp-player-badge.is-p2{background:var(--color-p2)}.lp-link{flex:1;justify-content:center;align-items:center;min-width:60px;height:24px;display:flex;position:relative}.lp-link-line{background:repeating-linear-gradient(90deg, var(--color-voice) 0 8px, transparent 8px 16px);opacity:.7;background-size:16px 2px;height:2px;animation:.8s linear infinite lp-flow;position:absolute;top:50%;left:0;right:0}.lp-link-chip{background:var(--tint-voice-bg);border:1px solid var(--tint-voice-border);color:var(--color-voice);font:600 11px var(--font-text);border-radius:999px;padding:2px 10px;position:relative}@keyframes lp-flow{to{background-position:16px 0}}.lp-voice{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.lp-voice i{background:var(--color-voice);border-radius:2px;width:3px;animation:.9s ease-in-out infinite lp-voice}.lp-voice i:nth-child(2){animation-delay:.15s}.lp-voice i:nth-child(3){animation-delay:.3s}.lp-voice.is-late i{animation-delay:.45s}.lp-voice.is-late i:nth-child(2){animation-delay:.6s}.lp-voice.is-late i:nth-child(3){animation-delay:.75s}@keyframes lp-voice{0%,to{height:4px}50%{height:14px}}.lp-steps,.lp-features,.lp-pads{gap:18px;margin:0;padding:0;list-style:none;display:grid}.lp-steps{counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr))}.lp-step,.lp-feature,.lp-pad{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);flex-direction:column;gap:10px;padding:24px;display:flex;position:relative}.lp-step p,.lp-feature p{margin:0;line-height:1.55}.lp-step-number{font:700 44px/1 var(--font-title);color:var(--color-accent-text);opacity:.22;position:absolute;top:18px;right:22px}.lp-step-icon,.lp-feature-icon{background:var(--tint-accent-bg);border:1px solid var(--tint-accent-border);width:52px;height:52px;color:var(--color-accent-text);border-radius:14px;justify-content:center;align-items:center;display:flex}.lp-feature-icon{border-radius:12px;width:44px;height:44px}.lp-features{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-pads{grid-template-columns:repeat(4,minmax(0,1fr))}.lp-pad{text-align:center;align-items:center;gap:6px}.lp-pad svg{width:100%;max-width:220px;height:auto;margin-bottom:6px}.lp-flow{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:40px;display:grid}.lp-flow p{margin:0;line-height:1.6}.lp-flow-diagram{align-items:stretch;gap:0;margin:0;padding:0;list-style:none;display:flex}.lp-node{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);flex-direction:column;flex:1;gap:4px;padding:18px;display:flex;position:relative}.lp-node+.lp-node{margin-left:28px}.lp-node+.lp-node:before{content:"";background:repeating-linear-gradient(90deg, var(--color-accent) 0 6px, transparent 6px 10px);width:24px;height:2px;position:absolute;top:50%;left:-26px}.lp-node.is-middle{background:0 0;border-style:dashed}.lp-node strong{font-family:var(--font-title)}.lp-legal{border-radius:var(--radius-card);border:1px solid var(--color-border);background:var(--color-surface-sunken);padding:24px 28px}.lp-legal p{max-width:880px;margin:0;line-height:1.6}.lp-final{text-align:center;background:radial-gradient(circle at 50% 0%, var(--tint-accent-bg), transparent 70%), var(--color-surface);border:1px solid var(--color-border);border-radius:24px;align-items:center;padding:48px 24px}.lp-final p{margin:0 0 8px}.lp-join{width:min(460px,100% - 32px)}.lp-join-head{justify-content:space-between;align-items:center;gap:12px;display:flex}@media (width<=1000px){.lp-hero,.lp-flow{grid-template-columns:1fr}.lp-features,.lp-pads{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.lp{gap:56px;padding:24px 16px 48px}.lp-steps,.lp-features,.lp-pads{grid-template-columns:1fr}.lp-flow-diagram{flex-direction:column}.lp-node+.lp-node{margin-top:22px;margin-left:0}.lp-node+.lp-node:before{background:repeating-linear-gradient(0deg, var(--color-accent) 0 6px, transparent 6px 10px);width:2px;height:18px;top:-20px;left:50%}.lp-players{flex-wrap:wrap;justify-content:center}.lp-lead{font-size:16px}}@media (prefers-reduced-motion:reduce){.lp-f1,.lp-f2,.lp-arm,.lp-leg,.lp-hp1,.lp-hp2,.lp-spark,.lp-link-line,.lp-voice i{animation:none!important}}.lp-sound{z-index:2;color:#c4cad6;background:#0c0e14b8;border-color:#3a4256;position:absolute;bottom:12px;right:12px}.lp-sound.is-on{color:#f2a33a;border-color:#f2a33a}.panel-command{border-radius:var(--radius-control);background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text);margin:0;padding:10px 14px;font-size:13px;overflow-x:auto}.history-result{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.terms-check{grid-template-columns:auto 1fr;align-items:start;gap:4px 10px;display:grid}.terms-check input{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer;margin:2px 0 0}.terms-check label{color:var(--color-text-2);cursor:pointer;line-height:1.5}.terms-check a{color:var(--color-accent-text)}.terms-check .form-error{grid-column:2;margin:0}.legal-page{flex-direction:column;gap:20px;width:100%;max-width:980px;margin:0 auto;display:flex}.legal-toc ol{columns:2;column-gap:32px;margin:0;padding-left:20px}.legal-toc li{break-inside:avoid;margin:4px 0}.legal-toc a,.legal-text a{color:var(--color-accent-text)}.legal-text{flex-direction:column;gap:24px;padding:28px 32px;display:flex}.legal-text section{scroll-margin-top:16px}.legal-text h2{font-family:var(--font-title);margin:0 0 8px;font-size:20px}.legal-text p,.legal-text li{color:var(--color-text-2);margin:0 0 8px;line-height:1.65}.legal-text ul{margin:0;padding-left:20px}.site-footer{border-top:1px solid var(--color-divider);background:var(--color-surface);margin-top:48px}.site-footer-inner{grid-template-columns:2fr repeat(3,1fr);gap:32px;max-width:1200px;margin:0 auto;padding:36px 40px 24px;display:grid}.site-footer-brand p{max-width:320px;margin:0;line-height:1.55}.site-footer-col{flex-direction:column;gap:10px;display:flex}.site-footer-col a{color:var(--color-text-2);font-size:14px;text-decoration:none}.site-footer-col a:hover{color:var(--color-accent-text)}.site-footer-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 4px;font-size:13px;font-weight:600}.site-footer-bottom{border-top:1px solid var(--color-divider);flex-direction:column;gap:6px;max-width:1200px;margin:0 auto;padding:16px 40px 28px;display:flex}.site-footer-bottom p{margin:0;line-height:1.5}@media (width<=800px){.site-footer-inner{grid-template-columns:1fr 1fr;padding:28px 16px 20px}.site-footer-brand{grid-column:1/-1}.site-footer-bottom{padding:16px 16px 24px}.legal-toc ol{columns:1}.legal-text{padding:20px 18px}}.not-found{justify-content:center;align-items:center}.not-found-screen{text-align:center;border:1px solid var(--color-border);background:radial-gradient(circle at 50% 0%, var(--tint-accent-bg), transparent 70%), var(--color-surface);border-radius:24px;flex-direction:column;align-items:center;gap:12px;width:min(720px,100%);padding:40px 32px;display:flex}.not-found-code{font-family:var(--font-title);color:var(--color-accent-text);letter-spacing:.04em;margin:0;font-size:clamp(88px,18vw,160px);font-weight:700;line-height:.9}.not-found-over{font-family:var(--font-mono);letter-spacing:.3em;color:var(--color-text-2);margin:0 0 8px;font-size:18px}.not-found-text{max-width:520px;margin:0;line-height:1.6}.not-found-path{font-family:var(--font-mono);color:var(--color-text-2);word-break:break-all}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.not-found-coin{font-family:var(--font-mono);letter-spacing:.2em;color:var(--color-accent-text);margin:16px 0 0;font-size:13px;animation:1.2s step-end infinite not-found-blink}.site-footer-version code{font-family:var(--font-mono)}@keyframes not-found-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.not-found-coin{animation:none}}.docs-page{grid-template-columns:240px minmax(0,1fr) 200px;align-items:start;gap:40px;width:100%;max-width:1280px;margin:0 auto;display:grid}.docs-sidebar,.docs-toc{max-height:calc(100vh - 32px);position:sticky;top:16px;overflow-y:auto}.docs-menu-toggle{display:none}.docs-nav{flex-direction:column;gap:18px;display:flex}.docs-search{width:100%}.docs-group ul,.docs-toc ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.docs-group-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 6px;font-size:12px;font-weight:600}.docs-group a,.docs-toc a{border-radius:var(--radius-control);color:var(--color-text-2);padding:6px 10px;font-size:14px;text-decoration:none;display:block}.docs-group a:hover,.docs-toc a:hover{color:var(--color-text);background:var(--color-surface-2)}.docs-group a[aria-current=page]{color:var(--color-accent-text);background:var(--color-surface-selected);font-weight:600}.docs-toc a{border-left:2px solid var(--color-border);border-radius:0;padding:4px 10px;font-size:13px}.docs-article{flex-direction:column;gap:12px;min-width:0;display:flex}.docs-lead{margin:0;font-size:17px;line-height:1.6}.docs-body{flex-direction:column;gap:14px;margin-top:8px;display:flex}.docs-body h2{font-family:var(--font-title);margin:18px 0 0;scroll-margin-top:16px;font-size:22px}.docs-anchor{color:inherit;text-decoration:none}.docs-anchor:hover{color:var(--color-accent-text)}.docs-body p,.docs-body li{color:var(--color-text-2);margin:0;line-height:1.7}.docs-body ul,.docs-body ol{flex-direction:column;gap:6px;margin:0;padding-left:22px;display:flex}.docs-body a,.docs-lead a{color:var(--color-accent-text)}.docs-body code,.docs-lead code{font-family:var(--font-mono);background:var(--color-surface-2);color:var(--color-text);border-radius:6px;padding:1px 5px;font-size:.9em}.docs-steps{counter-reset:step;list-style:none;padding-left:0!important}.docs-steps li{counter-increment:step;padding-left:38px;position:relative}.docs-steps li:before{content:counter(step);width:26px;height:26px;color:var(--color-on-accent);background:var(--color-accent);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;position:absolute;top:1px;left:0}.docs-code{position:relative}.docs-code pre{border-radius:var(--radius-card);border:1px solid var(--color-border);background:var(--color-surface-sunken);margin:0;padding:16px 56px 16px 16px;overflow-x:auto}.docs-code pre code{white-space:pre;background:0 0;padding:0;font-size:13px;line-height:1.6}.docs-code>button{position:absolute;top:8px;right:8px}.docs-table{border:1px solid var(--color-border);border-radius:var(--radius-card);overflow-x:auto}.docs-table table{border-collapse:collapse;width:100%;font-size:14px}.docs-table th,.docs-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--color-divider);color:var(--color-text-2);padding:10px 14px}.docs-table thead th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;background:var(--color-surface);font-size:12px}.docs-table tbody th{color:var(--color-text);white-space:nowrap;font-weight:600}.docs-table tr:last-child th,.docs-table tr:last-child td{border-bottom:0}.docs-note{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:12px;padding:12px 16px}.docs-note-warn{border-color:var(--color-accent);background:var(--tint-accent-bg)}.docs-pager{border-top:1px solid var(--color-divider);justify-content:space-between;gap:16px;margin-top:24px;padding-top:20px;display:flex}.docs-pager-link{border:1px solid var(--color-border);border-radius:var(--radius-card);min-width:40%;color:var(--color-text);flex-direction:column;gap:2px;padding:12px 16px;text-decoration:none;display:flex}.docs-pager-link:hover{border-color:var(--color-accent)}.docs-pager-next{text-align:right;margin-left:auto}@media (width<=1100px){.docs-page{grid-template-columns:220px minmax(0,1fr)}.docs-toc{display:none}}@media (width<=800px){.docs-page{grid-template-columns:minmax(0,1fr);gap:16px}.docs-sidebar{max-height:none;position:static}.docs-menu-toggle{display:inline-flex}.docs-sidebar .docs-nav{margin-top:12px;display:none}.docs-sidebar.is-open .docs-nav{display:flex}.docs-pager{flex-direction:column}.docs-pager-link{min-width:0}}.docs-tabs{border:1px solid var(--color-border);border-radius:var(--radius-card);flex-direction:column;gap:0;display:flex;overflow:hidden}.docs-tablist{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;gap:0;display:flex}.docs-tab{appearance:none;color:var(--color-text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;min-height:44px;padding:12px 18px;font-size:14px;font-weight:600}.docs-tab:hover{color:var(--color-text)}.docs-tab[aria-selected=true]{color:var(--color-accent-text);border-bottom-color:var(--color-accent)}.docs-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.docs-tabpanel{flex-direction:column;gap:14px;padding:18px 20px;display:flex}.docs-tabpanel[hidden]{display:none}.dash-update{border-color:var(--color-accent);flex-flow:wrap;justify-content:space-between;align-items:center;margin-bottom:16px}@media (orientation:portrait) and (width<=700px){.video-stage:not(.has-touchpad){--ctl:28px}.video-stage:not(.has-touchpad) .video-toolbar{flex-flow:row;gap:5px;width:max-content;max-width:calc(100% - 12px);padding:4px 6px;inset:auto auto 6px 50%;overflow-x:auto;transform:translate(-50%)}.video-stage:not(.has-touchpad) .dock-group{border-bottom:none;border-right:1px solid var(--color-border-input);flex-direction:row;gap:5px;margin:0;padding:0 5px 0 0}.video-stage:not(.has-touchpad) .mini-meter{display:none}}.video-toolbar,.players-capsule{background:#0c0e1480}.video-toolbar,.players-capsule,.video-live,.stream-info,.console-title,.dock-toggle{transition:opacity .25s}.video-stage.is-idle{cursor:none}.video-stage.is-idle :is(.video-toolbar,.players-capsule,.video-live,.stream-info,.console-title,.dock-toggle){opacity:0;pointer-events:none}body .video-stage.has-touchpad.is-console{--tp-dpad:clamp(124px, 34vmin, 220px);--tp-button:clamp(50px, 13vmin, 84px);--ctl:clamp(30px, 4.2vmax, 36px);z-index:50;overscroll-behavior:none;background:radial-gradient(120% 70% at 50% 100%,#1d2231 0%,#10131b 60%,#0b0d12 100%);border:none;border-radius:0;place-items:stretch stretch;width:100vw;margin:0;inset:0;aspect-ratio:auto!important;height:100dvh!important;min-height:0!important;max-height:none!important;display:grid!important;position:fixed!important}body .video-stage.has-touchpad.is-console .touchpad{--tp-dpad:inherit;--tp-button:inherit;display:contents}body .video-stage.has-touchpad.is-console .video{object-fit:contain;background:#000;grid-area:screen;place-self:stretch stretch;min-width:0;min-height:0;aspect-ratio:auto!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important}body .video-stage.has-touchpad.is-console .touchpad-side{place-self:center;align-items:center;gap:22px;position:static}body .video-stage.has-touchpad.is-console .touchpad-left{grid-area:left}body .video-stage.has-touchpad.is-console .touchpad-right{grid-area:right}@media (orientation:portrait){body .video-stage.has-touchpad.is-console{--sy:env(safe-area-inset-top,0px);--sx:0px;--sw:100vw;--sh:min(calc(100vw / var(--ar,1.333)), 56dvh);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:var(--sy) var(--sh) minmax(0, 1fr);padding-bottom:env(safe-area-inset-bottom,0px);grid-template-areas:". .""screen screen""left right"}body .video-stage.has-touchpad.is-console .touchpad-side{flex-direction:column-reverse}body .video-stage.has-touchpad.is-console .video{border-bottom:1px solid #ffffff0f}body .video-stage.has-touchpad.is-console:after{content:"go-link";pointer-events:none;left:50%;top:calc(var(--sy) + var(--sh) + 14px);font-family:var(--font-title);letter-spacing:.08em;color:#ffffff38;font-size:13px;font-style:italic;font-weight:700;position:absolute;transform:translate(-50%)}}@media (orientation:landscape){body .video-stage.has-touchpad.is-console{--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--tp-dpad:clamp(88px, min(30dvh, 14vw), 200px);--tp-button:clamp(32px, min(11.5dvh, 5vw), 76px);--tp-gap:clamp(6px, 2.4dvh, 12px);--pad-l:calc(var(--tp-dpad) + 28px + var(--safe-l));--pad-r:calc(3 * var(--tp-button) + 2 * var(--tp-gap) + 28px + var(--safe-r));--side:max(var(--pad-l), var(--pad-r), calc((100vw - 100dvh * var(--ar,1.333)) / 2));--sx:var(--side);--sw:calc(100vw - 2 * var(--side));--sh:min(100dvh, calc(var(--sw) / var(--ar,1.333)));--sy:calc((100dvh - var(--sh)) / 2);grid-template-columns:var(--side) minmax(0, 1fr) var(--side);grid-template-rows:100%;grid-template-areas:"left screen right"}body .video-stage.has-touchpad.is-console .touchpad-side{box-sizing:border-box;flex-direction:column;gap:clamp(8px,4dvh,16px);max-width:100%}body .video-stage.has-touchpad.is-console .touchpad-buttons{gap:var(--tp-gap)}body .video-stage.has-touchpad.is-console .touchpad-pill{min-height:clamp(30px,10dvh,40px)}body .video-stage.has-touchpad.is-console .touchpad-starts{flex-wrap:wrap;justify-content:center}body .video-stage.has-touchpad.is-console .touchpad-starts .touchpad-pill{padding:0 clamp(8px,2.6dvh,12px)}body .video-stage.has-touchpad.is-console .touchpad-left{padding-left:var(--safe-l)}body .video-stage.has-touchpad.is-console .touchpad-right{padding-right:var(--safe-r)}}body .video-stage.has-touchpad.is-console .video-live,body .video-stage.has-touchpad.is-console .video-controls,body .video-stage.has-touchpad.is-console .dock-toggle{display:none}.console-title{z-index:4;top:calc(var(--sy) + 10px);left:calc(var(--sx) + 10px);max-width:calc(var(--sw) * .5);color:var(--color-text);-webkit-backdrop-filter:blur(10px);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#0c0e1480;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:7px;padding:5px 11px 5px 9px;font-size:12px;font-weight:600;display:flex;position:absolute;overflow:hidden}.console-title:before{content:"";background:var(--color-accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}body .video-stage.has-touchpad.is-console .stream-info{top:calc(var(--sy) + 10px);right:calc(var(--sx) + 10px);left:auto}body .video-stage.has-touchpad.is-console .players-capsule{top:calc(var(--sy) + var(--sh) / 2);bottom:auto;left:calc(var(--sx) + 10px);flex-direction:column;gap:6px;margin:0;padding:6px 5px;position:absolute;right:auto;transform:translateY(-50%)}body .video-stage.has-touchpad.is-console .capsule-avatar{width:var(--ctl);height:var(--ctl);font-size:11px}body .video-stage.has-touchpad.is-console .capsule-menu{inset:0 auto auto calc(100% + 10px);transform:none}body .video-stage.has-touchpad.is-console .video-toolbar,body .video-stage.has-touchpad.is-console.is-fullscreen .video-toolbar{top:calc(var(--sy) + var(--sh) - var(--ctl) - 20px);bottom:auto;left:calc(var(--sx) + var(--sw) / 2);width:max-content;max-width:calc(var(--sw) - 16px);flex-flow:row;gap:6px;margin:0;padding:4px 6px;display:flex;position:absolute;right:auto;overflow-x:auto;transform:translate(-50%)}body .video-stage.has-touchpad.is-console .dock-group{border-bottom:none;border-right:1px solid var(--color-border-input);flex-direction:row;gap:6px;margin:0;padding:0 6px 0 0}body .video-stage.has-touchpad.is-console .voice-pop{inset:auto auto calc(100% + 12px) 50%;transform:translate(-50%)}body .video-stage.has-touchpad.is-console .video-paused{inset:auto;top:var(--sy);left:var(--sx);width:var(--sw);height:var(--sh)}body .video-stage.has-touchpad.is-console .sound-hint,body .video-stage.has-touchpad.is-console .swap-toast{top:calc(var(--sy) + 48px);left:calc(var(--sx) + var(--sw) / 2);max-width:calc(var(--sw) - 24px)}.console-tab{z-index:6;right:0;top:calc(var(--sy) + var(--sh) + 12px);width:38px;height:46px;color:var(--color-text-2);-webkit-backdrop-filter:blur(10px);cursor:pointer;background:#0c0e148c;border:1px solid #ffffff1f;border-right:none;border-radius:999px 0 0 999px;justify-content:center;align-items:center;padding:0 0 0 4px;display:flex;position:absolute}.console-tab .toggle-badge{top:2px;left:2px;right:auto}@media (orientation:landscape){.console-tab{top:12px}}.console-scrim{z-index:61;background:#00000073;border:none;padding:0;position:fixed;inset:0}.console-drawer{z-index:62;background:var(--color-surface);border-left:1px solid var(--color-border-strong);width:min(380px,90vw);padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) 0;visibility:hidden;flex-direction:column;transition:transform .22s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}@media (orientation:landscape){.console-drawer{width:min(100vw,max(340px,42vw))}}.console-drawer.is-open{visibility:visible;transform:none}@media (prefers-reduced-motion:reduce){.console-drawer{transition:none}}.drawer-head{border-bottom:1px solid var(--color-divider);flex-shrink:0;align-items:center;gap:6px;padding:6px 8px 0 10px;display:flex}.drawer-tabs{flex:1;align-items:flex-end;gap:2px;min-width:0;display:flex}.drawer-tab{height:var(--touch-min);cursor:pointer;font:600 15px var(--font-text);color:var(--color-text-muted);background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;display:flex}.drawer-tab.is-on{color:var(--color-text);border-bottom-color:var(--color-accent)}.drawer-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:-4px;border-radius:8px}.drawer-badge{box-sizing:border-box;background:var(--color-accent);min-width:18px;height:18px;color:var(--color-on-accent);font:700 11px/18px var(--font-text);text-align:center;border-radius:999px;padding:0 5px}.drawer-close{margin-bottom:4px}.drawer-panel{flex-direction:column;flex:1;min-height:0;display:flex}.drawer-panel[hidden]{display:none}.drawer-chat-log{overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 14px;display:flex;overflow-y:auto}.drawer-chat-log>:first-child{margin-top:auto}.console-drawer .chat-form{flex-shrink:0;gap:8px;padding:10px 12px}.console-drawer .chat-form .input{height:var(--touch-min);font-size:16px}.console-drawer .chat-form .icon-button{width:var(--touch-min);height:var(--touch-min)}.drawer-scroll{overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 14px;display:flex;overflow-y:auto}.drawer-seats{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.drawer-seat{background:var(--color-surface-2);border-radius:14px;align-items:center;gap:10px;min-height:48px;padding:6px 8px 6px 10px;display:flex}.drawer-seat.is-you{box-shadow:inset 0 0 0 1px var(--port-color,var(--color-accent))}.drawer-port{box-sizing:border-box;border:2px solid var(--port-color,var(--color-accent));width:34px;height:34px;color:var(--port-color,var(--color-accent));font:700 12px var(--font-title);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.drawer-seat.is-free .drawer-port{border-style:dashed}.drawer-seat.is-free .strong{color:var(--color-text-muted);font-weight:500}.drawer-seat-name{flex-direction:column;flex:1;gap:1px;min-width:0;font-size:14px;display:flex}.drawer-seat-name>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drawer-seat .button{flex-shrink:0}.drawer-seat .icon-button.is-on{color:var(--color-danger-text);border-color:var(--color-danger-border)}.drawer-summary{color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:4px;font-size:13px;display:flex}.drawer-section-title{color:var(--color-text-2);margin:8px 0 0;font-size:13px;font-weight:600}.drawer-swap-offer{gap:8px;margin:0;padding:10px 12px}.drawer-you{gap:14px}.console-drawer .name-form{flex-wrap:wrap}.console-drawer .name-form label{width:100%}.console-drawer .name-form .input{width:auto;min-width:0;height:var(--touch-min);flex:1;font-size:16px}.console-drawer .name-form .button{min-height:var(--touch-min)}.drawer-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.drawer-action{min-width:0;height:var(--touch-min);box-sizing:border-box;border:1px solid var(--color-border-strong);color:var(--color-text);cursor:pointer;font:500 14px var(--font-text);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 12px;text-decoration:none;display:flex}.drawer-action>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.drawer-action svg{flex-shrink:0}.drawer-action:hover{color:var(--color-text);background:var(--color-surface-2)}.drawer-action[aria-pressed=true]{border-color:var(--color-accent)}.drawer-action[aria-pressed=false]{color:var(--color-text-muted)}.drawer-action.is-danger{border-color:var(--color-danger-border);color:var(--color-danger-text)}.room-page.is-console-mode .dialog-backdrop{z-index:70}@media (width<=700px){.room-hero,.room-hero.page-hero{flex-wrap:nowrap;align-items:center;gap:10px;padding:8px 12px 0}.room-hero .hero-tile,.room-hero .dash-chips,.room-hero .hero-eyebrow{display:none}.room-hero .dash-hero-id{flex:1;min-width:0}.room-hero .dash-title{font-size:17px}.room-hero .room-title{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.room-hero .dash-hero-actions{flex-shrink:0;gap:6px;width:auto}.room-page .room-layout{padding-top:8px}}.header-tools{display:contents}.header-more,.main-nav svg{display:none}.nav-link{align-items:center;gap:6px;display:inline-flex}@media (width<=700px){.app-header,.app-header-main{height:56px;min-height:0;padding:0 12px;padding-top:env(safe-area-inset-top,0px);box-sizing:content-box;flex-wrap:nowrap;gap:8px}.app-header-main .header-left{gap:0;width:auto}.app-header-main .header-right{flex-wrap:nowrap;gap:8px;width:auto;margin-left:auto;position:relative}.brand-mark{width:30px;height:30px}.brand-name{font-size:18px}.header-more{display:inline-flex}.header-more.is-on{border-color:var(--color-accent);color:var(--color-accent-text)}.header-tools{display:none}.header-tools.is-open{z-index:30;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:18px;flex-wrap:wrap;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 24px);padding:12px;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 40px #00000073}.header-tools .icon-button[data-tip]:after{display:none}.app-header-main .main-nav{z-index:30;padding:4px 6px env(safe-area-inset-bottom,0px);background:color-mix(in srgb, var(--color-bg) 88%, transparent);border-top:1px solid var(--color-divider);-webkit-backdrop-filter:blur(14px);grid-auto-columns:1fr;grid-auto-flow:column;gap:0;font-size:11px;display:grid;position:fixed;bottom:0;left:0;right:0}.app-header-main .main-nav .nav-link{white-space:nowrap;border-bottom:none;flex-direction:column;justify-content:center;gap:3px;min-height:50px;padding:6px 0;font-weight:500}.app-header-main .main-nav .nav-link.is-active{color:var(--color-accent-text);font-weight:600}.main-nav svg{display:block}body{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}body:has(.room-page) .app-header-main .main-nav{display:none}body:has(.room-page){padding-bottom:0}body:has(.room-page) .app-header-main{height:48px}body:has(input:focus,textarea:focus,.dialog-backdrop) .app-header-main .main-nav{display:none}.page-title,.dash-title{font-size:28px}.page-title-xl{font-size:32px}.code-inputs{flex-wrap:nowrap;gap:8px}.code-group{gap:3px;min-width:0}.code-digit{border-radius:8px;width:calc(11.1111vw - 12.2222px);max-width:40px;height:48px;font-size:20px}.pair-title{font-size:28px}.grooms-toast{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}.video-rec{z-index:4;letter-spacing:.06em;color:#fff;background:#e0627ae6;border-color:#0000;align-items:center;gap:7px;font-weight:700;display:flex;top:50px;left:14px}.video-rec i{background:#fff;border-radius:50%;width:8px;height:8px;animation:1.2s steps(2,jump-none) infinite rec-blink}.video-rec .mono{letter-spacing:0;font-weight:600}@keyframes rec-blink{50%{opacity:.25}}body .video-stage.has-touchpad.is-console .video-rec{top:calc(var(--sy) + 44px);left:calc(var(--sx) + 10px)}.shot-note{z-index:6;pointer-events:none;align-items:center;gap:6px;display:flex;top:50%;left:50%;transform:translate(-50%,-50%)}.icon-button.video-record{color:var(--color-danger-text,#ff8a9e)}.icon-button.video-record.is-recording{color:#fff;background:#e0627ae6;border-color:#0000}.rec-dialog{flex-direction:column;gap:14px;width:min(560px,100%);display:flex}.rec-facts{background:var(--color-surface-2);border-radius:12px;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;padding:14px;font-size:13.5px;display:grid}.rec-facts dt{color:var(--color-text-muted)}.rec-facts dd{overflow-wrap:anywhere;margin:0}.rec-file{align-items:center;gap:12px;min-width:0;display:flex}.rec-file .mono{overflow-wrap:anywhere;color:var(--color-text-2)}.rec-file-icon{width:40px;height:40px;color:var(--color-info,#4fc3d9);background:#4fc3d924;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.rec-bar{background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;height:10px;overflow:hidden}.rec-bar i{background:var(--color-info,#4fc3d9);border-radius:999px;height:100%;transition:width .2s linear;display:block}.rec-bar-text{color:var(--color-text-2);flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.rec-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.rec-tiles div{background:var(--color-surface-2);border-radius:12px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.rec-tiles span{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-size:11px}.rec-tiles b{overflow-wrap:anywhere;font-size:14px;font-weight:600}.hist-recs{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.hist-recs li{flex-direction:column;gap:3px;display:flex}.hist-rec-line{white-space:nowrap;align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.rec-dot{background:#e0627a;border-radius:50%;flex-shrink:0;width:8px;height:8px}.hist-rec-actions{align-items:center;gap:6px;margin-top:4px;display:flex}.lrow-end{white-space:nowrap}.lrow-end>*+*{margin-left:6px}@media (width<=700px){.rec-tiles{grid-template-columns:1fr 1fr}}.rec-preview{flex-direction:column;gap:12px;display:flex}.rec-preview-video{background:#000;border-radius:12px;width:100%;max-height:42dvh}.rec-mix{background:var(--color-surface-2);border-radius:12px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.rec-mix-row{grid-template-columns:minmax(90px,auto) 1fr 56px;align-items:center;gap:12px;font-size:14px;display:grid}.rec-mix-row input{width:100%;accent-color:var(--color-accent);min-height:32px}.rec-mix-row b{text-align:right;font-weight:600}.rec-mix-row.is-off{color:var(--color-text-muted)}.rec-meter{color:var(--color-text-2);grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.rec-meter-bar{background:var(--color-bg);border-radius:999px;height:8px;overflow:hidden}.rec-meter-bar i{background:linear-gradient(90deg,#4fc3d9 0% 70%,#f2a33a 85%,#e0627a 100%) 0 0/100% 100%;height:100%;transition:width 80ms linear;display:block}.rec-meter.is-clipping{color:var(--color-danger-text);font-weight:600}.wz{grid-template-columns:minmax(0,1fr) minmax(0,2fr);grid-template-areas:"bar bar""text stage";align-items:start;gap:32px 44px;display:grid}.wz-stage{aspect-ratio:16/10;grid-area:stage;margin:0 24px 40px 0;animation:.45s ease-out wz-in;position:relative}.wz-shot{object-fit:cover;object-position:top left;border:1px solid var(--color-border);width:100%;height:100%;box-shadow:0 24px 60px var(--shadow-strong);background:var(--color-surface-sunken);border-radius:16px;display:block}.wz-inset{border:1px solid var(--color-border-strong);width:46%;box-shadow:0 20px 50px var(--shadow-strong);background:var(--color-surface-sunken);border-radius:12px;position:absolute;bottom:-40px;right:-24px;overflow:hidden}.wz-inset.is-phone{border:5px solid var(--color-surface-2);border-radius:20px;width:24%}.wz-inset img{width:100%;height:auto;display:block}.wz-text{flex-direction:column;grid-area:text;gap:14px;min-width:0;padding-top:6px;animation:.45s ease-out wz-in;display:flex}.wz-title{font-family:var(--font-title);margin:0;font-size:28px;font-weight:700;line-height:1.15}.wz-body{color:var(--color-text-2);margin:0;font-size:16px;line-height:1.6}.wz-bar{grid-area:bar;align-items:center;gap:20px;display:flex}.wz-segments{flex:1;gap:8px;min-width:0;display:flex}.wz-seg{cursor:pointer;text-align:left;min-width:0;min-height:44px;color:var(--color-text-muted);font:600 13px var(--font-text);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;gap:8px;padding:0;display:flex}.wz-seg.is-on{color:var(--color-text)}.wz-seg-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wz-track{background:var(--color-border);border-radius:999px;height:5px;display:block;overflow:hidden}.wz-track span{background:var(--color-accent);border-radius:999px;height:100%;display:block}.wz-controls{gap:8px;display:flex}.wz-controls .wz-toggle{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.wz-downloads{flex-direction:column;gap:12px;margin-top:4px;display:flex}.wz-platforms{flex-wrap:wrap;gap:8px;display:flex}.wz-platform{border:1px solid var(--color-border-input);background:var(--color-surface);min-height:40px;color:var(--color-text-2);font:500 14px var(--font-text);cursor:pointer;border-radius:999px;padding:0 16px}.wz-platform.is-on{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 14%, transparent);color:var(--color-accent-text);font-weight:600}.wz-get{align-self:flex-start}.wz-command{background:var(--color-bg);border:1px solid var(--color-border);font:500 12.5px/1.6 var(--font-mono);color:var(--color-text-2);white-space:pre-wrap;border-radius:12px;margin:0;padding:12px 14px;overflow-x:auto}.wz-mono{font-family:var(--font-mono);font-size:13px}.wz-faint{color:var(--color-text-muted);font-size:12px}@media (width<=900px){.wz{grid-template-columns:1fr;grid-template-areas:"bar""stage""text";gap:16px}.wz-seg-label{display:none}.wz-title{font-size:24px}.wz-stage{margin:0 0 28px}.wz-inset{bottom:-20px;right:8px}}@keyframes wz-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.wz-stage,.wz-text{animation:none!important}}.lp-phone{border:7px solid var(--color-surface-2);background:var(--color-video);box-shadow:0 24px 60px var(--shadow-strong);outline:1px solid var(--color-border);border-radius:30px;overflow:hidden}.lp-phone.is-accent{border-color:var(--color-accent)}.lp-phone img{width:100%;height:auto;display:block}.lp-chip{border:1px solid var(--tint-voice-border);background:var(--tint-voice-bg);height:36px;color:var(--color-voice);white-space:nowrap;border-radius:999px;align-items:center;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.lp-num{color:var(--color-accent-text)}.lp-band{background:var(--color-surface-sunken);box-shadow:0 0 0 100vmax var(--color-surface-sunken);clip-path:inset(0 -100vmax);padding-block:64px;position:relative}.lp-textlink{color:var(--color-accent-text,var(--color-accent));font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;min-height:24px;padding:0;font-weight:600;text-decoration:underline}.lp-soon{border:1px dashed var(--color-border-dashed);height:44px;color:var(--color-text-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:0 20px;font-size:15px;font-weight:500;display:inline-flex}.lp-app-downloads{flex-direction:column;gap:10px;display:flex}.lp-app-buttons{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.lp-app-meta{font-family:var(--font-mono)}.lp-guest-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.lp-guest-head .lp-h2{margin:0}.lp-guest-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:12px 0 0;padding:0;list-style:none;display:grid}.lp-guest-step{flex-direction:column;gap:12px;display:flex}.lp-guest-step p{min-height:3.1em;margin:0;line-height:1.55}.lp-guest-title{font:700 24px/1.2 var(--font-title);margin:0}.lp-guest-step .lp-phone{width:100%;max-width:300px;margin:6px auto 0}.lp-guest-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin-top:16px;padding:18px 22px;display:flex}.lp-guest-browser{margin:0}.lp-app{gap:48px}.lp-app-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:56px;display:grid}.lp-app-text{flex-direction:column;gap:18px;display:flex}.lp-app-text .lp-h2{margin:0;font-size:clamp(30px,4.2vw,52px)}.lp-app-note{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-2);border-radius:14px;align-items:center;gap:12px;max-width:540px;margin:0;padding:12px 16px;display:flex}.lp-app-note svg{color:var(--color-voice);flex-shrink:0}.lp-app-note strong{color:var(--color-text)}.lp-app-phones{height:640px;position:relative}.lp-app-phones .lp-phone{width:44%;max-width:270px;position:absolute}.lp-app-phones .is-back{top:30px;left:8%;transform:rotate(-6deg)}.lp-app-phones .is-front{top:0;left:46%}.lp-gallery-wrap{flex-direction:column;gap:16px;display:flex}.lp-gallery-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.lp-gallery-title{font-size:24px}.lp-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.lp-thumb{flex-direction:column;gap:8px;margin:0;display:flex}.lp-thumb figcaption{color:var(--color-text-2)}.lp-gallery>.is-wide{grid-column:span 2}.lp-thumb-button{border:1px solid var(--color-border);background:var(--color-surface-sunken);cursor:zoom-in;border-radius:14px;width:100%;height:260px;padding:0;transition:border-color .15s,transform .15s;display:block;overflow:hidden}.lp-thumb-button.is-phone{background:var(--color-video)}.lp-thumb-button img{object-fit:cover;object-position:top left;width:100%;height:100%;display:block}.lp-thumb-button.is-phone img{object-position:center top}.lp-thumb-button:hover{border-color:var(--color-accent);transform:translateY(-2px)}.lp-thumb-button:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.lp-lightbox{border:1px solid var(--color-border);background:var(--color-surface);width:min(1280px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--color-text);box-shadow:0 30px 80px var(--shadow-strong);border-radius:18px;padding:0}.lp-lightbox::backdrop{background:var(--backdrop)}.lp-lightbox-body{flex-direction:column;gap:12px;padding:16px;display:flex}.lp-lightbox-head{align-items:center;gap:12px;display:flex}.lp-lightbox-head h2{flex:1;min-width:0}.lp-lightbox-picture{justify-content:center;display:flex}.lp-lightbox-picture img{border-radius:12px;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 180px);display:block}.lp-lightbox-picture.is-phone img{border-radius:22px}.lp-lightbox-nav{justify-content:center;gap:12px;display:flex}.lp-lightbox-nav .lp-next svg{transform:scaleX(-1)}@media (width<=1000px){.lp-app-split{grid-template-columns:1fr}.lp-app-phones{height:min(640px,100vw)}}@media (width<=700px){.lp-guest-steps{scroll-snap-type:x mandatory;grid-template-columns:none;grid-auto-columns:78%;grid-auto-flow:column;gap:16px;padding-bottom:8px;overflow-x:auto}.lp-guest-step{scroll-snap-align:start}.lp-guest-step p{min-height:0}.lp-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lp-thumb-button{height:200px}.lp-band{padding-block:40px}.lp-app-phones{height:112vw}.lp-app-phones .lp-phone{width:50%}.lp-app-phones .is-back{left:2%}.lp-app-phones .is-front{left:46%}.lp-lightbox-body{padding:10px}}@media (prefers-reduced-motion:reduce){.lp-thumb-button{transition:none}.lp-thumb-button:hover{transform:none}}.dl-card{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);flex-direction:column;gap:18px;padding:22px 24px;display:flex}.dl-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dl-title{font-family:var(--font-title);margin:0;font-size:21px;font-weight:700}.dl-main{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:14px;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 16px;display:flex}.dl-icon{width:46px;height:46px;color:var(--color-accent-text);background:color-mix(in srgb, var(--color-accent) 14%, transparent);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.dl-main-text{flex-direction:column;flex:1;gap:2px;min-width:180px;display:flex}.dl-others{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dl-other{border:1px solid var(--color-border-input);min-height:44px;color:var(--color-text);border-radius:999px;justify-content:space-between;align-items:center;gap:8px;padding:0 14px;font-size:13.5px;text-decoration:none;display:flex}.dl-other:hover{border-color:var(--color-accent);color:var(--color-text)}.dl-foot{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.dl-version{background:var(--color-bg);color:var(--color-text-2);border-radius:999px;padding:3px 10px}.wz-dialog{flex-direction:column;gap:16px;width:min(1100px,100vw - 32px);max-height:calc(100dvh - 32px);display:flex;overflow:auto}.wz-dialog-head{justify-content:space-between;align-items:center;display:flex}@media (width<=700px){.dl-others{grid-template-columns:1fr 1fr}.dl-main .button{justify-content:center;width:100%}}.pair-card.is-focus{border-color:color-mix(in srgb, var(--color-accent) 55%, var(--color-border));box-shadow:0 0 0 4px color-mix(in srgb, var(--color-accent) 12%, transparent), 0 24px 60px var(--shadow-strong)}.pair-downloads{grid-column:1/-1}.appwin{flex-direction:column;gap:10px;margin:0;display:flex}.appwin-frame{box-shadow:0 30px 80px var(--shadow-strong);background:#1a1030;border:1px solid #ffffff1a;border-radius:14px;font-family:IBM Plex Sans,system-ui,sans-serif;overflow:hidden}.appwin-bar{background:#2a1f45;border-bottom:1px solid #ffffff14;align-items:center;gap:8px;height:34px;padding:0 12px;display:flex}.appwin-light{border-radius:50%;width:12px;height:12px}.appwin-light.is-red{background:#ff5f57}.appwin-light.is-yellow{background:#febc2e}.appwin-light.is-green{background:#28c840}.appwin-name{text-align:center;color:#d9d2ee;flex:1;margin-right:52px;font-size:13px;font-weight:600}.appwin-body{color:#fff;background:radial-gradient(90% 70% at 15% 30%,#aa5aff59 0%,#0000 60%),linear-gradient(140deg,#5b2bc8 0%,#3f1d98 45%,#1d1250 100%);flex-direction:column;gap:18px;padding:26px 24px 22px;display:flex}.appwin-head{align-items:flex-start;gap:18px;display:flex}.appwin-tile{background:linear-gradient(145deg,#d58cf5 0%,#9a47e8 50%,#6a2bd0 100%);border:1px solid #ffffff40;border-radius:20px;flex-shrink:0;place-items:center;width:76px;height:76px;display:grid;box-shadow:0 0 40px #be6eff73}.appwin-titles{flex-direction:column;gap:8px;min-width:0;display:flex}.appwin-title{font-size:26px;font-weight:700;line-height:1.15}.appwin-text{color:#d6cdef;font-size:13.5px;line-height:1.5}.appwin-card{background:#ffffff12;border:1px solid #ffffff24;border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.appwin-card hr{border:0;border-top:1px solid #ffffff2e;width:100%;margin:0}.appwin-step{align-items:flex-start;gap:12px;display:flex}.appwin-num{background:#9b4ee6;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.appwin-step-text{flex-direction:column;flex:1;gap:4px;min-width:0;font-size:14px;display:flex}.appwin-url{color:#d68cff;font-weight:700}.appwin-hint{color:#cfc4ea;font-size:12px}.appwin-btn{color:#fff;white-space:nowrap;background:#34313d;border-radius:4px;flex-shrink:0;padding:8px 12px;font-size:13px;font-weight:600}.appwin-code{justify-content:center;gap:14px;display:flex}.appwin-group{gap:6px;display:flex}.appwin-digit{width:34px;height:46px;font:500 24px var(--font-mono);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;place-items:center;display:grid}.appwin-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.appwin-countdown{color:#bfb3e0;font-size:12px}.appwin-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.appwin-status{color:#d6cdef;align-items:center;gap:7px;font-size:12px;display:inline-flex}.appwin-status i{background:#3ddc84;border-radius:50%;width:8px;height:8px}.appwin-open{background:linear-gradient(135deg,#a64ef0,#7b35d9);border:1px solid #ffffff4d;border-radius:999px;padding:9px 20px;font-size:14px;font-weight:600}@media (width<=520px){.appwin-body{padding:18px 14px}.appwin-tile{border-radius:16px;width:56px;height:56px}.appwin-title{font-size:21px}.appwin-code{gap:8px}.appwin-group{gap:3px}.appwin-digit{width:26px;height:38px;font-size:19px}}.voice-pop.has-devices{overscroll-behavior:contain;width:340px;max-height:max(380px,100dvh - 240px);overflow-y:auto}.audio-devices{flex-direction:column;gap:12px;display:flex}.audio-divider{font:600 11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);align-items:center;gap:10px;display:flex}.audio-divider:before,.audio-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.audio-field{flex-direction:column;gap:8px;display:flex}.audio-label{color:var(--color-text-2);align-items:center;gap:8px;font-size:13px;display:flex}.audio-row{gap:8px;display:flex}.audio-select{background:var(--color-surface-sunken);flex:none;width:100%;height:40px}.audio-row .audio-select{flex:1 1 0;width:auto}.audio-test{flex-shrink:0;height:40px;min-height:40px}.audio-pick{align-self:flex-start}.audio-test-meter{align-items:center;gap:8px;display:flex}.audio-meter{gap:3px;display:inline-flex}.audio-meter i{background:var(--color-border);border-radius:2px;width:6px;height:12px}.audio-meter i.is-lit{background:var(--color-voice)}.audio-note{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-2);border-radius:16px;gap:12px;margin:0;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.audio-note svg{color:var(--color-voice);flex-shrink:0}.audio-test-wide{width:100%;height:44px;min-height:44px}.audio-remembered{line-height:1.45}.audio-toast{z-index:6;background:var(--color-surface-2);border-color:var(--color-border-strong);pointer-events:none;align-items:center;gap:10px;max-width:calc(100% - 28px);margin:0;padding:10px 16px;font-size:14px;display:flex;bottom:14px;left:14px;box-shadow:0 20px 50px #00000080}.audio-toast svg{color:var(--color-accent-text);flex-shrink:0}body .video-stage.has-touchpad.is-console .audio-toast{top:calc(var(--sy) + 48px);bottom:auto;left:calc(var(--sx) + var(--sw) / 2);width:max-content;max-width:calc(var(--sw) - 24px);transform:translate(-50%)}.sheet-scrim{z-index:71;background:var(--backdrop);cursor:default;border:none;padding:0;position:fixed;inset:0}.voice-pop.is-sheet{z-index:72;width:auto;max-height:88dvh;padding:14px 22px calc(24px + env(safe-area-inset-bottom));border:none;border-top:1px solid var(--color-border-strong);border-radius:26px 26px 0 0;gap:14px;overflow-y:auto;position:fixed!important;inset:auto 0 0!important;transform:none!important}.voice-pop.is-sheet>.strong{font-size:17px}.voice-pop.is-sheet .audio-select,.voice-pop.is-sheet .audio-test{height:48px;min-height:48px;font-size:15px}.voice-pop.is-sheet .audio-test-wide{height:48px;min-height:48px}.voice-pop.is-sheet .volume input{min-height:44px}.sheet-handle{background:var(--color-border-strong);border-radius:3px;flex-shrink:0;align-self:center;width:44px;height:5px}.name-field-row{align-items:center;gap:8px;width:100%;display:flex}.name-field-row .input{flex:1;min-width:0}.name-hint-row{width:100%;color:var(--color-text-muted);justify-content:space-between;gap:12px;display:flex}.name-hint.is-error,.name-count.is-error{color:var(--color-danger-text)}.name-count{color:var(--color-text-faint);white-space:nowrap}.input.is-invalid,.input.is-invalid:focus{border-color:var(--color-danger-text)}.input.name-input-large{background:var(--color-surface-sunken);border-width:1.5px;border-radius:999px;height:54px;padding:0 20px;font-size:18px;font-weight:500}.input.name-input-large:not(.is-invalid):focus{border-color:var(--color-accent);outline:none}.name-form{flex-wrap:wrap}.name-form label{width:100%}.name-overlay{z-index:30;background:var(--backdrop);justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.name-step{width:min(400px,100%);box-shadow:0 30px 80px var(--shadow-strong);color:var(--color-text);flex-direction:column;gap:12px;display:flex}.name-step-icon{width:60px;height:60px;color:var(--color-accent-text);background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:18px;justify-content:center;align-items:center;display:flex}.name-step-title{font:700 28px/1.1 var(--font-title);margin:0}.name-step-text{color:var(--color-text-2);margin:0;line-height:1.5}.name-step-label{color:var(--color-text-2);padding-top:4px;font-size:14px}.name-step-remember{text-align:center;color:var(--color-text-faint);margin:6px 0 0}.name-step .button-block{min-height:48px}.pause-ask{box-sizing:border-box;background:var(--color-surface);border:1px solid var(--color-border-strong);width:min(400px,100% - 32px);box-shadow:0 30px 80px var(--shadow-strong);color:var(--color-text);border-radius:22px;flex-direction:column;gap:12px;padding:22px;display:flex}.pause-ask-head{align-items:center;gap:12px;display:flex}.pause-ask-port{height:30px;font:700 14px var(--font-title);color:var(--color-text);border:1.5px solid var(--port-color);border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.pause-ask-title{overflow-wrap:anywhere;min-width:0;font-size:18px;font-weight:600}.pause-ask-text{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.5}.pause-ask-actions{gap:10px;display:flex}.pause-ask-actions .button{min-height:var(--touch-min);flex:1}.pause-ask-expires{color:var(--color-text-faint);margin:0}.pause-ask-stage{z-index:25;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pause-ask-notices{z-index:90;flex-direction:column;gap:12px;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.pause-ask-notices .pause-ask{width:min(380px,100vw - 32px)}.pause-asked{gap:10px}.pause-note{z-index:6;background:var(--color-surface-2);border-color:var(--color-border-strong);pointer-events:none;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 28px);margin:0;padding:8px 14px;font-size:14px;display:flex;top:14px;left:50%;transform:translate(-50%)}.pause-note svg{color:var(--color-accent-text);flex-shrink:0}.video-pause-ask[aria-disabled=true]{opacity:.55;cursor:not-allowed}.drawer-action.is-primary{border-color:var(--color-accent);color:var(--color-accent-text)}body .video-stage.has-touchpad.is-console .pause-ask-stage{top:calc(var(--sy) + var(--sh) / 2);left:calc(var(--sx) + var(--sw) / 2)}body .video-stage.has-touchpad.is-console .pause-note{top:calc(var(--sy) + 48px);left:calc(var(--sx) + var(--sw) / 2);max-width:calc(var(--sw) - 24px)}.test-controller-body{grid-template-columns:minmax(0,3fr) minmax(260px,2fr);align-items:start;gap:20px;display:grid}.test-controller-stage{border-radius:var(--radius-card);background:var(--color-video);border:1px solid var(--color-border);min-height:280px;color:var(--color-text);padding:16px;position:relative;overflow:hidden}.test-pad{width:100%;height:auto;display:block}.tc-box{fill:var(--tc-black);stroke:var(--tc-line);stroke-width:2px}.tc-lamp{fill:var(--tc-lamp-off);transition:fill 40ms}.tc-lamp.is-on{fill:var(--tc-lamp-on)}.tc-line{fill:var(--tc-line)}.tc-ring{fill:var(--tc-black);stroke:var(--tc-line);stroke-width:3px}.tc-text{fill:var(--tc-text);font-family:var(--font-title);pointer-events:none;font-weight:700}.tc-text.is-on{fill:var(--tc-text-on)}.test-controller-info{flex-direction:column;gap:16px;display:flex}.test-controller-info .card-title{align-items:center;gap:8px;display:flex}.test-controller-pressed{min-height:1.5em;margin:0;font-weight:600}.test-controller-latency{margin:0;font-size:22px}.test-controller-pads{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.test-controller-stage:has(.touchpad){min-height:min(70vh,520px)}@media (width<=800px){.test-controller-body{grid-template-columns:minmax(0,1fr)}}.input.is-invalid:focus-visible{outline-color:var(--color-danger-text)}.input.name-input-large.is-invalid{border-color:var(--color-danger-text)}.select{border:1px solid var(--color-border-input);background:var(--color-bg);min-width:0;max-width:100%;height:36px;color:var(--color-text);font:14px var(--font-text);text-align:left;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 16px;display:inline-flex;position:relative}.select:hover:not(:disabled){border-color:var(--color-border-strong)}.select:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.select.is-open{border-color:var(--color-accent)}.select:disabled{cursor:not-allowed;opacity:.55}.select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select-chevron{color:var(--color-text-muted);flex-shrink:0}.select.is-open .select-chevron{color:var(--color-accent-text);transform:rotate(180deg)}.select.select-sm{height:32px;padding:0 10px 0 12px;font-size:13px}@media (pointer:coarse){.select:before{content:"";position:absolute;inset:-4px}}.select-list{z-index:1000;box-sizing:border-box;overscroll-behavior:contain;border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border-strong);box-shadow:0 18px 50px var(--shadow-strong);color:var(--color-text);font:14px var(--font-text);outline:none;margin:0;padding:6px;list-style:none;position:fixed;overflow-y:auto}.select-option{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:10px;min-height:36px;padding:6px 14px 6px 10px;display:flex}.select-option+.select-option{margin-top:2px}.select-option.is-active{background:var(--color-surface-selected);box-shadow:inset 0 0 0 1px var(--color-accent)}.select-option[aria-selected=true]{color:var(--color-accent-text);font-weight:600}.select-check{visibility:hidden;color:var(--color-accent-text);flex-shrink:0}.select-option[aria-selected=true] .select-check{visibility:visible}.select-option-text{flex-direction:column;min-width:0;display:flex}.select-option-label{overflow-wrap:anywhere}.select-option-detail{color:var(--color-text-muted);font-size:12px;font-weight:400}@media (pointer:coarse){.select-option{min-height:var(--touch-min);font-size:15px}}.picture-layer{pointer-events:none;position:absolute;inset:0}.picture-canvas{width:100%;height:100%;display:block}body .video-stage.has-touchpad.is-console .picture-layer{inset:auto;left:var(--sx);top:var(--sy);width:var(--sw);height:var(--sh)}.picture-split{border-left:2px solid var(--color-text);width:0;box-shadow:0 0 0 1px var(--shadow-strong);position:absolute;top:0;bottom:0}.picture-split-handle{background:var(--color-bg);border:2px solid var(--color-text);width:36px;height:36px;color:var(--color-text);pointer-events:auto;cursor:ew-resize;touch-action:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.picture-split-handle:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}@media (pointer:coarse){.picture-split-handle:before{content:"";position:absolute;inset:-4px}}.picture-split-label{white-space:nowrap;background:var(--color-bg);border:1px solid var(--color-border-input);color:var(--color-text-2);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;position:absolute;bottom:12px}.picture-split-label.is-before{right:10px}.picture-split-label.is-after{left:10px}.picture-control{position:relative}.picture-compare{border-radius:999px;align-self:flex-start;height:36px;min-height:36px}.picture-compare.is-on{border-color:var(--color-accent);color:var(--color-accent-text)}.picture-pop{width:300px}.picture-reset,.picture-set-default{border-radius:999px;align-self:flex-start;height:36px;min-height:36px}.picture-room-default{overflow-wrap:anywhere}.video-stage:not(.has-touchpad) .video-toolbar .picture-control{position:static}.voice-pop.picture-pop:not(.is-sheet){overscroll-behavior:contain;max-height:min(420px,100dvh - 190px);overflow-y:auto}.voice-pop.picture-pop.is-sheet{width:auto}.test-controller-screen{margin:0}.picture-demo{flex-direction:column;gap:16px;display:flex}.picture-demo-stage{aspect-ratio:16/9;border-radius:var(--radius-card);background:var(--color-video);border:1px solid var(--color-surface-selected);width:100%;max-height:calc(100dvh - 180px);position:relative;overflow:hidden}:is(.picture-demo-stage.is-fullscreen,.picture-demo-stage:fullscreen){border:none;border-radius:0;max-height:none}.picture-demo-stage.is-pseudo-fullscreen{z-index:50;aspect-ratio:auto;width:100vw;height:100dvh;position:fixed;inset:0}.picture-demo-stage .picture-layer{inset:0}.picture-demo-stage .picture-fallback{aspect-ratio:4/3;image-rendering:auto;max-width:100%;max-height:100%;margin:auto;position:absolute;inset:0}.picture-demo-bar{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;display:flex}.picture-demo-bar .audio-field{flex:220px;min-width:220px;max-width:320px}.picture-demo-facts{flex-wrap:wrap;gap:8px;margin:0;display:flex}.picture-demo-fs{z-index:2;position:absolute;top:12px;right:12px}@media (width<=700px){.picture-demo-stage{aspect-ratio:4/3}.picture-demo-bar .audio-field{max-width:none}}.picture-lab-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.picture-lab-grid figure{flex-direction:column;gap:4px;margin:0;display:flex}.picture-lab-grid img{border:1px solid var(--color-border);width:100%;height:auto}.skin-editor{--se-panel:var(--color-surface);--se-panel-2:var(--color-surface-2);--se-stage:#0b0d12;--se-snap:#ff3ddf;--se-guide:#4fc3d9;--se-ok:#7ee2a8;--se-warn:#f2a33a;--ruler-bg:var(--color-surface);--ruler-tick:var(--color-border-strong);--ruler-text:var(--color-text-muted);--tk-key:#9dc6ff;--tk-str:#a8e3b8;--tk-num:#f2c178;--tk-bool:#d9b8ff;height:calc(100dvh - 72px);min-height:520px;color:var(--color-text);flex-direction:column;font-size:13px;display:flex}:root[data-theme=light] .skin-editor{--se-stage:#e4e6ec;--se-guide:#0f8aa3;--se-ok:#1d7a45;--se-warn:#9a5a00;--tk-key:#1f5fb0;--tk-str:#1d7a45;--tk-num:#9a5a00;--tk-bool:#7a3cc2}.skin-editor-small{flex-direction:column;align-items:flex-start;gap:16px;padding:40px 20px;display:none}.skin-editor-small h1{font-family:var(--font-title);margin:0;font-size:28px}@media (width<=760px){.skin-editor{display:none}.skin-editor-small{display:flex}}.skin-editor .button{border-radius:999px;height:36px;min-height:36px;padding:0 14px;font-size:13px}.skin-editor .icon-button{border-radius:50%;width:36px;height:36px}.skin-editor .icon-button:disabled,.skin-editor .button:disabled{opacity:.4;cursor:default}.se-icon{color:var(--color-text-2);border-color:var(--color-border);font-size:15px}.se-icon.is-on{background:var(--tint-accent-bg);border-color:var(--tint-accent-border);color:var(--color-accent)}.se-top{background:var(--se-panel);border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex:none;align-items:center;gap:8px;min-height:56px;padding:8px 12px;display:flex}.se-title{font:700 15px var(--font-title);color:var(--color-accent);letter-spacing:.02em;margin:0 4px 0 0}.se-file{color:var(--color-text-2);font-size:12px}.se-zoom{text-align:center;min-width:48px;color:var(--color-text-2);font-size:12px}.se-seg{border:1px solid var(--color-border-strong);border-radius:999px;height:36px;display:flex;overflow:hidden}.se-seg button{color:var(--color-text-2);font:13px var(--font-text);cursor:pointer;background:0 0;border:0;padding:0 14px}.se-seg button.is-on{background:var(--tint-accent-bg);color:var(--color-accent)}@media (hover:hover){.se-top [data-tip]:hover:after,.se-top [data-tip]:focus-visible:after{top:calc(100% + 8px);bottom:auto}.se-tools [data-tip]:hover:after,.se-tools [data-tip]:focus-visible:after{top:50%;bottom:auto;left:calc(100% + 10px);transform:translateY(-50%)}}.se-main{flex:1;min-height:0;display:flex}.se-tools{background:var(--se-panel);border-right:1px solid var(--color-border);flex-direction:column;flex:none;align-items:center;gap:8px;width:52px;padding-top:10px;display:flex}.se-tsep{background:var(--color-border);width:24px;height:1px;margin:4px 0}.se-h{font:11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 8px}.se-h.is-sub{margin-top:16px}.se-layers{background:var(--se-panel);border-right:1px solid var(--color-border);flex:none;width:230px;padding:12px;overflow:auto}.se-layers ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.se-layers li button{width:100%;min-height:32px;color:var(--color-text);font:13px var(--font-text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:flex}.se-layers li button:hover{background:var(--se-panel-2)}.se-layers li button.is-on{background:var(--tint-accent-bg);border-color:var(--tint-accent-border);color:var(--color-accent)}.se-sw{border:1px solid var(--color-border-strong);border-radius:3px;flex:none;width:12px;height:12px}.se-k{color:var(--color-text-faint);margin-left:auto;font-size:11px}.se-hint{margin-top:14px}.se-stage{background:var(--se-stage);flex:1;min-width:0;position:relative}.se-stage.is-hidden{display:none}.se-ruler{z-index:3;touch-action:none;position:absolute}.se-ruler.is-x{border-bottom:1px solid var(--color-border);cursor:s-resize;width:calc(100% - 24px);height:24px;top:0;left:24px}.se-ruler.is-y{border-right:1px solid var(--color-border);cursor:e-resize;width:24px;height:calc(100% - 24px);top:24px;left:0}.se-corner{background:var(--se-panel);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);z-index:4;width:24px;height:24px;position:absolute;top:0;left:0}.se-viewport{touch-action:none;position:absolute;inset:24px 0 0 24px;overflow:hidden}.se-viewport.is-hand{cursor:grab}.se-viewport.is-add{cursor:crosshair}.se-world{transform-origin:0 0;pointer-events:none;position:absolute;top:0;left:0}.se-device{border-radius:54px;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 0 0 10px #1c1f27,0 24px 70px #0009}.se-device>svg{width:100%;height:100%;display:block}.se-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.se-overlay .se-hit{pointer-events:all;cursor:move}.se-part-box{fill:#0000;stroke-width:1px;stroke-dasharray:4 3}.se-part-box.is-quiet{stroke-opacity:0}.se-decor-box{fill:#0000;stroke:var(--color-text-muted);stroke-width:1px;stroke-dasharray:2 3}.se-decor-box.is-quiet{stroke-opacity:0}.se-part-name{font:10px var(--font-mono);pointer-events:none;paint-order:stroke;stroke:#0009;stroke-width:3px}.se-sel{fill:none;stroke:var(--color-accent);stroke-width:1.5px;pointer-events:none}.se-handle{fill:#fff;stroke:var(--color-accent);stroke-width:1.5px;pointer-events:all}.se-handle.is-nwse{cursor:nwse-resize}.se-handle.is-nesw{cursor:nesw-resize}.se-handle.is-ns{cursor:ns-resize}.se-handle.is-ew{cursor:ew-resize}.se-size-bg{fill:var(--color-accent);pointer-events:none}.se-size-text{fill:var(--color-on-accent);font:600 11px var(--font-mono);text-anchor:middle;pointer-events:none}.se-guide{stroke:var(--se-guide);stroke-width:1px;stroke-dasharray:5 4;pointer-events:none}.se-overlay .se-guide-hit{stroke:#0000;stroke-width:9px}.se-overlay .se-guide-hit.is-x{cursor:ew-resize}.se-overlay .se-guide-hit.is-y{cursor:ns-resize}.se-snap{stroke:var(--se-snap);stroke-width:1px;pointer-events:none}.se-new{fill:#f2a33a1f;stroke:var(--color-accent);stroke-dasharray:4 3}.se-toast{background:var(--se-panel-2);border:1px solid var(--color-border-strong);z-index:5;border-radius:999px;max-width:80%;padding:8px 16px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.se-inspector{background:var(--se-panel);border-left:1px solid var(--color-border);flex:none;width:330px;padding:14px;overflow:auto}.se-inspector section{margin-bottom:18px}.se-inspector .small.muted{margin:6px 0}.se-grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.se-num{background:var(--se-panel-2);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:6px;height:36px;padding:0 12px;display:flex}.se-num span{font:11px var(--font-mono);color:var(--color-text-muted);min-width:12px}.se-num input{width:100%;color:var(--color-text);font:13px var(--font-mono);background:0 0;border:0;outline:0}.se-num:focus-within{border-color:var(--color-accent)}.se-row{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.se-field{color:var(--color-text-2);align-items:center;gap:10px;margin:8px 0;display:flex}.se-field>span:first-child{flex:1;min-width:0}.se-field .se-text{border-radius:999px;width:160px;height:32px;padding:0 12px;font-size:13px}.se-field input[type=color]{border:1px solid var(--color-border-strong);cursor:pointer;background:0 0;border-radius:50%;width:30px;height:30px;padding:0}.se-field input[type=color]::-webkit-color-swatch-wrapper{padding:0}.se-field input[type=color]::-webkit-color-swatch{border:0;border-radius:50%}.se-field input[type=range]{width:110px;accent-color:var(--color-accent)}.se-field input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent)}.se-v{color:var(--color-text-muted);text-align:right;width:58px;font-size:12px}.se-field>.se-v:last-child{flex:none}.se-drop{border:1px dashed var(--color-border-strong);width:100%;color:var(--color-text-2);font:12px var(--font-text);text-align:center;cursor:pointer;background:0 0;border-radius:16px;flex-direction:column;gap:4px;padding:12px;display:flex}.se-drop.is-over{border-color:var(--color-accent);color:var(--color-accent)}.se-details summary{cursor:pointer;color:var(--color-text-2);margin:8px 0}.se-checks{flex-direction:column;gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.se-checks .is-ok{color:var(--se-ok)}.se-checks .is-warn{color:var(--se-warn)}.se-checks .is-error{color:var(--color-danger-text)}.se-status{background:var(--se-panel);border-top:1px solid var(--color-border);height:30px;color:var(--color-text-muted);flex:none;align-items:center;gap:18px;padding:0 14px;font-size:12px;display:flex}.se-status .is-ok{color:var(--se-ok)}.se-status .is-bad{color:var(--color-danger-text)}.se-code{background:var(--color-bg);border-left:1px solid var(--color-border);flex-direction:column;flex:1;min-width:0;display:flex}.se-code-head{background:var(--se-panel);border-bottom:1px solid var(--color-border);height:44px;color:var(--color-text-2);flex:none;align-items:center;gap:10px;padding:0 12px;font-size:12px;display:flex}.se-code-head .is-ok{color:var(--se-ok)}.se-code-head .is-bad{color:var(--color-danger-text)}.skin-editor .se-copy{height:30px;min-height:30px;font-size:12px}.se-code-body{flex:1;min-height:0;position:relative}.se-code-body pre,.se-code-body textarea{tab-size:2;white-space:pre;border:0;margin:0;padding:12px 14px;font-size:12.5px;line-height:19px;position:absolute;inset:0;overflow:auto}.se-code-body pre{color:var(--color-text-2);pointer-events:none;overflow:hidden}.se-code-body textarea{color:#0000;caret-color:var(--color-accent);resize:none;background:0 0;outline:none}.se-code-body textarea::selection{color:#0000;background:#f2a33a4d}.se-ln{height:19px;display:block}.se-ln.is-on{box-shadow:inset 3px 0 0 var(--color-accent);background:#f2a33a24}.tk-key{color:var(--tk-key)}.tk-str{color:var(--tk-str)}.tk-num{color:var(--tk-num)}.tk-bool{color:var(--tk-bool)}.tk-sw{vertical-align:-1px;border:1px solid var(--color-border-strong);border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.se-lib-anchor{position:relative}.se-lib-button.is-on{border-color:var(--tint-accent-border);color:var(--color-accent);background:var(--tint-accent-bg)}.se-count{background:var(--se-panel-2);min-width:20px;height:20px;color:var(--color-text-2);font:600 11px var(--font-mono);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.se-library{z-index:30;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:18px;width:400px;max-height:min(70vh,560px);padding:14px;position:absolute;top:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 18px 48px #00000059}.se-library-head{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.se-library-head .se-h{margin:0}.se-library ul{flex-direction:column;gap:4px;margin:0 0 10px;padding:0;list-style:none;display:flex}.se-rec{border:1px solid #0000;border-radius:16px;flex-wrap:wrap;align-items:center;gap:6px;padding:4px;display:flex}.se-rec.is-on{background:var(--tint-accent-bg);border-color:var(--tint-accent-border)}.se-rec-open{min-width:0;min-height:44px;color:var(--color-text);text-align:left;cursor:pointer;font:13px var(--font-text);background:0 0;border:0;border-radius:12px;flex:1;align-items:center;gap:10px;padding:4px 8px;display:flex}.se-rec-open:hover{background:var(--se-panel-2)}.se-rec-text{flex-direction:column;min-width:0;display:flex}.se-rec-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.se-rec-text .mono{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.se-rec.is-on .se-rec-name{color:var(--color-accent)}.se-rec-actions{flex:none;gap:4px;display:flex}.se-rec-confirm{justify-content:flex-end;align-items:center;gap:6px;width:100%;padding:0 4px 4px 12px;display:flex}.se-rec-confirm .small{color:var(--color-danger-text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}@media (width<=1799px){.se-file{display:none}}@media (width<=1399px){.se-title{display:none}}.skin-editor .button.se-small{height:32px;min-height:32px;padding:0 12px;font-size:12px}.se-badge{height:24px;color:var(--color-text-2);border:1px dashed var(--color-border-strong);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;display:inline-flex}.se-bad{color:var(--color-danger-text)}.tools-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.tool-card{height:100%;color:inherit;flex-direction:column;padding:0;text-decoration:none;transition:border-color .12s,transform .12s;display:flex;overflow:hidden}.tool-card:hover{border-color:var(--color-accent-tint-border);transform:translateY(-2px)}.tool-card-art{height:190px;color:var(--color-accent);background:radial-gradient(circle at 50% 60%, var(--color-accent-tint), var(--color-surface-2));justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.tool-card-art.is-editor{color:var(--color-text-muted);background:radial-gradient(circle at 50% 60%, color-mix(in srgb, var(--color-p4) 30%, var(--color-surface-2)), var(--color-surface-2))}.tool-card-tag{background:var(--color-bg);color:var(--color-text);font:600 11px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 10px;position:absolute;top:12px;left:14px}.tool-card-body{flex-direction:column;flex:1;gap:8px;padding:18px 20px 20px;display:flex}.tool-card-title{font-size:19px}.tool-card-text{color:var(--color-text-muted);flex:1;font-size:14px;line-height:1.5}.tool-card-cta{align-self:flex-start;margin-top:6px}.tool-card-soon{border:1px dashed var(--color-border-strong);border-radius:var(--radius-card);min-height:200px;color:var(--color-text-faint);justify-content:center;align-items:center;display:flex}.pad-tester-body{padding-bottom:0}.pad-tester{grid-template-columns:repeat(auto-fill,minmax(min(100%,620px),1fr));gap:20px;display:grid}.pad-card{flex-direction:column;gap:14px;display:flex}.pad-card-head{align-items:center;gap:12px;display:flex}.pad-card-num{background:var(--color-accent-tint);width:30px;height:30px;color:var(--color-accent);border:1px solid var(--color-accent-tint-border);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.pad-card-name{flex-direction:column;flex:1;min-width:0;display:flex}.pad-card-name strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pad-card-art{align-self:center;width:100%;max-width:520px}.pad-card-info{grid-template-columns:repeat(4,1fr);gap:8px;margin:0;display:grid}.pad-card-info div,.pt-metrics div{background:var(--color-surface-2);border-radius:12px;padding:8px 12px}.pad-card-info dt,.pt-metrics dt{color:var(--color-text-muted);font-size:11px}.pad-card-info dd,.pt-metrics dd{margin:0;font-size:13px}.pad-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pt-panel{background:var(--color-bg);border:1px solid var(--color-border);border-radius:14px;flex-direction:column;gap:8px;min-width:0;padding:14px;display:flex}.pt-panel h3,.pt-guided h3{margin:0;font-size:14px;font-weight:600}.pt-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.pt-scope{align-self:center;width:100%;max-width:200px}.pt-scope-gate{fill:var(--color-surface);stroke:var(--color-border-strong)}.pt-scope-dz{fill:color-mix(in srgb, var(--color-voice) 16%, transparent);stroke:var(--color-voice);stroke-dasharray:3 3}.pt-scope-axis{stroke:var(--color-border)}.pt-scope-reach{fill:color-mix(in srgb, var(--color-accent) 10%, transparent);stroke:var(--color-accent);stroke-width:1.5px}.pt-scope-dot{fill:var(--color-accent)}.pt-metrics{grid-template-columns:repeat(3,1fr);gap:6px;margin:0;display:grid}.pt-metrics dd.is-good,.pt-chip.is-good{color:var(--color-ok)}.pt-metrics dd.is-warn,.pt-chip.is-warn{color:var(--color-accent)}.pt-metrics dd.is-bad,.pt-chip.is-bad{color:var(--color-danger-text)}.pt-trigger{flex-direction:column;gap:6px;display:flex}.pt-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;height:12px;position:relative;overflow:visible}.pt-bar-fill{background:var(--color-accent);border-radius:6px;position:absolute;top:0;bottom:0;left:0}.pt-bar-max{background:var(--color-text);width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.pt-buttons{flex-wrap:wrap;gap:8px;display:flex}.pt-raw{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:6px;display:grid}.pt-raw-b{height:30px;font:500 12px var(--font-mono);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:8px;justify-content:center;align-items:center;display:flex}.pt-raw-b.is-on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.pt-raw-b.is-bounce{box-shadow:inset 0 0 0 2px var(--color-danger-text)}.pt-history{flex-direction:column;gap:2px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.pt-history li{justify-content:space-between;gap:8px;display:flex}.pt-guided{border:1px solid var(--color-accent-tint-border);background:color-mix(in srgb, var(--color-accent-tint) 50%, var(--color-surface));border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.pt-step{margin:0;font-size:15px}.pt-step-n{font:600 12px var(--font-mono);color:var(--color-accent);margin-right:6px}.pt-results{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.pt-results li{grid-template-columns:1fr auto auto;align-items:center;gap:10px;font-size:13px;display:grid}.pt-chip{border:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px}.pt-chip.is-info{color:var(--color-voice);border-color:color-mix(in srgb, var(--color-voice) 40%, transparent)}@media (width<=720px){.pad-card-info{grid-template-columns:repeat(2,1fr)}.pad-card-grid{grid-template-columns:1fr}}.tools-grid,.pad-tester-wrap{flex:1;align-self:flex-start;min-width:0}.tool-card-art .cm{width:70%;margin-top:18px}.skin-thumb{height:240px;box-shadow:0 0 0 5px var(--color-border-strong), 0 12px 30px #00000059;border-radius:26px;margin-top:60px;display:block;overflow:hidden}.skin-thumb svg{width:100%;height:100%;display:block}.pad-tester-brands{grid-column:1/-1;margin:0}.page-frame{box-sizing:border-box;gap:22px;width:100%;max-width:1680px;margin:0 auto;padding:32px 40px 48px}.page-frame>.page-hero{margin-bottom:0}.page-frame>.page-body{padding:0}@media (width<=1100px){.page-frame{padding:24px 20px 40px}}@media (width<=560px){.page-frame{padding:16px 12px 32px}}.tool-card-art.is-games{background:radial-gradient(circle at 50% 60%, color-mix(in srgb, var(--color-p2) 22%, var(--color-surface-2)), var(--color-surface-2))}.games-art{shape-rendering:crispedges;width:70%;height:auto}.ga-brick.is-0{fill:var(--color-p2)}.ga-brick.is-1{fill:var(--color-p4)}.ga-brick.is-2{fill:var(--color-p3)}.ga-brick.is-3{fill:var(--color-p1)}.ga-body{fill:var(--color-accent);opacity:.75}.ga-head,.ga-paddle{fill:var(--color-accent)}.ga-food{fill:var(--color-p2)}.ga-ball{fill:var(--color-text)}.games-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));align-self:flex-start;gap:20px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.game-card{text-align:left;width:100%;height:100%;font:inherit;color:inherit;cursor:pointer;flex-direction:column;gap:12px;transition:border-color .12s,transform .12s;display:flex}.game-card:hover{border-color:var(--color-accent-tint-border);transform:translateY(-2px)}.game-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.game-card-head{align-items:center;gap:10px;display:flex}.game-card-num{background:var(--color-accent-tint);width:32px;height:32px;color:var(--color-accent-text);border:1px solid var(--color-accent-tint-border);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.game-card-name{flex-direction:column;flex:1;min-width:0;display:flex}.game-card-chip{border:1px solid var(--color-border-strong);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;flex:none;padding:3px 10px;font-size:11px}.game-card-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.game-screen{aspect-ratio:16/10;background:var(--color-video);border:1px solid var(--color-border);border-radius:12px;width:100%;display:block;position:relative;overflow:hidden}.game-screen canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.game-screen.is-big{max-width:960px}.game-stage{flex-direction:column;flex:1;align-items:stretch;gap:14px;min-width:0;max-width:960px;display:flex}.game-bar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.game-bar-spacer{flex:1}.game-score strong{font-size:20px}.game-move{margin:0;font-size:15px}.game-move .mono{color:var(--color-accent-text);margin-left:6px;font-size:18px}.game-overlay{text-align:center;background:color-mix(in srgb, var(--color-video) 72%, transparent);color:var(--color-text);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex;position:absolute;inset:0}.game-overlay strong{font:700 28px var(--font-title);color:var(--color-accent)}.game-overlay.is-quiet{pointer-events:none;background:0 0}.game-hint{background:color-mix(in srgb, var(--color-video) 70%, transparent);color:var(--color-text);white-space:nowrap;pointer-events:none;border-radius:999px;padding:4px 14px;font-size:13px;position:absolute;bottom:14%;left:50%;transform:translate(-50%)}.game-flash{font:700 26px var(--font-title);color:var(--color-accent);pointer-events:none;white-space:nowrap;animation:1.2s ease-out forwards game-flash;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.game-flash.is-perfect{color:var(--color-ok)}.game-flash.is-late,.game-flash.is-miss{color:var(--color-p3)}@keyframes game-flash{0%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}to{opacity:0;transform:translate(-50%,-80%)scale(1)}}@media (prefers-reduced-motion:reduce){.game-flash{animation:none}}.game-notice{border:1px solid var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger-text);border-radius:12px;margin:0;padding:10px 14px;font-size:14px}.game-stats{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0;display:grid}.game-stats div{background:var(--color-surface-2);border-radius:12px;padding:8px 12px}.game-stats dt{color:var(--color-text-muted);font-size:11px}.game-stats dd{margin:0;font-size:14px}@media (width<=560px){.game-overlay strong,.game-flash{font-size:20px}}.pad-tester-wrap{flex-direction:column;gap:14px;display:flex}.pad-tester-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pad-tester-bar .button{gap:8px}.pad-tester-logbtn.is-on{border-color:var(--color-accent-tint-border);color:var(--color-accent)}.pad-tester-prompt{color:var(--color-accent);font-weight:700}.pad-tester-bar-note{flex:260px}.pad-tester-layout.has-log{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.pad-tester-layout.has-log .pad-tester{grid-template-columns:minmax(0,1fr)}.pad-console{border-radius:var(--radius-card);background:var(--color-video);border:1px solid var(--color-border-strong);height:calc(100vh - 110px);min-height:360px;color:var(--color-text);flex-direction:column;display:flex;position:sticky;top:16px;overflow:hidden}.pad-console-head{background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:10px 14px;display:flex}.pad-console-dots{gap:6px;display:flex}.pad-console-dots i{background:var(--color-p3);border-radius:50%;width:11px;height:11px}.pad-console-dots i:nth-child(2){background:var(--color-p1)}.pad-console-dots i:nth-child(3){background:var(--color-ok)}.pad-console-head strong{font-size:13px}.pad-console-count{color:var(--color-text-muted);margin-left:auto}.pad-console-bar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.pad-console-filters,.pad-console-actions{flex-wrap:wrap;gap:6px;display:flex}.pad-console-chip{border:1px solid var(--color-border-strong);min-height:30px;color:var(--color-text-faint);font:600 12px var(--font-text);cursor:pointer;background:0 0;border-radius:999px;padding:0 12px}.pad-console-chip.is-on{color:var(--color-text);background:var(--color-surface-2)}.pad-console-chip.is-btn.is-on{color:var(--color-p1)}.pad-console-chip.is-axis.is-on{color:var(--color-p2)}.pad-console-chip.is-trig.is-on{color:var(--color-p4)}.pad-console-chip.is-sys.is-on{color:var(--color-ok)}.pad-console-chip.is-warn.is-on{color:var(--color-p3)}.pad-console-body{flex:1;padding:10px 14px;font-size:12.5px;line-height:1.55;overflow:auto}.pad-console-body:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.pad-console-line{white-space:pre;gap:12px;display:flex}.pad-console-time{color:var(--color-text-faint)}.pad-console-pad{color:var(--color-text-muted)}.pad-console-line.is-btn .pad-console-text{color:var(--color-p1)}.pad-console-line.is-axis .pad-console-text{color:var(--color-p2)}.pad-console-line.is-trig .pad-console-text{color:var(--color-p4)}.pad-console-line.is-sys .pad-console-text{color:var(--color-ok)}.pad-console-line.is-warn .pad-console-text{color:var(--color-p3);font-weight:700}.pad-console-empty{color:var(--color-text-faint)}@media (width<=1100px){.pad-tester-layout.has-log{grid-template-columns:minmax(0,1fr)}.pad-console{height:50vh;position:static}}.game-page-body{align-items:flex-start}.game-rules{flex:360px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-auto-flow:dense;align-content:start;gap:14px 28px;min-width:320px;display:grid;position:sticky;top:16px}.game-rules>.card-title,.game-rules>.game-rules-controls,.game-rules>.game-rules-tells{grid-column:1/-1}.game-rules h3{letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);margin:0 0 4px;font-size:13px}.game-rules p{margin:0;line-height:1.5}.game-rules-keys{border-collapse:collapse;width:100%;margin-bottom:6px;font-size:13px}.game-rules-keys th,.game-rules-keys td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top;padding:6px 8px 6px 0}.game-rules-keys thead th{color:var(--color-text-muted);font-size:12px;font-weight:600}.game-rules-keys tbody th{font-weight:500}@media (width<=1100px){.game-page-body{flex-direction:column;align-items:stretch}.game-rules{flex:none;position:static}}.game-page-body>.game-stage{flex:2 640px}@media (width<=1100px){.game-page-body>.game-stage{flex:none}}.se-zoombar{z-index:4;background:var(--se-panel-2);border:1px solid var(--color-border-strong);border-radius:999px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 6px 18px #0000004d}.se-zoombar .button-compact{min-height:36px;padding:0 14px}.se-badge{gap:6px}@media (width<=1699px){.se-badge{justify-content:center;width:32px;height:32px;padding:0}.se-badge-text{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.se-title{display:none}}.game-stage.has-touch .game-screen{touch-action:none}.gtp{border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.gtp-snake,.gtp-memory{justify-content:center}.gtp-btn{border:1px solid var(--color-border-strong);background:var(--color-surface-2);min-width:44px;min-height:44px;color:var(--color-text);font:700 18px var(--font-title);cursor:pointer;touch-action:none;border-radius:999px;justify-content:center;align-items:center;transition:transform 60ms,background 60ms;display:inline-flex}.gtp-btn.is-on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);transform:scale(.94)}.gtp-face{flex:none;width:168px;height:168px;position:relative}.gtp-face .is-face{width:58px;height:58px;position:absolute}.gtp-face .is-b1{bottom:0;left:55px}.gtp-face .is-b2{top:55px;right:0}.gtp-face .is-b3{top:55px;left:0}.gtp-face .is-b4{top:0;left:55px}.gtp-face.is-2{width:128px;height:92px}.gtp-face.is-2 .is-b1{bottom:0;left:0}.gtp-face.is-2 .is-b2{top:0;right:0}.gtp-face.is-1{width:auto;height:auto}.gtp-face.is-1 .is-face{width:72px;height:72px;position:static}.gtp-column{flex-direction:column;align-items:center;gap:10px;display:flex}.gtp-shoulders{gap:10px;display:flex}.gtp-btn.is-shoulder{width:64px;font-size:15px}.gtp-btn.is-start{font:600 13px var(--font-text);padding:0 16px}.gtp-dpad{background:var(--color-surface-2);border:1px solid var(--color-border-strong);touch-action:none;border-radius:50%;flex:none;width:156px;height:156px;position:relative}.gtp-arm{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:10px;width:48px;height:50px;position:absolute}.gtp-arm.is-up{top:6px;left:53px}.gtp-arm.is-down{bottom:6px;left:53px}.gtp-arm.is-left{width:50px;height:48px;top:53px;left:6px}.gtp-arm.is-right{width:50px;height:48px;top:53px;right:6px}.gtp-arm.is-on{background:var(--color-accent);border-color:var(--color-accent)}.gtp-hub{background:var(--color-surface);border-radius:50%;width:48px;height:48px;position:absolute;top:53px;left:53px}.gtp-steer{background:var(--color-surface-2);border:1px solid var(--color-border-strong);touch-action:none;border-radius:999px;flex:160px;min-width:120px;max-width:360px;height:64px;position:relative}.gtp-steer-track{background:var(--color-border-strong);border-radius:2px;height:4px;margin-top:-2px;position:absolute;top:50%;left:24px;right:24px}.gtp-steer-knob{background:var(--color-accent);border-radius:50%;width:52px;height:52px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #00000059}.gtp-pedal{background:var(--color-surface-2);border:1px solid var(--color-border-strong);box-sizing:border-box;width:78px;height:136px;color:var(--color-text-muted);touch-action:none;border-radius:22px;flex-direction:column;flex:none;justify-content:flex-end;align-items:center;gap:2px;padding-bottom:10px;display:flex;position:relative;overflow:hidden}.gtp-pedal strong{font:700 18px var(--font-title);color:var(--color-text);position:relative}.gtp-pedal .small{position:relative}.gtp-pedal-fill{background:color-mix(in srgb, var(--color-accent) 55%, transparent);position:absolute;bottom:0;left:0;right:0}.gtp-pedal.is-lt .gtp-pedal-fill{background:color-mix(in srgb, var(--color-p3) 55%, transparent)}.game-rules .game-rules-touch{margin-top:8px}@media (width<=420px){.gtp{gap:8px;padding:10px}.gtp-dpad{transform-origin:0;transform:scale(.9)}.gtp-face{transform-origin:100%;transform:scale(.9)}}.gtp-memory .is-b1{border-color:var(--color-p2);color:var(--color-p2)}.gtp-memory .is-b2{border-color:var(--color-p3);color:var(--color-p3)}.gtp-memory .is-b3{border-color:var(--color-p4);color:var(--color-p4)}.gtp-memory .is-b4{border-color:var(--color-p1);color:var(--color-p1)}.gtp-memory .is-face.is-on{color:var(--color-on-accent)}.devil-button{color:var(--color-p3);border-color:var(--color-danger-border);background:var(--color-danger-bg);position:relative}.devil-button:hover{color:var(--color-p3);border-color:var(--color-p3)}.devil-button svg{animation:2.6s ease-in-out infinite devil-wiggle}.devil-ring{border:2px solid var(--color-p3);opacity:0;pointer-events:none;border-radius:50%;animation:2.6s ease-out infinite devil-ring;position:absolute;inset:-2px}@keyframes devil-wiggle{0%,68%,to{transform:translateY(0)rotate(0)}72%{transform:translateY(-4px)rotate(-16deg)}76%{transform:translateY(0)rotate(14deg)}80%{transform:translateY(-2px)rotate(-10deg)}84%{transform:translateY(0)rotate(8deg)}88%{transform:rotate(0)}}@keyframes devil-ring{0%,66%{opacity:0;transform:scale(.8)}70%{opacity:.85}to{opacity:0;transform:scale(1.9)}}@media (prefers-reduced-motion:reduce){.devil-button svg,.devil-ring{animation:none}}.sw-backdrop{z-index:60}.sw-dialog{gap:16px;width:min(780px,100%);max-height:calc(100dvh - 32px);overflow:auto}.sw-head{align-items:center;gap:12px;display:flex}.sw-eyebrow{min-width:0;font:600 12px var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);flex:1}.sw-count{color:var(--color-text-muted);white-space:nowrap;font-size:12px}.sw-manual{white-space:nowrap;color:var(--color-accent-text);cursor:pointer;background:0 0;border:0;min-height:36px;padding:0 4px}.sw-close{flex:none}.sw-body{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:center;gap:22px;display:grid}.sw-art-box{background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;padding:12px}.sw-art{width:100%;height:auto;display:block}.sw-text p{color:var(--color-text-2);margin:8px 0 10px;line-height:1.55}.sw-points{color:var(--color-text-muted);flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:14px;line-height:1.5;display:flex}.sw-dots{justify-content:center;gap:8px;display:flex}.sw-dot{background:var(--color-border-strong);cursor:pointer;border:0;border-radius:50%;width:10px;height:10px;padding:0;position:relative}.sw-dot:before{content:"";position:absolute;inset:-12px}.sw-dot.is-on{background:var(--color-accent);border-radius:999px;width:26px}.sw-actions{flex-wrap:wrap}.sw-spacer{flex:1}.se-guide span{font:700 16px var(--font-text)}.sw-shell{fill:var(--color-surface-2);stroke:var(--color-border-strong);stroke-width:1.5px}.sw-screen{fill:var(--color-video);stroke:var(--color-border-strong)}.sw-game{fill:color-mix(in srgb, var(--color-p4) 35%, var(--color-video))}.sw-part{fill:var(--color-surface);stroke:var(--color-text-muted);stroke-width:1.3px}.sw-part.is-on{fill:var(--color-accent);stroke:var(--color-accent)}.sw-panel{fill:var(--color-surface);stroke:var(--color-border)}.sw-line,.sw-arrow{fill:none;stroke:var(--color-text-muted);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.sw-arrow{stroke:var(--color-accent);stroke-width:2.2px}.sw-code{fill:var(--color-accent-text);font:700 16px var(--font-mono);text-anchor:middle}.sw-small{fill:var(--color-text);font:600 11px var(--font-mono);text-anchor:middle}.sw-select{fill:none;stroke:var(--color-accent);stroke-width:1.4px;stroke-dasharray:4 3}.sw-handle{fill:var(--color-bg);stroke:var(--color-accent);stroke-width:1.4px}.sw-ruler{fill:var(--color-surface);stroke:var(--color-border)}.sw-tick{stroke:var(--color-text-faint);stroke-width:1px}.sw-guide{stroke:var(--color-p3);stroke-width:1.2px;stroke-dasharray:5 4}.sw-magnet{fill:none;stroke:var(--color-p3);stroke-width:5px;stroke-linecap:round}.sw-plate{fill:color-mix(in srgb, var(--color-surface-2) 60%, var(--color-bg));stroke:var(--color-border-strong)}.sw-hole{fill:var(--color-bg)}.sw-dome{fill:var(--color-accent);stroke:color-mix(in srgb, var(--color-accent) 60%, var(--color-text))}.sw-well{fill:none;stroke:var(--color-bg);stroke-width:3px}.sw-ok,.sw-warn{fill:none;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.sw-ok{stroke:var(--color-ok)}.sw-warn{stroke:var(--color-p1)}@media (width<=640px){.sw-dialog{padding:18px}.sw-body{grid-template-columns:minmax(0,1fr);gap:14px}.sw-art-box{max-width:320px}}
