@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family: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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family: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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family: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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.woff) format("woff");unicode-range:U+0460-052F,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:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--r-sm: 3px;--r-md: 6px;--r-lg: 10px;--r-xl: 14px;--r-pill: 999px;--font-stack: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "JetBrains Mono", "Consolas", "Menlo", monospace;--text-xs: 11px;--text-sm: 12px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 25px;--text-3xl: 32px;--weight-normal: 400;--weight-medium: 500;--weight-semi: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.55;--msg-gutter: 48px;--measure: 68ch;--transition-fast: .11s ease-out;--transition-base: .18s ease-out;--transition-slow: .3s ease-out}:root,:root[data-theme=dark]{--bg: #12141a;--bg-elevated: #181b23;--bg-sunken: #0d0f14;--surface: #181b23;--surface-hover: #272c38;--border: #262b36;--border-strong: #333a49;--text: #e6e9f0;--text-muted: #8d96a8;--text-faint: #59616f;--accent: #e8b33c;--accent-hover: #f2c258;--accent-text: #17150e;--accent-wash: rgba(232, 179, 60, .1);--accent-dim: #8a6b23;--info: #7d90ad;--info-hover: #91a3bd;--success: #6fae7f;--warning: #d9863c;--danger: #e05a52;--danger-hover: #ee6c63;--danger-bg: rgba(224, 90, 82, .12);--ring: rgba(232, 179, 60, .5);--overlay: rgba(8, 9, 12, .72);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .55)}:root[data-theme=light]{--bg: #f6f6f3;--bg-elevated: #fffffe;--bg-sunken: #eceae4;--surface: #fffffe;--surface-hover: #e7e4dc;--border: #ddd9d0;--border-strong: #c6c1b5;--text: #1c1e24;--text-muted: #61656f;--text-faint: #8d919b;--accent: #a9741a;--accent-hover: #8d5f11;--accent-text: #fffdf7;--accent-wash: rgba(169, 116, 26, .1);--accent-dim: #d7bb84;--info: #4a6382;--info-hover: #395071;--success: #3f7d50;--warning: #9a5a15;--danger: #b8352c;--danger-hover: #9c2a22;--danger-bg: rgba(184, 53, 44, .1);--ring: rgba(169, 116, 26, .45);--overlay: rgba(30, 28, 22, .35);--shadow-sm: 0 1px 2px rgba(40, 36, 28, .08);--shadow-md: 0 8px 24px rgba(40, 36, 28, .14);--shadow-lg: 0 24px 60px rgba(40, 36, 28, .18)}*{margin:0;padding:0;box-sizing:border-box}:root{--focus-ring: 2px solid var(--ring);--focus-ring-offset: 2px}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}:focus:not(:focus-visible){outline:none}body{font-family:var(--font-stack);font-size:var(--text-md);background-color:var(--bg);color:var(--text);height:100vh;overflow:hidden}input,textarea,select{background:var(--bg-sunken);color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--font-stack);font-size:var(--text-md);padding:var(--space-2) var(--space-3)}button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--space-2) var(--space-4);font-family:var(--font-stack);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}button:hover{background:var(--surface-hover)}#root{height:100vh}.app{height:100%;display:flex}h1,h2,h3,h4{color:var(--text);font-weight:var(--weight-semi);line-height:var(--leading-tight);letter-spacing:-.01em}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3,h4{font-size:var(--text-md)}button,a,input,textarea,select,.channel-item,.hub-tab,.user-list-item,.hub-dropdown-item,.hub-header-button,.settings-nav-item,.context-menu-item,.message-action,.btn-icon,.btn-icon-gear,.btn-small,.btn-secondary{transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slide-in-down{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);overflow-y:auto}.empty-state h1{font-size:var(--text-xl);color:var(--accent);letter-spacing:-.02em}.empty-state p{color:var(--text-muted)}.empty-state button.primary{padding:var(--space-3) var(--space-5);border:none;border-radius:var(--r-md);background:var(--accent);color:var(--accent-text);font-size:var(--text-md);font-weight:var(--weight-medium);cursor:pointer;margin-top:var(--space-2)}.empty-state button.primary:hover{background:var(--accent-hover)}.pending-approval{text-align:center;max-width:480px;margin:0 auto}.welcome{max-width:500px;margin:0 auto;text-align:center}.welcome-tagline{color:var(--text);font-size:var(--text-sm)}.welcome-points{list-style:none;padding:0;margin:var(--space-1) 0 var(--space-2);text-align:left;display:flex;flex-direction:column;gap:var(--space-2)}.welcome-points li{padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-muted);line-height:var(--leading-normal);font-size:var(--text-sm)}.welcome-points li strong{color:var(--text)}.welcome-settings-link{background:none;border:none;padding:0;font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.welcome-settings-link:hover{color:var(--text)}.welcome-cta-row{display:flex;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.channel-empty-tips{list-style:none;margin:var(--space-4) 0 0;padding:0;text-align:left;max-width:480px;font-size:var(--text-sm);color:var(--text-muted)}.channel-empty-tips li{padding:var(--space-1) 0}.channel-empty-tips kbd{display:inline-block;padding:1px 6px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-family:var(--font-mono);font-size:.85em}.hub-preview-status,.hub-preview-error{margin:var(--space-2) 0;font-size:var(--text-sm)}.hub-preview-error{color:var(--danger)}.hub-preview{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);margin:var(--space-3) 0;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-md)}.hub-preview-icon{width:48px;height:48px;border-radius:var(--r-md);object-fit:cover;flex-shrink:0}.hub-preview-icon.placeholder{display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--text-muted);font-weight:var(--weight-bold)}.hub-preview-info{display:flex;flex-direction:column;gap:2px}.hub-preview-info p{margin:0;font-size:var(--text-sm)}.hub-preview-warn{color:var(--text)}.pending-approval-icon{font-size:48px;line-height:1}.pending-approval h1{color:var(--text)}.pending-approval p{line-height:var(--leading-normal)}.settings-page{display:flex;width:100%;height:100%;background:var(--bg)}.settings-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:#0009}.settings-modal{display:flex;width:min(1100px,100%);height:min(860px,100%);overflow:hidden;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}@media(max-width:767px){.settings-modal-overlay{padding:0}.settings-modal{height:100%;border:none;border-radius:0}}.settings-nav{width:240px;background:var(--bg-sunken);padding:var(--space-5) var(--space-3);display:flex;flex-direction:column;gap:var(--space-1);border-right:1px solid var(--border);min-height:0;overflow-y:auto}.settings-nav h2{color:var(--text);margin:0 var(--space-3) var(--space-5) var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-semi);letter-spacing:-.01em}.settings-nav ul{list-style:none;padding:0;margin:0;flex:1 1 auto}.settings-nav-item{display:block;width:100%;text-align:left;background:none;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--r-sm);color:var(--text-muted);cursor:pointer;font-size:var(--text-md)}.settings-account-picker{display:block;padding:0 var(--space-1) var(--space-2)}.settings-account-picker .settings-nav-group{display:block;padding-left:var(--space-2)}.settings-nav-group{padding:var(--space-3) var(--space-3) var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-faint)}.settings-nav-item:hover{background:var(--surface);color:var(--text)}.settings-nav-item.active{background:var(--surface);color:var(--text);font-weight:var(--weight-medium)}.settings-nav-close{margin-top:auto;padding:var(--space-2) var(--space-3);background:none;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-muted);cursor:pointer;font-size:var(--text-xs)}.settings-nav-close:hover{background:var(--surface);color:var(--text)}.settings-content{flex:1 1 auto;overflow-y:auto;padding:var(--space-6) var(--space-7);position:relative}.settings-content h1{color:var(--text);font-size:var(--text-xl);font-weight:var(--weight-bold);margin-bottom:var(--space-5);letter-spacing:-.01em}.settings-close-x{position:absolute;top:var(--space-5);right:var(--space-5);width:36px;height:36px;border:1px solid var(--border);border-radius:var(--r-pill);background:transparent;color:var(--text-muted);font-size:var(--text-xl);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.settings-close-x:hover{background:var(--surface);color:var(--text)}.theme-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-top:var(--space-2)}.theme-card{position:relative;background:var(--surface);border:2px solid var(--border);border-radius:var(--r-md);padding:var(--space-4);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-2);text-align:left;color:var(--text)}.theme-card:hover{border-color:var(--text-faint)}.theme-card.active{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}.theme-card-name{font-size:var(--text-md);font-weight:var(--weight-bold)}.theme-card-default{position:absolute;top:var(--space-2);right:var(--space-2);background:var(--accent);color:var(--accent-text);font-size:9px;font-weight:var(--weight-bold);padding:2px 6px;border-radius:var(--r-pill)}.theme-card-swatches{display:flex;gap:var(--space-1)}.theme-swatch{width:28px;height:28px;border-radius:var(--r-sm);border:1px solid var(--border)}.theme-card-tagline{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-normal)}.avatar-img,.avatar-fallback{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);object-fit:cover;background:hsl(var(--avatar-hue, 220) 16% 26%);color:var(--text);font-weight:var(--weight-semi);letter-spacing:.01em;flex-shrink:0}:root[data-theme=light] .avatar-fallback{background:hsl(var(--avatar-hue, 220) 24% 85%)}.avatar-editor{display:flex;align-items:center;gap:var(--space-4);padding-top:10px}.avatar-edit-btn{position:relative;border:none;background:none;padding:0;cursor:pointer;border-radius:50%;line-height:0;flex-shrink:0}.avatar-edit-btn .avatar-edit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#00000073;display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-md);opacity:0;transition:opacity var(--transition-fast)}.avatar-edit-btn:hover .avatar-edit-overlay,.avatar-edit-btn:focus-visible .avatar-edit-overlay{opacity:1}.profile-inline-input{background:transparent;border:none;border-bottom:1px dashed transparent;border-radius:0;padding:0 2px;width:100%;color:inherit;font:inherit;transition:border-color var(--transition-fast)}.profile-inline-input:hover,.profile-inline-input:focus{border-bottom-color:var(--border);outline:none;box-shadow:none}.profile-inline-input::placeholder{color:var(--text-muted);opacity:.7}.modal .profile-inline-input{background:transparent;border:none;border-bottom:1px dashed transparent;border-radius:0;padding:0 2px;margin:0;resize:none}.modal .profile-inline-input:hover,.modal .profile-inline-input:focus{border-bottom-color:var(--border);outline:none;box-shadow:none}.profile-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md)}.profile-card-banner{height:72px}.profile-card-banner-btn{position:relative;display:block;width:100%;border:none;padding:0;cursor:pointer}.profile-card-banner-btn .avatar-edit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;display:flex;align-items:center;justify-content:center;background:#00000047;color:#fff;font-size:var(--text-lg);opacity:0;transition:opacity var(--transition-fast)}.profile-card-banner-btn:hover .avatar-edit-overlay,.profile-card-banner-btn:focus-visible .avatar-edit-overlay{opacity:1}.profile-card-body{padding:0 var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.profile-card-avatar-wrap{margin-top:-36px;margin-bottom:calc(-1 * var(--space-2))}.profile-card .avatar-edit-btn{border:3px solid var(--bg-elevated);border-radius:50%;background:var(--bg-elevated)}.profile-card-idline{font-family:monospace;font-size:var(--text-xs);color:var(--text-muted)}.profile-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);margin-top:var(--space-1)}.profile-tab{background:none;border:none;border-bottom:2px solid transparent;padding:6px 10px;margin-bottom:-1px;color:var(--text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium, 500);transition:color var(--transition-fast),border-color var(--transition-fast)}.profile-tab:hover{color:var(--text)}.profile-tab.active{color:var(--text);border-bottom-color:var(--accent)}.profile-section-label{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:4px}.profile-tab-panel{min-height:150px;padding-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.thought-bubble{position:relative;align-self:flex-start;margin-top:8px;max-width:320px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:7px 12px}.thought-bubble:before,.thought-bubble:after{content:"";position:absolute;background:var(--bg);border:1px solid var(--border);border-radius:50%}.thought-bubble:before{width:10px;height:10px;left:-7px;bottom:8px}.thought-bubble:after{width:6px;height:6px;left:-13px;bottom:1px}.profile-two-col{display:grid;grid-template-columns:minmax(0,560px);gap:var(--space-6);align-items:start}@media(min-width:1024px){.profile-two-col{grid-template-columns:minmax(0,560px) minmax(280px,1fr)}}.profile-scope-bar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}.profile-two-col>.settings-section{margin-bottom:0;padding-bottom:0;border-bottom:none}.avatar-chooser{display:flex;flex-direction:column;gap:var(--space-2)}.avatar-chooser-tabs{display:flex;gap:var(--space-1)}.avatar-chooser-tab{padding:4px 10px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:var(--text-sm);transition:border-color var(--transition-fast),color var(--transition-fast)}.avatar-chooser-tab:hover{color:var(--text)}.avatar-chooser-tab.active{border-color:var(--accent);color:var(--accent)}.avatar-picker{display:flex;flex-direction:column;gap:var(--space-2)}.avatar-picker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.avatar-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:var(--space-2);max-height:260px;overflow-y:auto;padding:var(--space-1) 0}.avatar-picker-tile{display:flex;align-items:center;justify-content:center;padding:3px;border-radius:var(--r-md);border:2px solid transparent;background:var(--surface);cursor:pointer;transition:border-color var(--transition-fast),transform var(--transition-fast)}.avatar-picker-tile:hover{transform:scale(1.06)}.avatar-picker-tile.selected{border-color:var(--accent)}.avatar-picker-tile img{width:48px;height:48px;border-radius:var(--r-pill);display:block}.mic-meter{position:relative;width:100%;height:32px;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;cursor:ew-resize;-webkit-user-select:none;user-select:none;margin-top:var(--space-2)}.mic-meter-fill{position:absolute;top:0;left:0;height:100%;background:var(--success);transition:width 50ms linear}.mic-meter-fill.triggered{background:linear-gradient(to right,var(--success) 0%,var(--success) 70%,var(--warning) 100%)}.mic-meter-marker{position:absolute;top:-3px;bottom:-3px;width:3px;background:var(--warning);box-shadow:0 0 0 1px var(--bg);transform:translate(-50%);pointer-events:none}.pubkey-display{flex:1 1 auto;background:var(--bg-sunken);padding:var(--space-2) var(--space-3);border-radius:var(--r-sm);font-family:var(--font-mono);font-size:var(--text-md);color:var(--accent)}.toast{position:fixed;top:var(--space-4);left:50%;transform:translate(-50%);background:var(--danger);color:#fff;padding:var(--space-3) var(--space-5);border-radius:var(--r-md);font-size:var(--text-md);box-shadow:var(--shadow-md);z-index:1000;cursor:pointer;max-width:500px;animation:slide-in-down var(--transition-base)}.voice-move-toast{position:fixed;bottom:var(--space-4);left:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);padding:var(--space-3) var(--space-4);border-radius:var(--r-md);font-size:var(--text-sm);box-shadow:var(--shadow-md);z-index:1000;max-width:320px;display:flex;flex-direction:column;gap:var(--space-2);animation:slide-in-down var(--transition-base)}.voice-move-toast-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.voice-move-toast-actions{display:flex;justify-content:flex-end}body:has(.update-banner) #root{box-sizing:border-box;padding-top:49px}.update-banner{box-sizing:border-box;height:49px;position:fixed;top:0;left:0;right:0;z-index:1001;background:var(--bg-elevated);border-bottom:1px solid var(--accent);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-5);font-size:var(--text-sm)}.update-banner-content{display:flex;align-items:center;gap:var(--space-3);min-width:0}.update-banner-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.update-banner-error{color:var(--danger);font-size:var(--text-xs)}.update-banner-installing{color:var(--text-muted)}.update-banner-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.main-layout{display:flex;width:100%;height:100%}.sidebar{width:240px;background:var(--bg-elevated);padding:var(--space-4);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;min-height:0;position:relative;overflow:visible}.sidebar-resize-handle{position:absolute;top:0;right:-3px;bottom:0;width:6px;cursor:col-resize;z-index:50;touch-action:none}.sidebar-resize-handle:hover,.sidebar-resize-handle:active{background:var(--accent);opacity:.4}.sidebar h3{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);margin-bottom:var(--space-3)}.content{flex:1;min-width:0;padding:var(--space-4);display:flex;flex-direction:column;background:var(--bg);position:relative}.chat-column{max-width:1300px;width:100%;margin:0 auto;display:flex;flex-direction:column;flex:1;min-height:0}.content h3{color:var(--text);margin-bottom:var(--space-3)}.content-area-tabs{display:flex;gap:4px;padding:0 12px;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.content-area-tab{padding:6px 12px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:var(--text-sm);font-weight:400;color:var(--text-muted);margin-bottom:-1px}.content-area-tab.active{border-bottom-color:var(--accent);font-weight:600;color:var(--text)}.error{color:var(--danger);background:var(--danger-bg);padding:var(--space-2) var(--space-4);border-radius:var(--r-md);margin-top:var(--space-3);max-width:400px}.channel-list{list-style:none;padding:0;margin:0}.sidebar-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:var(--space-1)}.hub-header{position:relative;flex:0 0 auto;border-bottom:1px solid var(--border);margin:calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-3)}.hub-header-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3) var(--space-4);background:none;border:none;color:var(--text);font-weight:var(--weight-bold);font-size:var(--text-md);cursor:pointer}.hub-header-button:hover{background:var(--surface)}.hub-card{flex-wrap:wrap;justify-content:flex-start;gap:var(--space-2);min-height:72px;text-align:left}.hub-card.has-banner{background:linear-gradient(to bottom,color-mix(in srgb,var(--bg-elevated) 35%,transparent),var(--bg-elevated)),var(--hub-banner) center / cover no-repeat}.hub-card .hub-header-id{flex:1;min-width:0}.hub-card-counts{flex-basis:100%;display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:400;color:var(--text-muted)}.channel-voice-count{margin-left:auto;font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.channel-voice-summary{display:block;width:100%;padding:2px var(--space-2) 4px 32px;border:none;background:none;color:var(--text-muted);font-size:var(--text-xs);text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-voice-summary:hover{color:var(--text)}.hub-header-name{flex:1 1 auto;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-header-chevron{display:inline-flex;align-items:center;color:var(--text-muted);margin-left:var(--space-2)}.hub-clock{flex:0 0 auto;font-weight:var(--weight-normal);font-size:var(--text-xs);color:var(--text-muted);margin-left:var(--space-2);white-space:nowrap}.hub-dropdown{position:absolute;top:100%;left:var(--space-2);right:var(--space-2);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:var(--space-1);z-index:1050;margin-top:var(--space-1);animation:scale-in var(--transition-fast);transform-origin:top}.hub-dropdown-item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:none;border:none;color:var(--text);font-size:var(--text-sm);cursor:pointer;border-radius:var(--r-sm)}.hub-dropdown-item:hover{background:var(--surface)}.hub-dropdown-item.danger{color:var(--danger)}.hub-dropdown-item.danger:hover{background:var(--danger-bg);color:var(--danger)}.hub-dropdown-subitem{padding-left:var(--space-6);font-size:var(--text-sm)}.hub-icon-editor{display:flex;align-items:center;gap:var(--space-4)}.hub-icon-preview{width:72px;height:72px;border-radius:var(--r-lg);object-fit:cover;background:var(--bg-sunken)}.hub-icon-preview.placeholder{display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);color:var(--text-faint);border:1px dashed var(--border)}.profile-editor{padding:var(--space-4);border:none;background:transparent;margin:0}.roles-layout{display:grid;grid-template-columns:180px 1fr;gap:var(--space-4);align-items:start}.roles-list{display:flex;flex-direction:column;gap:2px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-2)}.role-list-item{display:flex;align-items:center;gap:var(--space-2);padding:6px var(--space-3);border-radius:var(--r-sm);background:transparent;color:var(--text-muted);font-size:var(--text-sm);text-align:left;cursor:pointer;border:none;box-shadow:none}.role-list-item:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text)}.role-list-item.active{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text);font-weight:var(--weight-semi)}.role-list-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roles-panel{display:flex;flex-direction:column;gap:var(--space-3)}.role-badge{display:inline-flex;align-items:center;gap:4px;background:var(--surface);color:var(--accent);padding:2px var(--space-2);border-radius:var(--r-pill);font-size:var(--text-xs);border:1px solid transparent}.role-badge-tinted{color:color-mix(in srgb,var(--role-color) 60%,var(--text));border-color:color-mix(in srgb,var(--role-color) 45%,var(--border));background:color-mix(in srgb,var(--role-color) 12%,var(--surface))}.role-category-group{margin-bottom:var(--space-3)}.role-category-header{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-muted);margin:0 0 4px}.role-category-header-tinted{color:color-mix(in srgb,var(--role-color) 70%,var(--text-muted))}.name-colored{color:color-mix(in srgb,var(--role-color) 70%,var(--text))}.sidebar-alliances{margin-top:var(--space-4)}.sidebar-alliance-group{margin-bottom:var(--space-3)}.alliance-channel-host{display:block;font-size:var(--text-xs);color:var(--text-faint);margin-top:2px}.alliance-voice-join{float:right;padding:0 4px;line-height:1}.channel-item.alliance-category{cursor:default;font-weight:var(--weight-bold);font-size:var(--text-xs)}.channel-item.alliance-category:hover{background:transparent;color:var(--text-muted)}.channel-item.alliance-noninteractive{cursor:default;opacity:.55}.channel-item.alliance-noninteractive:hover{background:transparent;color:var(--text-muted)}.members-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.members-table th{text-align:left;color:var(--text-muted);font-weight:var(--weight-bold);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--bg-sunken)}.members-table td{padding:var(--space-3);border-bottom:1px solid var(--border);vertical-align:middle}.member-pk{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint);margin-top:2px}.account-order-col{width:1%;white-space:nowrap}.account-order-cell{white-space:nowrap;vertical-align:middle}.account-order-number{color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:1.2em;text-align:right}tr.account-row-draggable{cursor:grab}tr.account-row-draggable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}tr.account-row-dragging{cursor:grabbing;opacity:.4}.account-key-copy{font-family:monospace;font-size:var(--text-xs);word-break:break-all;cursor:copy;border-radius:var(--r-sm);padding:1px 3px}.account-key-copy:hover,.account-key-copy:focus-visible{background:var(--surface);outline:none}.account-key-copied{color:var(--success, var(--accent));margin-left:6px;white-space:nowrap}.account-hover-icon{opacity:0;transition:opacity .12s ease;margin-left:4px}.account-key-copy .account-hover-icon{margin-left:10px}td:hover .account-hover-icon,.account-key-copy:focus-visible .account-hover-icon,.account-hover-icon:focus-visible{opacity:1}tr.account-drop-target td{box-shadow:inset 0 2px 0 0 var(--accent)}.pending-section{background:var(--bg-elevated);border:1px solid var(--warning);border-radius:var(--r-md);padding:var(--space-4);margin-bottom:var(--space-5)}.pending-section h2{color:var(--warning);font-size:var(--text-md);margin:0 0 var(--space-3) 0}.invite-code{background:var(--bg-sunken);padding:var(--space-1) var(--space-2);border-radius:var(--r-sm);font-family:var(--font-mono);color:var(--accent)}.channel-item{padding:var(--space-2) var(--space-3);border-radius:var(--r-md);cursor:pointer;color:var(--text-muted);font-size:var(--text-md)}.channel-item:hover{background:var(--surface);color:var(--text)}.channel-item:has(+.channel-participants){background:var(--surface);color:var(--text);font-weight:var(--weight-medium);border:1px solid var(--border);border-bottom:none;border-radius:var(--r-md) var(--r-md) 0 0;margin:0 var(--space-2)}.channel-item.unread:not(.selected){color:var(--text);font-weight:var(--weight-medium)}.channel-item.muted:not(.selected):not(.unread){opacity:.55}.channel-item.channel-item-spawner:not(.selected){color:var(--text-muted);font-style:italic}.channel-muted-icon{display:inline-flex;align-items:center;margin-left:6px;opacity:.7}.channel-type-hash{font-size:13px;font-weight:var(--weight-medium);opacity:.55;margin-right:4px;line-height:1;-webkit-user-select:none;user-select:none;flex-shrink:0}.channel-item.selected .channel-type-hash{opacity:.8}.channel-type-spawner{font-size:13px;font-weight:var(--weight-bold);opacity:.7;margin-right:4px;line-height:1;-webkit-user-select:none;user-select:none;flex-shrink:0}.channel-item.selected .channel-type-spawner{opacity:.9}.channel-temp-badge{font-size:10px;font-weight:600;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--r-sm);padding:0 4px;margin-left:6px;letter-spacing:.3px}.channel-item.selected .channel-temp-badge{color:var(--accent-text);border-color:var(--accent-text)}.channel-draft-badge{font-size:10px;font-weight:600;color:var(--warning);margin-left:4px;letter-spacing:.3px}.channel-item.selected .channel-draft-badge{color:var(--accent-text);opacity:.85}.channel-settings-btn{display:inline-flex;align-items:center;background:transparent;border:none;color:var(--text-faint);opacity:0;cursor:pointer;padding:0 var(--space-1);transition:opacity var(--transition-fast),color var(--transition-fast);margin-left:auto}.channel-item:hover .channel-settings-btn{opacity:1}.channel-settings-btn:hover{color:var(--text)}.channel-item{display:flex;align-items:center;gap:6px}.channel-item .channel-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-item .channel-settings-btn,.channel-item .channel-temp-badge,.channel-item .channel-draft-badge,.channel-item .channel-muted-icon{flex-shrink:0}.channel-unread-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:6px;vertical-align:middle}.channel-item.selected .channel-unread-dot{background:var(--accent-text)}.muted{color:var(--text-faint);font-size:var(--text-xs)}.user-info{margin-top:auto;border-top:1px solid var(--border);display:flex;flex-direction:column}.voice-status-bar{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-xs);color:var(--text-muted);overflow:hidden}.voice-status-bar .voice-status-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mic-gate-warning{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);margin:var(--space-1) var(--space-3);padding:var(--space-2);border:1px solid var(--warning);border-radius:var(--r-md);font-size:var(--text-xs);color:var(--warning)}.mic-gate-warning-action{background:none;border:0;padding:0;font:inherit;color:var(--text);text-decoration:underline;cursor:pointer}.user-actions{display:flex;align-items:center;padding:var(--space-1) var(--space-2) var(--space-2);gap:var(--space-1);border-bottom:1px solid var(--border)}.user-actions-icons{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;min-width:0;gap:var(--space-1);margin-left:auto}.user-status-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--bg);position:absolute;bottom:-1px;right:-1px;flex-shrink:0}.user-status-dot.status-online{background:var(--success)}.user-status-dot.status-away{background:var(--warning)}.user-status-dot.status-dnd{background:var(--danger)}.user-status-dot.status-offline{background:var(--text-faint)}.user-status-dot.status-invisible{background:transparent;box-shadow:inset 0 0 0 2px var(--text-muted)}.status-menu-ttl{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:6px 8px;margin-top:4px;border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-muted)}.status-menu-ttl select{font-size:var(--text-xs)}.user-menu{position:relative;flex-shrink:0}.user-menu-trigger{position:relative;display:inline-flex;padding:0;border:none;background:none;border-radius:var(--r-pill);cursor:pointer}.user-menu-trigger:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ring)}.user-menu-panel{position:absolute;bottom:calc(100% + 6px);left:0;z-index:300;width:280px;max-height:80vh;overflow-y:auto;display:flex;flex-direction:column;padding:var(--space-2);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 8px 24px #0006}.user-menu-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2)}.user-menu-who{display:flex;flex-direction:column;min-width:0;flex:1}.user-menu-name{font-weight:var(--weight-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-key{font-family:var(--font-mono, monospace);font-size:var(--text-xs);color:var(--text-muted)}.user-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:6px 8px;border:none;background:none;color:var(--text);font-size:var(--text-sm);text-align:left;border-radius:var(--r-sm);cursor:pointer}.user-menu-item:hover,.user-menu-item:focus-visible,.user-menu-item[aria-checked=true]{background:var(--surface-hover);outline:none}.user-menu-item .user-status-dot{position:static}.user-menu-item-label{flex:1}.user-menu-hint{font-size:var(--text-xs);color:var(--text-faint)}.user-menu-sub{padding-left:var(--space-3)}.user-menu-custom{padding:var(--space-1) var(--space-2)}.user-menu-custom input{width:100%}.user-menu-sep{height:1px;margin:var(--space-1) 0;background:var(--border)}.user-menu-heading{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-muted)}.user-menu-footer{display:flex;gap:var(--space-3);padding:var(--space-1) var(--space-2)}.user-menu-link{padding:0;border:none;background:none;color:var(--text-muted);font-size:var(--text-xs);cursor:pointer}.user-menu-link:hover,.user-menu-link:focus-visible{color:var(--text);outline:none}.btn-icon{flex:0 0 auto;width:28px;height:28px;padding:0;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-icon-gear{flex:0 0 auto;width:28px;height:28px;padding:0;border:none;border-radius:var(--r-sm);background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:var(--text-lg);line-height:1;display:inline-flex;align-items:center;justify-content:center}.btn-icon-gear:hover{background:var(--surface-hover);color:var(--text)}.btn-icon-gear.active{background:var(--danger);color:#fff}.btn-icon-gear.active:hover{background:var(--danger-hover);color:#fff}.btn-icon-gear.voice-call-btn.start{color:var(--success);border:1px solid var(--success);background:transparent}.btn-icon-gear.voice-call-btn.start:hover:not(:disabled){background:var(--success);color:#fff}.btn-icon-gear.voice-call-btn.start:disabled{opacity:.4;cursor:not-allowed;border-color:var(--border);color:var(--text-faint)}.btn-icon-gear.voice-call-btn.end{background:var(--danger);color:#fff;border:1px solid var(--danger)}.btn-icon-gear.voice-call-btn.end:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.btn-small{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;margin-top:var(--space-2)}.btn-small:hover{background:var(--surface-hover)}.btn-small.leave{background:var(--danger);color:#fff;margin-left:auto}.btn-small.leave:hover{background:var(--danger-hover)}.btn-secondary,.btn-secondary-small{background:var(--surface);color:var(--text)}.btn-secondary:hover,.btn-secondary-small:hover{background:var(--surface-hover)}.channel-header{padding-bottom:var(--space-3);border-bottom:1px solid var(--border);margin-bottom:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.channel-header .channel-header-info{flex:1;min-width:0}.channel-header h3{margin:0;color:var(--text)}.channel-header-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;flex:1 1 auto}.channel-description{color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-description.editable{cursor:pointer;border-radius:var(--r-sm);padding:0 4px;margin-left:-4px}.channel-description.editable:hover{background:var(--surface);color:var(--text)}.channel-breadcrumb{display:flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--text-faint);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.channel-breadcrumb-item{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.channel-breadcrumb-item:hover{color:var(--text-muted);text-decoration:underline}.channel-breadcrumb-item.current{color:var(--text-muted);cursor:default;text-decoration:none}.channel-breadcrumb-sep{color:var(--text-faint)}.sidebar-drill-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--text-faint);border-bottom:1px solid var(--border);margin-bottom:var(--space-1)}.sidebar-drill-crumb-item{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.sidebar-drill-crumb-item:hover{color:var(--text-muted);text-decoration:underline}.sidebar-drill-crumb-item.current{color:var(--text);cursor:default;text-decoration:none;font-weight:var(--weight-medium)}.sidebar-drill-crumb-sep{color:var(--text-faint)}.channel-item-wrap{list-style:none;margin:0;padding:0}.channel-item.in-voice-here{box-shadow:inset 2px 0 0 var(--success)}.channel-participants{list-style:none;margin:0 var(--space-2) var(--space-2);padding:0 var(--space-2) var(--space-2);background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--r-md) var(--r-md)}.channel-participant{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);font-size:var(--text-md);color:var(--text-muted);border-radius:var(--r-sm);cursor:pointer}.channel-participant:hover{background:var(--surface-hover);color:var(--text)}.channel-participant-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-participant.speaking{color:var(--text)}.voice-room-events{display:flex;justify-content:flex-end;padding:0 var(--space-3)}.voice-room{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.voice-room-bar{display:flex;align-items:flex-start;gap:var(--space-3)}.voice-room-bar .live-tray{flex:1;min-width:0}.voice-room-controls{margin-left:auto}.voice-media-bar{display:flex;gap:var(--space-1)}.voice-stage-area{flex:1;min-height:120px;overflow:auto;display:flex;flex-direction:column;gap:var(--space-3)}.voice-room-sep{flex:none;height:6px;border-radius:var(--r-pill);background:var(--border);cursor:row-resize;touch-action:none}.voice-room-sep:hover{background:var(--text-faint)}.voice-audience{flex:1;min-height:72px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2)}.voice-stage-area+.voice-room-sep+.voice-audience{flex:0 1 auto;max-height:45%}.voice-audience-head{display:flex;align-items:center;gap:var(--space-2)}.voice-audience-label{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-muted)}.voice-tiles{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2);grid-auto-flow:dense}.voice-tiles.audience{grid-template-columns:repeat(auto-fill,minmax(108px,1fr))}.voice-tiles.stage{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.voice-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--r-md);background:var(--surface);min-width:0}.voice-tile.big{grid-column:span 2;grid-row:span 2}.voice-tile .avatar-img,.voice-tile .avatar-fallback{transition:box-shadow .12s ease-out}.voice-tile.speaking .avatar-img,.voice-tile.speaking .avatar-fallback{box-shadow:0 0 0 3px var(--accent),0 0 14px 3px color-mix(in srgb,var(--accent) 55%,transparent)}.voice-tile-name{font-size:var(--text-sm);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-tile-actions{position:absolute;top:var(--space-1);right:var(--space-1);display:flex;gap:2px;opacity:0;transition:opacity .12s}.voice-tile:hover .voice-tile-actions,.voice-tile:focus-within .voice-tile-actions,.voice-tile-actions [aria-pressed=true]{opacity:1}.voice-tile--stream video{width:100%;max-height:360px;background:#000;border-radius:var(--r-sm);object-fit:contain}.voice-stage-floor-actions{display:flex;gap:var(--space-1)}.voice-room-join{gap:var(--space-2)}.screen-share-tile-actions{position:absolute;top:var(--space-2);left:var(--space-2);z-index:2;display:flex;gap:var(--space-1);opacity:0;transition:opacity .12s}.screen-share-main-wrap:hover .screen-share-tile-actions,.screen-share-main-wrap:focus-within .screen-share-tile-actions{opacity:1}.live-badge{font-size:10px;font-weight:700;letter-spacing:.04em;padding:1px 4px;border-radius:var(--r-sm);background:var(--danger);color:#fff}.live-tray{display:flex;flex-direction:column;gap:var(--space-2)}.live-tray-row{display:flex;align-items:center;gap:var(--space-2);min-width:0}.live-tray-title{font-size:var(--text-sm);font-weight:600;white-space:nowrap}.live-tray-chips{display:flex;gap:var(--space-2);flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin}.live-chip{flex:none;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:var(--text-sm);cursor:pointer;white-space:nowrap}.live-chip.open{border-color:var(--accent)}.live-tray-list ul{list-style:none;margin:var(--space-2) 0 0;padding:0;max-height:240px;overflow-y:auto}.channel-participant .avatar{transition:box-shadow .12s ease-out}.channel-participant.speaking .avatar{box-shadow:0 0 0 2px var(--accent),0 0 8px 2px color-mix(in srgb,var(--accent) 55%,transparent)}.voice-status{display:flex;align-items:center;gap:6px;background:var(--surface);padding:var(--space-2);border-radius:var(--r-md);margin-bottom:var(--space-2);font-size:var(--text-xs);color:var(--success)}.voice-status-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ping-icon{fill:currentColor}.ping-good{color:var(--success)}.ping-okay{color:var(--warning)}.ping-bad{color:var(--danger)}.ping-offline{color:var(--text-faint)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fade-in var(--transition-base)}.modal{background:var(--bg-elevated);padding:var(--space-5);border-radius:var(--r-md);border:1px solid var(--border);min-width:360px;max-height:calc(100vh - 2 * var(--space-5));overflow-y:auto;box-shadow:var(--shadow-lg);animation:scale-in var(--transition-base)}.modal.modal-tabbed{width:min(640px,92vw);height:min(680px,90vh);overflow-y:auto}.modal h3{color:var(--text);font-weight:var(--weight-bold);margin:0 0 var(--space-4) 0}.modal input,.modal textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-sunken);color:var(--text);font-size:var(--text-md);margin-bottom:var(--space-4);font-family:inherit;resize:vertical}.modal input:focus,.modal textarea:focus,input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.modal input:focus-visible,.modal textarea:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.modal-actions button{padding:var(--space-2) var(--space-5);border-radius:var(--r-md);font-size:var(--text-md);font-weight:var(--weight-medium);cursor:pointer}.modal-actions button:hover{background:var(--surface-hover)}.modal-wide{min-width:480px;max-width:600px}.modal-form .form-field{margin-bottom:var(--space-3)}.modal-form input,.modal-form textarea{margin-bottom:0}.modal-form .form-row{display:flex;gap:var(--space-2);align-items:center;margin-bottom:var(--space-2)}.modal-form .form-row input{min-width:0}.modal-form-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-4)}.modal-form-error{color:var(--danger);font-size:var(--text-sm);margin:var(--space-3) 0 0}.modal-section{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.modal-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.settings-section{margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--border)}.settings-section:last-of-type{border-bottom:none}.settings-section p{margin-bottom:var(--space-3)}.settings-label{display:block;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.settings-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-4) var(--space-5) var(--space-5)}.settings-card>h3{margin:0 0 var(--space-4);font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--text)}.settings-card .settings-section{margin-bottom:var(--space-4);padding-bottom:0;border-bottom:none}.settings-card .settings-section:last-child{margin-bottom:0}.settings-card-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:var(--space-4);align-items:start}.settings-card input[type=text],.settings-card input[type=number],.settings-card input[type=url],.settings-card select,.settings-card textarea{width:100%;box-sizing:border-box}.settings-card .muted{max-width:60ch;font-size:var(--text-xs);line-height:var(--leading-normal);margin-bottom:var(--space-2)}.voice-devices-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.voice-devices-row select{width:100%}.settings-row-2col{display:flex;flex-wrap:wrap;gap:var(--space-4)}.settings-row-2col>*{flex:1 1 200px;min-width:200px}.voice-mic-test{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.voice-mic-test-hint{font-size:var(--text-xs);line-height:var(--leading-normal)}.settings-row{display:flex;align-items:center;gap:var(--space-2)}.settings-row input:not([type=checkbox]):not([type=radio]),.settings-row select{flex:1;margin-bottom:0;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-sunken);color:var(--text);font-size:var(--text-md);font-family:inherit}.settings-row button{padding:var(--space-2) var(--space-4);border-radius:var(--r-md);font-weight:var(--weight-medium);cursor:pointer}.settings-row button:hover{background:var(--surface-hover)}.recovery-input{width:100%;background:var(--bg-sunken);color:var(--text);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal);resize:vertical}.error-text{color:var(--danger);font-size:var(--text-sm);margin:var(--space-2) 0}.error-retry{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-2) 0}.error-retry .error-text{margin:0;flex:1}.passphrase-strength{display:inline-block;font-size:var(--text-xs);margin-bottom:var(--space-2)}.passphrase-strength.weak{color:var(--danger)}.passphrase-strength.fair{color:var(--warning)}.passphrase-strength.strong{color:var(--success)}.recovery-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.recovery-input:focus-visible{outline:none}.recovery-input-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2);gap:var(--space-3)}.public-key{background:var(--bg-sunken);padding:var(--space-2) var(--space-3);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);word-break:break-all;-webkit-user-select:text;user-select:text}.friend-list{list-style:none;padding:0;margin:0}.friend-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--r-md);margin-bottom:var(--space-1)}.friend-name{color:var(--text);font-size:var(--text-md)}.friend-item button{padding:var(--space-1) var(--space-3);border-radius:var(--r-sm);font-size:var(--text-xs);cursor:pointer}.friend-item button:hover{background:var(--surface-hover)}.badge{background:var(--danger);color:#fff;border-radius:var(--r-pill);padding:1px 6px;font-size:var(--text-xs);font-weight:var(--weight-bold)}.channel-item-wrap.dragging,.category-group.dragging{opacity:.4;cursor:grabbing}.channel-drag-ghost{padding:var(--space-1) var(--space-2);background:var(--surface);border:1px solid var(--accent);border-radius:var(--r-sm);color:var(--text);font-size:var(--text-sm);pointer-events:none;box-shadow:0 4px 12px #0000004d;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.channel-drag-ghost.is-category{font-size:var(--text-xs);font-weight:var(--weight-semi);color:var(--text-muted)}.main-layout{flex-wrap:wrap;align-content:flex-start}.main-layout>:not(.top-bar):not(.sr-only):not(.mobile-shell-mobile),.main-layout>.mobile-shell-desktop>:not(.top-bar){height:calc(100% - 48px)}.top-bar{flex:0 0 100%;height:48px;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--bg-sunken);border-bottom:1px solid var(--border);min-width:0}.top-bar-btn,.top-bar-hubs,.top-bar-search,.hub-tab{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);height:34px;padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--r-md);background:none;color:var(--text-muted);cursor:pointer;white-space:nowrap}.top-bar-btn:hover,.top-bar-hubs:hover,.top-bar-search:hover,.hub-tab:hover{background:var(--surface);color:var(--text)}.top-bar-btn.active,.hub-tab.active{background:var(--surface);border-color:var(--border);color:var(--text)}.top-bar-hubs{font-weight:var(--weight-medium)}.hub-tabs{display:flex;align-items:center;gap:var(--space-1);min-width:0;overflow-x:auto;scrollbar-width:none}.hub-icon-wrap{display:inline-flex;flex-shrink:0}.hub-icon-wrap.dragging{opacity:.6}.hub-tab.offline{opacity:.5}.hub-tab-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;font-weight:var(--weight-medium)}.hub-tab-mark{display:inline-flex;color:var(--text-faint)}.hub-unread-pill{min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--surface-hover);color:var(--text);font-size:var(--text-xs);font-weight:var(--weight-bold);display:inline-flex;align-items:center;justify-content:center}.hub-unread-pill.mention{background:var(--danger);color:#fff}.hub-folder{position:relative}.hub-folder-mosaic{display:grid;grid-template-columns:repeat(2,11px);grid-auto-rows:11px;gap:2px;width:24px;height:24px;overflow:hidden}.hub-folder-mosaic .avatar-img,.hub-folder-mosaic .avatar-fallback{border-radius:3px;font-size:0!important}.hub-folder-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:299}.hub-folder-menu{position:fixed;z-index:300;width:280px;padding:var(--space-2);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 8px 24px #0006}.hub-folder-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:6px 8px;border:none;background:none;color:var(--text);text-align:left;border-radius:var(--r-sm);cursor:pointer}.hub-folder-item:hover,.hub-folder-item:focus-visible{background:var(--surface-hover);outline:none}.hub-folder-item-text{display:flex;flex-direction:column;flex:1;min-width:0}.hub-folder-item-sub,.hub-folder-empty{font-size:var(--text-xs);color:var(--text-muted)}.top-bar-spacer{flex:1}.top-bar-search kbd{font-family:var(--font-mono, monospace);font-size:var(--text-xs);color:var(--text-faint)}.top-bar .user-menu-panel{top:calc(100% + 6px);bottom:auto;left:auto;right:0}.hub-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#00000073}.hub-drawer{position:absolute;top:0;bottom:0;left:0;width:min(360px,100vw);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);overflow-y:auto;background:var(--bg-elevated);border-right:1px solid var(--border)}.hub-drawer-head{display:flex;flex-direction:column;gap:var(--space-2)}.hub-drawer-filters{display:flex;gap:var(--space-1)}.hub-drawer-filters button{padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--r-pill);background:none;color:var(--text-muted);font-size:var(--text-xs);cursor:pointer}.hub-drawer-filters button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.hub-drawer-list{list-style:none;margin:0;padding:0}.hub-drawer-row{display:flex;align-items:center;gap:var(--space-1);border-radius:var(--r-sm)}.hub-drawer-row.active{background:var(--surface)}.hub-drawer-row.dragging{position:relative;z-index:10;opacity:.85;cursor:grabbing}.hub-drawer-loose{min-height:8px}.hub-drawer-loose,.hub-drawer-folder-group{border-radius:var(--r-sm);outline:1px dashed transparent}.hub-drawer-loose.drop-over,.hub-drawer-folder-group.drop-over{outline-color:var(--accent);background:var(--surface)}.hub-drawer-drop-hint{margin:0;padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.hub-drawer-open{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;padding:6px 8px;border:none;background:none;color:var(--text);text-align:left;cursor:pointer}.hub-drawer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-drawer-folder{max-width:110px;font-size:var(--text-xs)}.hub-drawer-pin[aria-pressed=true]{color:var(--accent)}.hub-drawer-folder-head{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-muted)}.hub-drawer-folder-head>span{flex:1}.hub-drawer-actions,.hub-drawer-new-folder{display:flex;flex-wrap:wrap;gap:var(--space-2)}.channel-item,.category-header{cursor:grab}.channel-item:active,.category-header:active{cursor:grabbing}.messages{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);list-style:none}.message{position:relative;display:grid;grid-template-columns:var(--msg-gutter) minmax(0,1fr);align-items:start;padding:var(--space-2) var(--space-4);border-radius:var(--r-md);line-height:var(--leading-normal)}.message:hover{background:var(--bg-elevated)}.message-avatar{grid-column:1;grid-row:1 / span 2;padding-top:2px}.message-meta{grid-column:2;display:flex;align-items:baseline;gap:var(--space-2);min-width:0}.message-main{grid-column:2;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);min-width:0}.message-reply-preview{grid-column:1 / -1}.message-edited-tag{color:var(--text-faint);font-size:var(--text-xs);font-style:italic}.message-actions{position:absolute;top:calc(var(--space-1) * -1);right:var(--space-4);display:none;gap:var(--space-1);padding:2px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);z-index:2}.message:hover .message-actions,.message:focus-within .message-actions{display:inline-flex}.message-actions:has(.reaction-picker-popup){display:inline-flex}.message-action{width:26px;height:26px;border:none;border-radius:var(--r-sm);background:var(--bg-sunken);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;line-height:1}.message-action:hover{background:var(--surface);color:var(--text)}.message-action.danger:hover{background:var(--danger-bg);color:var(--danger)}.message-edit{display:flex;gap:6px;flex:1 1 auto;align-items:center}.message-edit input{flex:1 1 auto;padding:6px var(--space-3);border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--bg-sunken);color:var(--text);font-size:var(--text-md)}.message-sender{font-size:var(--text-sm);font-weight:var(--weight-semi);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-content{color:var(--text);font-size:15px;line-height:var(--leading-normal);max-width:var(--measure)}.md-content{white-space:pre-wrap}.message-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint);cursor:help;flex:none}.user-list-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--weight-bold)}.user-list-online{display:inline-flex;align-items:center;gap:4px;text-transform:none;letter-spacing:normal;font-weight:var(--weight-medium)}.user-speaking{margin-left:auto;font-size:var(--text-xs);opacity:.85;animation:user-speaking-pulse 1.1s ease-in-out infinite}@keyframes user-speaking-pulse{0%,to{opacity:.45}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.user-speaking{animation:none;opacity:1}}.user-list-filter{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.user-list-filter input{width:100%;padding:var(--space-1) var(--space-2);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:var(--text-sm)}.user-list-filter input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.user-list-filter input:focus-visible{outline:none}.user-list-empty{margin-top:var(--space-2);text-align:center}.channel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-6);color:var(--text-muted);margin:auto 0}.channel-empty-icon{font-size:48px;line-height:1;margin-bottom:var(--space-3)}.channel-empty h2{color:var(--text);margin-bottom:var(--space-2)}.channel-empty p{max-width:360px}.search-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--bg-sunken)}.search-bar input{flex:1}.search-count{font-size:var(--text-xs);white-space:nowrap}.btn-icon-header{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 auto;padding:0;background:none;border:none;color:var(--text-faint);border-radius:var(--r-md);font-size:var(--text-md);line-height:1;cursor:pointer}.btn-icon-header:hover{background:var(--surface-hover);color:var(--text)}.message-attachments{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2);margin-left:var(--msg-gutter)}.message-attachment-img{width:auto;height:auto;max-width:320px;max-height:240px;border-radius:var(--r-md);display:block;cursor:zoom-in}.message-attachment-img-button{background:transparent;border:none;padding:0;cursor:zoom-in}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4);cursor:zoom-out}.lightbox-img{max-width:95vw;max-height:95vh;border-radius:var(--r-md);cursor:default;box-shadow:0 20px 50px #0009}.lightbox-close{position:absolute;top:16px;right:20px;width:36px;height:36px;border-radius:50%;background:#ffffff26;border:none;color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.lightbox-close:hover{background:#ffffff40}.message-attachment-file{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);text-decoration:none;font-size:var(--text-sm)}.message-attachment-file:hover{border-color:var(--accent)}.pending-attachments{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--border);background:var(--bg-sunken)}.pending-attachment{position:relative;padding:var(--space-1);display:flex;flex-direction:column;gap:var(--space-1);max-width:180px;font-size:var(--text-sm)}.pending-attachment-thumb{width:64px;height:64px;object-fit:cover;border-radius:var(--r-sm)}.pending-attachment-file{display:inline-block;padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--text-sm)}.pending-attachment-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--bg);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:var(--text-md);line-height:1;padding:0;display:flex;align-items:center;justify-content:center}.pending-attachment-remove:hover{color:var(--text);border-color:var(--text-muted)}.btn-attach{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-md);background:transparent;border:1px solid var(--border);cursor:pointer;font-size:var(--text-md);color:var(--text-muted)}.image-picker{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px dashed var(--border);border-radius:var(--r-md);transition:border-color var(--transition-fast),background var(--transition-fast)}.image-picker.drag-over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.image-picker-button{display:inline-flex;align-items:center;cursor:pointer}.image-picker-hint{font-size:var(--text-sm)}.btn-attach:hover{color:var(--accent);border-color:var(--accent)}.message-content a{color:var(--accent);text-decoration:underline}.message-content a:hover{color:var(--accent-hover)}.mention{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);padding:0 4px;border-radius:var(--r-sm);font-weight:var(--weight-bold)}.mention-self{color:var(--accent-text);background:var(--accent)}.message-mentioned{background:color-mix(in srgb,var(--accent) 8%,transparent);border-left:3px solid var(--accent);padding-left:var(--space-2);border-radius:0 var(--r-md) var(--r-md) 0}.message-action{font-style:italic;color:var(--text-muted);display:flex;align-items:center;gap:var(--space-2)}.message-action .message-sender{font-style:italic}.action-asterisk{color:var(--text-faint)}.action-text{color:var(--text)}.message.flash{animation:msg-flash 1.2s ease-out}@keyframes msg-flash{0%{background:color-mix(in srgb,var(--accent) 35%,transparent)}to{background:transparent}}.message-reply-preview{position:relative;display:flex;align-items:center;gap:var(--space-2);margin-left:var(--msg-gutter);margin-bottom:2px;padding:2px 8px;border-left:2px solid var(--border);font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;border-radius:0 var(--r-sm) var(--r-sm) 0;width:calc(100% - var(--msg-gutter));overflow:hidden}.message-reply-preview:before{content:"";position:absolute;left:calc(-1 * var(--msg-gutter) + 10px);top:0;width:calc(var(--msg-gutter) - 10px);height:100%;border-left:2px solid var(--text-faint);border-bottom:2px solid var(--text-faint);border-bottom-left-radius:6px;pointer-events:none}.message-reply-preview:hover{border-left-color:var(--accent);color:var(--text)}.reply-arrow{display:none}.reply-author{font-weight:var(--weight-bold);color:var(--accent);flex-shrink:0}.reply-snippet{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);width:min(480px,90vw);max-height:60vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 32px #0006;margin-top:10vh}.palette-input{border:none;border-bottom:1px solid var(--border);background:transparent;padding:var(--space-3) var(--space-4);color:var(--text);font-size:var(--text-md);outline:none}.palette-input:focus-visible{outline:none;border-bottom-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.palette-list{list-style:none;margin:0;padding:var(--space-1);overflow-y:auto;flex:1}.palette-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--r-sm);cursor:pointer;color:var(--text)}.palette-item.active{background:var(--accent);color:var(--accent-text)}.palette-item.active .palette-hash{color:var(--accent-text)}.palette-hash{color:var(--text-muted)}.palette-empty{padding:var(--space-3);color:var(--text-muted);text-align:center}.palette-hint{padding:var(--space-2) var(--space-3);border-top:1px solid var(--border);font-size:var(--text-xs);text-align:center}.reconnect-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-3);background:var(--danger);color:#fff;font-size:var(--text-sm);font-weight:var(--weight-medium)}.reconnect-banner .btn-small{background:#fff3;color:#fff;border-color:transparent}.reconnect-banner .btn-small:hover:not(:disabled){background:#ffffff4d}.dm-delivery-failed{margin-left:var(--space-2);padding:0 var(--space-2);border-radius:var(--r-sm);background:var(--danger-bg);color:var(--danger);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:help}.context-menu-header{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--weight-bold)}.jump-to-bottom{position:absolute;bottom:110px;left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-4);background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--r-pill);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium);box-shadow:0 4px 12px #0006;z-index:5}.jump-to-bottom:hover{background:var(--accent-hover)}.jump-to-notification{bottom:auto;top:var(--space-3)}.typing-indicator{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--text-muted);font-style:italic;min-height:18px;border-top:1px solid var(--border);background:var(--bg-sunken)}.reply-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-sunken);border-top:1px solid var(--border);font-size:var(--text-sm);overflow:hidden}.reply-banner .reply-snippet{flex:1;color:var(--text-muted)}.reply-banner-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--text-md);line-height:1;padding:0 var(--space-1)}.reply-banner-close:hover{color:var(--text)}.day-separator{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0 var(--space-3);color:var(--text-faint);font-size:var(--text-xs);font-weight:var(--weight-medium)}.day-separator:before,.day-separator:after{content:"";flex:1;height:1px;background:var(--border)}.day-separator-label{white-space:nowrap}.message-reactions{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1);margin-left:var(--msg-gutter);width:calc(100% - var(--msg-gutter));flex-basis:calc(100% - var(--msg-gutter))}.reaction-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-pill);cursor:pointer;font-size:var(--text-sm);color:var(--text);line-height:1.4}.reaction-chip:hover{border-color:var(--accent)}.reaction-chip.mine{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent)}.reaction-emoji{font-size:var(--text-md)}.reaction-count{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--weight-medium)}.reaction-chip.mine .reaction-count{color:var(--accent)}.reaction-picker{position:relative;display:inline-block}.reaction-add-btn{background:transparent;border:none;cursor:pointer;padding:0 var(--space-1);color:var(--text-muted);font-size:var(--text-sm)}.reaction-add-btn:hover{color:var(--text)}.reaction-picker-popup{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:0 4px 12px #0000004d;width:320px;overflow-x:hidden;box-sizing:border-box}.reaction-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999}.reaction-picker-search{width:100%;padding:var(--space-1) var(--space-2);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:var(--text-sm)}.reaction-picker-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.reaction-picker-search:focus-visible{outline:none}.reaction-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;max-height:148px;overflow-y:auto;overflow-x:hidden}.reaction-picker-recents{max-height:44px;overflow:hidden;scrollbar-gutter:auto}.reaction-picker-section-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--weight-bold);padding:0 var(--space-1)}.reaction-picker-divider{height:1px;background:var(--border);margin:var(--space-1) 0}.reaction-picker-empty{grid-column:1 / -1;text-align:center;padding:var(--space-3)}.reaction-picker-emoji{background:transparent;border:none;cursor:pointer;font-size:20px;padding:6px 8px;border-radius:var(--r-sm)}.reaction-picker-emoji:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.soundboard-clip-grid{grid-template-columns:repeat(3,1fr);max-height:200px}.soundboard-clip-btn{display:flex;flex-direction:column;align-items:center;gap:2px;background:transparent;border:none;cursor:pointer;padding:6px 4px;border-radius:var(--r-sm)}.soundboard-clip-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 12%,transparent)}.soundboard-clip-btn:disabled{opacity:.4;cursor:default}.soundboard-clip-emoji{font-size:20px}.soundboard-clip-name{font-size:var(--text-xs);color:var(--text-muted);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soundboard-chips{display:flex;flex-direction:column;gap:2px;padding:0 var(--space-3) var(--space-1)}.soundboard-chip{font-size:var(--text-xs);color:var(--text-muted);background:var(--surface);border-radius:var(--r-sm);padding:2px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-area{display:flex;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border)}.input-area input{flex:1;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text);font-size:15px}.input-area input:focus{outline:none;border-color:var(--border-strong)}.input-area button[type=submit]{padding:var(--space-3) var(--space-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text-muted);font-size:var(--text-md);font-weight:var(--weight-medium);cursor:pointer}.input-area button[type=submit]:hover{background:var(--surface-hover);color:var(--text)}.no-channel{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-faint)}.btn-icon{width:24px;height:24px;border:none;border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:var(--text-lg);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--accent);color:var(--accent-text)}.category-group{list-style:none;margin-top:var(--space-2)}.category-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-3) var(--space-2);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.category-header:after{content:"";flex:1;height:1px;background:var(--border);order:1}.category-header>.category-count,.category-header>.category-chevron,.category-header>.btn-icon-small{order:2}.category-header:hover{color:var(--text)}.category-header.drag-target{background:var(--accent);color:#fff;border-radius:var(--r-sm)}.category-name{flex:none}.category-chevron{background:transparent;border:none;color:var(--text-muted);font-size:14px;width:20px;height:20px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.category-chevron:hover{color:var(--text)}.category-count{background:var(--bg-sunken);color:var(--text-muted);border-radius:var(--r-pill);padding:0 6px;font-size:10px;font-weight:var(--weight-medium);letter-spacing:normal}.btn-icon-small{width:18px;height:18px;border:none;border-radius:3px;background:transparent;color:var(--text-muted);font-size:var(--text-md);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast)}.category-header:hover .btn-icon-small{opacity:1}.btn-icon-small:hover{background:var(--accent);color:var(--accent-text)}.category-header .category-settings-btn{opacity:0;transition:opacity .15s}.category-header:hover .category-settings-btn,.category-header .category-settings-btn:focus{opacity:1}.category-header .category-focus-btn{opacity:0;transition:opacity .15s}.category-header:hover .category-focus-btn,.category-header .category-focus-btn:focus{opacity:1}.channel-depth-marker{color:var(--text-faint);opacity:.6;margin-right:2px}.forum-tag-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-2) 0}.forum-tag-row.inline{display:inline-flex;margin:0 0 0 var(--space-2);vertical-align:middle}.forum-tag-chip{display:inline-flex;align-items:center;padding:1px 8px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--bg-sunken);color:var(--text-muted);font-size:var(--text-xs);line-height:1.6;white-space:nowrap}.forum-tag-chip.toggle{cursor:pointer}.forum-tag-chip.toggle:hover{border-color:var(--accent)}.forum-tag-chip.toggle.active{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}.forum-tag-chip.toggle:disabled{opacity:.5;cursor:not-allowed}.forum-area{flex:1;min-height:0;display:flex;flex-direction:column;max-width:1300px;width:100%;margin:0 auto}.forum-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.forum-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.forum-list-title{color:var(--text);font-size:var(--text-xl);font-weight:var(--weight-bold);margin:0}.forum-pinned-band{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-4);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in srgb,var(--accent) 6%,var(--bg-sunken))}.forum-section-label{display:block;font-size:var(--text-xs);font-weight:var(--weight-bold);padding:var(--space-1) var(--space-2)}.forum-post-rows{display:flex;flex-direction:column}.forum-post-row{display:flex;padding:var(--space-3);border-bottom:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer}.forum-post-row:hover{background:var(--bg-elevated)}.forum-post-row:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ring)}.forum-post-row.deleted{cursor:default;opacity:.6}.forum-post-row.deleted:hover{background:none}.forum-post-row-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.forum-post-title{color:var(--text);font-weight:var(--weight-bold);font-size:var(--text-md);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.forum-list-actions{display:flex;align-items:center;gap:var(--space-3)}.forum-layout-toggle{display:flex;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.forum-layout-toggle button{padding:var(--space-1) var(--space-3);background:none;border:none;color:var(--text-muted);cursor:pointer}.forum-layout-toggle button[aria-pressed=true]{background:var(--surface);color:var(--text)}.forum-post-row.list{gap:var(--space-3);align-items:flex-start}.forum-post-rows.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.forum-post-row.grid{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-4)}.forum-post-row.pinned{border-left:3px solid var(--accent)}.forum-post-excerpt{color:var(--text-muted);font-size:var(--text-sm);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.forum-post-row.grid .forum-post-excerpt{-webkit-line-clamp:3}@media(max-width:640px){.forum-post-rows.grid{grid-template-columns:1fr}}.forum-post-meta{font-size:var(--text-xs)}.forum-post-author{color:var(--text-muted);font-weight:var(--weight-medium)}.forum-badge{font-size:var(--text-sm);line-height:1}.unread-badge{display:inline-flex;align-items:center;margin-left:var(--space-2);padding:1px 7px;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-text);font-size:var(--text-xs);font-weight:var(--weight-bold)}.forum-detail{flex:1;min-height:0;overflow-y:auto;max-width:760px;width:100%;margin:0 auto}.forum-detail-nav{margin-bottom:var(--space-4)}.forum-post-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.forum-post-header .forum-post-title{font-size:var(--text-xl);margin:0 0 var(--space-2)}.forum-post-submeta{font-size:var(--text-sm);margin-bottom:var(--space-2)}.forum-post-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.forum-edit-post,.forum-edit-reply{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.forum-edit-actions{display:flex;gap:var(--space-2)}.forum-composer-textarea{width:100%;resize:none;line-height:var(--leading-normal)}.forum-post-body{color:var(--text);line-height:var(--leading-normal);margin-bottom:var(--space-4)}.forum-post-body p,.forum-reply-body p{margin:0 0 var(--space-3)}.forum-post-body p:last-child,.forum-reply-body p:last-child{margin-bottom:0}.forum-replies{margin-top:var(--space-5)}.forum-replies-title{color:var(--text);font-size:var(--text-md);font-weight:var(--weight-bold);margin:0 0 var(--space-3)}.forum-reply{padding:var(--space-3);margin-bottom:var(--space-3);border-left:2px solid var(--border);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--bg-elevated)}.forum-reply.deleted{opacity:.6}.forum-reply-quote{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);border-left:2px solid var(--accent);border-radius:var(--r-sm);background:var(--bg-sunken);font-size:var(--text-sm)}.forum-reply-meta{font-size:var(--text-xs);margin-bottom:var(--space-1)}.forum-reply-body{color:var(--text);font-size:var(--text-sm)}.forum-reply-actions{display:flex;gap:var(--space-1);margin-top:var(--space-1)}.forum-reply-to-hint{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);margin-bottom:var(--space-2)}.forum-reply-composer{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.forum-locked-banner{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--warning);border-radius:var(--r-md);background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--text);font-size:var(--text-sm)}.forum-attachments{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.forum-attachment-link{color:var(--accent);font-size:var(--text-sm);text-decoration:none}.forum-attachment-link:hover{text-decoration:underline}.forum-pending-attachments{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.forum-pending-attachment-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2);background:var(--bg-sunken);border-radius:var(--r-sm);font-size:var(--text-sm)}.forum-composer{flex:1;min-height:0;overflow-y:auto;max-width:760px;width:100%;margin:0 auto}.forum-composer h2{color:var(--text);margin:0 0 var(--space-4)}.reaction-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);margin-bottom:var(--space-3)}.reaction-chip.active{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent)}.reaction-quick-picker{position:absolute;top:100%;left:0;z-index:20;display:flex;gap:2px;margin-top:4px;padding:var(--space-1);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.checkbox-label{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer}.checkbox-label input{width:auto;margin:0}.context-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000}.context-menu{position:fixed;z-index:2001;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-1);min-width:160px;box-shadow:var(--shadow-md);animation:scale-in var(--transition-fast);transform-origin:top left}.context-menu-item{display:block;width:100%;padding:var(--space-2) var(--space-3);border:none;background:transparent;color:var(--text);text-align:left;font-size:var(--text-sm);border-radius:var(--r-sm);cursor:pointer}.context-menu-item:hover{background:var(--surface)}.context-menu-item.danger{color:var(--danger)}.context-menu-item.danger:hover{background:var(--danger-bg);color:var(--danger)}.context-menu-subitem{padding-left:24px;font-size:var(--text-sm)}.hover-submenu-group{position:relative}.hover-submenu-trigger button{width:100%}.hover-submenu-items{display:none;position:absolute;top:0;min-width:160px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:0 4px 12px #0000004d;z-index:300;max-height:min(320px,70vh);overflow-y:auto}.hover-submenu-group:hover .hover-submenu-items{display:block}.hover-submenu-right .hover-submenu-items{left:100%}.hover-submenu-left .hover-submenu-items{right:100%;left:auto}.hover-submenu-below .hover-submenu-items{top:100%;left:0}.context-menu-submenu .context-menu-subitem{padding-left:var(--space-3)}.user-list-sidebar{width:220px;background:var(--bg-elevated);padding:var(--space-4);border-left:1px solid var(--border);overflow-y:auto;flex-shrink:0}.user-section{margin-bottom:var(--space-4)}.user-section-title{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);margin-bottom:6px}.user-list{list-style:none;padding:0;margin:0}.user-list-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--r-sm);font-size:var(--text-sm);color:var(--text)}.user-list-item:hover{background:var(--surface)}.user-list-item.offline{color:var(--text-faint)}.status-dot{width:8px;height:8px;border-radius:var(--r-pill);flex-shrink:0}.status-dot.online{background:var(--success)}.status-dot.away{background:var(--warning)}.status-dot.dnd{background:var(--danger)}.status-dot.offline{background:var(--text-faint)}.status-dot.invisible{background:transparent;box-shadow:inset 0 0 0 2px var(--text-muted)}.user-avatar-presence{position:relative;flex-shrink:0;display:inline-flex}.user-avatar-presence .status-dot{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border:2px solid var(--bg-sunken)}.user-text{display:flex;flex-direction:column;min-width:0;flex:1}.user-status-line{color:var(--text-muted);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pairing-status-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--r-md);border:1px solid var(--border);margin-bottom:var(--space-4)}.pairing-status-card.paired{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.pairing-status-card.legacy{background:var(--surface)}.pairing-status-icon{font-size:var(--text-xl);line-height:1;flex-shrink:0}.pairing-action-row{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-3)}.pairing-flow{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-4);margin-top:var(--space-4)}.pairing-flow h3{margin:0 0 var(--space-3) 0;font-size:var(--text-md);font-weight:var(--weight-bold)}.pairing-hub-list{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3) 0}.pairing-code-area{width:100%;box-sizing:border-box;font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);resize:vertical;margin-bottom:var(--space-2)}.pairing-fingerprint{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.04em;background:var(--surface);padding:var(--space-1) var(--space-2);border-radius:var(--r-sm);border:1px solid var(--border)}.pairing-waiting{margin-top:var(--space-3)}.discover-page{display:flex;flex-direction:column;width:100%;height:100%;background:var(--bg);overflow:hidden}.discover-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0}.discover-header h1{margin:0;font-size:var(--text-xl);font-weight:var(--weight-bold)}.discover-search-bar{display:flex;gap:var(--space-2);padding:var(--space-4) var(--space-6);flex-shrink:0;border-bottom:1px solid var(--border)}.discover-search-input{flex:1}.discover-lang-input{width:100px}.discover-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);text-align:center}.discover-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);padding:var(--space-5) var(--space-6);align-content:start}.discover-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);transition:border-color var(--transition-fast)}.discover-card:hover{border-color:var(--accent)}.discover-card-header{display:flex;align-items:center;gap:var(--space-3)}.discover-card-icon{width:40px;height:40px;border-radius:var(--r-md);object-fit:cover;flex-shrink:0}.discover-card-icon.placeholder{background:var(--surface);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-bold)}.discover-card-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.discover-card-name{font-weight:var(--weight-medium);font-size:var(--text-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discover-card-url{font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discover-card-bio{margin:0;font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-normal);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.discover-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.discover-tag{font-size:var(--text-xs);background:var(--surface);color:var(--text-muted);border-radius:var(--r-pill);padding:2px var(--space-2)}.discover-tag-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.discover-tag-chip{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer}.discover-tag-chip:hover{background:var(--surface-hover);color:var(--text)}.discover-tag-chip.active,.discover-tag-chip.active:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.message-row:focus{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--r-sm)}.keyboard-shortcuts-modal{max-width:560px;width:100%}.keyboard-shortcuts-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);margin-top:var(--space-3)}.keyboard-shortcuts-table th{text-align:left;color:var(--text-muted);font-weight:var(--weight-medium);padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--border)}.keyboard-shortcuts-table td{padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.keyboard-shortcuts-table tr:last-child td{border-bottom:none}.kbd{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:1px 6px;white-space:nowrap}.discover-tag.lang{background:var(--accent);color:var(--accent-text)}.discover-card-footer{display:flex;align-items:center;gap:var(--space-2);margin-top:auto}.discover-badge{font-size:var(--text-xs);color:var(--text-muted);background:var(--surface);border-radius:var(--r-pill);padding:2px var(--space-2)}.discover-join-btn{margin-left:auto;padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.discover-loading{text-align:center;padding:var(--space-4)}.discover-load-more{display:flex;justify-content:center;padding:var(--space-4) var(--space-6) var(--space-6);flex-shrink:0}.their-hubs-header{font-size:var(--text-xs);color:var(--text-muted);padding:var(--space-2) var(--space-3) var(--space-1);font-weight:var(--weight-bold)}.their-hub-item{display:block;width:100%;background:none;border:none;text-align:left;padding:var(--space-1) var(--space-3);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;border-radius:var(--r-sm)}.their-hub-item:hover{background:var(--surface);color:var(--accent)}.screen-share-panel{position:relative;background:#000;flex-shrink:0;max-height:60vh;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border)}.screen-share-main-wrap{position:relative;display:flex;align-items:center;justify-content:center;max-height:60vh;flex:1 1 0;min-width:0}.screen-share-main-wrap:hover .pip-btn{opacity:1}.screen-share-panel video.main-stream{max-width:100%;max-height:60vh;display:block}.screen-share-panel video.webcam-overlay{position:absolute;bottom:var(--space-3);right:var(--space-3);width:20%;border-radius:var(--r-md);border:2px solid var(--border)}.pip-btn{position:absolute;top:var(--space-2);right:var(--space-2);background:#0000008c;color:#fff;border:none;border-radius:var(--r-sm);padding:4px 7px;font-size:16px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s;z-index:10}.pip-btn:hover{background:#000c}.screen-share-volume{position:absolute;bottom:var(--space-2);left:var(--space-3);display:flex;align-items:center;gap:var(--space-2);background:#0009;border-radius:var(--r-pill);padding:var(--space-1) var(--space-3)}.screen-share-volume input[type=range]{width:80px}.screen-share-volume label{font-size:var(--text-xs);color:#fff}.ss-overlay{position:fixed;z-index:9000;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md, 8px);box-shadow:0 8px 32px #0009;display:flex;flex-direction:column;overflow:hidden;min-width:240px;min-height:36px}.ss-overlay__header{display:flex;align-items:center;gap:var(--space-2, 8px);padding:0 var(--space-2, 8px);height:36px;flex-shrink:0;cursor:grab;background:var(--bg-elevated);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none}.ss-overlay__header:active{cursor:grabbing}.ss-overlay__drag-icon{color:var(--text-muted);font-size:18px;line-height:1;pointer-events:none}.ss-overlay__title{font-size:13px;font-weight:500;color:var(--text-muted);pointer-events:none}.ss-overlay__spacer{flex:1}.ss-overlay__btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 6px;border-radius:var(--r-sm, 4px);font-size:14px;line-height:1}.ss-overlay__btn:hover{background:var(--surface-hover);color:var(--text)}.ss-overlay__body{flex:1;overflow:hidden;min-height:0;background:#000}.ss-overlay__resize{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize;z-index:1}.ss-overlay .screen-share-panel{position:relative;background:#000;width:100%;height:100%;max-height:none;border-bottom:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2px;align-items:stretch}.ss-overlay .screen-share-main-wrap{max-height:none;height:100%}.ss-overlay .screen-share-panel video.main-stream{max-height:none;width:100%;height:100%;object-fit:contain}.screen-share-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.screen-share-picker{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-6);width:560px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;gap:var(--space-4);overflow:hidden}.screen-share-picker h2{margin:0;font-size:var(--text-lg);font-weight:var(--weight-bold)}.screen-share-picker .picker-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.share-choice{display:flex;flex-direction:column;gap:var(--space-2)}.share-choice-label{font-size:var(--text-sm);color:var(--text-muted)}.share-choice-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.share-option{padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);cursor:pointer}.share-option[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.share-option[aria-disabled=true]{opacity:.4;cursor:not-allowed}.share-summary{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.screen-share-macos-notice{font-size:var(--text-xs);color:var(--text-muted);background:var(--surface);border-radius:var(--r-sm);padding:var(--space-2) var(--space-3)}.dm-group-banner{background:#ffaa001f;border:1px solid rgba(255,170,0,.3);border-radius:4px;color:var(--warning);font-size:.8rem;padding:6px 12px;margin:4px 8px 8px;text-align:center}.dm-lock-icon{font-size:.7rem;opacity:.6;margin-left:4px;vertical-align:middle}.encryption-warning-modal{max-width:380px}.encryption-warning-modal p{margin-bottom:16px;line-height:1.5}.game-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1100}.game-modal{display:flex;flex-direction:column;width:min(900px,94vw);height:min(680px,90vh);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg, 0 24px 48px rgba(0, 0, 0, .5))}.game-modal-titlebar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0}.game-modal-title{font-size:var(--text-sm);font-weight:var(--weight-semi)}.game-modal-close{background:none;border:none;font-size:20px;line-height:1;cursor:pointer;color:var(--text-muted);padding:0 var(--space-1)}.game-modal-close:hover{color:var(--text)}.game-modal-frame{flex:1 1 auto;width:100%;border:none;background:var(--bg-sunken);min-height:0}.channel-icon-svg{display:inline-block;vertical-align:middle;flex-shrink:0}.icon-picker-grid{display:flex;flex-wrap:wrap;gap:var(--space-2);max-height:220px;overflow-y:auto;padding:var(--space-2) 0}.icon-picker-tile{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);width:68px;padding:var(--space-2) var(--space-1);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);cursor:pointer;transition:background .1s,border-color .1s}.icon-picker-tile:hover{background:var(--surface-hover)}.icon-picker-tile.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.icon-picker-glyph{display:flex;align-items:center;justify-content:center;height:20px;font-size:14px;font-weight:var(--weight-bold)}.icon-picker-label{font-size:var(--text-xs);line-height:1.2;color:var(--text-muted);text-align:center;width:100%;overflow-wrap:anywhere}.icon-picker-emoji-tile{justify-content:center}.icon-picker-emoji-btn{border:none;background:transparent;padding:0;height:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.color-swatch-row{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) 0}.color-swatch{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .15s,transform .1s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--text)}.color-swatch-none{background:var(--surface);border-color:var(--border);color:var(--text-muted);font-size:12px;display:flex;align-items:center;justify-content:center}.app-badge{font-size:10px;font-weight:600;letter-spacing:.04em;padding:1px 4px;border-radius:3px;background:var(--accent);color:#fff;opacity:.8;vertical-align:middle;margin-left:4px}.secret-reveal{border:2px solid var(--warning);background:color-mix(in srgb,var(--warning) 10%,transparent);border-radius:var(--r-md);padding:12px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.secret-warning{font-weight:var(--weight-bold);color:var(--warning);margin:0}.secret-value{font-family:var(--font-mono);font-size:var(--text-sm);word-break:break-all;background:var(--bg-sunken);padding:8px 10px;border-radius:var(--r-sm);display:block}.secret-actions{display:flex;gap:8px}.status-badge{display:inline-block;border-radius:var(--r-pill);padding:1px 8px;font-size:var(--text-xs);font-weight:var(--weight-bold)}.status-badge-success{background:var(--success);color:#fff}.status-badge-danger{background:var(--danger);color:#fff;cursor:pointer}.event-subscription-editor{display:flex;flex-direction:column;gap:var(--space-2);max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-3)}.event-subscription-row{display:flex;flex-direction:column;gap:var(--space-1)}.event-subscription-channels{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-left:var(--space-5);padding:var(--space-2);background:var(--bg-sunken);border-radius:var(--r-sm)}.lobby-view{flex:1;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:var(--space-6);background:var(--bg)}.lobby-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-7) var(--space-8);max-width:480px;width:100%;display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow-md)}.lobby-hub-name{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text);margin:0}.lobby-subtitle{margin:0;font-size:var(--text-sm)}.lobby-welcome-md{white-space:pre-wrap;font-family:var(--font-stack);font-size:var(--text-sm);color:var(--text-muted);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-3) var(--space-4);margin:0;line-height:var(--leading-normal)}.lobby-progress-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.lobby-progress-label{font-size:var(--text-sm);color:var(--text);margin:0}.lobby-progress-bar{height:8px;background:var(--bg-sunken);border-radius:var(--r-pill);overflow:hidden}.lobby-progress-fill{height:100%;background:var(--accent);border-radius:var(--r-pill);transition:width var(--transition-slow)}.lobby-eta{font-size:var(--text-xs);margin:0}.lobby-progress-actions{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.lobby-footer{font-size:var(--text-xs);margin:0;text-align:center}.lobby-promoted-badge{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--success);color:#fff;border-radius:var(--r-pill);font-size:var(--text-sm);font-weight:var(--weight-medium);align-self:flex-start}.challenge-modal{min-width:340px;max-width:440px;display:flex;flex-direction:column;gap:var(--space-4)}.challenge-click-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-4) 0}.challenge-subtext{margin:0;font-size:var(--text-sm);text-align:center}.challenge-confirm-btn{padding:var(--space-3) var(--space-7);font-size:var(--text-lg);border-radius:var(--r-md)}.challenge-svg-wrap{display:flex;justify-content:center;padding:var(--space-3);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-md)}.challenge-svg-wrap svg{max-width:100%;height:auto}.challenge-wrong-msg{color:var(--danger);font-size:var(--text-sm);margin:0}.challenge-passed{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--success)}.challenge-passed-check{font-size:24px}.survey-embedded{display:flex;flex-direction:column;gap:var(--space-3)}.survey-form{display:flex;flex-direction:column;gap:var(--space-4)}.survey-question{display:flex;flex-direction:column;gap:var(--space-2)}.survey-question-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text)}.survey-required{color:var(--danger);margin-left:2px}.survey-choices{display:flex;flex-direction:column;gap:var(--space-2)}.survey-choice-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer}.survey-choice-label input{width:auto;margin:0;flex-shrink:0}.survey-text-wrap{display:flex;flex-direction:column;gap:var(--space-1)}.survey-char-count{font-size:var(--text-xs);align-self:flex-end}.survey-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-2)}.survey-result-ok{text-align:center;padding:var(--space-5);font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--success)}.survey-pending-notice{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm)}.survey-question-edit{padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.survey-question-edit:last-of-type{border-bottom:none}.survey-response{border-bottom:1px solid var(--border)}.survey-response:last-child{border-bottom:none}.survey-response-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-2) 0;background:none;border:none;text-align:left;color:var(--text);cursor:pointer}.survey-response-head:hover .survey-response-name{color:var(--accent)}.survey-response-name{display:block;font-size:var(--text-sm)}.survey-response .survey-answer-list{padding:0 0 var(--space-3) 0}.survey-answer-list{display:flex;flex-direction:column;gap:var(--space-2)}.survey-answer-item{display:flex;flex-direction:column;gap:2px}.survey-answer-item dt{font-size:var(--text-xs)}.survey-answer-item dd{font-size:var(--text-sm);margin:0;color:var(--text)}.app-badge{font-size:var(--text-xs);background:var(--accent);color:var(--bg);border-radius:var(--r-sm);padding:1px 5px;font-weight:700;letter-spacing:.04em;vertical-align:middle;margin-left:var(--space-1)}.secret-warning{color:var(--warning);font-size:var(--text-sm);margin-bottom:var(--space-2)}.app-badge{display:inline-block;background:var(--accent);color:var(--accent-text);border-radius:var(--r-sm);padding:1px 5px;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;margin-left:4px;vertical-align:middle;line-height:1.6;-webkit-user-select:none;user-select:none}.message-ephemeral{background:color-mix(in srgb,var(--accent) 6%,transparent);border-left:2px solid var(--accent);padding-left:calc(var(--space-3) - 2px)}.message-ephemeral-label{font-size:var(--text-xs);color:var(--text-muted);font-style:italic;margin-top:var(--space-1)}.message-embeds{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2);max-width:520px}.embed-card{background:var(--bg-elevated);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--r-md);padding:var(--space-3) var(--space-4);overflow:hidden}.embed-body{display:flex;gap:var(--space-3);align-items:flex-start}.embed-thumbnail{width:64px;height:64px;object-fit:cover;border-radius:var(--r-sm);flex-shrink:0}.embed-main{flex:1;min-width:0}.embed-title{font-weight:600;font-size:var(--text-md);color:var(--text);margin-bottom:var(--space-1)}a.embed-title{color:var(--accent);text-decoration:none}a.embed-title:hover{text-decoration:underline}.embed-description{font-size:var(--text-sm);color:var(--text-muted);line-height:1.5;margin-bottom:var(--space-2);white-space:pre-wrap}.embed-fields{display:flex;flex-wrap:wrap;gap:var(--space-2)}.embed-field{flex:0 0 100%}.embed-field--inline{flex:1 1 calc(33% - var(--space-2));min-width:80px}.embed-field-name{font-size:var(--text-xs);font-weight:600;color:var(--text);margin-bottom:2px}.embed-field-value{font-size:var(--text-sm);color:var(--text-muted)}.embed-image{display:block;max-width:100%;border-radius:var(--r-sm);margin-top:var(--space-2)}.embed-footer{font-size:var(--text-xs);color:var(--text-faint);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.message-components{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.component-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.component-btn{padding:var(--space-1) var(--space-4);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;border:1px solid transparent;transition:background var(--transition-fast),opacity var(--transition-fast)}.component-btn:disabled{opacity:.45;cursor:not-allowed}.component-btn--primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.component-btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.component-btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.component-btn--secondary:hover:not(:disabled){background:var(--surface-hover)}.component-btn--danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.component-btn--danger:hover:not(:disabled){background:var(--danger);color:#fff}.component-select{padding:var(--space-1) var(--space-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:var(--text-sm);cursor:pointer;min-width:140px}.component-select:hover{border-color:var(--accent)}.component-select:focus{outline:2px solid var(--ring);outline-offset:2px}.cert-lockout-warning{background:#ff50501a;border:1px solid rgba(255,80,80,.35);border-radius:var(--r-sm, 4px);color:var(--danger);font-size:.8rem;padding:8px 12px;margin-top:6px}.participant-gain-badge{margin-left:4px;font-size:12px;opacity:.8}.channel-participant{position:relative;-webkit-user-select:none;user-select:none}.participant-volume-popover{position:absolute;left:0;top:100%;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:8px 10px;min-width:160px;box-shadow:0 4px 12px #0006}.participant-volume-label{font-size:12px;color:var(--text-muted);margin-bottom:6px}.participant-volume-slider{width:100%;accent-color:var(--accent)}.participant-volume-actions{display:flex;justify-content:space-between;margin-top:6px}.participant-volume-reset,.participant-volume-close{font-size:11px;padding:2px 6px;border-radius:4px;cursor:pointer;background:var(--bg-sunken);border:1px solid var(--border);color:var(--text)}.participant-volume-reset:hover,.participant-volume-close:hover{background:var(--surface-hover)}.whisper-panel{width:280px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:0;box-shadow:0 -4px 16px #0006}.whisper-panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border)}.whisper-panel-title{font-size:13px;font-weight:700}.whisper-panel-close{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:14px}.whisper-active-banner{background:var(--accent-wash);border-bottom:1px solid var(--accent);padding:8px 14px;font-size:12px;display:flex;justify-content:space-between;align-items:center}.whisper-active-banner button{padding:3px 8px;border-radius:3px;background:var(--danger);color:#fff;border:none;cursor:pointer;font-size:11px}.whisper-tabs{display:flex;border-bottom:1px solid var(--border)}.whisper-tab{flex:1;padding:8px;font-size:12px;border:none;background:none;cursor:pointer;color:var(--text-muted)}.whisper-tab.active{color:var(--accent);border-bottom:2px solid var(--accent)}.whisper-target-list{max-height:160px;overflow-y:auto;padding:6px 8px}.whisper-target-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:4px;cursor:pointer;font-size:13px}.whisper-target-item:hover{background:var(--surface-hover)}.whisper-list-item-wrap{border-bottom:1px solid var(--border)}.whisper-list-item{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:12px}.whisper-list-targets{flex:1;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whisper-list-actions{display:flex;gap:4px}.whisper-list-actions button{padding:2px 8px;border-radius:3px;font-size:11px;cursor:pointer;border:1px solid var(--border);background:var(--bg-sunken);color:var(--text)}.whisper-list-keybind-row{display:flex;align-items:center;gap:6px;padding:0 8px 6px;font-size:11px}.whisper-list-keybind-row button,.whisper-list-keybind-row select{padding:2px 6px;border-radius:3px;font-size:11px;cursor:pointer;border:1px solid var(--border);background:var(--bg-sunken);color:var(--text)}.whisper-optout-row{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid var(--border);font-size:12px;cursor:pointer}.whisper-actions{padding:8px 10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.whisper-start-btn{padding:7px;border-radius:4px;background:var(--accent);color:#fff;border:none;cursor:pointer;font-size:13px;font-weight:600}.whisper-save-btn{padding:5px;border-radius:4px;background:var(--bg-sunken);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;font-size:12px}.whisper-save-form{display:flex;gap:4px}.whisper-save-form input{flex:1;padding:4px 8px;border-radius:3px;border:1px solid var(--border);background:var(--bg-sunken);color:var(--text);font-size:12px}.whisper-save-form button{padding:4px 8px;border-radius:3px;font-size:12px;cursor:pointer;border:none;background:var(--accent);color:#fff}.btn-icon-gear.whisper-active{background:var(--accent-wash);color:var(--accent)}.whisper-inbox{position:fixed;top:12px;right:12px;width:260px;max-height:60vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0006;z-index:1200}.whisper-inbox-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-bottom:1px solid var(--border)}.whisper-inbox-title{font-size:12px;font-weight:700}.whisper-inbox-clear{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:11px}.whisper-inbox-clear:hover{color:var(--text)}.whisper-inbox-list{display:flex;flex-direction:column}.whisper-inbox-row{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;border-bottom:1px solid var(--border)}.whisper-inbox-row:last-child{border-bottom:none}.whisper-inbox-name{font-weight:600}.whisper-inbox-status{flex:1;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whisper-inbox-time{font-size:11px;white-space:nowrap}.whisper-inbox-dismiss{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:12px}.whisper-inbox-dismiss:hover{color:var(--text)}.participant-whisper-badge{font-size:10px;font-weight:600;color:var(--warning);margin-left:4px}.participant-visiting-from{font-size:var(--text-xs);color:var(--text-faint)}.issuer-trusted{font-size:var(--text-xs);color:var(--text-muted)}.audio-profile-picker{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.audio-profile-btn{display:flex;flex-direction:column;align-items:flex-start;padding:10px 12px;border-radius:6px;cursor:pointer;border:2px solid var(--border);background:var(--surface);text-align:left;transition:border-color .15s}.audio-profile-btn.active{border-color:var(--accent)}.audio-profile-btn:hover:not(.active){border-color:var(--text-muted)}.audio-profile-btn-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}.audio-profile-btn-desc{font-size:11px;color:var(--text-muted)}.audio-custom-panel{background:var(--bg-sunken);border-radius:6px;padding:12px;margin-top:8px;display:flex;flex-direction:column;gap:10px}.settings-value{font-size:12px;color:var(--text-muted);min-width:56px;text-align:right}.video-grid{display:grid;gap:4px;padding:4px;background:var(--bg);max-height:50vh;overflow-y:auto}.video-grid-1 .video-tile{aspect-ratio:auto;height:45vh}.video-grid-4 .video-tile{aspect-ratio:auto;height:calc((50vh - 12px)/2)}.video-grid-main .video-tile{aspect-ratio:auto;height:40vh}.video-grid-1{grid-template-columns:1fr}.video-grid-4{grid-template-columns:repeat(2,1fr)}.video-grid-speaker{display:flex;flex-direction:column}.video-grid-main{flex:1}.video-grid-thumbnails{display:flex;gap:4px;overflow-x:auto;height:100px}.video-grid-thumbnails .video-tile{width:140px;flex-shrink:0}.video-tile{position:relative;background:#000;border-radius:6px;overflow:hidden;border:2px solid transparent;aspect-ratio:4/3}.video-tile.speaking{border-color:var(--accent)}.video-tile.pinned{border-color:var(--text-muted)}.video-tile.pinned .video-tile-pin{opacity:1}.video-tile-video{width:100%;height:100%;object-fit:cover}.video-tile-name{position:absolute;bottom:4px;left:6px;font-size:11px;color:#fff;background:#0009;border-radius:3px;padding:1px 4px}.video-tile-pin{position:absolute;top:4px;right:4px;background:#00000080;border:none;border-radius:3px;cursor:pointer;color:#fff;display:flex;opacity:0;transition:opacity .15s;padding:2px 4px}.video-tile:hover .video-tile-pin{opacity:1}.video-self-view{position:fixed;bottom:80px;right:12px;width:120px;border-radius:6px;overflow:hidden;border:2px solid var(--border);cursor:grab;z-index:100;-webkit-user-select:none;user-select:none}.video-self-view .video-tile-video{width:100%;aspect-ratio:4/3;object-fit:cover;transform:scaleX(-1)}.video-self-view .video-tile-name{font-size:10px}.video-self-resize-handle{position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:nwse-resize;background:#ffffff40;border-radius:3px 0 0}.global-search-wrap{position:relative;padding:6px 8px}.global-search-input{width:100%;box-sizing:border-box;padding:5px 28px 5px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-sunken);color:var(--text);font-size:var(--text-sm, 13px);outline:none}.global-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.global-search-spinner{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--text-muted);animation:global-search-spin 1s linear infinite;pointer-events:none}@keyframes global-search-spin{to{transform:translateY(-50%) rotate(360deg)}}.global-search-results{position:absolute;top:calc(100% - 2px);left:8px;right:8px;background:var(--surface);border:1px solid var(--border);border-radius:6px;max-height:360px;overflow-y:auto;z-index:500;box-shadow:0 4px 12px #0006}.global-search-result-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border)}.global-search-result-item:last-child{border-bottom:none}.global-search-result-item:hover{background:var(--surface-hover)}.global-search-result-channel{font-size:var(--text-xs, 11px);color:var(--text-muted);margin-bottom:2px}.global-search-result-sender{font-size:var(--text-xs, 12px);font-weight:var(--weight-semi);color:var(--accent)}.global-search-result-preview{font-size:var(--text-sm, 12px);color:var(--text);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:10px 12px;margin:4px 0}.poll-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--warning);border-radius:6px;padding:10px 12px;margin:4px 0}.poll-option{position:relative}.thread-chip{font-size:11px;color:var(--accent);cursor:pointer;margin-top:4px;padding:2px 6px;border-radius:4px;background:var(--surface);display:inline-block}.thread-chip:hover{background:var(--surface-hover)}.thread-replies{margin-left:24px;border-left:2px solid var(--border);padding-left:8px;margin-top:4px}.inline-emoji{height:1.25em;width:auto;vertical-align:middle;margin:0 1px}.emoji-picker-server-section{border-bottom:1px solid var(--border);padding-bottom:6px;margin-bottom:6px}.sticker-picker-popup{width:340px}.sticker-picker-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.sticker-picker-note{font-size:var(--text-sm);padding:8px 2px}.sticker-grid{grid-template-columns:repeat(4,1fr);max-height:240px;overflow-y:auto}.sticker-cell{position:relative;display:inline-flex}.sticker-cell-btn{padding:4px}.sticker-cell-img{width:64px;height:64px;object-fit:contain;display:block}.sticker-cell-img-off{opacity:.35;filter:grayscale(1)}.sticker-cell-remove{position:absolute;top:0;right:0;width:18px;height:18px;line-height:16px;padding:0;border-radius:50%;border:none;background:var(--bg-elevated, var(--bg));color:var(--text-muted);cursor:pointer;opacity:0}.sticker-cell:hover .sticker-cell-remove,.sticker-cell-remove:focus-visible{opacity:1}.sticker-message{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:4px}.sticker-message-img{display:block;max-width:160px;max-height:160px;object-fit:contain}.sticker-tombstone{font-style:italic;font-size:var(--text-sm)}.sticker-origin{font-size:var(--text-xs)}.sticker-origin a{color:inherit;text-decoration:underline}.sticker-origin a:hover{color:var(--accent)}.sticker-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.sticker-admin-grid{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.sticker-admin-cell{display:inline-flex;flex-direction:column;align-items:center;gap:4px;max-width:96px}.sticker-admin-name{font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;max-width:96px}.sticker-admin-facts{display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;margin:8px 0}.sticker-admin-facts dt{color:var(--text-muted)}.sticker-admin-facts dd{margin:0}.emoji-picker-section-label{font-size:10px;color:var(--text-muted);padding:4px 2px 2px}.role-chip{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:var(--text-xs)}.badge-chip{border:1px solid var(--accent);border-radius:4px;padding:2px 6px;font-size:var(--text-xs);color:var(--accent)}.pinned-message-row{padding:10px 0;border-bottom:1px solid var(--border)}.pinned-message-row:last-child{border-bottom:none}.pinned-message-meta{font-size:var(--text-xs);margin-bottom:4px}.pinned-message-content{font-size:var(--text-sm);cursor:pointer;padding:4px 6px;border-radius:4px}.pinned-message-content:hover{background:var(--surface-hover)}.context-menu-separator{height:1px;background:var(--border);margin:4px 0}.context-menu-item-active{background:var(--surface-hover)}.error-boundary-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:var(--text);font-size:var(--text-md, 16px)}.sidebar-header-alliance h3{font-size:var(--text-xs);color:var(--text-muted)}.camera-preview{position:relative;width:100%;max-width:640px;aspect-ratio:16 / 9;border-radius:var(--r-md);background:#000;overflow:hidden}.camera-preview video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:max-content;height:max-content}.faq-entry{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-sunken);border-radius:var(--r-md);font-size:var(--text-sm)}.faq-entry summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:var(--weight-medium)}.faq-answer{margin:var(--space-2) 0 0;color:var(--text-muted);white-space:pre-line}.faq-disclaimer{margin-top:var(--space-3);color:var(--text-muted);font-size:var(--text-xs)}.btn-primary{background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--r-sm);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--text-muted);border:none;border-radius:var(--r-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);cursor:pointer}.btn-ghost:hover{background:var(--surface-hover);color:var(--text)}.composer-shell{display:flex;align-items:center;flex:1;min-height:44px;padding:0 6px 0 14px;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--transition-fast)}.composer-shell:focus-within{border-color:var(--accent)}.composer-shell:hover{background:var(--bg-elevated)}.composer-shell input{flex:1;padding:var(--space-2) 0;border:none;background:transparent;color:var(--text);font-size:var(--text-md);outline:none}.composer-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.composer-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.composer-btn svg{width:20px;height:20px;flex-shrink:0}.composer-btn:hover{background:var(--bg-elevated);color:var(--text)}.composer-btn.open{color:var(--accent)}.composer-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.composer-send{height:40px;padding:0 var(--space-5);border:none;border-radius:var(--r-md);background:var(--accent);color:var(--accent-text);font-size:var(--text-md);font-weight:var(--weight-medium);cursor:pointer;flex-shrink:0;transition:background var(--transition-fast),opacity var(--transition-fast)}.composer-send:hover{background:var(--accent-hover)}.composer-send:disabled{opacity:.45;cursor:default}.composer-more{position:relative}.composer-more-menu{position:absolute;bottom:calc(100% + 6px);right:0;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 4px 12px #0000004d;z-index:200;overflow:hidden}.composer-more-item{display:flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);width:100%;border:none;background:transparent;color:var(--text);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background var(--transition-fast)}.composer-more-item:hover{background:var(--bg-elevated)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.sidebar-header h3{margin:0}.mention-popup{position:absolute;bottom:calc(100% + var(--space-1));left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg, 0 4px 16px rgba(0,0,0,.3));z-index:200;overflow:hidden;max-height:220px;overflow-y:auto}.mention-popup-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--text-sm);color:var(--text)}.mention-popup-item:hover,.mention-popup-item.selected{background:var(--bg-elevated)}.mention-popup-name{font-weight:var(--weight-medium)}.slash-command-popup{position:absolute;bottom:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 -4px 16px #0003;max-height:200px;overflow-y:auto;z-index:100;margin-bottom:4px}.slash-command-item{padding:var(--space-2) var(--space-3);cursor:pointer;display:flex;align-items:center;gap:var(--space-2)}.slash-command-item:hover,.slash-command-item.selected{background:var(--surface-hover)}.slash-command-name{font-weight:600;color:var(--accent);white-space:nowrap;flex-shrink:0}.slash-command-desc{color:var(--text-muted);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.slash-command-app{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap;flex-shrink:0}.link-preview-card{display:flex;gap:var(--space-3);margin-top:var(--space-2);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-md);text-decoration:none;color:inherit;max-width:480px;overflow:hidden}.link-preview-card:hover{background:var(--bg-elevated)}.link-preview-image{width:80px;height:60px;object-fit:cover;border-radius:var(--r-sm);flex-shrink:0}.link-preview-body{display:flex;flex-direction:column;gap:2px;min-width:0}.link-preview-domain{font-size:var(--text-xs);letter-spacing:.04em}.link-preview-title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-preview-description{font-size:var(--text-xs);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-launch-cards{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-elevated)}.app-launch-card{max-width:480px}.video-pip{position:fixed;z-index:700;display:flex;flex-direction:column;min-width:200px;min-height:150px;max-width:90vw;max-height:90vh;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 8px 24px #00000073;overflow:hidden;resize:both}.video-pip-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex-shrink:0}.video-pip-header:active{cursor:grabbing}.video-pip-title{flex:1;min-width:0;font-size:var(--text-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-pip-body{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2);padding:var(--space-2);align-content:start}.conn-status{position:relative;display:inline-flex}.conn-chip{display:inline-flex;align-items:center;height:30px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap}.conn-chip:hover{background:var(--surface-hover);color:var(--text)}.conn-chip.good{color:var(--success)}.conn-chip.fair{color:var(--warning)}.conn-chip.poor{color:var(--danger)}.conn-panel{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:50;min-width:260px;padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:0 8px 24px var(--overlay)}.conn-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-2)}.conn-key{font-size:var(--text-xs);color:var(--text-muted)}.conn-val{font-size:var(--text-md);font-variant-numeric:tabular-nums;color:var(--text)}.conn-val.good{color:var(--success)}.conn-val.fair{color:var(--warning)}.conn-val.poor{color:var(--danger)}.conn-pm{font-size:var(--text-xs);color:var(--text-muted)}.conn-note{margin:var(--space-3) 0 0;font-size:var(--text-xs);max-width:34ch}.btn-icon-gear{position:relative}.settings-nav-dot{display:inline-block;width:7px;height:7px;margin-left:var(--space-2);vertical-align:middle;border-radius:50%;background:var(--danger)}.gear-attention-dot{position:absolute;top:2px;right:2px;width:7px;height:7px;border-radius:50%;background:var(--danger);pointer-events:none}.onboarding{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);overflow-y:auto}.onboarding-card{width:100%;max-width:520px}.onboarding--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);place-items:stretch;padding:0}.onboarding--split>.onboarding-card{align-self:center;justify-self:center;padding:var(--space-6)}.onboarding-side{position:relative;min-height:100vh;display:flex;align-items:flex-end;background:var(--bg-sunken) center / cover no-repeat;border-right:1px solid var(--border)}.onboarding-side-scrim{width:100%;padding:var(--space-6)}.onboarding-side.hub .onboarding-side-scrim{background:linear-gradient(to top,color-mix(in srgb,var(--bg) 92%,transparent),transparent)}.onboarding-side-title{margin-bottom:var(--space-2)}.onboarding-side-text,.onboarding-side-counts{color:var(--text-muted)}.onboarding-explainer dt{font-weight:var(--weight-semi);margin-top:var(--space-4)}.onboarding-explainer dd{margin:var(--space-1) 0 0;color:var(--text-muted)}.onboarding-step{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint);margin-bottom:var(--space-3)}@media(max-width:767px){.onboarding--split{grid-template-columns:1fr}.onboarding-side{min-height:0;border-right:none;border-bottom:1px solid var(--border)}}.onboarding-mark{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-faint);margin-bottom:var(--space-6)}.onboarding h1,.onboarding h2{font-size:var(--text-3xl);font-weight:var(--weight-semi);line-height:var(--leading-tight);letter-spacing:-.025em;margin-bottom:var(--space-3)}.onboarding-lede{font-size:var(--text-lg);color:var(--text-muted);max-width:46ch;margin-bottom:var(--space-6)}.choice{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-4);margin-bottom:var(--space-3);color:var(--text)}.choice:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.choice-title{display:block;font-size:var(--text-md);font-weight:var(--weight-medium)}.choice-hint{display:block;font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.choice.primary{background:var(--accent-wash);border-color:var(--accent-dim)}.choice.primary:hover{border-color:var(--accent)}.choice.primary .choice-title{color:var(--accent)}.recovery-phrase{display:grid;grid-template-columns:repeat(4,1fr);gap:0 var(--space-4);counter-reset:phrase-word;font-family:var(--font-mono);font-size:var(--text-md);line-height:2.1;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5)}.recovery-phrase span{counter-increment:phrase-word;white-space:nowrap}.recovery-phrase span:before{content:counter(phrase-word);display:inline-block;width:2.2em;font-size:var(--text-xs);color:var(--text-faint)}.onboarding-field{margin-bottom:var(--space-5)}.onboarding-field label{display:block;font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-2)}.onboarding-field input{width:100%}.onboarding-block{border-top:1px solid var(--border);padding-top:var(--space-5);margin-bottom:var(--space-5)}.onboarding-block-title{display:block;font-size:var(--text-md);font-weight:var(--weight-medium);margin-bottom:var(--space-2)}.onboarding-field-label{display:block;font-size:var(--text-sm);color:var(--text-muted);margin:var(--space-4) 0 var(--space-2)}.onboarding textarea,.onboarding input[type=text],.onboarding input[type=password]{width:100%}.hub-header-id{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:2px}.hub-header-address{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.settings-section.is-inert .settings-label,.settings-section.is-inert .settings-value{color:var(--text-faint)}.settings-section.is-inert input[type=range]{opacity:.45;cursor:not-allowed}.confirm-modal{max-width:420px}.confirm-modal h3{font-size:var(--text-lg);font-weight:var(--weight-semi);line-height:var(--leading-tight);margin-bottom:var(--space-2)}.confirm-modal p{margin-bottom:var(--space-5);max-width:46ch}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.btn-danger{background:var(--danger);color:#fff;border:none;border-radius:var(--r-sm);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.btn-danger:hover{background:var(--danger-hover)}.settings-content section+section{margin-top:var(--space-7)}.settings-content section>h1{margin-bottom:var(--space-2)}.settings-content section>h2{margin:var(--space-6) 0 var(--space-2)}.settings-content section>h3{margin:var(--space-5) 0 var(--space-2)}.settings-content section>h1+p,.settings-content section>h2+p,.settings-content section>h3+p{color:var(--text-muted);font-size:var(--text-sm);max-width:76ch;margin-bottom:var(--space-4)}.settings-content section>button,.settings-content section>.settings-row,.settings-content section>table{margin-top:var(--space-2)}.settings-content section section{margin-top:var(--space-7);display:block}.btn-primary,.btn-small.primary{background:var(--accent);color:var(--accent-text);border:1px solid var(--accent)}.btn-primary:hover,.btn-small.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.danger,.btn-small.danger,.btn-secondary.danger{background:var(--surface);color:var(--danger);border:1px solid var(--danger)}button.danger:hover,.btn-small.danger:hover,.btn-secondary.danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}button:disabled{opacity:.45;cursor:not-allowed}.settings-content input[type=text],.settings-content input[type=url],.settings-content input[type=password],.settings-content input[type=number],.settings-content input:not([type]),.settings-content textarea,.settings-content select{max-width:56ch}.settings-content table input,.settings-content table select,.settings-content .settings-card input,.settings-content .settings-card textarea,.settings-content .settings-card select{max-width:none}.settings-content p{max-width:76ch}.settings-content>section>section{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-5);margin-top:var(--space-4)}.settings-content>section>section>h2:first-child,.settings-content>section>section>h2{margin-top:0}.settings-content>section>section>section{background:none;border:none;padding:0;margin-top:var(--space-6)}.status-readout{margin:0 0 var(--space-5);padding:var(--space-3) var(--space-4);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-md);display:grid;gap:var(--space-2)}.status-readout .settings-row{display:grid;grid-template-columns:minmax(0,12rem) minmax(0,1fr);align-items:baseline;gap:var(--space-4);margin:0}.status-readout .settings-label{margin:0;color:var(--text-muted);font-weight:var(--weight-normal)}.status-readout .muted{font-family:var(--font-mono);font-size:var(--text-sm)}.status-readout .badge-chip{justify-self:start}.settings-content>section>section .settings-section{border-bottom:none;padding-bottom:0;margin-bottom:var(--space-5)}.settings-content>section>section{max-width:52rem}.settings-content>section>.settings-section{background:var(--bg-elevated);border:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-5);margin-bottom:var(--space-4);max-width:52rem}.settings-content>section>.settings-section>.settings-label:first-child{display:block;margin:0 0 var(--space-3);color:var(--text);font-size:var(--text-lg);font-weight:var(--weight-semi);letter-spacing:-.01em}.settings-content input[type=number]{max-width:14ch}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}.setting-row-control{display:flex;align-items:center;flex-shrink:0}.setting-row-control select{min-width:140px}.theme-picker{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.theme-choice{padding:8px 16px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.theme-choice.active{border-color:var(--accent);background:var(--accent-wash);font-weight:var(--weight-medium)}.device-list{list-style:none;margin:var(--space-2) 0 0;padding:0}.device-list-item{display:flex;align-items:center;gap:var(--space-2);padding:8px 0;border-bottom:1px solid var(--border)}.device-list-item:last-child{border-bottom:none}.setting-row{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.setting-row+.setting-row{margin-top:var(--space-2)}.setting-row.open{border-color:var(--border-strong)}.setting-row-head{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.setting-row.open .setting-row-head{border-bottom:1px solid var(--border)}.setting-row-mark{width:8px;height:8px;flex:none;border-radius:2px;background:var(--border-strong)}.setting-row-mark.attention{background:var(--accent)}.setting-row-step{width:16px;flex:none;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-faint)}.setting-row-id{flex:1;min-width:0}.setting-row-title{display:block;font-size:15px;font-weight:var(--weight-medium)}.setting-row-state{display:block;margin-top:2px;font-size:var(--text-sm);color:var(--text-muted)}.setting-row-meta{flex:none;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-faint)}.setting-row-head .btn-small{flex:none;margin-top:0}.setting-row-body{padding:var(--space-4) var(--space-5) var(--space-5) calc(var(--space-5) + 8px + var(--space-4))}.setting-row-body .settings-section{border-bottom:none;padding-bottom:0;margin-bottom:var(--space-4)}.setting-row-body>:last-child{margin-bottom:0}.settings-content>section>section.setting-row{padding:0;margin-top:0;background:var(--bg-elevated)}.setting-row{max-width:52rem}.role-category-group+.role-category-group{margin-top:var(--space-5)}.role-category-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);max-width:52rem}.role-category-header:after{content:"";flex:1;height:1px;background:var(--border)}.audit-day+.audit-day{margin-top:var(--space-5)}.audit-day-label{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.audit-day-label:after{content:"";flex:1;height:1px;background:var(--border)}.audit-entry{display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--space-4);align-items:baseline;padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.audit-entry-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint)}details.audit-entry{display:block}details.audit-entry>summary{display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--space-4);cursor:pointer}details.audit-entry>.audit-entry:last-child{border-bottom:none}.audit-day,.audit-entry{max-width:52rem}.mobile-shell-desktop{display:contents}.mobile-shell-mobile{display:none}@media(max-width:767px){.mobile-shell-desktop{display:none!important}.mobile-shell-mobile{display:flex;flex-direction:column;height:100dvh;width:100%;overflow:hidden}.mobile-shell-panel{flex:1;overflow:hidden;display:flex;flex-direction:column}.mobile-shell-header{display:flex;align-items:center;gap:8px;padding:0 12px;height:44px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.mobile-shell-back{background:none;border:none;cursor:pointer;padding:4px 8px;font-size:20px;color:var(--text);line-height:1}.mobile-shell-breadcrumb{display:flex;gap:4px;align-items:center}.mobile-shell-crumb{font-size:var(--text-xs);color:var(--text-muted);background:none;border:none;cursor:pointer;padding:2px 4px}.mobile-shell-crumb.active{color:var(--text);font-weight:600}}
