.discover-servers-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:stretch;justify-content:center;z-index:200}.discover-servers-container{position:relative;width:min(1100px,100%);max-height:100vh;margin:auto;background:var(--osi-bg-1, var(--bg-1));color:var(--osi-text-1, var(--text-1));border-radius:12px;padding:24px;overflow-y:auto;box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;gap:16px}.discover-servers-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.discover-servers-header h2{margin:0;font-size:22px}.discover-servers-subtitle{margin:4px 0 0;color:var(--osi-text-2, var(--text-2));font-size:13px}.discover-servers-close{background:transparent;border:none;color:inherit;cursor:pointer;padding:6px;border-radius:6px}.discover-servers-close:hover{background:var(--osi-bg-2, var(--bg-2))}.discover-controls{display:grid;gap:10px}.discover-search-field{display:flex;align-items:center;gap:8px;background:var(--osi-bg-2, var(--bg-2));padding:6px 12px;border-radius:8px}.discover-search-field input{flex:1;border:none;background:transparent;color:inherit;font:inherit;padding:6px 0;outline:none}.discover-category-chips{display:flex;flex-wrap:wrap;gap:6px}.discover-chip{border:1px solid var(--osi-border, var(--border));background:transparent;color:inherit;padding:4px 12px;border-radius:999px;font-size:13px;cursor:pointer}.discover-chip:hover{background:var(--osi-bg-2, var(--bg-2))}.discover-chip.is-active{background:var(--osi-brand, var(--brand));color:#fff;border-color:transparent}.discover-sort-field{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--osi-text-2, var(--text-2))}.discover-sort-field select{background:var(--osi-bg-2, var(--bg-2));color:inherit;border:1px solid var(--osi-border, var(--border));border-radius:6px;padding:4px 8px;font:inherit}.discover-section h3{margin:12px 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--osi-text-2, var(--text-2))}.discover-count{display:inline-block;margin-left:6px;padding:0 6px;border-radius:8px;background:var(--osi-bg-2, var(--bg-2));font-size:11px;color:var(--osi-text-1, var(--text-1))}.discover-grid,.discover-featured-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.discover-server-card{display:flex;flex-direction:column;background:var(--osi-bg-2, var(--bg-2));border-radius:10px;padding:12px;gap:10px}.discover-server-card-body{display:flex;gap:10px;text-align:left;background:transparent;border:none;color:inherit;padding:0;cursor:pointer}.discover-server-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0;font-size:18px}.discover-server-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.discover-server-name{font-size:14px}.discover-server-description{font-size:12px;color:var(--osi-text-2, var(--text-2));display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.discover-server-stats{display:flex;gap:8px;align-items:center;margin-top:4px;font-size:11px;color:var(--osi-text-2, var(--text-2))}.discover-server-stat{display:inline-flex;align-items:center;gap:4px}.discover-server-category{padding:1px 6px;border-radius:6px;background:var(--osi-bg-1, var(--bg-1))}.discover-join-btn{align-self:stretch;background:var(--osi-brand, var(--brand));color:#fff;border:none;border-radius:6px;padding:6px 10px;font:inherit;font-weight:600;cursor:pointer}.discover-join-btn:hover:not(:disabled){filter:brightness(1.1)}.discover-join-btn:disabled{opacity:.6;cursor:progress}.discover-sentinel{height:1px;width:100%}.discover-empty{color:var(--osi-text-2, var(--text-2));font-size:13px;padding:12px 0}.discover-status{background:var(--osi-bg-2, var(--bg-2));border-left:3px solid var(--osi-error, var(--error, #e74c3c));padding:8px 12px;border-radius:6px;font-size:13px}.discover-preview{position:sticky;bottom:0;margin-top:12px;background:var(--osi-bg-2, var(--bg-2));border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 -10px 30px #00000040}.discover-preview header{display:flex;align-items:center;gap:12px}.discover-preview-icon{width:52px;height:52px}.discover-preview-stats{display:block;font-size:12px;color:var(--osi-text-2, var(--text-2))}.discover-preview-description{margin:0;font-size:13px;line-height:1.4}.discover-preview-channels{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:6px}.discover-preview-channels li{background:var(--osi-bg-1, var(--bg-1));padding:2px 8px;border-radius:6px;font-size:12px}.discover-preview-join{align-self:flex-start}:root{--osi-p-neutral-0: #000000;--osi-p-neutral-50: #080808;--osi-p-neutral-100: #0a0a0a;--osi-p-neutral-150: #0c0c0c;--osi-p-neutral-200: #121212;--osi-p-neutral-250: #141414;--osi-p-neutral-300: #1a1a1a;--osi-p-neutral-350: #1e1e1e;--osi-p-neutral-400: #262626;--osi-p-neutral-500: #383838;--osi-p-neutral-600: #5a5a5a;--osi-p-neutral-700: #8e8e8e;--osi-p-neutral-750: #b0b0b0;--osi-p-neutral-800: #d0d0d0;--osi-p-neutral-850: #ececec;--osi-p-neutral-900: #f2f2f2;--osi-p-neutral-950: #f8f9ff;--osi-p-light-50: #f5f6fa;--osi-p-light-100: #eef0f5;--osi-p-light-200: #e2e5ed;--osi-p-light-300: #d0d4de;--osi-p-light-400: #b8bcc8;--osi-p-light-500: #9298a8;--osi-p-light-600: #5a5f73;--osi-p-light-700: #4a5168;--osi-p-light-800: #2d3447;--osi-p-light-900: #1a1d2e;--osi-p-brand-100: #0d1624;--osi-p-brand-200: #121d30;--osi-p-brand-300: #1b2c47;--osi-p-brand-350: #223457;--osi-p-brand-400: #2f426f;--osi-p-brand-500: #3d5491;--osi-p-brand-600: #5c6fb1;--osi-p-brand-700: #7088c8;--osi-p-brand-750: #7a91db;--osi-p-brand-800: #8eaae8;--osi-p-brand-850: #b8caf8;--osi-p-brand-900: #dce6ff;--osi-p-brand-950: #eef3ff;--osi-p-green-400: #33ca88;--osi-p-green-500: #48a16d;--osi-p-green-900: #dcffea;--osi-p-yellow-400: #f0b24f;--osi-p-yellow-900: #ffe8b0;--osi-p-red-400: #df5e5e;--osi-p-red-500: #a64646;--osi-p-red-900: #ffdcdc;--osi-p-grey-500: #5a6175;--osi-p-brand-discord-500: #5865f2;--osi-p-brand-discord-600: #4752c4;--osi-p-red-discord-400: #ed4245;--osi-p-red-discord-500: #f04747;--osi-p-green-discord-400: #57F287;--osi-p-green-discord-500: #43b581;--osi-p-yellow-discord-400:#FEE75C;--osi-p-white-04: rgba(255, 255, 255, .04);--osi-p-white-06: rgba(255, 255, 255, .06);--osi-p-white-08: rgba(255, 255, 255, .08);--osi-p-white-10: rgba(255, 255, 255, .1);--osi-p-white-12: rgba(255, 255, 255, .12);--osi-p-white-14: rgba(255, 255, 255, .14);--osi-p-white-16: rgba(255, 255, 255, .16);--osi-p-white-22: rgba(200, 200, 200, .22);--osi-p-white-24: rgba(220, 220, 220, .24);--osi-p-white-40: rgba(255, 255, 255, .4);--osi-p-white-56: rgba(255, 255, 255, .56);--osi-p-black-04: rgba(0, 0, 0, .04);--osi-p-black-08: rgba(0, 0, 0, .08);--osi-p-black-12: rgba(0, 0, 0, .12);--osi-p-black-16: rgba(0, 0, 0, .16);--osi-p-black-24: rgba(0, 0, 0, .24);--osi-p-black-40: rgba(0, 0, 0, .4);--osi-p-brand-a18: rgba(112, 136, 205, .18);--osi-p-brand-a24: rgba(112, 136, 205, .24);--osi-p-brand-a36: rgba(122, 145, 219, .36);--osi-p-brand-a40: rgba(132, 155, 229, .4);--osi-p-space-1: 4px;--osi-p-space-2: 8px;--osi-p-space-3: 12px;--osi-p-space-4: 16px;--osi-p-space-5: 20px;--osi-p-space-6: 24px;--osi-p-space-7: 28px;--osi-p-space-8: 32px;--osi-p-space-px-1: 1px;--osi-p-space-px-2: 2px;--osi-p-space-px-3: 3px;--osi-p-space-px-5: 5px;--osi-p-space-px-6: 6px;--osi-p-space-px-7: 7px;--osi-p-space-px-9: 9px;--osi-p-space-px-10: 10px;--osi-p-space-px-11: 11px;--osi-p-space-px-14: 14px;--osi-p-space-px-18: 18px;--osi-p-space-px-34: 34px;--osi-p-size-16: 16px;--osi-p-size-18: 18px;--osi-p-size-20: 20px;--osi-p-size-22: 22px;--osi-p-size-24: 24px;--osi-p-size-26: 26px;--osi-p-size-28: 28px;--osi-p-size-30: 30px;--osi-p-size-32: 32px;--osi-p-size-34: 34px;--osi-p-size-36: 36px;--osi-p-size-38: 38px;--osi-p-size-40: 40px;--osi-p-size-44: 44px;--osi-p-size-46: 46px;--osi-p-size-48: 48px;--osi-p-size-52: 52px;--osi-p-size-64: 64px;--osi-p-size-88: 88px;--osi-p-size-90: 90px;--osi-p-size-136: 136px;--osi-p-size-148: 148px;--osi-p-size-188: 188px;--osi-p-size-220: 220px;--osi-p-size-320: 320px;--osi-p-size-520: 520px;--osi-p-size-6: 6px;--osi-p-size-8: 8px;--osi-p-size-10: 10px;--osi-p-size-12: 12px;--osi-p-size-14: 14px;--osi-p-size-42: 42px;--osi-p-size-50: 50px;--osi-p-size-56: 56px;--osi-p-size-60: 60px;--osi-p-size-72: 72px;--osi-p-size-80: 80px;--osi-p-size-86: 86px;--osi-p-size-92: 92px;--osi-p-size-96: 96px;--osi-p-size-100: 100px;--osi-p-size-110: 110px;--osi-p-size-120: 120px;--osi-p-size-128: 128px;--osi-p-size-160: 160px;--osi-p-size-240: 240px;--osi-p-size-280: 280px;--osi-p-size-300: 300px;--osi-p-size-350: 350px;--osi-p-size-360: 360px;--osi-p-size-400: 400px;--osi-p-size-416: 416px;--osi-p-size-440: 440px;--osi-p-size-460: 460px;--osi-p-size-480: 480px;--osi-p-size-600: 600px;--osi-p-size-640: 640px;--osi-p-size-980: 980px;--osi-p-size-1240: 1240px;--osi-p-size-4: 4px;--osi-p-size-9: 9px;--osi-p-size-122: 122px;--osi-p-size-54: 54px;--osi-p-size-58: 58px;--osi-p-size-68: 68px;--osi-p-size-140: 140px;--osi-p-size-180: 180px;--osi-p-size-700: 700px;--osi-p-size-720: 720px;--osi-p-size-780: 780px;--osi-p-size-150: 150px;--osi-p-size-170: 170px;--osi-p-size-260: 260px;--osi-p-size-290: 290px;--osi-p-size-500: 500px;--osi-p-size-760: 760px;--osi-p-size-820: 820px;--osi-p-size-900: 900px;--osi-p-r-2: 2px;--osi-p-r-4: 4px;--osi-p-r-8: 8px;--osi-p-r-9: 9px;--osi-p-r-10: 10px;--osi-p-r-11: 11px;--osi-p-r-12: 12px;--osi-p-r-14: 14px;--osi-p-r-16: 16px;--osi-p-r-22: 22px;--osi-p-r-full: 999px;--osi-p-fs-10: 10px;--osi-p-fs-11: 11px;--osi-p-fs-12: 12px;--osi-p-fs-13: 13px;--osi-p-fs-14: 14px;--osi-p-fs-15: 15px;--osi-p-fs-16: 16px;--osi-p-fs-18: 18px;--osi-p-fs-20: 20px;--osi-p-fs-24: 24px;--osi-p-fs-30: 30px}:root{color-scheme:dark;--osi-color-bg-base: var(--osi-p-neutral-100);--osi-color-bg-elevated: var(--osi-p-neutral-200);--osi-color-panel-0: rgba(26, 26, 26, .9);--osi-color-panel-1: rgba(30, 30, 30, .9);--osi-color-surface-0: rgba(12, 12, 12, .7);--osi-color-surface-1: rgba(16, 16, 16, .9);--osi-color-surface-2: rgba(18, 27, 43, .7);--osi-color-surface-input: var(--osi-p-neutral-0);--osi-color-surface-modal: rgba(14, 22, 37, .96);--osi-color-surface-popover: rgba(13, 22, 36, .95);--osi-color-surface-tooltip: rgba(11, 19, 32, .97);--osi-color-border-subtle: var(--osi-p-white-40);--osi-color-border-strong: var(--osi-p-white-56);--osi-color-text-primary: var(--osi-p-neutral-900);--osi-color-text-secondary: var(--osi-p-neutral-750);--osi-color-text-muted: var(--osi-p-neutral-700);--osi-color-text-brand: var(--osi-p-brand-900);--osi-color-text-brand-dim: var(--osi-p-brand-850);--osi-color-text-on-accent: var(--osi-p-neutral-0);--osi-color-state-hover: var(--osi-p-white-08);--osi-color-state-selected: var(--osi-p-white-12);--osi-color-state-active: var(--osi-p-white-14);--osi-color-accent-soft: var(--osi-p-white-22);--osi-color-accent-strong: var(--osi-p-neutral-800);--osi-color-accent-fill: var(--osi-p-brand-a24);--osi-color-accent-fill-hover: var(--osi-p-brand-a36);--osi-color-status-online: var(--osi-p-green-400);--osi-color-status-idle: var(--osi-p-yellow-400);--osi-color-status-offline: var(--osi-p-grey-500);--osi-color-status-dnd: var(--osi-p-red-400);--osi-color-positive: var(--osi-p-green-400);--osi-color-positive-bg: rgba(72, 161, 109, .24);--osi-color-positive-text: var(--osi-p-green-900);--osi-color-negative: var(--osi-p-red-400);--osi-color-negative-bg: rgba(166, 70, 70, .24);--osi-color-negative-text: var(--osi-p-red-900);--osi-color-warning: var(--osi-p-yellow-400);--osi-color-warning-bg: rgba(240, 178, 79, .22);--osi-color-warning-text: var(--osi-p-yellow-900);--osi-color-brand: var(--osi-p-brand-discord-500);--osi-color-brand-hover: var(--osi-p-brand-discord-600);--osi-color-error: var(--osi-p-red-discord-400);--osi-color-error-hover: var(--osi-p-red-discord-500);--osi-color-success: var(--osi-p-green-discord-400);--osi-color-success-dim: var(--osi-p-green-discord-500);--osi-color-warn: var(--osi-p-yellow-discord-400);--osi-color-text-normal: #dcddde;--osi-color-text-dim: #b5bac1;--osi-color-text-faint: var(--osi-p-neutral-700);--osi-color-text-on-brand: #ffffff;--osi-color-bg-tertiary: #2b2d31;--osi-color-border-default: #3f4147;--osi-color-overlay-heavy: rgba(0, 0, 0, .6);--osi-color-brand-bg-subtle: rgba(88, 101, 242, .15);--osi-color-brand-bg: rgba(88, 101, 242, .2);--osi-color-error-bg-subtle: rgba(237, 66, 69, .15);--osi-spacing-1: var(--osi-p-space-1);--osi-spacing-2: var(--osi-p-space-2);--osi-spacing-3: var(--osi-p-space-3);--osi-spacing-4: var(--osi-p-space-4);--osi-spacing-5: var(--osi-p-space-5);--osi-spacing-6: var(--osi-p-space-6);--osi-spacing-7: var(--osi-p-space-7);--osi-spacing-8: var(--osi-p-space-8);--osi-radius-sm: var(--osi-p-r-8);--osi-radius-md: var(--osi-p-r-10);--osi-radius-lg: var(--osi-p-r-14);--osi-radius-xl: var(--osi-p-r-16);--osi-radius-2xl: var(--osi-p-r-22);--osi-radius-full: var(--osi-p-r-full);--osi-font-family: Inter, "Segoe UI", sans-serif;--osi-a11y-font-scale: 1;--osi-font-size-xs: calc(var(--osi-p-fs-10) * var(--osi-a11y-font-scale));--osi-font-size-sm: calc(var(--osi-p-fs-11) * var(--osi-a11y-font-scale));--osi-font-size-caption: calc(var(--osi-p-fs-12) * var(--osi-a11y-font-scale));--osi-font-size-md: calc(var(--osi-p-fs-13) * var(--osi-a11y-font-scale));--osi-font-size-base: calc(var(--osi-p-fs-14) * var(--osi-a11y-font-scale));--osi-font-size-body: calc(var(--osi-p-fs-15) * var(--osi-a11y-font-scale));--osi-font-size-lg: calc(var(--osi-p-fs-18) * var(--osi-a11y-font-scale));--osi-font-size-xl: calc(var(--osi-p-fs-20) * var(--osi-a11y-font-scale));--osi-font-size-2xl: calc(var(--osi-p-fs-24) * var(--osi-a11y-font-scale));--osi-font-size-3xl: calc(var(--osi-p-fs-30) * var(--osi-a11y-font-scale));--osi-shadow-sm: 0 4px 12px rgba(0, 0, 0, .3);--osi-shadow-md: 0 12px 22px rgba(0, 0, 0, .35);--osi-shadow-lg: 0 22px 44px rgba(0, 0, 0, .55);--osi-motion-fast: .1s ease;--osi-motion-normal: .14s ease;--osi-motion-medium: .16s ease;--osi-motion-slow: .22s ease;--osi-motion-duration-fast: .1s;--osi-motion-duration-normal: .14s;--osi-motion-duration-medium: .16s;--osi-motion-duration-slow: .18s;--osi-focus-ring: 0 0 0 2px var(--osi-p-white-40);--osi-z-base: 0;--osi-z-sticky: 700;--osi-z-dropdown: 800;--osi-z-popover: 900;--osi-z-modal: 1000;--osi-z-toast: 1100;--osi-z-tooltip: 1200;--osi-spacing-app-padding: 26px;--osi-spacing-sidebar-width: 322px;--osi-spacing-rail-width: 74px;--osi-spacing-right-panel-width: 272px;--osi-spacing-header-height: 52px;--osi-color-surface-overlay: rgba(5, 8, 15, .58);--osi-color-surface-call: rgba(9, 16, 29, .97);--osi-color-surface-card: rgba(12, 12, 12, .7);--osi-color-surface-input-dark: var(--osi-p-neutral-0);--osi-color-surface-qr: #ffffff;--osi-color-brand-fill-start: var(--osi-p-brand-a36);--osi-color-brand-fill-end: var(--osi-p-brand-a24);--osi-color-brand-fill-hover-start: var(--osi-p-brand-a40);--osi-color-brand-fill-hover-end: rgba(114, 137, 213, .28);--osi-color-status-online-inline: #35c978;--osi-color-status-idle-inline: #f0c24f;--osi-color-status-dnd-inline: #df5e5e;--osi-color-status-invisible-inline: #8b8b8b;--osi-font-tracking-tight: -.02em;--osi-font-tracking-normal: .01em;--osi-font-tracking-wide: .03em;--osi-font-tracking-wider: .08em;--osi-font-tracking-widest: .015em;--osi-color-placeholder: #75809d}:root.theme-light{color-scheme:light;--osi-color-bg-base: var(--osi-p-light-50);--osi-color-bg-elevated: var(--osi-p-light-100);--osi-color-panel-0: rgba(242, 244, 250, .95);--osi-color-panel-1: rgba(237, 240, 248, .95);--osi-color-surface-0: rgba(255, 255, 255, .8);--osi-color-surface-1: rgba(248, 250, 255, .95);--osi-color-surface-2: rgba(230, 235, 248, .8);--osi-color-surface-input: #ffffff;--osi-color-surface-modal: rgba(250, 251, 255, .98);--osi-color-surface-popover: rgba(248, 250, 255, .98);--osi-color-surface-tooltip: rgba(30, 36, 56, .96);--osi-color-border-subtle: var(--osi-p-black-12);--osi-color-border-strong: var(--osi-p-black-24);--osi-color-text-primary: var(--osi-p-light-900);--osi-color-text-secondary: var(--osi-p-light-800);--osi-color-text-muted: var(--osi-p-light-600);--osi-color-text-brand: var(--osi-p-brand-500);--osi-color-text-brand-dim: var(--osi-p-brand-500);--osi-color-text-on-accent: #ffffff;--osi-color-state-hover: var(--osi-p-black-04);--osi-color-state-selected: var(--osi-p-black-08);--osi-color-state-active: var(--osi-p-black-12);--osi-color-accent-soft: rgba(90, 111, 177, .12);--osi-color-accent-strong: var(--osi-p-brand-500);--osi-color-accent-fill: rgba(90, 111, 177, .15);--osi-color-accent-fill-hover: rgba(90, 111, 177, .22);--osi-color-positive-bg: rgba(51, 202, 136, .18);--osi-color-positive-text: #1a6644;--osi-color-negative-bg: rgba(223, 94, 94, .15);--osi-color-negative-text: #842020;--osi-color-warning-bg: rgba(240, 178, 79, .18);--osi-color-warning-text: #7a4a00;--osi-shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--osi-shadow-md: 0 6px 16px rgba(0, 0, 0, .12);--osi-shadow-lg: 0 16px 32px rgba(0, 0, 0, .18);--osi-focus-ring: 0 0 0 2px rgba(62, 99, 221, .5);--osi-color-surface-overlay: rgba(10, 15, 30, .5);--osi-color-surface-call: rgba(245, 248, 255, .98);--osi-color-surface-card: rgba(255, 255, 255, .8);--osi-color-placeholder: var(--osi-p-light-600);--osi-color-brand: var(--osi-p-brand-400);--osi-color-brand-hover: var(--osi-p-brand-500);--osi-color-error: #c9363a;--osi-color-error-hover: #b52f33;--osi-color-success: #2d9f5e;--osi-color-success-dim: #248a4f;--osi-color-warn: #d4a032;--osi-color-text-normal: var(--osi-p-light-900);--osi-color-text-dim: var(--osi-p-light-800);--osi-color-text-faint: var(--osi-p-light-600);--osi-color-text-on-brand: #ffffff;--osi-color-bg-tertiary: var(--osi-p-light-200);--osi-color-border-default: var(--osi-p-light-300);--osi-color-overlay-heavy: rgba(0, 0, 0, .4);--osi-color-brand-bg-subtle: rgba(90, 111, 177, .12);--osi-color-brand-bg: rgba(90, 111, 177, .18);--osi-color-error-bg-subtle: rgba(201, 54, 58, .12)}@media(prefers-color-scheme:light){:root:not(.theme-dark):not(.theme-light){color-scheme:light;--osi-color-bg-base: var(--osi-p-light-50);--osi-color-bg-elevated: var(--osi-p-light-100);--osi-color-panel-0: rgba(242, 244, 250, .95);--osi-color-panel-1: rgba(237, 240, 248, .95);--osi-color-surface-0: rgba(255, 255, 255, .8);--osi-color-surface-1: rgba(248, 250, 255, .95);--osi-color-surface-2: rgba(230, 235, 248, .8);--osi-color-surface-input: #ffffff;--osi-color-surface-modal: rgba(250, 251, 255, .98);--osi-color-surface-popover: rgba(248, 250, 255, .98);--osi-color-surface-tooltip: rgba(30, 36, 56, .96);--osi-color-border-subtle: var(--osi-p-black-12);--osi-color-border-strong: var(--osi-p-black-24);--osi-color-text-primary: var(--osi-p-light-900);--osi-color-text-secondary: var(--osi-p-light-800);--osi-color-text-muted: var(--osi-p-light-600);--osi-color-text-brand: var(--osi-p-brand-500);--osi-color-text-brand-dim: var(--osi-p-brand-500);--osi-color-text-on-accent: #ffffff;--osi-color-state-hover: var(--osi-p-black-04);--osi-color-state-selected: var(--osi-p-black-08);--osi-color-state-active: var(--osi-p-black-12);--osi-color-accent-soft: rgba(90, 111, 177, .12);--osi-color-accent-strong: var(--osi-p-brand-500);--osi-color-accent-fill: rgba(90, 111, 177, .15);--osi-color-accent-fill-hover: rgba(90, 111, 177, .22);--osi-color-positive-bg: rgba(51, 202, 136, .18);--osi-color-positive-text: #1a6644;--osi-color-negative-bg: rgba(223, 94, 94, .15);--osi-color-negative-text: #842020;--osi-color-warning-bg: rgba(240, 178, 79, .18);--osi-color-warning-text: #7a4a00;--osi-shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--osi-shadow-md: 0 6px 16px rgba(0, 0, 0, .12);--osi-shadow-lg: 0 16px 32px rgba(0, 0, 0, .18);--osi-focus-ring: 0 0 0 2px rgba(62, 99, 221, .5);--osi-color-surface-overlay: rgba(10, 15, 30, .5);--osi-color-surface-call: rgba(245, 248, 255, .98);--osi-color-surface-card: rgba(255, 255, 255, .8);--osi-color-placeholder: var(--osi-p-light-600);--osi-color-brand: var(--osi-p-brand-400);--osi-color-brand-hover: var(--osi-p-brand-500);--osi-color-error: #c9363a;--osi-color-error-hover: #b52f33;--osi-color-success: #2d9f5e;--osi-color-success-dim: #248a4f;--osi-color-warn: #d4a032;--osi-color-text-normal: var(--osi-p-light-900);--osi-color-text-dim: var(--osi-p-light-800);--osi-color-text-faint: var(--osi-p-light-600);--osi-color-text-on-brand: #ffffff;--osi-color-bg-tertiary: var(--osi-p-light-200);--osi-color-border-default: var(--osi-p-light-300);--osi-color-overlay-heavy: rgba(0, 0, 0, .4);--osi-color-brand-bg-subtle: rgba(90, 111, 177, .12);--osi-color-brand-bg: rgba(90, 111, 177, .18);--osi-color-error-bg-subtle: rgba(201, 54, 58, .12)}}:root.theme-dark{color-scheme:dark}:root.surface-flat{--osi-color-surface-0: var(--osi-color-surface-1);--osi-color-surface-2: var(--osi-color-surface-1);--osi-color-panel-0: var(--osi-color-panel-1);--osi-color-bg-elevated: var(--osi-color-bg-base)}:root{--osi-btn-ghost-bg: transparent;--osi-btn-ghost-bg-hover: var(--osi-color-state-hover);--osi-btn-ghost-bg-active: var(--osi-color-state-active);--osi-btn-ghost-color: var(--osi-color-text-secondary);--osi-btn-ghost-color-hover: var(--osi-color-text-primary);--osi-btn-ghost-border: transparent;--osi-btn-ghost-border-active: var(--osi-color-border-subtle);--osi-btn-ghost-height: 30px;--osi-btn-ghost-radius: var(--osi-radius-sm);--osi-btn-filled-bg: var(--osi-color-accent-fill);--osi-btn-filled-bg-hover: var(--osi-color-accent-fill-hover);--osi-btn-filled-color: var(--osi-color-text-on-accent);--osi-btn-filled-border: var(--osi-color-border-subtle);--osi-btn-filled-height: 34px;--osi-btn-filled-radius: var(--osi-radius-sm);--osi-btn-positive-bg: var(--osi-color-positive-bg);--osi-btn-positive-color: var(--osi-color-positive-text);--osi-btn-positive-border: var(--osi-color-border-subtle);--osi-btn-negative-bg: var(--osi-color-negative-bg);--osi-btn-negative-color: var(--osi-color-negative-text);--osi-btn-negative-border: var(--osi-color-border-subtle);--osi-input-bg: var(--osi-color-surface-input);--osi-input-border: var(--osi-color-border-subtle);--osi-input-color: var(--osi-color-text-primary);--osi-input-placeholder: var(--osi-color-placeholder);--osi-input-height: 36px;--osi-input-radius: var(--osi-radius-sm);--osi-input-padding-x: var(--osi-spacing-2);--osi-badge-bg: var(--osi-p-white-16);--osi-badge-color: var(--osi-p-neutral-950);--osi-badge-height: 18px;--osi-badge-radius: var(--osi-radius-full);--osi-badge-font: var(--osi-font-size-sm);--osi-tooltip-bg: var(--osi-color-surface-tooltip);--osi-tooltip-border: var(--osi-color-border-subtle);--osi-tooltip-color: var(--osi-color-text-primary);--osi-tooltip-radius: var(--osi-radius-sm);--osi-tooltip-shadow: var(--osi-shadow-md);--osi-popover-bg: var(--osi-color-surface-popover);--osi-popover-border: var(--osi-color-border-subtle);--osi-popover-shadow: var(--osi-shadow-md);--osi-popover-radius: var(--osi-p-r-12);--osi-popover-padding: var(--osi-spacing-2);--osi-spinner-color: var(--osi-color-text-secondary);--osi-spinner-size-sm: 16px;--osi-spinner-size-md: 24px;--osi-spinner-size-lg: 32px}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--osi-spacing-2);border:1px solid transparent;border-radius:var(--osi-btn-filled-radius);padding:0 var(--osi-spacing-2);font:inherit;font-weight:600;cursor:pointer;transition:background var(--osi-motion-normal),color var(--osi-motion-normal),border-color var(--osi-motion-normal);white-space:nowrap;text-decoration:none;-webkit-tap-highlight-color:transparent}.ds-btn:focus-visible{outline:none;box-shadow:var(--osi-focus-ring)}.ds-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ds-btn-sm{height:28px;font-size:var(--osi-font-size-sm);padding:0 var(--osi-spacing-2)}.ds-btn-md{height:var(--osi-btn-filled-height);font-size:var(--osi-font-size-md);padding:0 var(--osi-spacing-2)}.ds-btn-lg{height:40px;font-size:var(--osi-font-size-base);padding:0 var(--osi-spacing-3)}.ds-btn-icon-only{padding:0;aspect-ratio:1}.ds-btn-ghost{height:var(--osi-btn-ghost-height);background:var(--osi-btn-ghost-bg);border-color:var(--osi-btn-ghost-border);color:var(--osi-btn-ghost-color);border-radius:var(--osi-btn-ghost-radius);font-weight:500}.ds-btn-ghost:hover:not(:disabled){background:var(--osi-btn-ghost-bg-hover);color:var(--osi-btn-ghost-color-hover)}.ds-btn-ghost.is-active,.ds-btn-ghost[aria-pressed=true],.ds-btn-ghost[aria-expanded=true]{background:var(--osi-btn-ghost-bg-active);border-color:var(--osi-btn-ghost-border-active);color:var(--osi-color-text-primary)}.ds-btn-filled{background:var(--osi-btn-filled-bg);border-color:var(--osi-btn-filled-border);color:var(--osi-btn-filled-color)}.ds-btn-filled:hover:not(:disabled){background:var(--osi-btn-filled-bg-hover)}.ds-btn-positive{background:var(--osi-btn-positive-bg);border-color:var(--osi-btn-positive-border);color:var(--osi-btn-positive-color)}.ds-btn-positive:hover:not(:disabled){filter:brightness(1.08)}.ds-btn-negative{background:var(--osi-btn-negative-bg);border-color:var(--osi-btn-negative-border);color:var(--osi-btn-negative-color)}.ds-btn-negative:hover:not(:disabled){filter:brightness(1.08)}.ds-badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--osi-badge-height);height:var(--osi-badge-height);border-radius:var(--osi-badge-radius);font-size:var(--osi-badge-font);font-weight:700;padding:0 5px;line-height:1}.ds-badge-default{background:var(--osi-badge-bg);color:var(--osi-badge-color)}.ds-badge-brand{background:var(--osi-color-accent-fill);color:var(--osi-color-text-on-accent)}.ds-badge-positive{background:var(--osi-color-positive-bg);color:var(--osi-color-positive-text)}.ds-badge-negative{background:var(--osi-color-negative-bg);color:var(--osi-color-negative-text)}.ds-badge-warning{background:var(--osi-color-warning-bg);color:var(--osi-color-warning-text)}.ds-input{height:var(--osi-input-height);border:1px solid var(--osi-input-border);border-radius:var(--osi-input-radius);background:var(--osi-input-bg);color:var(--osi-input-color);padding:0 var(--osi-input-padding-x);font:inherit;font-size:var(--osi-font-size-md);width:100%;transition:border-color var(--osi-motion-fast)}.ds-input::placeholder{color:var(--osi-input-placeholder)}.ds-input:focus-visible{outline:none;border-color:var(--osi-color-border-strong)}.ds-input:disabled{opacity:.5;cursor:not-allowed}.ds-input-wrap{position:relative;display:flex;align-items:center}.ds-input-icon{position:absolute;left:var(--osi-input-padding-x);display:flex;align-items:center;color:var(--osi-color-text-muted);pointer-events:none}.ds-input-wrap .ds-input{padding-left:calc(var(--osi-input-padding-x) * 2 + 16px)}@keyframes ds-spin{to{transform:rotate(360deg)}}.ds-spinner{display:inline-block;border-radius:var(--osi-radius-full);border:2px solid var(--osi-color-border-subtle);border-top-color:var(--osi-spinner-color);animation:ds-spin .7s linear infinite;flex-shrink:0}.ds-spinner-sm{width:var(--osi-spinner-size-sm);height:var(--osi-spinner-size-sm)}.ds-spinner-md{width:var(--osi-spinner-size-md);height:var(--osi-spinner-size-md)}.ds-spinner-lg{width:var(--osi-spinner-size-lg);height:var(--osi-spinner-size-lg)}.ds-tooltip{position:relative;display:inline-flex;align-items:center}.ds-tooltip:after{content:attr(data-tooltip);position:absolute;white-space:nowrap;background:var(--osi-tooltip-bg);border:1px solid var(--osi-tooltip-border);color:var(--osi-tooltip-color);font-size:var(--osi-font-size-sm);font-weight:500;border-radius:var(--osi-tooltip-radius);padding:4px 8px;box-shadow:var(--osi-tooltip-shadow);pointer-events:none;opacity:0;transition:opacity var(--osi-motion-fast);z-index:100}.ds-tooltip:hover:after,.ds-tooltip:focus-within:after{opacity:1}.ds-tooltip-top:after{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.ds-tooltip-bottom:after{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.ds-tooltip-left:after{right:calc(100% + 6px);top:50%;transform:translateY(-50%)}.ds-tooltip-right:after{left:calc(100% + 6px);top:50%;transform:translateY(-50%)}.ds-tooltip{--ds-tooltip-delay: 0ms}.ds-tooltip:hover:after,.ds-tooltip:focus-within:after{transition-delay:var(--ds-tooltip-delay)}.ds-tooltip-arrow:before{content:"";position:absolute;width:0;height:0;border:4px solid transparent;opacity:0;pointer-events:none;transition:opacity var(--osi-motion-fast);z-index:100}.ds-tooltip-arrow:hover:before,.ds-tooltip-arrow:focus-within:before{opacity:1;transition-delay:var(--ds-tooltip-delay)}.ds-tooltip-arrow.ds-tooltip-top:before{bottom:100%;left:50%;transform:translate(-50%);border-top-color:var(--osi-tooltip-bg)}.ds-tooltip-arrow.ds-tooltip-bottom:before{top:100%;left:50%;transform:translate(-50%);border-bottom-color:var(--osi-tooltip-bg)}.ds-tooltip-arrow.ds-tooltip-left:before{right:100%;top:50%;transform:translateY(-50%);border-left-color:var(--osi-tooltip-bg)}.ds-tooltip-arrow.ds-tooltip-right:before{left:100%;top:50%;transform:translateY(-50%);border-right-color:var(--osi-tooltip-bg)}.ds-btn-secondary{background:var(--osi-color-bg-elevated);border-color:var(--osi-color-border-subtle, var(--osi-color-border-strong, transparent));color:var(--osi-color-text-primary)}.ds-btn-secondary:hover:not(:disabled){background:var(--osi-color-state-hover, var(--osi-color-bg-elevated));filter:brightness(1.05)}.ds-btn-loading{gap:var(--osi-spacing-2);cursor:progress}.ds-btn-loading .ds-btn-loading-label{opacity:.75}.ds-field{display:flex;flex-direction:column;gap:4px}.ds-field-label{font-size:var(--osi-font-size-sm);font-weight:600;color:var(--osi-color-text-secondary);letter-spacing:.02em;text-transform:uppercase}.ds-field-helper{font-size:var(--osi-font-size-sm);color:var(--osi-color-text-muted)}.ds-field-helper-error{color:var(--osi-color-negative-text, var(--osi-color-status-dnd))}.ds-input-error,.ds-input-error:focus-visible{border-color:var(--osi-color-negative-text, var(--osi-color-status-dnd))}.ds-modal-overlay{position:fixed;inset:0;background:var(--osi-color-surface-overlay, rgba(5, 8, 15, .58));display:flex;align-items:center;justify-content:center;padding:var(--osi-spacing-4, 16px);z-index:1000}.ds-modal{background:var(--osi-color-surface-modal);color:var(--osi-color-text-primary);border:1px solid var(--osi-color-border-subtle, transparent);border-radius:var(--osi-radius-lg, 12px);box-shadow:var(--osi-shadow-lg, 0 12px 32px rgba(0, 0, 0, .45));max-width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;outline:none}.ds-modal-sm{width:360px}.ds-modal-md{width:520px}.ds-modal-lg{width:720px}.ds-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--osi-spacing-3, 12px) var(--osi-spacing-4, 16px);border-bottom:1px solid var(--osi-color-border-subtle, transparent);gap:var(--osi-spacing-2)}.ds-modal-title{margin:0;font-size:var(--osi-font-size-lg, 16px);font-weight:600}.ds-modal-close{all:unset;cursor:pointer;font-size:22px;line-height:1;color:var(--osi-color-text-muted);padding:4px 8px;border-radius:var(--osi-radius-sm, 4px)}.ds-modal-close:hover{color:var(--osi-color-text-primary);background:var(--osi-color-state-hover, rgba(255,255,255,.06))}.ds-modal-close:focus-visible{outline:none;box-shadow:var(--osi-focus-ring)}.ds-modal-body{padding:var(--osi-spacing-4, 16px);overflow-y:auto;flex:1}.ds-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--osi-spacing-2);padding:var(--osi-spacing-3, 12px) var(--osi-spacing-4, 16px);border-top:1px solid var(--osi-color-border-subtle, transparent)}.ds-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ds-avatar-image,.ds-avatar-initials{border-radius:var(--osi-radius-full, 50%);display:block;object-fit:cover}.ds-avatar-initials{display:inline-flex;align-items:center;justify-content:center;color:var(--osi-color-text-on-accent, #fff);font-weight:700;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.ds-avatar-status{position:absolute;right:0;bottom:0;width:30%;height:30%;min-width:8px;min-height:8px;border-radius:var(--osi-radius-full, 50%);border:2px solid var(--osi-color-bg-primary, #000);box-sizing:content-box}.ds-badge-dot{min-width:10px;width:10px;height:10px;padding:0;border-radius:var(--osi-radius-full, 50%)}.ds-dropdown{position:relative;display:inline-block}.ds-dropdown-menu{position:absolute;min-width:200px;background:var(--osi-color-surface-popover, var(--osi-color-surface-modal));border:1px solid var(--osi-color-border-subtle, transparent);border-radius:var(--osi-radius-md, 8px);box-shadow:var(--osi-shadow-md, 0 8px 24px rgba(0, 0, 0, .32));padding:4px;z-index:1000;display:flex;flex-direction:column;gap:1px}.ds-dropdown-bottom-start{top:calc(100% + 4px);left:0}.ds-dropdown-bottom-end{top:calc(100% + 4px);right:0}.ds-dropdown-top-start{bottom:calc(100% + 4px);left:0}.ds-dropdown-top-end{bottom:calc(100% + 4px);right:0}.ds-dropdown-item{all:unset;display:flex;align-items:center;gap:var(--osi-spacing-2);padding:6px 10px;font-size:var(--osi-font-size-md);color:var(--osi-color-text-primary);border-radius:var(--osi-radius-sm, 4px);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.ds-dropdown-item:hover:not([disabled]),.ds-dropdown-item:focus-visible{background:var(--osi-color-state-hover, rgba(255, 255, 255, .08));outline:none}.ds-dropdown-item[disabled]{opacity:.45;cursor:not-allowed}.ds-dropdown-item-danger{color:var(--osi-color-negative-text, var(--osi-color-status-dnd))}.ds-dropdown-item-danger:hover:not([disabled]){background:var(--osi-color-negative-bg, rgba(220, 64, 64, .12))}.ds-dropdown-item-icon{display:inline-flex;flex-shrink:0}.ds-dropdown-item-label{flex:1}.ds-dropdown-divider{height:1px;background:var(--osi-color-border-subtle, rgba(255, 255, 255, .08));margin:4px 0}.ds-toast-stack{position:fixed;bottom:var(--osi-spacing-4, 16px);right:var(--osi-spacing-4, 16px);display:flex;flex-direction:column;gap:var(--osi-spacing-2, 8px);z-index:2000;pointer-events:none;max-width:min(380px,calc(100vw - 32px))}.ds-toast-region{display:flex;flex-direction:column;gap:var(--osi-spacing-2, 8px)}.ds-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--osi-spacing-2, 8px);padding:var(--osi-spacing-3, 12px) var(--osi-spacing-3, 12px);border-radius:var(--osi-radius-md, 8px);background:var(--osi-color-surface-modal);border:1px solid var(--osi-color-border-subtle, transparent);box-shadow:var(--osi-shadow-md, 0 6px 18px rgba(0, 0, 0, .3));color:var(--osi-color-text-primary);font-size:var(--osi-font-size-md);animation:ds-toast-enter .2s ease-out}.ds-toast-success{border-left:3px solid var(--osi-color-positive-text, var(--osi-color-status-online))}.ds-toast-error{border-left:3px solid var(--osi-color-negative-text, var(--osi-color-status-dnd))}.ds-toast-warning{border-left:3px solid var(--osi-color-warning-text, var(--osi-color-status-idle))}.ds-toast-info{border-left:3px solid var(--osi-color-accent-fill, var(--osi-color-text-brand))}.ds-toast-message{flex:1;line-height:1.4;word-break:break-word}.ds-toast-close{all:unset;cursor:pointer;font-size:18px;line-height:1;color:var(--osi-color-text-muted);padding:2px 6px;border-radius:var(--osi-radius-sm, 4px);flex-shrink:0}.ds-toast-close:hover{color:var(--osi-color-text-primary);background:var(--osi-color-state-hover, rgba(255, 255, 255, .06))}.ds-toast-close:focus-visible{outline:none;box-shadow:var(--osi-focus-ring)}@keyframes ds-toast-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ds-toast{animation:none}}.msg--blocked-collapsed{display:flex;align-items:center;gap:var(--osi-spacing-2);padding:var(--osi-spacing-1) var(--osi-spacing-4);color:var(--osi-color-text-muted);font-size:var(--osi-font-size-md);font-style:italic}.msg--blocked-collapsed .msg__blocked-label{flex:1}.msg__show-blocked{all:unset;cursor:pointer;color:var(--osi-color-text-brand-dim);font-size:var(--osi-font-size-md);font-style:normal;font-weight:500;padding:var(--osi-spacing-1) var(--osi-spacing-2);border-radius:var(--osi-radius-sm);transition:color var(--osi-motion-fast),background var(--osi-motion-fast);white-space:nowrap;flex-shrink:0}.msg__show-blocked:hover{color:var(--osi-color-text-brand);background:var(--osi-color-state-hover)}.msg__show-blocked:focus-visible{outline:none;box-shadow:var(--osi-focus-ring)}.msg--blocked-expanded .msg__blocked-banner{display:flex;align-items:center;gap:var(--osi-spacing-2);padding:var(--osi-spacing-1) var(--osi-spacing-4);color:var(--osi-color-text-muted);font-size:var(--osi-font-size-md);font-style:italic}.msg--blocked-expanded .msg__blocked-label{flex:1}.msg__hide-blocked{all:unset;cursor:pointer;color:var(--osi-color-text-faint);font-size:var(--osi-font-size-md);font-style:normal;font-weight:500;padding:var(--osi-spacing-1) var(--osi-spacing-2);border-radius:var(--osi-radius-sm);transition:color var(--osi-motion-fast),background var(--osi-motion-fast);white-space:nowrap;flex-shrink:0}.msg__hide-blocked:hover{color:var(--osi-color-text-secondary);background:var(--osi-color-state-hover)}.msg__hide-blocked:focus-visible{outline:none;box-shadow:var(--osi-focus-ring)}.search-highlight{background-color:var(--osi-color-accent-fill);color:var(--osi-color-text-brand);border-radius:2px;padding:0 2px}.search-snippet-sep{color:var(--osi-color-text-secondary);margin:0 4px;opacity:.7}.message-jump-highlight{animation:reply-highlight-fade 2s ease-out forwards;border-radius:var(--osi-radius-md, 8px)}.message-search-snippets{margin-top:4px;padding:4px 8px;font-size:.8125rem;color:var(--osi-color-text-secondary);background:var(--osi-color-surface-hover, rgba(255, 255, 255, .04));border-left:2px solid var(--osi-color-accent-strong, var(--osi-color-text-brand));border-radius:0 4px 4px 0;line-height:1.35}.message-search-jump{display:inline-flex;margin-left:8px;padding:2px 8px;background:var(--osi-color-accent-fill);color:var(--osi-color-text-brand);border:none;border-radius:10px;font-size:.75rem;font-weight:500;cursor:pointer;transition:background var(--osi-motion-fast, .15s ease)}.message-search-jump:hover{background:var(--osi-color-accent-fill-hover)}.message-search-jump:focus-visible{outline:none;box-shadow:var(--osi-focus-ring)}.osi-name-skeleton{display:inline-block;background:linear-gradient(90deg,var(--osi-bg-tertiary) 0%,var(--osi-bg-secondary) 50%,var(--osi-bg-tertiary) 100%);background-size:200% 100%;animation:osi-name-skeleton-shimmer 1.4s ease-in-out infinite;border-radius:4px;width:4em;height:1em;vertical-align:middle}@keyframes osi-name-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.osi-name-skeleton{animation:none}}.inbox-panel{position:absolute;top:12px;left:12px;width:380px;max-height:calc(100vh - 80px);display:flex;flex-direction:column;background:var(--osi-bg-1, var(--bg-1));border:1px solid var(--osi-border-1, var(--border-1));border-radius:12px;box-shadow:0 18px 48px var(--overlay-heavy, rgba(0, 0, 0, .45));z-index:60;overflow:hidden;font-size:.92rem}.inbox-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--osi-border-1, var(--border-1));flex:0 0 auto}.inbox-header-title{display:flex;align-items:center;gap:8px;color:var(--osi-text-1, var(--text-on-brand))}.inbox-header-actions{display:flex;gap:4px}.inbox-mark-all[disabled]{opacity:.4;cursor:default}.inbox-tabs{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--osi-border-1, var(--border-1));overflow-x:auto;flex:0 0 auto}.inbox-tab{appearance:none;border:0;background:transparent;color:var(--text-muted, var(--osi-text-2));padding:4px 10px;border-radius:999px;font-size:.85rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.inbox-tab:hover{background:var(--osi-bg-2, rgba(255, 255, 255, .04))}.inbox-tab.is-active{background:var(--brand, var(--osi-color-brand));color:var(--text-on-brand, #fff)}.inbox-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:.7rem;font-weight:600;background:var(--error, #d2364c);color:var(--osi-color-text-on-brand)}.inbox-tab.is-active .inbox-tab-count{background:#00000059}.inbox-list-wrapper{overflow-y:auto;flex:1 1 auto}.inbox-list{width:100%}.inbox-virtual-row{padding:0}.inbox-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;border:0;background:transparent;text-align:left;cursor:pointer;border-bottom:1px solid var(--osi-border-1, var(--border-1));color:var(--text-on-brand, var(--osi-text-1))}.inbox-item:hover{background:var(--osi-bg-2, rgba(255, 255, 255, .04))}.inbox-item.is-unread{background:var(--osi-bg-unread, rgba(88, 101, 242, .06))}.inbox-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.inbox-item-headline{font-weight:500;font-size:.9rem;line-height:1.3;word-wrap:break-word}.inbox-item-snippet{color:var(--text-muted, var(--osi-text-2));font-size:.82rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.inbox-item-meta{font-size:.72rem;color:var(--text-muted, var(--osi-text-2));margin-top:2px}.inbox-item-unread-dot{flex:0 0 8px;width:8px;height:8px;margin-top:8px;border-radius:50%;background:var(--brand, var(--osi-color-brand))}.inbox-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;text-align:center;color:var(--text-muted, var(--osi-text-2));flex:1}.inbox-empty p{margin:0;font-size:.95rem;color:var(--text-on-brand, var(--osi-text-1))}.inbox-empty small{font-size:.8rem}.inbox-loader{padding:14px 12px;text-align:center;font-size:.82rem;color:var(--text-muted, var(--osi-text-2))}.brand-mention-pill{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--error, #d2364c);color:var(--osi-color-text-on-brand);font-size:.66rem;font-weight:700;pointer-events:none}.push-banner.is-neutral{background:var(--osi-bg-2, rgba(255, 255, 255, .05));color:var(--text-muted, var(--osi-text-2))}:root{font-family:var(--osi-font-family);--bg-0: var(--osi-color-bg-base);--bg-1: var(--osi-color-bg-elevated);--panel-0: var(--osi-color-panel-0);--panel-1: var(--osi-color-panel-1);--border-soft: var(--osi-color-border-subtle);--border-strong: var(--osi-color-border-strong);--text-main: var(--osi-color-text-primary);--text-muted: var(--osi-color-text-secondary);--text-subtle: var(--osi-color-text-muted);--accent-soft: var(--osi-color-accent-soft);--accent-strong: var(--osi-color-accent-strong);--row-hover: var(--osi-color-state-hover);--row-selected: var(--osi-color-state-selected);--focus-ring: var(--osi-focus-ring);--brand: var(--osi-color-brand);--brand-hover: var(--osi-color-brand-hover);--error: var(--osi-color-error);--error-hover: var(--osi-color-error-hover);--success: var(--osi-color-success);--success-dim: var(--osi-color-success-dim);--warning: var(--osi-color-warn);--text-normal: var(--osi-color-text-normal);--text-dim: var(--osi-color-text-dim);--text-faint: var(--osi-color-text-faint);--text-on-brand:var(--osi-color-text-on-brand);--bg-tertiary: var(--osi-color-bg-tertiary);--border-default: var(--osi-color-border-default);--overlay-heavy:var(--osi-color-overlay-heavy);--brand-bg-subtle: var(--osi-color-brand-bg-subtle);--brand-bg: var(--osi-color-brand-bg);--error-bg: var(--osi-color-error-bg-subtle)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--text-main);background:radial-gradient(circle at 20% 0%,var(--osi-p-white-08),transparent 45%),radial-gradient(circle at 85% 10%,var(--osi-p-white-04),transparent 42%),linear-gradient(165deg,var(--bg-1),var(--bg-0))}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .15s ease,fill .2s ease,stroke .2s ease!important}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--osi-focus-ring)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:none;border-color:var(--osi-color-border-strong)!important}.app-bg{min-height:100%;padding:0}.app-shell{height:100vh;height:100dvh;display:grid;grid-template-columns:minmax(56px,var(--osi-spacing-rail-width)) minmax(200px,var(--osi-spacing-sidebar-width)) minmax(0,1fr) minmax(0,var(--osi-spacing-right-panel-width));background:var(--osi-color-surface-0);overflow:hidden}.app-shell.no-right-panel{grid-template-columns:minmax(56px,var(--osi-spacing-rail-width)) minmax(200px,var(--osi-spacing-sidebar-width)) minmax(0,1fr)}.primary-rail{border-right:1px solid var(--border-soft);background:linear-gradient(180deg,var(--osi-color-panel-1),var(--osi-color-panel-0));display:flex;flex-direction:column;justify-content:flex-start;min-height:0;padding:var(--osi-spacing-3) var(--osi-spacing-2)}.primary-rail-nav{display:flex;flex-direction:column;gap:var(--osi-spacing-2);flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.rail-divider{width:var(--osi-p-size-34);height:var(--osi-p-space-px-1);margin:var(--osi-p-space-px-2) auto var(--osi-spacing-1);background:var(--border-soft)}.rail-server-list{display:flex;flex-direction:column;gap:var(--osi-p-space-px-6);margin:var(--osi-spacing-1) 0 var(--osi-p-space-px-2);overflow-y:auto;min-height:0;scrollbar-width:none;padding-right:var(--osi-p-space-px-2)}.rail-server-list::-webkit-scrollbar{display:none}.rail-server-button{width:100%;height:var(--osi-p-size-50);border-radius:var(--osi-radius-xl);border:1px solid transparent;background:transparent;display:grid;place-items:center;cursor:pointer;transition:var(--osi-motion-normal);position:relative}.rail-server-button:hover{background:var(--row-hover)}.rail-server-button:hover:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);width:4px;height:20px;background:var(--text-main, var(--text-normal));border-radius:0 4px 4px 0;transition:height .15s}.rail-server-button.is-active{border-color:var(--border-soft);background:var(--osi-color-state-active)}.rail-server-button.is-active:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);width:4px;height:36px;background:var(--text-main, var(--text-normal));border-radius:0 4px 4px 0}.rail-server-skeleton{width:40px;height:40px;border-radius:50%;background:var(--bg-tertiary);margin:4px auto;animation:pulse 1.5s ease-in-out infinite;opacity:.6}.rail-server-icon{width:var(--osi-p-size-34);height:var(--osi-p-size-34);border-radius:50%;object-fit:cover;object-position:center}.rail-button,.rail-user-anchor{width:100%;height:var(--osi-p-size-46);border-radius:var(--osi-radius-lg);border:1px solid transparent;background:transparent;display:grid;place-items:center;color:var(--text-muted);cursor:pointer;transition:var(--osi-motion-normal)}.rail-button:hover,.rail-user-anchor:hover{background:var(--row-hover);color:var(--text-main)}.rail-button.is-active{border-color:var(--border-strong);background:linear-gradient(180deg,var(--osi-color-state-selected),var(--osi-color-state-hover));color:var(--text-main)}.rail-footer{display:flex;flex-direction:column;gap:var(--osi-p-space-px-10);margin-top:var(--osi-spacing-2);flex:0 0 auto}.brand-anchor{width:100%;height:var(--osi-p-size-36);border:0;background:transparent;padding:0;display:grid;place-items:center;cursor:pointer}.discover-anchor{position:relative}.rail-discover-image{width:var(--osi-p-size-26);height:var(--osi-p-size-26);object-fit:contain;opacity:.95}.rail-user-anchor{background:var(--osi-color-accent-fill);border:1px solid var(--border-soft);overflow:hidden}.rail-logo-image{width:var(--osi-p-size-24);height:var(--osi-p-size-24);object-fit:contain;opacity:.9}.rail-home-logo{width:var(--osi-p-size-20);height:var(--osi-p-size-20);object-fit:contain;opacity:.95}.rail-user-avatar{width:100%;height:100%;object-fit:cover}.secondary-sidebar{padding:var(--osi-spacing-4) var(--osi-spacing-3) var(--osi-spacing-4);border-right:1px solid var(--border-soft);background:linear-gradient(180deg,var(--panel-0),var(--osi-color-bg-base));display:flex;flex-direction:column;gap:var(--osi-p-space-px-14);min-height:0}.secondary-sidebar-scroll{display:flex;flex-direction:column;gap:var(--osi-p-space-px-14);min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:var(--osi-p-space-px-2);scrollbar-width:none}.secondary-sidebar-scroll::-webkit-scrollbar{display:none}.brand-header{display:flex;align-items:center;gap:var(--osi-p-space-px-11)}.brand-mark{width:var(--osi-p-size-24);height:var(--osi-p-size-24);flex:0 0 auto;display:grid;place-items:center}.dragon-logo{width:var(--osi-p-size-24);height:var(--osi-p-size-24);object-fit:contain;object-position:center;display:block}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-size:var(--osi-font-size-xl);line-height:1;letter-spacing:var(--osi-font-tracking-wide);font-weight:700;color:var(--osi-color-text-brand)}.brand-copy span{font-size:var(--osi-font-size-sm);font-weight:500;color:var(--osi-color-text-muted);margin-top:var(--osi-p-space-px-3);letter-spacing:var(--osi-font-tracking-widest)}.brand-header-actions{margin-left:auto;display:inline-flex;align-items:center;gap:var(--osi-spacing-1)}.brand-header-actions .ghost-icon{margin-left:0;position:relative}.brand-unread-dot{position:absolute;top:var(--osi-p-size-6);right:var(--osi-p-size-6);width:var(--osi-p-size-6);height:var(--osi-p-size-6);border-radius:var(--osi-radius-full);background:var(--osi-color-text-brand)}.ghost-icon{margin-left:auto;border:1px solid transparent;background:transparent;color:var(--text-muted);width:var(--osi-p-size-30);height:var(--osi-p-size-30);border-radius:var(--osi-p-r-9);display:grid;place-items:center;cursor:pointer}.ghost-icon:hover{color:var(--text-main);background:var(--row-hover)}.ghost-icon.is-active{border-color:var(--border-soft);color:var(--osi-color-text-primary);background:var(--osi-p-white-14)}.ghost-icon:disabled,.ghost-icon[aria-disabled=true].is-locked{opacity:.45;cursor:not-allowed}.ghost-icon.is-locked{color:var(--osi-color-status-danger, var(--osi-color-text-secondary))}.ghost-icon-placeholder{visibility:hidden;pointer-events:none}.search-input-wrap{display:flex;align-items:center;gap:var(--osi-spacing-2);border-radius:var(--osi-radius-md);border:1px solid var(--border-soft);background:var(--osi-color-surface-input);color:var(--text-subtle);padding:0 var(--osi-p-size-10);height:var(--osi-p-size-40)}.search-input{width:100%;border:0;background:transparent;color:var(--text-main);min-width:0}.search-input::placeholder{color:var(--osi-color-placeholder)}.sidebar-section{display:flex;flex-direction:column;gap:var(--osi-p-space-px-7)}.sidebar-member-groups{display:flex;flex-direction:column;gap:var(--osi-p-space-px-10)}.sidebar-members-section .section-title{margin-bottom:var(--osi-p-space-px-6)}.sidebar-members-section .sidebar-member-groups{border-top:1px solid var(--border-soft);padding-top:var(--osi-p-size-10)}.section-title{margin:0;font-size:var(--osi-font-size-sm);letter-spacing:var(--osi-font-tracking-wider);color:var(--osi-color-text-muted);font-weight:700}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--osi-p-space-px-10)}.section-title-meta{font-size:var(--osi-font-size-sm);letter-spacing:var(--osi-font-tracking-wider);color:var(--osi-color-text-muted);font-weight:700;white-space:nowrap}.sidebar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--osi-p-space-px-2)}.sidebar-row{width:100%;border:1px solid transparent;background:transparent;border-radius:var(--osi-p-r-11);min-height:var(--osi-p-size-44);padding:var(--osi-p-space-px-6) var(--osi-spacing-2);display:flex;align-items:center;gap:var(--osi-p-space-px-10);text-align:left;color:var(--text-muted);cursor:pointer}.sidebar-row:hover{background:var(--row-hover);color:var(--text-main)}.sidebar-row.is-selected{background:var(--row-selected);border-color:var(--border-soft);color:var(--text-main)}.unread-pill{margin-left:auto;min-width:var(--osi-p-size-18);height:var(--osi-p-size-18);border-radius:var(--osi-radius-full);background:var(--osi-p-white-16);color:var(--osi-color-text-primary);font-size:var(--osi-font-size-sm);display:grid;place-items:center;padding:0 var(--osi-p-space-px-5)}.row-text{display:flex;flex-direction:column;min-width:0}.row-title{font-size:var(--osi-font-size-md);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-subtitle{font-size:var(--osi-font-size-sm);color:var(--text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-wrap{position:relative;flex:0 0 auto;transition:box-shadow .18s ease-out}.avatar-wrap.is-speaking{box-shadow:0 0 0 2px var(--osi-color-success, #57F287);border-radius:50%}.voice-member .avatar-wrap.is-speaking~em,.channel-voice-member .avatar-wrap.is-speaking~em{color:var(--osi-color-success, #57F287)}.user-footer-card .avatar-wrap.is-speaking~.row-text .row-title{color:var(--osi-color-success, #57F287)}.video-grid-tile,.voice-avatar{transition:box-shadow .18s ease-out}.video-grid-tile.is-speaking,.voice-avatar.is-speaking{box-shadow:inset 0 0 0 2px var(--osi-color-success, #57F287)}.video-grid-tile.is-speaking>span,.voice-avatar.is-speaking>span{color:var(--osi-color-success, #57F287)}.avatar{border-radius:50%;display:grid;place-items:center;font-size:var(--osi-font-size-base);font-weight:700;color:var(--osi-color-text-on-accent);overflow:hidden}.avatar-image{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:58% center;transform:scale(1.02);transform-origin:center}.presence-dot{position:absolute;right:calc(-1 * var(--osi-p-space-px-2));bottom:calc(-1 * var(--osi-p-space-px-2));width:var(--osi-p-size-10);height:var(--osi-p-size-10);border-radius:50%;border:2px solid var(--osi-p-brand-200)}.presence-online{background:var(--osi-color-status-online)}.presence-idle{background:var(--osi-color-status-idle)}.presence-offline{background:var(--osi-color-status-offline)}.presence-dnd{background:var(--osi-color-status-dnd)}.server-pill{width:var(--osi-p-size-30);height:var(--osi-p-size-30);border-radius:50%;display:grid;place-items:center;border:1px solid var(--border-soft);background:linear-gradient(145deg,var(--osi-p-brand-400),var(--osi-p-brand-350));overflow:hidden}.server-icon{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.08);transform-origin:center}.user-footer-card{margin-top:auto;border:1px solid var(--border-soft);border-radius:var(--osi-radius-xl);padding:var(--osi-spacing-2) 10px;min-height:var(--osi-p-size-64);display:flex;align-items:center;justify-content:space-between;gap:var(--osi-p-space-px-6);background:var(--osi-color-surface-card)}.user-footer-info{display:flex;align-items:center;gap:var(--osi-spacing-2);min-width:0}.user-footer-trigger{border:1px solid transparent;border-radius:var(--osi-radius-md);background:transparent;color:inherit;padding:var(--osi-p-space-px-2) var(--osi-spacing-1);cursor:pointer;text-align:left}.user-footer-trigger:hover{background:var(--row-hover)}.user-footer-actions{display:flex;align-items:center;gap:var(--osi-p-space-px-2)}.user-footer-actions .ghost-icon{width:var(--osi-p-size-34);height:var(--osi-p-size-34);border-radius:var(--osi-radius-md);margin-left:0}.important-icon{color:var(--osi-color-text-brand-dim)}.sidebar-footer-stack{margin-top:auto;display:flex;flex-direction:column;gap:var(--osi-p-space-px-6)}.sidebar-footer-stack .user-footer-card,.sidebar-footer-stack .voice-hud{margin-top:0}.voice-room{display:flex;flex-direction:column;gap:var(--osi-spacing-3, 12px);padding:var(--osi-spacing-4, 16px);width:100%;height:100%;overflow:auto;background:var(--osi-bg-base, #2b2d31);color:var(--osi-text-primary, #f2f3f5)}.voice-room-header{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--border-soft, #3f4147)}.voice-room-title{margin:0;font-size:16px;font-weight:600;flex:1}.voice-room-count{font-size:12px;color:var(--text-muted, #b5bac1);padding:2px 8px;border-radius:10px;background:var(--osi-bg-card, #1e1f22)}.voice-room-participants{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;min-height:80px}.voice-room-empty{grid-column:1 / -1;color:var(--text-muted, #b5bac1);text-align:center;margin:24px 0}.voice-room-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border-radius:var(--osi-radius-md, 8px);background:var(--osi-bg-card, #1e1f22)}.voice-room-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600;color:#fff;overflow:hidden}.voice-room-avatar img{width:100%;height:100%;object-fit:cover}.voice-room-name{font-size:13px;text-align:center;overflow:hidden;text-overflow:ellipsis;max-width:100%}.voice-room-controls{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0;border-top:1px solid var(--border-soft, #3f4147)}.voice-room-join{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--osi-radius-md, 8px);background:var(--osi-color-status-online, #3ba55c);color:#fff;font-weight:600;cursor:pointer}.voice-room-leave{color:var(--osi-color-status-dnd, #ed4245)}.voice-room-text{margin-top:auto}.voice-hud{border:1px solid var(--border-soft);border-radius:var(--osi-radius-xl);padding:var(--osi-spacing-2) 10px;display:flex;flex-direction:column;gap:var(--osi-p-space-px-6);background:var(--osi-color-surface-card);animation:voice-hud-enter .2s ease-out}@keyframes voice-hud-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.voice-hud-header{display:flex;align-items:center;gap:var(--osi-spacing-2);min-width:0}.voice-hud-header-text{display:flex;flex-direction:column;min-width:0;flex:1}.voice-hud-channel-name{font-weight:600;font-size:var(--osi-font-size-body, 14px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-main)}.voice-hud-status{font-size:var(--osi-font-size-caption, 12px);color:var(--text-subtle, var(--text-muted));display:flex;align-items:center;gap:4px;flex-wrap:wrap}.voice-hud-status[data-quality=good]{color:var(--osi-color-status-online, #3ba55c)}.voice-hud-status[data-quality=warning]{color:var(--osi-color-status-warn, #d39e00)}.voice-hud-status[data-quality=danger]{color:var(--osi-color-status-dnd, #ed4245)}.voice-hud-noise-text{font-size:var(--osi-font-size-caption, 12px);color:var(--osi-color-status-online, #3ba55c);margin-top:2px}.voice-hud-indicator[data-quality=good]{color:var(--osi-color-status-online, #3ba55c)}.voice-hud-indicator[data-quality=warning]{color:var(--osi-color-status-warn, #d39e00)}.voice-hud-indicator[data-quality=danger]{color:var(--osi-color-status-dnd, #ed4245)}.voice-hud-indicator[data-quality=muted]{color:var(--text-muted)}.voice-hud-latency{display:inline-flex;align-items:center;gap:3px;font-variant-numeric:tabular-nums}.voice-hud-latency[data-quality=good]{color:var(--osi-color-status-online, #3ba55c)}.voice-hud-latency[data-quality=warning]{color:var(--osi-color-status-warn, #d39e00)}.voice-hud-latency[data-quality=danger]{color:var(--osi-color-status-dnd, #ed4245)}.voice-hud-latency[data-quality=muted]{color:var(--text-muted)}.voice-hud-stats-tooltip{position:relative;display:inline-flex;align-items:center;outline:none;cursor:help}.voice-hud-stats-tooltip-content{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--osi-tooltip-bg);border:1px solid var(--osi-tooltip-border);color:var(--osi-tooltip-color);font-size:var(--osi-font-size-sm);border-radius:var(--osi-tooltip-radius);padding:8px 10px;box-shadow:var(--osi-tooltip-shadow);display:grid;gap:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--osi-motion-fast, .12s);z-index:100}.voice-hud-stats-tooltip:hover .voice-hud-stats-tooltip-content,.voice-hud-stats-tooltip:focus-visible .voice-hud-stats-tooltip-content{opacity:1}.voice-hud-stats-row{display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums}.voice-hud-stats-label{color:var(--text-muted)}.voice-hud-stats-value{font-weight:600}.voice-hud-stats-value[data-quality=good]{color:var(--osi-color-status-online, #3ba55c)}.voice-hud-stats-value[data-quality=warning]{color:var(--osi-color-status-warn, #d39e00)}.voice-hud-stats-value[data-quality=danger]{color:var(--osi-color-status-dnd, #ed4245)}.voice-hud-actions{display:flex;align-items:center;gap:var(--osi-p-space-px-2)}.voice-hud-actions .ghost-icon{width:var(--osi-p-size-34);height:var(--osi-p-size-34);border-radius:var(--osi-radius-md)}.voice-hud-disconnect{margin-left:auto;color:var(--osi-color-status-dnd, #ed4245)}.voice-hud-disconnect:hover{background:#ed42451f;color:var(--osi-color-status-dnd, #ed4245)}.voice-hud--touch .voice-hud-actions .ghost-icon{width:40px;height:40px}.chat-main{min-width:0;min-height:0;padding:var(--osi-spacing-4) var(--osi-spacing-5);display:flex;flex-direction:column;gap:var(--osi-p-space-px-10);position:relative;background:linear-gradient(180deg,var(--osi-color-surface-0),var(--osi-color-bg-base))}.chat-main>*{flex-shrink:0}.chat-call-dock{position:sticky;top:0;z-index:6;display:flex;flex-direction:column;gap:var(--osi-spacing-2);width:100%;padding:var(--osi-spacing-2) 10px;margin-bottom:var(--osi-p-space-px-6);border-bottom:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:linear-gradient(180deg,var(--osi-color-bg-base),var(--osi-color-bg-elevated));-webkit-backdrop-filter:blur(var(--osi-p-space-px-2));backdrop-filter:blur(var(--osi-p-space-px-2))}.incoming-call-bubble{width:100%;display:grid;grid-template-columns:var(--osi-p-size-40) 1fr auto auto;align-items:center;gap:var(--osi-p-space-px-10);border:0;border-radius:var(--osi-radius-md);background:var(--osi-color-surface-card);min-height:var(--osi-p-size-52);padding:var(--osi-p-space-px-6) var(--osi-p-space-px-10)}.incoming-call-bubble img{width:var(--osi-p-size-40);height:var(--osi-p-size-40);border-radius:var(--osi-radius-full);object-fit:cover}.incoming-call-copy{display:flex;flex-direction:column;margin-right:var(--osi-spacing-1)}.incoming-call-copy strong{font-size:var(--osi-font-size-md);line-height:1.15}.incoming-call-copy span{color:var(--text-subtle);font-size:var(--osi-font-size-sm)}.incoming-call-bubble button{width:var(--osi-p-size-30);height:var(--osi-p-size-30);border-radius:var(--osi-radius-full);border:1px solid var(--border-soft);display:grid;place-items:center;cursor:pointer}.incoming-call-bubble .accept{background:var(--osi-color-positive-bg);color:var(--osi-color-positive-text)}.incoming-call-bubble .decline{background:var(--osi-color-negative-bg);color:var(--osi-color-negative-text)}.chat-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-soft);padding-bottom:var(--osi-spacing-3)}.chat-title-wrap{display:flex;align-items:center;gap:var(--osi-spacing-2);color:var(--osi-color-text-primary)}.chat-title-wrap h1{margin:0;font-size:var(--osi-font-size-lg);font-weight:700}.chat-header-actions{display:flex;gap:var(--osi-spacing-1)}.channel-intro-wrap{border:1px solid var(--border-soft);border-radius:var(--osi-radius-xl);background:linear-gradient(170deg,var(--osi-color-bg-elevated),var(--osi-color-surface-0));padding:12px 16px;max-width:var(--osi-p-size-640)}.breadcrumb{margin:0;color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.channel-intro-wrap h2{margin:var(--osi-spacing-1) 0 var(--osi-spacing-1);font-size:var(--osi-font-size-xl, 1.25rem);font-weight:700;letter-spacing:var(--osi-font-tracking-tight)}.channel-intro-wrap p{margin:0;color:var(--text-muted)}.messages-region-wrap{flex:1 1 0;min-height:0;position:relative;margin-top:-4px;margin-bottom:-4px}.messages-region{position:absolute;inset:0;display:flex;flex-direction:column;align-items:stretch;gap:var(--osi-p-space-px-10);padding:var(--osi-p-space-px-10) 0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.messages-region::-webkit-scrollbar{display:none}.custom-scrollbar-track{position:absolute;top:4px;bottom:4px;right:calc(-1 * var(--osi-spacing-5) + 6px);width:14px;z-index:5;transition:opacity .25s ease;pointer-events:auto;cursor:default}.custom-scrollbar-thumb{position:absolute;top:0;right:0;width:8px;border-radius:4px;background:var(--border-soft);cursor:default;transition:background .15s ease}.custom-scrollbar-thumb:hover,.custom-scrollbar-thumb:active{background:var(--text-subtle);cursor:default}.messages-region .channel-intro-wrap{flex-shrink:0}.messages-region>*:first-child{margin-top:auto}.message-list{list-style:none;margin:0;padding:0;width:100%;min-height:0;overflow-anchor:auto}.message-row{display:flex;flex-direction:column;padding:var(--osi-p-space-px-10) 0}.message-row.system-row{padding:var(--osi-spacing-2) 0}.message-body{display:flex;flex-direction:column;gap:var(--osi-spacing-1);flex:1;min-width:0}.message-meta{margin:0;display:flex;align-items:center;gap:var(--osi-spacing-2)}.message-meta strong{font-size:var(--osi-font-size-base)}.message-meta span{font-size:var(--osi-font-size-sm);color:var(--text-subtle)}.message-text{margin:0;color:var(--text-muted);font-size:var(--osi-font-size-base);white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word;min-width:0}.message-edited-tag{color:var(--text-muted, var(--text-faint));font-size:.7rem;opacity:.7}.message-deleted{color:var(--text-muted, var(--text-faint));opacity:.6;font-style:italic}.md-inline-code{background:var(--osi-p-white-06);border-radius:3px;padding:1px 5px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.85em;color:var(--text-main, var(--text-normal))}.md-blockquote{border-left:3px solid var(--text-muted, var(--text-faint));margin:4px 0;padding:2px 12px;color:var(--text-muted, var(--text-dim))}.md-link{color:var(--osi-color-text-brand, #00a8fc);text-decoration:none}.md-link:hover{text-decoration:underline}.md-mention{background:#5865f240;color:var(--text-normal);padding:0 4px;border-radius:4px;font-weight:600;cursor:pointer;transition:background .1s}.md-mention:hover{background:var(--brand-bg);color:var(--text-on-brand)}.md-mentioned{background:#faa61a1a;border-radius:3px;padding:1px 2px}.composer-input-wrap{position:relative;flex:1;display:flex;min-width:0}.composer-input-wrap textarea{flex:1;min-width:0}.mention-autocomplete{position:absolute;bottom:100%;left:0;right:0;max-height:240px;overflow-y:auto;background:var(--osi-color-surface-tooltip, var(--bg-0));border:1px solid var(--border-soft, var(--border-default));border-radius:var(--osi-radius-md, 8px);box-shadow:var(--osi-shadow-lg, 0 8px 24px var(--osi-p-black-24));z-index:20;padding:4px;margin-bottom:4px;display:flex;flex-direction:column;gap:2px}.mention-autocomplete-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;border-radius:var(--osi-radius-sm, 4px);background:transparent;color:var(--text-main, var(--text-normal));cursor:pointer;font-size:.875rem;text-align:left;width:100%}.mention-autocomplete-item:hover,.mention-autocomplete-item.is-selected{background:var(--brand-bg-subtle)}.mention-autocomplete-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emoji-autocomplete{position:absolute;bottom:100%;left:0;right:0;max-height:240px;overflow-y:auto;background:var(--osi-color-surface-tooltip, var(--bg-0));border:1px solid var(--border-soft, var(--border-default));border-radius:var(--osi-radius-md, 8px);box-shadow:var(--osi-shadow-lg, 0 8px 24px var(--osi-p-black-24));z-index:20;padding:4px;margin-bottom:4px;display:flex;flex-direction:column;gap:2px}.emoji-autocomplete-item{display:flex;align-items:center;gap:8px;padding:4px 8px;border:none;border-radius:var(--osi-radius-sm, 4px);background:transparent;color:var(--text-main, var(--text-normal));cursor:pointer;font-size:.875rem;text-align:left;width:100%}.emoji-autocomplete-item:hover,.emoji-autocomplete-item.is-selected{background:var(--brand-bg-subtle)}.emoji-autocomplete-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slash-autocomplete{position:absolute;bottom:100%;left:0;right:0;max-height:320px;overflow-y:auto;background:var(--osi-color-surface-tooltip, var(--bg-0));border:1px solid var(--border-soft, var(--border-default));border-radius:var(--osi-radius-md, 8px);box-shadow:var(--osi-shadow-lg, 0 8px 24px var(--osi-p-black-24));z-index:20;padding:4px;margin-bottom:4px;display:flex;flex-direction:column;gap:2px}.slash-autocomplete-group{display:flex;flex-direction:column;gap:2px}.slash-autocomplete-group+.slash-autocomplete-group{margin-top:4px;padding-top:4px;border-top:1px solid var(--border-soft, var(--border-default))}.slash-autocomplete-group-label{font-size:.6875rem;text-transform:uppercase;font-weight:700;color:var(--text-muted, var(--text-faint));padding:4px 8px 2px;letter-spacing:.04em}.slash-autocomplete-item{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;row-gap:2px;padding:6px 8px;border:none;border-radius:var(--osi-radius-sm, 4px);background:transparent;color:var(--text-main, var(--text-normal));cursor:pointer;font-size:.875rem;text-align:left;width:100%}.slash-autocomplete-item:hover,.slash-autocomplete-item.is-selected{background:var(--brand-bg-subtle)}.slash-autocomplete-name{font-weight:600;color:var(--osi-color-text-brand, var(--brand));white-space:nowrap}.slash-autocomplete-signature{font-family:var(--osi-font-mono, monospace);font-size:.75rem;color:var(--text-muted, var(--text-faint));white-space:nowrap}.slash-autocomplete-desc{grid-column:1 / -1;font-size:.75rem;color:var(--text-muted, var(--text-faint));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-parameter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;margin-bottom:4px;background:var(--osi-color-surface-tooltip, var(--bg-0));border:1px solid var(--border-soft, var(--border-default));border-radius:var(--osi-radius-md, 8px);font-size:.8125rem;color:var(--text-main, var(--text-normal))}.command-parameter-name{font-weight:600;color:var(--osi-color-text-brand, var(--brand))}.command-parameter-chips{display:inline-flex;flex-wrap:wrap;gap:4px}.command-parameter-chip{display:inline-flex;align-items:baseline;gap:4px;padding:2px 8px;border-radius:999px;background:var(--bg-1, var(--bg-0));border:1px solid var(--border-soft, var(--border-default));font-size:.75rem;color:var(--text-muted, var(--text-faint))}.command-parameter-chip.is-active{background:var(--brand-bg-subtle);border-color:var(--osi-color-text-brand, var(--brand));color:var(--text-main, var(--text-normal))}.command-parameter-chip-name{font-weight:600}.command-parameter-chip-type{font-style:italic;opacity:.85}.command-parameter-help{font-size:.75rem;color:var(--text-muted, var(--text-faint));flex-basis:100%}.mention-autocomplete-special{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--brand-bg);border-radius:50%;font-weight:700;font-size:.75rem;color:var(--osi-color-text-brand, var(--brand));flex-shrink:0}.md-spoiler{background:var(--text-muted, var(--text-faint));border-radius:3px;padding:0 4px;cursor:pointer;transition:background .2s}.md-spoiler:not(.md-spoiler--revealed)>*{opacity:0;-webkit-user-select:none;user-select:none}.md-spoiler--revealed{background:var(--osi-p-white-06)}.md-spoiler--revealed>*{opacity:1}.md-spoiler:not(.md-spoiler--revealed)>*{transition:opacity .18s ease}.md-spoiler-media{position:relative;display:inline-block;max-width:100%;border-radius:var(--osi-radius-md, 8px);overflow:hidden}.md-spoiler-media:not(.md-spoiler-media--revealed)>*:not(.md-spoiler-media-overlay){filter:blur(36px);transform:scale(1.05);pointer-events:none;-webkit-user-select:none;user-select:none}.md-spoiler-media--revealed>*:not(.md-spoiler-media-overlay){filter:none;transform:none;transition:filter .25s ease,transform .25s ease}.md-spoiler-media-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000073;border:0;padding:0;margin:0;cursor:pointer;color:var(--osi-color-text-primary, #fff);font:inherit;border-radius:inherit}.md-spoiler-media-overlay:focus-visible{outline:2px solid var(--osi-color-text-brand, var(--brand));outline-offset:-2px}.md-spoiler-media-badge{background:#000000bf;color:#fff;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.md-codeblock{margin:6px 0;border-radius:var(--osi-radius-md, 8px);overflow:hidden;background:var(--bg-0);border:1px solid var(--border-soft, var(--border-default));max-width:100%}.md-codeblock-header{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:#0003;font-size:.75rem}.md-codeblock-lang{color:var(--text-subtle, var(--text-faint));font-weight:500;text-transform:lowercase;letter-spacing:.02em}.md-codeblock-copy{background:transparent;border:1px solid var(--border-soft, var(--border-default));border-radius:var(--osi-radius-sm, 4px);color:var(--text-muted, var(--text-dim));cursor:pointer;padding:2px 8px;font-size:.7rem}.md-codeblock-copy:hover{background:var(--osi-p-white-06);color:var(--text-main, var(--text-normal))}.md-codeblock-pre{margin:0;padding:12px;overflow-x:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:.8125rem;line-height:1.5;color:var(--text-normal);tab-size:2}.md-codeblock-pre code{background:none;padding:0;font-size:inherit}.reply-reference{display:inline-flex;align-items:center;gap:var(--osi-spacing-1, 4px);padding:2px 8px 2px 4px;margin-bottom:2px;margin-left:52px;background:transparent;border:none;border-left:2px solid var(--osi-color-text-brand, var(--brand));border-radius:0;cursor:pointer;font-size:.75rem;color:var(--text-muted, var(--text-dim));max-width:80%;text-align:left;line-height:1.3}.reply-reference:hover{color:var(--text-main, var(--text-normal))}.reply-reference-icon{flex-shrink:0;opacity:.6}.reply-reference-author{color:var(--osi-color-text-brand, var(--brand));font-weight:600;flex-shrink:0}.reply-reference-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-main{display:flex;align-items:flex-start;gap:var(--osi-spacing-3, 12px);flex:1;min-width:0;position:relative;padding:2px 8px;border-radius:var(--osi-radius-md, 8px)}.message-main:hover{background:#ffffff05}.message-hover-toolbar{position:absolute;top:-4px;right:8px;display:none;align-items:center;gap:2px;padding:2px 4px;background:var(--osi-color-surface-popover);border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-md, 8px);box-shadow:var(--osi-shadow-lg, 0 8px 24px var(--osi-p-black-24));z-index:5}.message-main:hover .message-hover-toolbar{display:flex}.message-hover-toolbar button{background:transparent;border:none;color:var(--text-muted, var(--text-dim));cursor:pointer;padding:4px 6px;border-radius:var(--osi-radius-sm, 4px);display:flex;align-items:center;line-height:1}.message-hover-toolbar button:hover{background:var(--osi-p-white-08);color:var(--text-main, var(--text-normal))}.message-highlight{background:#5865f21f;border-radius:var(--osi-radius-md, 8px);transition:background .3s ease}@keyframes reply-highlight-fade{0%{background:var(--brand-bg)}to{background:transparent}}.message-highlight{animation:reply-highlight-fade 2s ease-out forwards}.reply-preview{display:flex;align-items:center;gap:var(--osi-spacing-2, 8px);padding:8px 12px;margin-bottom:0;background:var(--osi-color-surface-input, var(--bg-tertiary));border-radius:var(--osi-radius-md, 8px) var(--osi-radius-md, 8px) 0 0;border:1px solid var(--border-soft, var(--border-default));border-bottom:none;font-size:.8125rem}.reply-preview-accent{width:3px;min-height:28px;border-radius:2px;background:var(--osi-color-text-brand, var(--brand));flex-shrink:0}.reply-preview-body{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.reply-preview-label{color:var(--text-muted, var(--text-dim));font-size:.75rem}.reply-preview-label strong{color:var(--text-main, var(--text-normal))}.reply-preview-snippet{color:var(--text-muted, var(--text-dim));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-preview-cancel{background:transparent;border:none;color:var(--text-muted, var(--text-dim));cursor:pointer;padding:4px;border-radius:var(--osi-radius-sm, 4px);flex-shrink:0;display:flex;align-items:center}.reply-preview-cancel:hover{color:var(--text-main, var(--text-normal));background:var(--osi-p-white-06)}.message-pin-button{margin-left:auto;border:1px solid transparent;background:transparent;color:var(--text-subtle);width:var(--osi-p-size-28);height:var(--osi-p-size-28);border-radius:var(--osi-radius-sm);display:grid;place-items:center;cursor:pointer}.message-pin-button:hover,.message-pin-button.is-active{color:var(--osi-color-text-brand);border-color:var(--border-soft);background:var(--osi-color-accent-fill)}.message-context-menu{position:fixed;z-index:30;border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-lg);background:var(--osi-color-surface-popover);box-shadow:var(--osi-shadow-lg);padding:var(--osi-p-space-px-6);list-style:none;display:grid;gap:var(--osi-spacing-1);min-width:var(--osi-p-size-188)}.message-context-menu>button{width:100%;border:1px solid transparent;background:transparent;color:var(--text-main);border-radius:var(--osi-radius-sm);min-height:var(--osi-p-size-30);padding:0 var(--osi-spacing-2);display:inline-flex;align-items:center;gap:var(--osi-spacing-2);cursor:pointer}.message-context-menu>button:hover{background:var(--row-hover)}.voice-participant-menu{min-width:220px;display:grid;gap:var(--osi-spacing-1);padding:var(--osi-popover-padding);border:1px solid var(--osi-popover-border);border-radius:var(--osi-popover-radius);background:var(--osi-popover-bg);box-shadow:var(--osi-popover-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.voice-participant-menu__item{width:100%;display:inline-flex;align-items:center;gap:var(--osi-spacing-2);min-height:var(--osi-p-size-30);padding:0 var(--osi-spacing-2);border:1px solid transparent;border-radius:var(--osi-radius-sm);background:transparent;color:var(--text-main);cursor:pointer;text-align:left;font:inherit}.voice-participant-menu__item>span{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-participant-menu__item:hover:not(:disabled),.voice-participant-menu__item:focus-visible{background:var(--row-hover);outline:none}.voice-participant-menu__item:disabled{opacity:.5;cursor:not-allowed}.voice-participant-menu__chevron{margin-left:auto;flex:0 0 auto;transition:transform .12s ease}.voice-participant-menu__submenu{position:relative}.voice-participant-menu__submenu.is-open .voice-participant-menu__chevron{transform:rotate(90deg)}.voice-participant-menu__submenu-list{position:absolute;top:0;left:calc(100% + 4px);min-width:200px;max-height:240px;overflow-y:auto;display:grid;gap:var(--osi-spacing-1);padding:var(--osi-popover-padding);border:1px solid var(--osi-popover-border);border-radius:var(--osi-popover-radius);background:var(--osi-popover-bg);box-shadow:var(--osi-popover-shadow);z-index:1}.voice-participant-menu__item--danger{color:var(--osi-color-error)}.voice-participant-menu__item--danger:hover:not(:disabled){background:var(--osi-color-error-bg-subtle);color:var(--osi-color-error)}.quick-reaction-bar{display:flex;gap:2px;background:var(--osi-color-surface-popover);border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-lg);padding:4px 6px;z-index:31;box-shadow:var(--osi-shadow-lg)}.quick-reaction-item{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background .1s,transform .1s;line-height:1}.quick-reaction-item:hover{background:var(--bg-tertiary);transform:scale(1.15)}.quick-reaction-expand{color:var(--text-muted, var(--text-dim))}.message-edit-input{width:100%;padding:6px 8px;background:var(--osi-color-surface-2, #1e2233);border:1px solid var(--border-soft, #3a3f5c);border-radius:var(--osi-radius-sm, 4px);color:var(--osi-color-text-primary, var(--text-normal));font-family:inherit;font-size:14px;resize:none}.message-edit-input:focus{outline:none;border-color:var(--osi-color-accent, var(--brand))}.typing-indicator{display:flex;align-items:center;gap:6px;padding:4px 12px;font-size:12px;color:var(--text-muted, var(--text-muted));animation:typing-fade-in .3s ease-in}@keyframes typing-fade-in{0%{opacity:0}to{opacity:1}}.typing-dots{display:flex;gap:2px;align-items:center}.typing-dot{width:4px;height:4px;background:var(--text-muted, var(--text-muted));border-radius:50%;animation:typing-bounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.unread-dot{width:8px;height:8px;background:var(--error);border-radius:50%;display:inline-block;margin-left:4px}.message-reactions{margin-top:var(--osi-p-space-px-2);display:inline-flex;flex-wrap:wrap;gap:var(--osi-spacing-1)}.message-reactions button{border:1px solid var(--osi-p-white-08);background:var(--osi-p-white-06);color:var(--osi-color-text-brand-dim);border-radius:var(--osi-radius-full);min-height:30px;padding:3px 10px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:var(--osi-font-size-sm);animation:reaction-pop .25s cubic-bezier(.34,1.56,.64,1);transition:background .15s,border-color .15s}.message-reactions button:hover{background:var(--osi-p-white-12);border-color:var(--osi-p-white-16)}.reaction-emoji{line-height:1}@keyframes reaction-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.rolling-count{display:inline-flex;overflow:hidden;position:relative;vertical-align:middle;height:1.1em;min-width:.6em;transition:min-width .2s ease-out}.rolling-count-digit{display:inline-block}.rolling-out-up{position:absolute;animation:roll-out-up .2s ease-out forwards}.rolling-in-up{animation:roll-in-up .2s ease-out forwards}.rolling-out-down{position:absolute;animation:roll-out-down .2s ease-out forwards}.rolling-in-down{animation:roll-in-down .2s ease-out forwards}@keyframes roll-out-up{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@keyframes roll-in-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes roll-out-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes roll-in-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.message-reactions button.is-active{background:var(--osi-color-accent-fill);border:2px solid rgba(255,255,255,.6)}.message-reactions button.is-active:hover{background:var(--osi-color-accent-fill-hover)}.message-reactions small{font-size:14px;font-weight:700;color:var(--text-subtle);display:inline-flex;align-items:center;line-height:1}.reaction-add-btn{background:var(--osi-p-white-06);border:1px solid var(--osi-p-white-08);border-radius:var(--osi-radius-full);color:var(--text-muted, var(--text-dim));cursor:pointer;padding:3px 10px;display:inline-flex;align-items:center;font-size:.75rem;min-height:30px;transition:background .15s,border-color .15s}.reaction-add-btn:hover{background:var(--osi-p-white-12);border-color:var(--osi-p-white-16);color:var(--text-main, var(--text-normal))}.emoji-picker{width:420px;min-height:440px;max-height:520px;background:var(--osi-color-surface-popover);border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-lg);box-shadow:var(--osi-shadow-lg);display:flex;flex-direction:column;overflow:hidden}.emoji-picker-search{padding:8px 8px 4px}.emoji-picker-search input{width:100%;border:1px solid var(--border-soft, var(--border-default));border-radius:var(--osi-radius-md, 8px);background:var(--osi-color-surface-input, var(--bg-tertiary));color:var(--text-main, var(--text-normal));padding:6px 10px;font-size:.8125rem;outline:none}.emoji-picker-search input::placeholder{color:var(--osi-color-placeholder, #6d6f78)}.emoji-picker-search input:focus{border-color:var(--osi-color-text-brand, var(--brand))}.emoji-picker-tabs{display:flex;gap:2px;padding:2px 8px;border-bottom:1px solid var(--border-soft, var(--border-default))}.emoji-picker-tab{background:transparent;border:none;cursor:pointer;padding:4px 6px;border-radius:var(--osi-radius-sm, 4px);font-size:1rem;line-height:1;opacity:.5;transition:opacity .15s}.emoji-picker-tab:hover{opacity:.8;background:var(--osi-p-white-06)}.emoji-picker-tab.is-active{opacity:1;background:var(--osi-p-white-08)}.emoji-picker-grid{display:grid;grid-template-columns:repeat(8,46px);gap:0;padding:8px 10px;overflow-y:auto;flex:1;align-content:start}.emoji-picker-item{background:transparent;border:none;cursor:pointer;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:8px;line-height:1;text-align:center;transition:background .1s,transform .1s;padding:4px}.emoji-picker-item:hover{background:var(--osi-p-white-12);transform:scale(1.2)}.message-emoji-jumbo{font-size:62px;line-height:70px}.message-emoji-jumbo .twemoji{width:62px;height:62px}.twemoji{display:inline-block;vertical-align:-.15em;object-fit:contain}.emoji-picker-item .twemoji{pointer-events:none}.chat-message-search input{width:100%;border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-1);color:var(--text-main);min-height:var(--osi-p-size-34);padding:0 var(--osi-p-size-10)}.chat-search-popout{position:absolute;top:var(--osi-p-size-54);right:var(--osi-p-size-20);width:var(--osi-p-size-280);padding:var(--osi-p-space-px-10);display:grid;gap:var(--osi-spacing-2);z-index:11;background:var(--osi-color-surface-popover);border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-lg);box-shadow:var(--osi-shadow-lg)}.chat-search-popout label{display:grid;gap:var(--osi-p-space-px-6)}.chat-search-popout strong{font-size:var(--osi-font-size-base);color:var(--osi-color-text-brand)}.chat-search-popout input{width:100%;border:1px solid var(--border-soft);border-radius:var(--osi-p-r-9);background:var(--osi-color-surface-input);color:var(--text-main);min-height:var(--osi-p-size-32);padding:0 var(--osi-p-size-9)}.chat-search-popout small{color:var(--text-subtle);font-size:var(--osi-font-size-sm)}.chat-search-popout{width:var(--osi-p-size-320, 320px)}.search-filter-bar{display:flex;flex-direction:column;gap:6px;padding-top:4px;border-top:1px solid var(--osi-color-border-subtle);margin-top:4px}.search-filter-item{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:8px;font-size:.8125rem;color:var(--text-main)}.search-filter-item>span{color:var(--osi-color-text-secondary)}.search-filter-item>select{width:100%;min-height:var(--osi-p-size-28, 28px);padding:0 8px;border:1px solid var(--border-soft);border-radius:var(--osi-p-r-9, 6px);background:var(--osi-color-surface-input);color:var(--text-main);font-size:.8125rem}.search-filter-toggle{display:inline-flex;gap:6px;align-items:center;font-size:.8125rem;color:var(--text-main);cursor:pointer}.search-filter-reset{align-self:flex-start;padding:4px 10px;background:transparent;color:var(--osi-color-text-secondary);border:1px solid var(--border-soft);border-radius:10px;font-size:.75rem;cursor:pointer;margin-top:2px}.search-filter-reset:hover{color:var(--text-main);background:var(--osi-color-state-hover, rgba(255, 255, 255, .04))}.search-filter-chips{display:flex;flex-wrap:wrap;gap:4px;padding:2px 0 4px}.search-filter-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 8px;background:var(--osi-color-accent-fill, rgba(88, 101, 242, .16));color:var(--osi-color-text-brand, var(--text-main));border-radius:999px;font-size:.75rem;line-height:1.2;border:1px solid var(--border-soft)}.search-filter-chip__label{font-family:var(--osi-font-mono, monospace);font-size:.7rem}.search-filter-chip__remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;color:inherit;border-radius:50%;cursor:pointer}.search-filter-chip__remove:hover{background:var(--osi-color-state-hover, rgba(255, 255, 255, .12))}.search-hint{display:block;font-size:.75rem;color:var(--osi-color-text-secondary, var(--text-subtle));margin:2px 0 0}.search-hint--warning{color:var(--osi-color-status-warn, #faa61a)}.search-history{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto;border:1px solid var(--border-soft);border-radius:var(--osi-p-r-9, 6px);background:var(--osi-color-surface-input, var(--bg-popover));padding:4px}.search-history__header{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--osi-color-text-secondary, var(--text-subtle));border-bottom:1px solid var(--border-soft)}.search-history__clear{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:transparent;border:none;color:var(--osi-color-text-secondary, var(--text-subtle));font-size:.7rem;cursor:pointer;border-radius:4px}.search-history__clear:hover{color:var(--text-main);background:var(--osi-color-state-hover, rgba(255, 255, 255, .06))}.search-history__list{display:flex;flex-direction:column;gap:1px;list-style:none;margin:0;padding:0}.search-history__item{display:flex;align-items:center;gap:4px;min-width:0}.search-history__pick{flex:1;min-width:0;text-align:left;padding:4px 6px;background:transparent;border:none;color:var(--text-main);font-size:.8125rem;cursor:pointer;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-history__pick:hover{color:var(--osi-color-text-primary, var(--text-main))}.search-history__remove{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:10px;height:10px;padding:0;background:transparent;border:none;color:var(--osi-color-text-secondary, var(--text-subtle));cursor:pointer;border-radius:2px;line-height:0;opacity:0;pointer-events:none;transition:opacity .12s ease}.search-history__item:hover .search-history__remove,.search-history__item:focus-within .search-history__remove{opacity:1;pointer-events:auto}.search-history__remove:hover{color:var(--text-main);background:var(--osi-color-state-hover, rgba(255, 255, 255, .06))}.search-quick-filters{display:flex;flex-wrap:wrap;gap:4px;padding:4px 0 2px}.search-quick-filter{padding:3px 8px;background:transparent;border:1px solid var(--border-soft);border-radius:999px;color:var(--osi-color-text-secondary, var(--text-subtle));font-size:.7rem;font-family:var(--osi-font-mono, monospace);cursor:pointer;transition:background .12s ease,color .12s ease}.search-quick-filter:hover{color:var(--text-main);background:var(--osi-color-state-hover, rgba(255, 255, 255, .06))}.search-quick-filter.is-active{background:var(--osi-color-accent-fill, rgba(88, 101, 242, .16));color:var(--osi-color-text-brand, var(--text-main));border-color:var(--osi-color-accent-strong, var(--accent-strong))}.system-message{width:100%;border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-accent-fill);padding:var(--osi-spacing-2) 10px}.system-message p{margin:0;font-size:var(--osi-font-size-base);color:var(--osi-color-text-brand-dim)}.system-message strong{color:var(--osi-color-text-brand);font-weight:700}.composer-wrap{position:relative;margin-left:-8px;margin-right:-8px}.composer{border:1px solid var(--border-soft);border-radius:var(--osi-radius-xl);background:var(--osi-color-surface-input);min-height:var(--osi-p-size-64);display:flex;align-items:center;gap:var(--osi-spacing-2);padding:var(--osi-spacing-2) 10px}.composer textarea{flex:1;min-height:var(--osi-p-size-36);border:0;resize:none;padding:7px 2px 2px;background:transparent;color:var(--text-main);overflow-x:hidden;overflow-wrap:break-word;word-wrap:break-word;white-space:pre-wrap;line-height:1.375;scrollbar-width:thin;scrollbar-color:var(--border-soft) transparent}.composer textarea::-webkit-scrollbar{width:4px}.composer textarea::-webkit-scrollbar-track{background:transparent}.composer textarea::-webkit-scrollbar-thumb{background:var(--border-soft);border-radius:2px}.composer textarea:focus,.composer textarea:focus-visible{outline:none;box-shadow:none}.composer textarea::placeholder{color:var(--osi-color-placeholder)}.composer-actions{display:flex;gap:var(--osi-p-space-px-2)}.composer-icon{border:1px solid transparent;background:transparent;color:var(--text-muted);width:var(--osi-p-size-34);height:var(--osi-p-size-34);border-radius:var(--osi-radius-md);display:grid;place-items:center;cursor:pointer}.composer-icon:hover{color:var(--text-main);background:var(--row-hover)}.composer-icon.is-active{border-color:var(--border-soft);background:var(--osi-color-accent-fill);color:var(--osi-color-text-brand)}.composer-icon.recording{color:var(--osi-color-negative-text);background:var(--osi-color-negative-bg);border-color:var(--osi-color-negative)}.composer-voice-recorder{margin:var(--osi-spacing-2) 0;padding:var(--osi-spacing-2) var(--osi-spacing-3);background:var(--panel-1);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md, 8px)}.composer-voice-recorder-row{display:flex;align-items:center;gap:var(--osi-spacing-2)}.composer-voice-recorder-row--error{color:var(--osi-color-negative-text)}.composer-voice-recorder-indicator{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--osi-color-negative);color:#fff;animation:composer-voice-pulse 1.2s ease-in-out infinite}@keyframes composer-voice-pulse{0%,to{opacity:1}50%{opacity:.55}}.composer-voice-recorder-time{font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--osi-color-text-secondary);min-width:80px}.composer-voice-recorder-meter{flex:1;display:flex;align-items:center;gap:2px;height:18px}.composer-voice-recorder-meter-bar{flex:1;height:100%;background:var(--border-soft);border-radius:1px;transition:background 80ms linear}.composer-voice-recorder-meter-bar.is-filled{background:var(--osi-color-accent-fill)}.composer-voice-recorder-stop,.composer-voice-recorder-cancel,.composer-voice-recorder-play,.composer-voice-recorder-delete,.composer-voice-recorder-send{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid var(--border-soft);background:var(--osi-color-bg-elev-1, var(--panel-1));color:var(--osi-color-text-primary);cursor:pointer}.composer-voice-recorder-stop{background:var(--osi-color-negative-bg);color:var(--osi-color-negative-text);border-color:var(--osi-color-negative)}.composer-voice-recorder-send{background:var(--osi-color-accent-fill);color:var(--osi-color-text-brand);border-color:var(--osi-color-accent-fill)}.composer-voice-recorder-stop:disabled,.composer-voice-recorder-cancel:disabled,.composer-voice-recorder-play:disabled,.composer-voice-recorder-delete:disabled,.composer-voice-recorder-send:disabled{opacity:.5;cursor:not-allowed}.composer-voice-recorder-error{flex:1;font-size:.85rem}.composer-voice-recorder-audio-hidden{display:none}.msg-attachment-voice{display:block;width:100%;max-width:480px}.right-panel{border-left:1px solid var(--border-soft);background:linear-gradient(180deg,var(--panel-1),var(--osi-color-bg-base));padding:var(--osi-spacing-4) var(--osi-spacing-3);display:flex;flex-direction:column}.right-panel-header{padding-bottom:var(--osi-spacing-3);border-bottom:1px solid var(--border-soft);min-height:43px;display:flex;align-items:center}.right-panel-header p{margin:0;display:flex;align-items:center;gap:var(--osi-p-space-px-6);font-size:var(--osi-font-size-base);font-weight:600}.community-trigger{margin:0;padding:0;border:0;border-radius:0;background:transparent;display:flex;width:100%;align-items:center;justify-content:flex-start;gap:var(--osi-spacing-2);font-size:var(--osi-font-size-body);font-weight:700;letter-spacing:var(--osi-font-tracking-normal);color:var(--text-main);cursor:pointer;min-height:var(--osi-p-size-28)}.community-trigger:hover{background:transparent}.community-trigger-avatar{width:var(--osi-p-size-20);height:var(--osi-p-size-20);border-radius:50%;object-fit:cover;object-position:center}.community-trigger-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.right-panel-header span{display:inline-block;margin-top:var(--osi-spacing-1);font-size:var(--osi-font-size-caption);color:var(--text-muted)}.right-panel-header .rtc-state{margin-left:var(--osi-spacing-2);color:var(--osi-color-text-brand-dim)}.right-panel-body{flex:1;min-height:0;padding-top:var(--osi-spacing-3);display:flex;flex-direction:column;gap:var(--osi-spacing-3)}.member-group h4{margin:0 0 var(--osi-p-size-6);color:var(--text-subtle);font-size:var(--osi-font-size-sm);letter-spacing:var(--osi-font-tracking-wider)}.member-group ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--osi-p-space-px-2)}.member-row,.voice-row{border-radius:var(--osi-radius-md);min-height:var(--osi-p-size-38);padding:var(--osi-p-space-px-5) var(--osi-p-space-px-6);display:flex;align-items:center;gap:var(--osi-p-space-px-9);color:var(--text-muted)}.voice-button{width:100%;border:1px solid transparent;background:transparent;justify-content:space-between;cursor:pointer}.member-button{width:100%;border:1px solid transparent;background:transparent;cursor:pointer}.voice-button.is-selected{background:var(--row-selected);border-color:var(--border-soft);color:var(--text-main)}.member-row:hover,.voice-row:hover{background:var(--row-hover);color:var(--text-main)}.member-name{font-size:var(--osi-font-size-md)}.voice-row span{display:inline-flex;align-items:center;gap:var(--osi-spacing-2);font-size:var(--osi-font-size-md)}.voice-members{margin:var(--osi-spacing-1) 0 var(--osi-spacing-2) var(--osi-p-space-px-10);padding-left:var(--osi-p-size-10);border-left:1px solid var(--border-soft);display:grid;gap:var(--osi-spacing-1)}.voice-member{display:inline-flex;align-items:center;gap:var(--osi-p-space-px-7);color:var(--text-subtle)}.voice-member .avatar-wrap,.voice-member .avatar{width:var(--osi-p-size-22)!important;height:var(--osi-p-size-22)!important}.voice-member em{font-style:normal;font-size:var(--osi-font-size-caption)}.voice-member.is-you em{color:var(--osi-color-text-brand)}.voice-member-badges{margin-left:auto;display:inline-flex;align-items:center;gap:var(--osi-spacing-1);color:var(--osi-color-text-brand-dim)}.floating-menu{border:1px solid var(--osi-popover-border);border-radius:var(--osi-popover-radius);background:var(--osi-popover-bg);box-shadow:var(--osi-popover-shadow);padding:var(--osi-popover-padding);z-index:8}.floating-menu button{width:100%;border:1px solid transparent;background:transparent;color:var(--text-muted);border-radius:var(--osi-radius-sm);text-align:left;padding:var(--osi-p-space-px-7) var(--osi-p-space-px-9);cursor:pointer}.floating-menu button:hover{background:var(--row-hover);color:var(--text-main)}.quick-menu{margin-top:calc(-1 * var(--osi-spacing-2))}.header-popup{width:fit-content}.header-popup p{margin:0;display:inline-flex;align-items:center;gap:var(--osi-spacing-2);color:var(--text-muted);font-size:var(--osi-font-size-caption)}.pinned-popout,.group-creator-popout{position:absolute;top:var(--osi-p-size-56);right:var(--osi-p-size-20);width:var(--osi-p-size-300);max-height:var(--osi-p-size-360);display:flex;flex-direction:column;gap:var(--osi-spacing-2);background:var(--osi-color-surface-popover);border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-lg);box-shadow:var(--osi-shadow-lg);padding:var(--osi-p-space-px-10)}.discover-popout{position:absolute;left:var(--osi-p-size-92);bottom:var(--osi-p-size-30);width:var(--osi-p-size-320);max-height:var(--osi-p-size-520);display:flex;flex-direction:column;gap:var(--osi-spacing-2);background:var(--osi-color-surface-popover);border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-lg);box-shadow:var(--osi-shadow-lg);padding:var(--osi-p-space-px-10)}.discover-popout header{display:flex;align-items:center;justify-content:space-between;gap:var(--osi-spacing-2)}.discover-popout header strong{font-size:var(--osi-font-size-md)}.discover-popout label{display:grid;gap:var(--osi-p-space-px-6);font-size:var(--osi-font-size-caption);color:var(--text-subtle)}.discover-popout input{border:1px solid var(--border-soft);border-radius:var(--osi-radius-sm);background:var(--osi-color-surface-input);color:var(--text-main);min-height:var(--osi-p-size-32);padding:0 var(--osi-p-size-9)}.discover-section h4{margin:0 0 var(--osi-p-size-6);color:var(--text-subtle);font-size:var(--osi-font-size-sm);letter-spacing:var(--osi-font-tracking-wider)}.discover-list{display:grid;gap:var(--osi-spacing-1)}.discover-empty{margin:var(--osi-p-space-px-2) 0;color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.discover-empty strong{color:var(--osi-color-text-brand)}.discover-row{width:100%;border:1px solid transparent;border-radius:var(--osi-p-r-9);background:transparent;color:var(--text-muted);min-height:var(--osi-p-size-38);display:flex;align-items:center;gap:var(--osi-p-space-px-9);padding:var(--osi-p-space-px-6) var(--osi-spacing-2);cursor:pointer}.discover-row:hover{background:var(--row-hover);color:var(--text-main)}.discover-row img{width:var(--osi-p-size-26);height:var(--osi-p-size-26);border-radius:50%;object-fit:cover}.discover-row span{display:grid;gap:var(--osi-p-space-px-1);text-align:left}.discover-row strong{font-size:var(--osi-font-size-md)}.discover-row em{font-style:normal;font-size:var(--osi-font-size-sm);color:var(--text-subtle)}.discover-card{cursor:default;border-color:var(--border-soft);background:var(--osi-color-surface-2)}.discover-card:hover{background:var(--osi-color-surface-2);color:inherit}.discover-add-btn{width:auto!important;margin-left:auto;border:1px solid var(--border-soft);border-radius:var(--osi-radius-sm);background:linear-gradient(180deg,var(--osi-color-brand-fill-start),var(--osi-color-brand-fill-end));color:var(--osi-color-text-on-accent);min-height:var(--osi-p-size-28);padding:0 var(--osi-p-size-10)!important;font-size:var(--osi-font-size-base);font-weight:700;text-align:center!important}.discover-add-btn:hover{background:linear-gradient(180deg,var(--osi-color-brand-fill-hover-start),var(--osi-color-brand-fill-hover-end))}.pinned-popout header,.group-creator-popout header{display:flex;align-items:center;justify-content:space-between;gap:var(--osi-spacing-2)}.pinned-popout header strong,.group-creator-popout header strong{font-size:var(--osi-font-size-md)}.pinned-popout header button,.group-creator-popout header button,.create-group-button{border:1px solid var(--osi-color-border-subtle);background:var(--osi-color-surface-popover);color:var(--text-main);border-radius:var(--osi-radius-sm);min-height:var(--osi-p-size-28);padding:0 var(--osi-spacing-2);cursor:pointer}.pinned-popout ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--osi-p-space-px-5);overflow:auto}.pinned-popout li{border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-p-r-9);padding:var(--osi-p-space-px-7) var(--osi-spacing-2);background:var(--osi-color-surface-popover)}.pinned-popout li p{margin:0;display:flex;justify-content:space-between;gap:var(--osi-spacing-2);font-size:var(--osi-font-size-caption)}.pinned-popout li small{color:var(--text-subtle)}.empty-pinned{margin:0;color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.group-creator-popout label{display:grid;gap:var(--osi-p-space-px-6);font-size:var(--osi-font-size-caption);color:var(--text-subtle)}.group-seed-note{margin:0;font-size:var(--osi-font-size-sm);color:var(--text-subtle)}.group-seed-note strong{color:var(--osi-color-text-brand)}.group-creator-header-actions{display:inline-flex;align-items:center;gap:var(--osi-spacing-1)}.group-creator-header-actions .ghost-icon{width:var(--osi-p-size-26);height:var(--osi-p-size-26);border-radius:var(--osi-radius-sm);margin:0;padding:0;text-align:center}.group-creator-popout input{border:1px solid var(--border-soft);border-radius:var(--osi-radius-sm);background:var(--osi-color-surface-input);color:var(--text-main);min-height:var(--osi-p-size-32);padding:0 var(--osi-p-size-9)}.group-user-list{display:grid;gap:var(--osi-spacing-1);overflow:auto}.group-user-list button{border:1px solid transparent;border-radius:var(--osi-radius-sm);background:transparent;color:var(--text-muted);min-height:var(--osi-p-size-34);display:flex;align-items:center;gap:var(--osi-spacing-2);padding:0 var(--osi-spacing-2);cursor:pointer}.group-user-list button:hover{background:var(--row-hover);color:var(--text-main)}.group-user-list button.is-selected{border-color:var(--border-soft);background:var(--osi-color-accent-fill);color:var(--osi-color-text-brand)}.create-group-button{font-weight:700;text-align:center;justify-content:center;background:linear-gradient(180deg,var(--osi-color-brand-fill-start),var(--osi-p-brand-a24))}.create-group-button:hover{background:linear-gradient(180deg,var(--osi-color-brand-fill-hover-start),var(--osi-color-brand-fill-hover-end))}.group-user-list img{width:var(--osi-p-size-22);height:var(--osi-p-size-22);border-radius:var(--osi-radius-full);object-fit:cover}.composer-menu{position:absolute;left:var(--osi-p-size-6);bottom:var(--osi-p-size-68);min-width:var(--osi-p-size-188)}.composer-emoji-picker{position:absolute;bottom:var(--osi-p-size-68);right:0;z-index:50}.composer-textarea-overlay{position:absolute;inset:0;padding:7px 2px 2px;margin:0;font:inherit;line-height:1.375;white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word;pointer-events:none;-webkit-user-select:none;user-select:none;color:var(--text-main);z-index:1;overflow:hidden}.composer-textarea-overlay>*{display:inline}.composer-textarea-overlay .osi-custom-emoji{width:1.4em;height:1.4em;vertical-align:text-bottom;margin:0 1px}.composer textarea.composer-textarea-rich{color:transparent;caret-color:var(--text-main);position:relative;z-index:2;background:transparent}.community-menu{margin-top:var(--osi-spacing-2)}.community-menu-item{width:100%;border:1px solid transparent;border-radius:var(--osi-radius-md);background:transparent;min-height:var(--osi-p-size-34);display:flex;align-items:center;gap:var(--osi-spacing-2);padding:0 var(--osi-spacing-2);color:var(--text-muted);cursor:pointer}.community-menu-item:hover{color:var(--text-main);background:var(--row-hover)}.community-menu-item.is-active{color:var(--osi-color-text-brand);background:var(--osi-color-accent-fill);border-color:var(--border-soft)}.community-menu-avatar{width:var(--osi-p-size-18);height:var(--osi-p-size-18);border-radius:50%;object-fit:cover;object-position:center}.notifications-popout{position:absolute;top:var(--osi-p-size-14);right:var(--osi-p-size-22);width:var(--osi-p-size-416);max-height:min(62vh,var(--osi-p-size-520));display:flex;flex-direction:column;padding:var(--osi-p-space-px-10);background:var(--osi-color-surface-popover);border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-lg);box-shadow:var(--osi-shadow-lg)}.notifications-popout-header{display:flex;align-items:center;justify-content:space-between;gap:var(--osi-spacing-2);padding:var(--osi-p-space-px-2) var(--osi-p-space-px-2) var(--osi-spacing-2);border-bottom:1px solid var(--osi-color-border-subtle);margin-bottom:var(--osi-spacing-2)}.notifications-popout-header strong{font-size:var(--osi-font-size-base);color:var(--osi-color-text-brand-dim)}.notifications-popout-header button{border:1px solid var(--osi-color-border-subtle);background:var(--osi-color-surface-popover);color:var(--text-muted);border-radius:var(--osi-radius-md);min-height:var(--osi-p-size-28);padding:0 var(--osi-spacing-2);cursor:pointer}.notifications-popout-header .ghost-icon{width:var(--osi-p-size-26);min-width:var(--osi-p-size-26);height:var(--osi-p-size-26);padding:0;margin-left:auto;flex:0 0 auto;display:inline-grid;place-items:center;text-align:center}.notifications-popout-list{overflow:auto;display:grid;gap:var(--osi-spacing-1);min-height:0}.notification-row{border-radius:var(--osi-radius-md);padding:var(--osi-spacing-2);display:grid;grid-template-columns:var(--osi-p-size-34) 1fr;align-items:start;gap:var(--osi-spacing-2)}.notification-row.is-unread{background:var(--osi-color-accent-fill)}.notification-row p{margin:0;display:flex;justify-content:space-between;gap:var(--osi-spacing-2);font-size:var(--osi-font-size-md)}.notification-row small{color:var(--text-subtle)}.notification-popout-avatar{width:var(--osi-p-size-34);height:var(--osi-p-size-34);border-radius:var(--osi-radius-md);overflow:hidden;border:1px solid var(--osi-color-border-subtle);display:inline-flex;align-items:center;justify-content:center;background:var(--osi-color-surface-popover)}.notification-popout-avatar img{width:100%;height:100%;object-fit:cover}.notification-popout-copy{min-width:0}.profile-popout{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--osi-p-space-px-10);width:300px;padding:24px;z-index:1000;background:var(--osi-color-surface-popover);border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-xl);box-shadow:var(--osi-shadow-lg)}.profile-popout img{width:64px;height:64px;border-radius:50%}.profile-popout>div{display:flex;flex-direction:column;align-items:center;text-align:center}.profile-popout span{color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.empty-state{margin:auto;max-width:var(--osi-p-size-520);border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-xl);background:var(--osi-color-surface-popover);padding:var(--osi-spacing-6)}.empty-state h2{margin:0 0 var(--osi-spacing-2);font-size:var(--osi-font-size-2xl)}.empty-state p{margin:0;color:var(--text-muted)}.empty-action{margin-top:var(--osi-spacing-4);border:1px solid var(--border-soft);background:var(--osi-color-accent-fill);color:var(--osi-color-text-brand);border-radius:var(--osi-radius-md);padding:var(--osi-spacing-2) var(--osi-spacing-3);cursor:pointer}.modal-overlay{position:fixed;inset:0;background:var(--osi-color-surface-overlay);display:grid;place-items:center;z-index:20;-webkit-backdrop-filter:blur(var(--osi-spacing-1));backdrop-filter:blur(var(--osi-spacing-1))}.settings-modal{width:var(--osi-p-size-460);border:1px solid var(--border-soft);border-radius:var(--osi-radius-xl);background:linear-gradient(170deg,var(--osi-p-neutral-300),var(--osi-color-surface-0));box-shadow:var(--osi-shadow-lg);padding:var(--osi-spacing-4)}.settings-modal-rich{width:var(--osi-p-size-980);max-width:calc(100vw - 56px);height:var(--osi-p-size-700);max-height:calc(100vh - 56px);display:grid;grid-template-columns:var(--osi-p-size-220) 1fr;gap:var(--osi-p-space-px-14);padding:var(--osi-p-space-px-14)}.settings-nav{border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-lg);background:var(--osi-color-surface-popover);padding:var(--osi-spacing-3);display:flex;flex-direction:column;gap:var(--osi-p-space-px-6);overflow:auto}.settings-nav h3{margin:0 0 var(--osi-spacing-2);color:var(--text-subtle);font-size:var(--osi-font-size-caption);letter-spacing:var(--osi-font-tracking-wider)}.settings-tab{border:1px solid transparent;border-radius:var(--osi-radius-md);min-height:var(--osi-p-size-36);background:transparent;color:var(--text-muted);text-align:left;padding:0 var(--osi-p-size-10);cursor:pointer}.settings-tab:hover{background:var(--row-hover);color:var(--text-main)}.settings-tab.is-active{border-color:var(--border-soft);background:var(--osi-color-accent-fill);color:var(--osi-color-text-brand)}.settings-content{border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-lg);background:var(--osi-color-surface-popover);padding:var(--osi-p-space-px-14);overflow:auto}.settings-modal header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--osi-spacing-3)}.settings-modal h2{margin:0;font-size:var(--osi-font-size-xl)}.settings-grid{display:grid;gap:var(--osi-spacing-2)}.settings-form{display:grid;gap:var(--osi-p-space-px-10);padding-right:var(--osi-p-space-px-2)}.settings-form label{display:grid;gap:var(--osi-p-space-px-5);color:var(--text-muted);font-size:var(--osi-font-size-md)}.settings-form input,.settings-form select{width:100%;border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-input);color:var(--text-main);min-height:var(--osi-p-size-38);padding:0 var(--osi-p-size-10)}.settings-form input[type=range]{padding:0;min-height:var(--osi-p-size-28)}.theme-picker-field{display:grid;gap:var(--osi-p-space-px-5)}.theme-picker-label{color:var(--text-muted);font-size:var(--osi-font-size-md)}.theme-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--osi-p-space-px-5)}.theme-picker-option{display:flex;align-items:center;gap:var(--osi-p-space-px-5);padding:var(--osi-p-space-px-5) var(--osi-p-size-10);min-height:var(--osi-p-size-38);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-input);color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s ease,background-color .15s ease}.theme-picker-option:hover{border-color:var(--osi-color-border-strong)}.theme-picker-option.is-active{border-color:var(--osi-color-accent-strong);background:var(--osi-color-accent-fill)}.theme-picker-option:focus-within{box-shadow:var(--osi-focus-ring)}.theme-picker-icon{flex:none;color:var(--osi-color-text-secondary)}.theme-picker-option.is-active .theme-picker-icon{color:var(--osi-color-text-brand)}.theme-picker-text{display:grid;gap:2px;min-width:0}.theme-picker-title{font-size:var(--osi-font-size-md);color:var(--text-main)}.theme-picker-hint{font-size:var(--osi-font-size-sm);color:var(--text-muted)}.settings-toggle{border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);min-height:var(--osi-p-size-38);background:var(--osi-color-surface-2);color:var(--text-main);display:flex;align-items:center;justify-content:space-between;padding:0 var(--osi-p-size-10);cursor:pointer}.settings-toggle span{color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.settings-blocked{display:flex;flex-direction:column;gap:var(--osi-spacing-2);margin-top:var(--osi-spacing-2)}.settings-blocked__header{display:flex;align-items:center;justify-content:space-between;gap:var(--osi-spacing-2)}.settings-blocked__title{font-size:var(--osi-font-size-md);font-weight:600;color:var(--text-main);margin:0}.settings-blocked__count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:0 8px;height:20px;border-radius:var(--osi-radius-full, 999px);background:var(--osi-color-surface-2);color:var(--text-subtle);font-size:var(--osi-font-size-caption);font-weight:600}.settings-blocked__status{display:flex;align-items:center;gap:var(--osi-spacing-2);padding:12px;border:1px dashed var(--border-soft);border-radius:var(--osi-radius-md);color:var(--text-muted);font-size:var(--osi-font-size-md)}.settings-blocked__status--error{border-style:solid;border-color:var(--osi-color-error);background:var(--osi-color-error-bg-subtle);color:var(--text-main);justify-content:space-between}.settings-blocked__retry{border:1px solid var(--border-soft);background:var(--osi-color-surface-2);color:var(--text-main);border-radius:var(--osi-radius-md);padding:6px 12px;font-size:var(--osi-font-size-md);cursor:pointer}.settings-blocked__retry:hover{background:var(--row-hover)}.settings-blocked__empty{margin:0;padding:12px;border:1px dashed var(--border-soft);border-radius:var(--osi-radius-md);color:var(--text-muted);font-size:var(--osi-font-size-md);text-align:center}.settings-blocked__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);overflow:hidden}.settings-blocked__item{display:flex;align-items:center;justify-content:space-between;gap:var(--osi-spacing-2);padding:10px 12px;background:var(--osi-color-surface-2);border-bottom:1px solid var(--border-soft)}.settings-blocked__item:last-child{border-bottom:none}.settings-blocked__item:hover{background:var(--row-hover)}.settings-blocked__info{display:flex;align-items:center;gap:12px;min-width:0}.settings-blocked__name{font-size:var(--osi-font-size-md);font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-blocked__unblock{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--osi-color-error);background:transparent;color:var(--osi-color-error);border-radius:var(--osi-radius-md);padding:6px 12px;font-size:var(--osi-font-size-caption);font-weight:600;cursor:pointer;flex-shrink:0;transition:background-color .12s ease}.settings-blocked__unblock:hover{background:var(--osi-color-error-bg-subtle)}.settings-blocked__unblock:focus-visible{outline:2px solid var(--osi-color-error);outline-offset:2px}.settings-header{position:sticky;top:0;z-index:2;background:var(--osi-color-surface-modal);padding-bottom:var(--osi-p-size-10);border-bottom:1px solid var(--border-soft)}.settings-close{border:1px solid var(--border-soft);background:var(--osi-color-surface-2);color:var(--text-main);border-radius:var(--osi-radius-md);min-height:var(--osi-p-size-34);padding:0 var(--osi-p-size-10);display:inline-flex;align-items:center;gap:var(--osi-spacing-2);cursor:pointer}.settings-close span{font-size:var(--osi-font-size-lg);line-height:1;color:var(--text-subtle)}.settings-close:hover{background:var(--row-hover)}.notifications-view,.activity-view{margin:auto;width:min(var(--osi-p-size-760),100%);border:1px solid var(--border-soft);border-radius:var(--osi-radius-xl);background:var(--osi-color-surface-2);padding:var(--osi-spacing-4)}.activity-view-full{margin:0;width:100%;height:100%;min-height:0;display:flex;flex-direction:column}.view-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--osi-p-space-px-10)}.activity-header{align-items:flex-start;gap:var(--osi-p-space-px-18)}.activity-header p{margin:var(--osi-p-space-px-6) 0 0;color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.view-header h2{margin:0;font-size:var(--osi-font-size-xl)}.view-header span{color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.activity-stats{display:inline-flex;gap:var(--osi-spacing-2)}.activity-stats span{border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);min-height:var(--osi-p-size-34);padding:0 var(--osi-p-size-9);display:inline-flex;align-items:center;gap:var(--osi-p-space-px-6);background:var(--osi-color-surface-2)}.activity-stats strong{color:var(--osi-color-text-brand);font-size:var(--osi-font-size-md)}.activity-note{margin:0 0 var(--osi-p-size-10);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-accent-fill);color:var(--osi-color-text-brand);font-size:var(--osi-font-size-base);padding:var(--osi-p-space-px-7) var(--osi-p-space-px-10)}.notification-list,.activity-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--osi-p-space-px-6)}.activity-list-rich{flex:1;min-height:0;overflow:auto;align-content:start;padding-right:var(--osi-spacing-1)}.notification-item,.activity-item{border:1px solid transparent;border-radius:var(--osi-p-r-12);padding:var(--osi-spacing-2);display:flex;align-items:center;gap:var(--osi-p-space-px-10)}.notification-item.is-unread{border-color:var(--border-soft);background:var(--osi-color-accent-fill)}.notification-item:hover,.activity-item:hover{background:var(--row-hover)}.notification-server-icon{width:var(--osi-p-size-30);height:var(--osi-p-size-30);border-radius:var(--osi-radius-md);overflow:hidden;display:grid;place-items:center;border:1px solid var(--border-soft)}.notification-server-icon img{width:var(--osi-p-size-22);height:var(--osi-p-size-22)}.notification-copy,.activity-item p{margin:0;flex:1}.notification-copy p,.activity-item p{margin:0;display:flex;align-items:center;justify-content:space-between;gap:var(--osi-spacing-2);font-size:var(--osi-font-size-md)}.notification-copy small,.activity-item span{color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.activity-item strong{margin-right:var(--osi-spacing-1)}.activity-item-rich{position:relative;padding:var(--osi-p-space-px-9)}.activity-item-rich.menu-open{border-color:var(--border-soft);background:var(--osi-color-accent-fill)}.activity-main{width:100%;display:flex;align-items:center;gap:var(--osi-p-space-px-10)}.activity-copy{min-width:0;flex:1}.activity-line{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:var(--osi-p-space-px-3);font-size:var(--osi-font-size-md);color:var(--text-muted)}.activity-topline .activity-line{justify-content:flex-start;flex:1}.activity-verb{color:var(--text-subtle)}.activity-game-inline{font-size:var(--osi-font-size-md);font-weight:600;color:var(--osi-color-text-brand)}.activity-action-inline{margin-left:var(--osi-spacing-1)}.activity-meta{margin-top:var(--osi-p-space-px-2);display:inline-flex;align-items:center;gap:var(--osi-spacing-2);color:var(--text-subtle);font-size:var(--osi-font-size-sm)}.activity-session{border:1px solid var(--border-soft);border-radius:var(--osi-radius-full);padding:var(--osi-p-space-px-1) var(--osi-p-space-px-6);background:var(--osi-color-accent-fill)}.game-chip{flex:0 0 auto;border:1px solid var(--border-soft);border-radius:var(--osi-radius-full);min-height:var(--osi-p-size-26);padding:0 var(--osi-spacing-2) 0 6px;display:inline-flex;align-items:center;gap:var(--osi-p-space-px-6);background:var(--osi-color-surface-2)}.game-chip img{width:var(--osi-p-size-16);height:var(--osi-p-size-16);object-fit:cover;border-radius:var(--osi-p-r-4)}.game-chip em{font-style:normal;font-size:var(--osi-font-size-sm);color:var(--osi-color-text-brand-dim)}.activity-menu{position:absolute;right:var(--osi-p-size-10);top:calc(100% + 4px);width:var(--osi-p-size-350);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-call);box-shadow:var(--osi-shadow-md);padding:var(--osi-p-space-px-10);z-index:12}.activity-menu-header{display:flex;align-items:center;justify-content:space-between;gap:var(--osi-spacing-2);margin-bottom:var(--osi-spacing-2)}.activity-menu-header strong{font-size:var(--osi-font-size-md)}.activity-menu-header span{color:var(--text-subtle);font-size:var(--osi-font-size-sm)}.activity-menu-details{border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-2);padding:var(--osi-spacing-2)}.activity-menu-details p{margin:0;display:flex;align-items:center;gap:var(--osi-p-space-px-6);color:var(--text-muted);font-size:var(--osi-font-size-caption)}.activity-menu-details p+p{margin-top:var(--osi-spacing-1)}.activity-menu-details small{display:block;margin-top:var(--osi-p-space-px-6);color:var(--text-subtle);line-height:1.35;font-size:var(--osi-font-size-sm)}.activity-menu-actions{margin-top:var(--osi-spacing-2);display:grid;gap:var(--osi-p-space-px-5)}.activity-menu-actions button{width:100%;border:1px solid var(--border-soft);border-radius:var(--osi-p-r-9);min-height:var(--osi-p-size-34);background:var(--osi-color-surface-2);color:var(--text-main);display:inline-flex;align-items:center;gap:var(--osi-p-space-px-7);padding:0 var(--osi-p-size-10);cursor:pointer}.activity-menu-actions button:hover{background:var(--osi-color-accent-fill-hover)}.activity-row-expand{align-items:stretch;gap:var(--osi-spacing-3);min-height:var(--osi-p-size-88);transition:min-height var(--osi-motion-medium),background var(--osi-motion-medium),border-color var(--osi-motion-medium)}.activity-clickable{cursor:pointer}.activity-row-expand:hover{min-height:var(--osi-p-size-148);border-color:var(--border-soft);background:var(--osi-color-accent-fill)}.activity-game-art{width:var(--osi-p-size-64);height:var(--osi-p-size-64);flex:0 0 auto;border-radius:var(--osi-radius-lg);overflow:hidden;border:1px solid var(--border-soft);background:var(--osi-color-surface-2);display:grid;place-items:center}.activity-game-art img{width:100%;height:100%;object-fit:contain;object-position:center;padding:var(--osi-p-space-px-7);background:var(--osi-color-surface-1)}.activity-info{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center}.activity-topline{display:flex;align-items:center;gap:var(--osi-spacing-2)}.activity-topline .avatar-wrap,.activity-topline .avatar{width:var(--osi-p-size-24)!important;height:var(--osi-p-size-24)!important}.activity-topline em{margin-left:auto;font-style:normal;color:var(--text-subtle);font-size:var(--osi-font-size-sm)}.activity-quickline{margin-top:var(--osi-p-space-px-6);display:flex;flex-wrap:wrap;gap:var(--osi-p-space-px-6)}.activity-pill{border:1px solid var(--border-soft);border-radius:var(--osi-radius-full);min-height:var(--osi-p-size-22);padding:0 var(--osi-spacing-2);display:inline-flex;align-items:center;font-size:var(--osi-font-size-sm);color:var(--text-subtle);background:var(--osi-color-surface-2)}.activity-expanded{margin-top:var(--osi-spacing-2);max-height:0;overflow:hidden;opacity:0;transform:translateY(calc(-1 * var(--osi-spacing-1)));transition:max-height var(--osi-motion-duration-slow) ease,opacity var(--osi-motion-medium),transform var(--osi-motion-medium)}.activity-row-expand:hover .activity-expanded{max-height:var(--osi-p-size-90);opacity:1;transform:translateY(0)}.activity-expanded p{margin:0;color:var(--text-muted);font-size:var(--osi-font-size-caption);line-height:1.35}.activity-expanded-meta{margin-top:var(--osi-p-space-px-6);display:inline-flex;gap:var(--osi-p-space-px-10);color:var(--text-subtle);font-size:var(--osi-font-size-sm)}.notification-empty{margin:0;color:var(--text-subtle)}.settings-row{border:1px solid var(--border-soft);background:var(--osi-color-surface-2);border-radius:var(--osi-radius-md);min-height:var(--osi-p-size-42);color:var(--text-main);display:flex;align-items:center;justify-content:space-between;padding:0 var(--osi-spacing-3);cursor:pointer}.settings-row strong{color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.floating-mini{position:fixed;right:var(--osi-p-size-26);top:var(--osi-p-size-24);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-2);color:var(--text-muted);display:inline-flex;align-items:center;gap:var(--osi-p-space-px-7);padding:var(--osi-p-space-px-7) var(--osi-p-space-px-10);cursor:pointer}.user-mini{top:var(--osi-p-size-58)}.user-menu{position:fixed;left:var(--osi-p-size-28);bottom:var(--osi-p-size-28);width:var(--osi-p-size-240);background:var(--osi-color-surface-popover);border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-lg);box-shadow:var(--osi-shadow-lg);padding:var(--osi-p-space-px-6)}.user-menu-header{display:flex;align-items:center;gap:var(--osi-p-space-px-9);padding:var(--osi-spacing-1) var(--osi-spacing-1) var(--osi-spacing-2);border-bottom:1px solid var(--border-soft);margin-bottom:var(--osi-p-space-px-6)}.user-menu-header img{width:var(--osi-p-size-36);height:var(--osi-p-size-36);border-radius:var(--osi-radius-md)}.user-menu-header div{display:flex;flex-direction:column}.user-menu-header span{color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.user-status-menu{display:grid;grid-template-columns:1fr;gap:var(--osi-p-space-px-5);margin-bottom:var(--osi-spacing-2)}.user-status-menu button{min-height:var(--osi-p-size-28);border-radius:var(--osi-p-r-8);border:1px solid var(--border-soft);background:var(--osi-color-bg-elevated);color:var(--text-muted);text-align:left;padding:0 var(--osi-spacing-2);display:inline-flex;align-items:center;gap:var(--osi-p-space-px-7)}.user-status-menu button:hover{background:var(--row-hover);color:var(--text-main)}.user-status-menu button.is-selected{border-color:var(--border-strong);background:var(--osi-p-white-14);color:var(--text-main)}.status-dot{width:var(--osi-p-size-9);height:var(--osi-p-size-9);border-radius:var(--osi-radius-full);display:inline-block;flex:0 0 auto}.status-online{background:var(--osi-color-status-online-inline)}.status-idle{background:var(--osi-color-status-idle-inline)}.status-dnd{background:var(--osi-color-status-dnd-inline)}.status-invisible{background:var(--osi-color-status-invisible-inline)}.profile-actions{display:flex;gap:var(--osi-p-space-px-6)}.profile-actions button{border:1px solid var(--border-soft);background:var(--osi-color-surface-2);color:var(--text-main);border-radius:var(--osi-radius-sm);min-height:var(--osi-p-size-30);padding:0 var(--osi-spacing-2);cursor:pointer}.incoming-call-popup{position:fixed;left:calc(100vw - 344px);top:var(--osi-p-size-88);width:var(--osi-p-size-320);border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-lg);background:var(--osi-color-surface-popover);padding:var(--osi-spacing-3);display:grid;grid-template-columns:var(--osi-p-size-46) 1fr;gap:var(--osi-p-space-px-10);box-shadow:var(--osi-shadow-lg);z-index:30;-webkit-user-select:none;user-select:none;cursor:grab}.incoming-call-popup img{width:var(--osi-p-size-46);height:var(--osi-p-size-46);border-radius:var(--osi-radius-full);object-fit:cover}.incoming-call-popup strong{display:block;font-size:var(--osi-font-size-base)}.incoming-call-popup span{color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.incoming-call-actions{grid-column:1 / -1;display:flex;gap:var(--osi-spacing-2);cursor:default}.incoming-call-actions button{flex:1;border:1px solid var(--border-soft);border-radius:var(--osi-p-r-9);min-height:var(--osi-p-size-34);display:inline-flex;align-items:center;justify-content:center;gap:var(--osi-p-space-px-6);cursor:pointer}.incoming-call-actions .accept{background:var(--osi-color-positive-bg);color:var(--osi-color-positive-text)}.incoming-call-actions .decline{background:var(--osi-color-negative-bg);color:var(--osi-color-negative-text)}.direct-call-overlay{position:fixed;left:calc(50vw - 360px);top:var(--osi-p-size-24);width:min(62vw,var(--osi-p-size-900));min-width:var(--osi-p-size-520);max-height:min(52vh,var(--osi-p-size-520));border:1px solid var(--border-soft);border-radius:var(--osi-radius-xl);background:var(--osi-color-surface-call);box-shadow:var(--osi-shadow-lg);padding:var(--osi-spacing-3);z-index:35;display:flex;flex-direction:column;overflow:hidden}.direct-call-overlay.is-docked{position:relative;left:auto;top:auto;width:100%;min-width:0;max-height:min(34vh,var(--osi-p-size-260));border:0;background:transparent;box-shadow:none;padding:0}.direct-call-overlay header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--osi-p-space-px-10);-webkit-user-select:none;user-select:none;cursor:grab;position:relative;z-index:2}.direct-call-overlay header.dragging,.incoming-call-popup.dragging{cursor:grabbing}.direct-call-overlay.is-docked header{cursor:default;min-height:var(--osi-p-size-22);margin-bottom:var(--osi-p-space-px-6);padding-right:var(--osi-spacing-1)}.direct-call-overlay.is-docked .call-head-copy{display:none}.direct-call-overlay.is-docked .video-stage,.direct-call-overlay.is-docked .voice-surface{min-height:var(--osi-p-size-136)}.direct-call-overlay.is-docked .video-grid{min-height:var(--osi-p-size-136);grid-template-columns:repeat(auto-fit,minmax(var(--osi-p-size-122),1fr))}.direct-call-overlay.is-docked .voice-avatar{width:var(--osi-p-size-52);height:var(--osi-p-size-52)}.direct-call-overlay.is-docked .voice-avatar-row{gap:var(--osi-spacing-4);margin-bottom:var(--osi-p-space-px-6)}.direct-call-overlay.is-docked .call-controls button{width:var(--osi-p-size-32);height:var(--osi-p-size-32)}.direct-call-overlay.is-docked .call-controls button.end{width:var(--osi-p-size-36);height:var(--osi-p-size-36)}.call-head-copy{min-width:0}.direct-call-overlay header strong{font-size:var(--osi-font-size-base)}.direct-call-overlay header span{display:block;color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.direct-call-overlay header em{font-style:normal;color:var(--osi-color-text-brand);font-size:var(--osi-font-size-base);display:inline-block;padding-right:var(--osi-p-space-px-2)}.call-head-actions{display:inline-flex;align-items:center;gap:var(--osi-p-space-px-6);margin-left:auto;min-width:max-content}.share-viewers{display:inline-flex;align-items:center;margin-left:var(--osi-p-space-px-2)}.share-viewers img{width:var(--osi-p-size-20);height:var(--osi-p-size-20);border-radius:var(--osi-radius-full);object-fit:cover;border:1px solid var(--osi-p-white-22);box-shadow:var(--osi-shadow-sm);margin-left:calc(-1 * var(--osi-p-size-6))}.share-viewers img:first-child{margin-left:0}.call-head-actions button{width:var(--osi-p-size-26);height:var(--osi-p-size-26);border-radius:var(--osi-radius-sm);border:1px solid var(--border-soft);background:var(--osi-color-surface-2);color:var(--text-muted);display:grid;place-items:center;cursor:pointer}.call-head-actions button:hover{color:var(--text-main);background:var(--row-hover)}.call-surface{border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-1);padding:var(--osi-spacing-2);display:flex;flex-direction:column;gap:var(--osi-spacing-2);min-height:0;overflow:auto}.video-stage{position:relative;min-height:var(--osi-p-size-220);border-radius:var(--osi-radius-md);overflow:hidden;background:var(--osi-color-surface-1)}.video-grid{width:100%;height:100%;min-height:var(--osi-p-size-220);display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--osi-p-size-150),1fr));grid-auto-rows:minmax(var(--osi-p-size-110),1fr);gap:var(--osi-spacing-2);align-content:stretch}.video-grid-tile{position:relative;border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);overflow:hidden;background:var(--osi-color-surface-1);min-height:var(--osi-p-size-110)}.video-grid-media,.video-grid-tile .camera-mock{width:100%;height:100%}.video-grid-media{width:100%;height:100%;padding:var(--osi-spacing-2);box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden}.video-grid-tile img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;display:block;border-radius:var(--osi-radius-sm);background:var(--osi-color-surface-2)}.video-grid-tile span{position:absolute;left:var(--osi-spacing-2);bottom:var(--osi-p-space-px-7);font-size:var(--osi-font-size-sm);color:var(--osi-color-text-brand);background:var(--osi-p-black-40);border-radius:var(--osi-radius-full);padding:var(--osi-p-space-px-2) var(--osi-spacing-2)}.call-avatar-alerts{position:absolute;right:var(--osi-p-size-6);bottom:var(--osi-p-size-6);display:inline-flex;align-items:center;gap:var(--osi-p-space-px-3);z-index:2}.call-avatar-alert{width:var(--osi-p-size-16);height:var(--osi-p-size-16);border-radius:var(--osi-radius-full);display:inline-flex;align-items:center;justify-content:center;color:var(--osi-color-negative-text);background:var(--osi-p-red-500);border:1px solid var(--osi-color-negative);box-shadow:var(--osi-shadow-sm)}.call-avatar-alert.is-muted,.call-avatar-alert.is-deafened{background:var(--osi-p-red-500)}.direct-call-overlay.is-docked .call-avatar-alerts{right:var(--osi-spacing-1);bottom:var(--osi-spacing-1)}.direct-call-overlay.is-docked .call-avatar-alert{width:var(--osi-p-size-14);height:var(--osi-p-size-14)}.voice-surface{min-height:var(--osi-p-size-220);border-radius:var(--osi-radius-md);background:linear-gradient(160deg,var(--osi-color-surface-2),var(--osi-color-surface-1));display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:var(--osi-spacing-3)}.voice-surface p{margin:0;color:var(--osi-color-text-brand);font-weight:600}.voice-surface small{margin-top:var(--osi-spacing-1);color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.voice-avatar-row{display:flex;align-items:center;gap:var(--osi-p-space-px-34);margin-bottom:var(--osi-p-space-px-14)}.voice-avatar{width:var(--osi-p-size-86);height:var(--osi-p-size-86);border-radius:var(--osi-radius-full);border:2px solid var(--osi-p-white-14);overflow:hidden;position:relative}.voice-avatar img{width:100%;height:100%;object-fit:cover}.voice-avatar span{position:absolute;left:50%;bottom:calc(-1 * var(--osi-p-size-24));transform:translate(-50%);color:var(--osi-color-text-brand-dim);font-size:var(--osi-font-size-base);white-space:nowrap}.voice-avatar-row+p{margin-top:var(--osi-spacing-3)}.participant-tile{border-radius:var(--osi-radius-md);overflow:hidden;background:var(--osi-color-surface-1)}.participant-tile img,.camera-mock{width:100%;height:100%;object-fit:cover}.participant-tile.remote{width:100%;height:100%;min-height:var(--osi-p-size-220);border:1px solid var(--border-soft)}.participant-tile.local{position:absolute;right:var(--osi-p-size-10);bottom:var(--osi-p-size-10);width:34%;min-width:var(--osi-p-size-110);max-width:var(--osi-p-size-160);aspect-ratio:16 / 10;border:1px solid var(--osi-p-white-16);box-shadow:var(--osi-shadow-md)}.camera-mock{display:grid;place-items:center;color:var(--osi-color-text-brand);font-size:var(--osi-font-size-base);background:linear-gradient(145deg,var(--osi-p-brand-a40),var(--osi-p-brand-350))}.participant-tile span{position:absolute;left:var(--osi-spacing-2);bottom:var(--osi-p-space-px-7);font-size:var(--osi-font-size-sm);color:var(--osi-color-text-brand)}.screen-share-view{height:100%;border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);padding:var(--osi-p-space-px-10);background:var(--osi-color-surface-2)}.screen-share-view strong{font-size:var(--osi-font-size-caption)}.screen-share-view span{display:block;margin-top:var(--osi-p-space-px-2);font-size:var(--osi-font-size-sm);color:var(--text-subtle)}.screen-share-canvas{margin-top:var(--osi-p-space-px-7);border:1px dashed var(--border-soft);border-radius:var(--osi-radius-sm);min-height:var(--osi-p-size-148);display:grid;place-items:center;color:var(--osi-color-text-brand-dim);font-size:var(--osi-font-size-base)}.screen-share-fallback{border:1px solid var(--osi-color-negative);border-radius:var(--osi-radius-md);padding:var(--osi-spacing-2);font-size:var(--osi-font-size-base);color:var(--osi-color-negative-text);background:var(--osi-color-negative-bg)}.call-controls{margin-top:var(--osi-p-space-px-10);display:flex;justify-content:center;flex-wrap:wrap;gap:var(--osi-p-space-px-6)}.call-controls button{border:1px solid var(--border-soft);border-radius:var(--osi-radius-full);width:var(--osi-p-size-42);height:var(--osi-p-size-42);background:var(--osi-color-surface-2);color:var(--text-muted);display:grid;place-items:center;cursor:pointer}.call-controls button:hover,.call-controls button.is-active{color:var(--text-main);background:var(--osi-color-accent-fill-hover)}.call-controls button.end{width:var(--osi-p-size-48);height:var(--osi-p-size-48);background:var(--osi-color-negative);border-color:var(--osi-color-negative-text);color:var(--osi-color-negative-text)}.active-call-chip{position:fixed;right:var(--osi-p-size-24);bottom:var(--osi-p-size-24);border:1px solid var(--border-soft);border-radius:var(--osi-radius-full);background:var(--osi-color-surface-modal);color:var(--text-main);min-height:var(--osi-p-size-40);padding:0 var(--osi-spacing-3);display:inline-flex;align-items:center;gap:var(--osi-p-space-px-10);cursor:pointer;z-index:35}.active-call-chip span{color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.call-toast{top:auto;right:var(--osi-p-size-24);bottom:var(--osi-p-size-136);max-width:var(--osi-p-size-320);justify-content:flex-start}.call-window{height:100vh;background:var(--osi-color-surface-input);color:var(--osi-color-text-brand);display:flex;flex-direction:column;padding:var(--osi-spacing-3) var(--osi-spacing-4) 18px}.call-window-header{min-height:var(--osi-p-size-40);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--osi-p-white-08);padding-bottom:var(--osi-p-size-10);margin-bottom:var(--osi-spacing-3)}.call-window-header strong{display:block;font-size:var(--osi-font-size-lg)}.call-window-header span{color:var(--osi-color-text-muted);font-size:var(--osi-font-size-base)}.call-window-header em{font-style:normal;color:var(--osi-color-text-brand-dim);font-size:var(--osi-font-size-md)}.call-window-stage{flex:1;min-height:0;border-radius:var(--osi-radius-lg);border:1px solid var(--osi-p-white-10);background:var(--osi-p-brand-100);position:relative;overflow:hidden}.call-window-remote,.call-window-remote img{width:100%;height:100%}.call-window-remote img{object-fit:cover}.call-window-remote label,.call-window-local label{position:absolute;left:var(--osi-p-size-10);bottom:var(--osi-spacing-2);font-size:var(--osi-font-size-base);color:var(--osi-color-text-on-accent);background:var(--osi-p-black-40);border-radius:var(--osi-radius-full);padding:var(--osi-p-space-px-2) var(--osi-spacing-2)}.call-window-local{position:absolute;right:var(--osi-p-size-14);bottom:var(--osi-p-size-14);width:clamp(var(--osi-p-size-170),26vw,var(--osi-p-size-280));aspect-ratio:16/10;border-radius:var(--osi-radius-md);overflow:hidden;border:1px solid var(--osi-p-white-22);box-shadow:var(--osi-shadow-lg);background:var(--osi-p-brand-300)}.call-window-local img,.call-window-local-preview{width:100%;height:100%;object-fit:cover}.call-window-local-preview{display:grid;place-items:center;color:var(--osi-color-text-brand-dim);font-size:var(--osi-font-size-base);background:linear-gradient(150deg,var(--osi-p-brand-a40),var(--osi-p-brand-350))}.call-window-share{height:100%;padding:var(--osi-p-space-px-14);display:flex;flex-direction:column;gap:var(--osi-p-space-px-6)}.call-window-share strong{font-size:var(--osi-font-size-base)}.call-window-share span{color:var(--osi-color-text-muted);font-size:var(--osi-font-size-base)}.call-window-share-canvas{flex:1;min-height:var(--osi-p-size-180);border:1px dashed var(--osi-color-border-subtle);border-radius:var(--osi-radius-md);display:grid;place-items:center;color:var(--osi-color-text-brand-dim);font-size:var(--osi-font-size-md)}.call-window-alert{position:absolute;left:50%;bottom:var(--osi-p-size-14);transform:translate(-50%);margin:0;border:1px solid var(--osi-color-negative);background:var(--osi-color-negative-bg);color:var(--osi-color-negative-text);border-radius:var(--osi-radius-full);padding:var(--osi-p-space-px-5) var(--osi-spacing-3);font-size:var(--osi-font-size-base)}.call-window-controls{margin-top:var(--osi-p-space-px-14);display:flex;justify-content:center;gap:var(--osi-spacing-3)}.call-window-controls button{width:var(--osi-p-size-48);height:var(--osi-p-size-48);border-radius:var(--osi-radius-full);border:1px solid var(--osi-p-white-12);background:var(--osi-color-surface-2);color:var(--osi-color-text-brand-dim);display:grid;place-items:center;cursor:pointer}.call-window-controls button:hover,.call-window-controls button.is-active{background:var(--osi-color-accent-fill-hover);color:var(--osi-color-text-primary)}.call-window-controls button.end{width:var(--osi-p-size-56);height:var(--osi-p-size-56);background:var(--osi-p-red-400);border-color:var(--osi-color-negative-text);color:var(--osi-p-neutral-950)}@media(max-width:1240px){.app-bg{padding:0}.app-shell{grid-template-columns:minmax(48px,68px) minmax(180px,290px) minmax(0,1fr)}.right-panel{display:none}.direct-call-overlay{width:min(76vw,var(--osi-p-size-820));min-width:var(--osi-p-size-360);max-height:min(56vh,var(--osi-p-size-500))}.voice-avatar{width:var(--osi-p-size-92);height:var(--osi-p-size-92)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}.mobile-hamburger{display:none;position:fixed;top:8px;left:8px;z-index:1100;background:var(--bg-0);border:none;border-radius:8px;color:var(--text-on-brand);padding:8px;cursor:pointer}@media(max-width:768px){.mobile-hamburger{display:flex;align-items:center;justify-content:center}.app-shell>.primary-rail,.app-shell>.secondary-sidebar{display:none}.app-shell.mobile-sidebar-open:before{content:"";position:fixed;inset:0;background:var(--overlay-heavy);z-index:999}.app-shell.mobile-sidebar-open>.primary-rail,.app-shell.mobile-sidebar-open>.secondary-sidebar{display:flex;position:fixed;top:0;left:0;z-index:1000;height:100vh}.app-shell.mobile-sidebar-open>.secondary-sidebar{left:60px}.app-shell>.chat-main{width:100%;margin-left:0}.app-shell>aside:last-child{display:none}}.welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-main, var(--text-normal));gap:20px;padding:48px 32px;background:linear-gradient(170deg,var(--osi-color-bg-elevated),var(--osi-color-surface-0))}.welcome-screen>*{max-width:480px;width:100%;text-align:center}.welcome-title{margin:0;font-size:2rem;font-weight:700;letter-spacing:-.01em}.welcome-subtitle{margin:0 auto;color:var(--text-muted, var(--text-muted));font-size:1rem;line-height:1.5;text-align:center;max-width:400px}.welcome-actions{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap;justify-content:center}.welcome-btn{border:none;border-radius:var(--osi-radius-md, 8px);padding:12px 28px;font-size:15px;font-weight:600;cursor:pointer;transition:filter .15s ease,transform .1s ease}.welcome-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.welcome-btn:active{transform:translateY(0)}.welcome-btn-create{background:var(--brand);color:var(--text-on-brand)}.welcome-btn-invite{background:var(--success);color:var(--bg-0)}.empty-state-icon{font-size:48px;line-height:1;margin-bottom:8px}.channel-delete-btn{background:none;border:none;color:var(--text-muted, var(--text-muted));cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease,color .15s ease}.channel-delete-btn:hover{color:var(--error)}.community-header-banner{position:relative;display:flex;align-items:flex-end;gap:8px;width:100%;height:160px;padding:12px 14px;margin:-12px -4px 12px;background-size:cover;background-position:center;background-repeat:no-repeat;border-bottom:1px solid var(--border-soft, rgba(0, 0, 0, .2));overflow:hidden}.community-header-name{flex:1;font-size:18px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.community-settings-icon{background:#00000059;border:none;color:#ffffffe6;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:background .15s ease,color .15s ease}.community-settings-icon:hover{background:#0000008c;color:#fff}.community-header-row{display:flex;align-items:center;gap:6px;width:100%;padding:8px 4px 6px;border-bottom:1px solid var(--border-soft, rgba(0, 0, 0, .2));margin-bottom:6px}.community-header-name--plain{font-size:15px;font-weight:700;color:var(--text-main, var(--text-normal));text-shadow:none;letter-spacing:.01em}.community-settings-icon--plain{background:transparent;color:var(--text-muted)}.community-settings-icon--plain:hover{background:var(--bg-hover, rgba(0, 0, 0, .08));color:var(--text-main, var(--text-normal))}.welcome-modal-tile{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;background:var(--bg-1, rgba(255, 255, 255, .04));border:1px solid var(--border-soft, rgba(0, 0, 0, .15));border-radius:6px;cursor:pointer;text-align:left;transition:background .15s ease,border-color .15s ease}.welcome-modal-tile:hover{background:var(--bg-hover, rgba(255, 255, 255, .08));border-color:var(--accent, #5865f2)}.welcome-modal-tile-emoji{font-size:18px;line-height:1.2;flex-shrink:0}.welcome-modal-tile-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.welcome-modal-tile-name{font-weight:600;font-size:14px;color:var(--text-main, var(--text-normal));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.welcome-modal-tile-description{font-size:13px;color:var(--text-muted, var(--text-subtle));line-height:1.35}.channel-sidebar{display:flex;flex-direction:column;gap:2px;padding:0 4px}.category-section{margin-top:8px}.category-header{display:flex;align-items:center;gap:2px;padding:0 4px;position:relative}.category-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-muted, var(--text-muted));cursor:pointer;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;flex:1;padding:4px 0;min-width:0}.category-toggle:hover{color:var(--text-main, var(--text-normal))}.category-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-add-btn{background:none;border:none;color:var(--text-muted, var(--text-muted));cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;opacity:0;transition:opacity .15s ease,color .15s ease}.category-header:hover .category-add-btn{opacity:1}.category-add-btn:hover{color:var(--text-main, var(--text-normal))}.category-channels{display:flex;flex-direction:column;gap:1px;padding-left:0}.channel-row{display:flex;align-items:center;gap:2px;position:relative}.channel-item{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border:none;border-radius:4px;background:transparent;color:var(--text-muted, var(--text-muted));cursor:pointer;font-size:14px;text-align:left;transition:background .1s ease,color .1s ease}.channel-item:hover{background:var(--row-hover, var(--osi-p-white-06));color:var(--text-main, var(--text-normal))}.channel-item.is-active{background:var(--row-selected, rgba(255,255,255,.1));color:var(--osi-color-text-primary, #fff)}.channel-item.is-locked{opacity:.5}.channel-item.is-muted{opacity:.45}.channel-icon--muted{color:var(--text-subtle, var(--text-faint))!important}.channel-item.has-unread{color:var(--text-main, var(--text-normal));font-weight:600}.channel-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.unread-badge{width:8px;height:8px;border-radius:50%;background:var(--osi-color-accent-strong, var(--brand));flex-shrink:0}.channel-row .channel-delete-btn{position:static}.channel-row:hover .channel-delete-btn{opacity:1}.channel-sidebar-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;padding:4px}.channel-action-btn{border:1px solid var(--border-soft, var(--border-default));background:var(--osi-color-bg-elevated, var(--bg-tertiary));border-radius:var(--osi-radius-full, 9999px);color:var(--text-muted, var(--text-muted));display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-size:12px;padding:4px 10px;transition:background .1s ease,color .1s ease}.channel-action-btn:hover{background:var(--row-hover, var(--osi-p-white-06));color:var(--text-main, var(--text-normal))}.channel-action-btn.create-btn{color:var(--success)}.channel-action-btn.invite-btn{color:var(--brand)}.channel-action-btn.redeem-btn{color:var(--warning)}.category-context-menu{position:fixed;z-index:200;background:var(--osi-color-surface-modal, var(--bg-tertiary));border:1px solid var(--border-soft, var(--border-default));border-radius:6px;padding:4px;min-width:160px;box-shadow:0 4px 16px var(--osi-p-black-24)}.category-context-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:3px;background:transparent;color:var(--text-main, var(--text-normal));cursor:pointer;font-size:13px;text-align:left}.category-context-menu button:hover{background:var(--osi-color-accent-strong, var(--brand));color:var(--text-on-brand)}.category-context-menu button.danger:hover{background:var(--error)}.server-context-menu{background:var(--osi-color-surface-modal, var(--bg-tertiary));border:1px solid var(--border-soft, var(--border-default));border-radius:6px;padding:4px;min-width:180px;box-shadow:0 4px 16px var(--osi-p-black-24)}.server-context-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:3px;background:transparent;color:var(--text-main, var(--text-normal));cursor:pointer;font-size:13px;text-align:left}.server-context-menu button:hover{background:var(--osi-color-accent-strong, var(--brand));color:var(--text-on-brand)}.server-context-menu button.danger:hover{background:var(--error)}.channel-context-menu{position:fixed;z-index:200;background:var(--osi-color-surface-modal, var(--bg-tertiary));border:1px solid var(--border-soft, var(--border-default));border-radius:6px;padding:4px;min-width:160px;box-shadow:0 4px 16px var(--osi-p-black-24)}.channel-context-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:3px;background:transparent;color:var(--text-main, var(--text-normal));cursor:pointer;font-size:13px;text-align:left}.channel-context-menu button:hover{background:var(--osi-color-accent-strong, var(--brand));color:var(--text-on-brand)}.channel-context-menu button.danger:hover{background:var(--error)}.channel-row-wrapper{display:flex;flex-direction:column}.channel-icon{display:flex;align-items:center;flex-shrink:0}.channel-icon--voice{color:var(--success)}.channel-icon--announcement{color:var(--warning)}.channel-item.is-announcement{border-left:2px solid var(--warning);padding-left:6px}.channel-voice-participants{margin:0 0 2px 22px;padding-left:8px;border-left:1px solid var(--border-soft, var(--border-default));display:grid;gap:1px}.channel-voice-member{display:flex;align-items:center;gap:6px;padding:2px 4px;font-size:12px;color:var(--text-muted, var(--text-muted))}.channel-voice-member em{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-voice-member .avatar{width:18px;height:18px;font-size:9px}.channel-voice-member.is-you em{color:var(--accent, var(--brand))}.voice-count{font-size:11px;color:var(--text-muted, var(--text-muted));margin-left:auto;padding:0 4px}.channel-voice-error{padding:4px 8px 4px 30px;font-size:12px;color:var(--error, var(--error));display:flex;justify-content:space-between;align-items:center;gap:4px}.channel-voice-error-actions{display:flex;gap:4px}.channel-voice-error-actions button{background:none;border:none;color:var(--text-muted, var(--text-muted));cursor:pointer;font-size:11px;padding:2px 6px}.channel-voice-error-actions button:first-child{color:var(--accent, var(--brand))}.voice-drop-zone{position:relative}.voice-drop-zone.is-empty{margin:0 0 2px 22px}.voice-drop-zone.is-over{background:var(--osi-bg-elevated, var(--bg-elevated));border-radius:6px;outline:1px dashed var(--accent, var(--brand));outline-offset:-1px;padding:6px;transition:background .12s ease}.voice-drop-card{display:flex;align-items:center;gap:10px;background:var(--bg-elevated, #2b2d31);border:1px solid var(--accent, var(--brand));padding:8px 12px;border-radius:10px;pointer-events:none;white-space:nowrap}.voice-drop-card-icon{width:28px;height:28px;border-radius:6px;object-fit:cover;flex-shrink:0}.voice-drop-card-icon--fallback{display:flex;align-items:center;justify-content:center;background:var(--accent, var(--brand));color:var(--accent-foreground, #fff);font-weight:600;font-size:13px}.voice-drop-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.voice-drop-card-server{font-size:11px;color:var(--text-muted);text-overflow:ellipsis;overflow:hidden;max-width:200px}.voice-drop-card-channel{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--text-main);text-overflow:ellipsis;overflow:hidden;max-width:200px}.create-channel-modal{width:440px;max-width:calc(100vw - 48px)}.create-channel-modal h3{margin:0 0 16px;font-size:18px;color:var(--text-main, var(--text-normal))}.create-channel-label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, var(--text-muted))}.create-channel-input,.create-channel-select{padding:8px 10px;border:1px solid var(--border-soft, var(--border-default));border-radius:4px;background:var(--osi-color-bg-base, var(--bg-0));color:var(--text-main, var(--text-normal));font-size:14px;outline:none}.create-channel-input:focus,.create-channel-select:focus{border-color:var(--osi-color-accent-strong, var(--brand))}.create-channel-type-group{display:flex;flex-direction:column;gap:6px}.create-channel-private-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;text-transform:none;letter-spacing:normal;font-weight:500;padding:10px 12px;border:1px solid var(--border-soft, var(--border-default));border-radius:6px;background:var(--osi-color-bg-base, var(--bg-0))}.create-channel-private-meta{display:flex;flex-direction:column;gap:4px;color:var(--text-main, var(--text-normal))}.create-channel-private-title{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.create-channel-private-desc{font-size:12px;color:var(--text-muted, var(--text-muted))}.type-option{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:1px solid var(--border-soft, var(--border-default));border-radius:4px;background:var(--osi-color-bg-elevated, var(--bg-tertiary));color:var(--text-muted, var(--text-muted));cursor:pointer;font-size:13px;text-align:left;transition:border-color .15s ease,color .15s ease}.type-option:hover{border-color:var(--text-muted, var(--text-muted));color:var(--text-main, var(--text-normal))}.type-option.selected{border-color:var(--osi-color-accent-strong, var(--brand));color:var(--osi-color-accent-strong, var(--brand));background:#5865f21a}.type-option-header{display:flex;align-items:center;gap:6px;font-weight:600;text-transform:none}.type-option-desc{font-size:11px;font-weight:400;text-transform:none;color:var(--text-subtle, var(--text-faint));letter-spacing:0}.modal-btn-primary{padding:8px 16px;border-radius:4px;border:none;background:var(--osi-color-accent-strong, var(--brand));color:var(--text-on-brand);cursor:pointer;font-size:14px;font-weight:500}.modal-btn-primary:disabled{opacity:.5;cursor:not-allowed}.modal-btn-secondary{padding:8px 16px;border-radius:4px;border:none;background:transparent;color:var(--text-muted, var(--text-muted));cursor:pointer;font-size:14px}.modal-btn-secondary:hover{color:var(--text-main, var(--text-normal))}.community-settings-modal{width:400px;max-width:calc(100vw - 48px);border:1px solid var(--border-soft, var(--border-default));border-radius:12px;background:var(--osi-color-surface-modal, var(--bg-tertiary));padding:24px;display:flex;flex-direction:column;gap:16px}.community-settings-modal h3{margin:0;font-size:20px;font-weight:700;color:var(--text-main, var(--text-normal))}.community-settings-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--text-muted, var(--text-muted));text-transform:uppercase;letter-spacing:.04em}.community-settings-input{background:var(--bg-0, var(--bg-0));border:1px solid var(--border-soft, var(--border-default));border-radius:6px;padding:10px 12px;color:var(--text-main, var(--text-normal));font-size:15px}.community-settings-input:focus{outline:none;border-color:var(--brand)}.community-settings-actions{display:flex;gap:8px;justify-content:flex-end}.community-settings-save{background:var(--brand);color:var(--text-on-brand);border:none;border-radius:6px;padding:8px 20px;font-weight:600;cursor:pointer;font-size:14px}.community-settings-save:hover{filter:brightness(1.1)}.community-settings-save:disabled{opacity:.5;cursor:not-allowed}.community-settings-cancel{background:transparent;color:var(--text-muted, var(--text-muted));border:1px solid var(--border-soft, var(--border-default));border-radius:6px;padding:8px 20px;font-weight:600;cursor:pointer;font-size:14px}.community-settings-cancel:hover{color:var(--text-main, var(--text-normal))}.community-settings-divider{border:none;border-top:1px solid var(--border-soft, var(--border-default));margin:4px 0}.community-settings-roles{display:flex;align-items:center;gap:8px;background:var(--osi-color-surface-2, var(--panel-0));color:var(--text-main);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md, 6px);padding:8px 14px;cursor:pointer;font-size:14px;align-self:flex-start}.community-settings-roles:hover{background:var(--row-hover)}.community-settings-delete{background:transparent;color:var(--error);border:1px solid var(--error);border-radius:6px;padding:8px 20px;font-weight:600;cursor:pointer;font-size:14px;align-self:flex-start}.community-settings-delete:hover{background:var(--error);color:var(--text-on-brand)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-0)}.login-form{background:var(--bg-0);border-radius:12px;padding:40px 36px;width:380px;max-width:calc(100vw - 32px);box-shadow:0 8px 32px var(--osi-color-surface-overlay)}.login-title{color:var(--text-main);margin:0 0 8px;font-size:22px;text-align:center}.login-subtitle{color:var(--text-faint);text-align:center;margin:0 0 24px;font-size:13px}.login-tabs{display:flex;gap:8px;margin-bottom:20px}.login-tab{flex:1;padding:8px 0;border:none;border-radius:6px;cursor:pointer;background:var(--bg-tertiary);color:var(--text-muted);font-size:13px;transition:background .15s ease,color .15s ease}.login-tab:hover:not(.login-tab--active){color:var(--text-main)}.login-tab--active{background:var(--brand);color:var(--text-on-brand)}.login-label{display:block;color:var(--text-muted, var(--text-muted));font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.login-input{width:100%;padding:10px 12px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-tertiary);color:var(--text-main);font-size:14px;margin-bottom:12px;box-sizing:border-box;outline:none}.login-input:focus{border-color:var(--brand)}.login-field-error{color:var(--error);font-size:12px;margin:-8px 0 8px;padding:0}.login-error{color:var(--error);font-size:13px;margin:8px 0}.login-submit{width:100%;padding:10px 0;border:none;border-radius:6px;background:var(--brand);color:var(--text-on-brand);font-size:14px;cursor:pointer;margin-top:8px}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-submit--loading{opacity:.6}.password-input-wrap{position:relative;margin-bottom:12px}.password-input-wrap .login-input{margin-bottom:0;padding-right:38px}.password-input-wrap .login-input::-ms-reveal,.password-input-wrap .login-input::-ms-clear,.password-input-wrap .login-input::-webkit-credentials-auto-fill-button{display:none}.password-toggle{visibility:hidden;position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;opacity:.5;transition:opacity .15s ease;display:flex;align-items:center}.password-input-wrap:hover .password-toggle,.password-input-wrap:focus-within .password-toggle{visibility:visible}.password-toggle:hover{opacity:1}.tag-preview{color:var(--text-muted);font-size:12px;margin:-8px 0 8px}.capslock-warning{color:var(--warning);font-size:12px;margin:0 0 8px}.password-strength-bar{height:4px;border-radius:2px;background:var(--bg-0);margin:4px 0 6px;overflow:hidden}.password-strength-fill{height:100%;border-radius:2px;transition:width .3s ease,background .3s ease}.password-strength--0{width:0}.password-strength--1{width:33%;background:var(--error)}.password-strength--2{width:66%;background:var(--warning)}.password-strength--3{width:100%;background:var(--success)}.password-strength-label{font-size:11px;margin:0 0 6px;font-weight:600}.password-strength-label--1{color:var(--error)}.password-strength-label--2{color:var(--warning)}.password-strength-label--3{color:var(--success)}.password-rules{list-style:none;padding:0;margin:0 0 10px;font-size:12px}.password-rule{padding:1px 0;transition:color .2s ease}.password-rule--pass{color:var(--success)}.password-rule--pass:before{content:"✓ "}.password-rule--fail{color:var(--error)}.password-rule--fail:before{content:"✕ "}.settings-feedback{font-size:13px;margin:8px 0}.settings-feedback--success{color:var(--success)}.settings-feedback--error{color:var(--error)}.settings-hint{color:var(--osi-text-muted, var(--text-muted));font-size:12px}.email-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.3px;background:var(--osi-p-white-08);color:var(--text-normal)}.email-badge--verified{background:#57f28729;color:var(--success)}.email-badge--pending{background:#fee75c29;color:var(--warning)}.email-badge--unverified{background:#ed424529;color:var(--error)}.settings-save-btn{color:var(--text-on-brand);margin-top:12px;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:600}.settings-save-btn--active{background:var(--brand);cursor:pointer;opacity:1}.settings-save-btn--disabled{background:var(--border-default);cursor:not-allowed;opacity:.6}.settings-logout-section{margin-top:32px;border-top:1px solid var(--bg-tertiary);padding-top:16px}.settings-logout-btn{background:var(--error);color:var(--text-on-brand);border:none;border-radius:6px;padding:10px 24px;cursor:pointer;font-size:14px;font-weight:500}.settings-logout-btn:hover{filter:brightness(1.1)}.message-date-separator{display:flex;align-items:center;gap:12px;color:var(--text-muted, var(--text-muted));font-size:12px;font-weight:600;margin:16px 0 8px;padding:0 4px}.message-date-separator:before,.message-date-separator:after{content:"";flex:1;height:1px;background:var(--border-soft, #3a3f4e)}.message-list>li:first-child .message-date-separator{margin-top:-6px}.message-edit-actions{display:flex;gap:6px;margin-top:4px;font-size:12px}.message-edit-save{color:var(--success-dim);background:none;border:none;cursor:pointer;font-size:12px}.message-edit-cancel{color:var(--text-subtle);background:none;border:none;cursor:pointer;font-size:12px}.message-context-delete{color:var(--error)}.message-delete-text{margin:0 0 12px;color:var(--text-primary, #fff);font-size:14px}.message-delete-actions{display:flex;gap:8px;justify-content:flex-end}.message-delete-cancel-btn{background:transparent;border:1px solid var(--text-faint);border-radius:4px;padding:4px 12px;color:var(--text-subtle);cursor:pointer;font-size:13px}.message-delete-confirm-btn{background:var(--error);border:none;border-radius:4px;padding:4px 12px;color:var(--text-on-brand);cursor:pointer;font-size:13px}.message-row--failed{opacity:.6}.message-failed-indicator{display:flex;align-items:center;gap:8px;margin-top:4px}.message-failed-badge{color:var(--error);font-size:11px;font-weight:600}.message-retry-btn{display:inline-flex;align-items:center;gap:4px;color:var(--brand);background:none;border:none;cursor:pointer;font-size:11px;padding:2px 6px;border-radius:4px}.message-retry-btn:hover{background:var(--brand-bg-subtle)}.message-list-loading{display:flex;flex-direction:column;gap:16px;padding:20px 16px}.skeleton-row{display:flex;gap:12px;align-items:flex-start}.skeleton-avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-1, var(--bg-tertiary));animation:skeleton-pulse 1.2s ease-in-out infinite;flex-shrink:0}.skeleton-lines{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-line{height:12px;border-radius:4px;background:var(--bg-1, var(--bg-tertiary));animation:skeleton-pulse 1.2s ease-in-out infinite;width:100%}.skeleton-line--short{width:40%}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.message-row-skeleton{display:flex;gap:12px;align-items:flex-start;padding:6px 16px 4px}.message-row-skeleton__avatar{width:36px;height:36px;border-radius:50%;background:var(--osi-color-surface-1, var(--bg-tertiary, #2a2a2a));animation:skeleton-pulse 1.2s ease-in-out infinite;flex-shrink:0}.message-row-skeleton__body{flex:1 1 auto;display:flex;flex-direction:column;gap:6px;min-width:0}.message-row-skeleton__author{height:14px;width:120px;border-radius:4px;background:var(--osi-color-surface-1, var(--bg-tertiary, #2a2a2a));animation:skeleton-pulse 1.2s ease-in-out infinite}.message-row-skeleton__line{height:12px;border-radius:4px;background:var(--osi-color-surface-1, var(--bg-tertiary, #2a2a2a));animation:skeleton-pulse 1.2s ease-in-out infinite;width:100%}.message-row-skeleton__line--last{max-width:70%}.message-row-skeleton__media{margin-top:6px}.disconnect-banner{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 16px;background:var(--error);color:var(--text-on-brand);font-size:14px;font-weight:600}.disconnect-banner button{background:#fff3;border:1px solid rgba(255,255,255,.4);border-radius:4px;color:var(--text-on-brand);padding:4px 12px;cursor:pointer;font-size:13px;font-weight:600}.disconnect-banner button:hover{background:#ffffff59}.composer-upload-status{color:var(--text-muted, var(--text-subtle));font-size:.75rem;padding:4px 12px}.composer-upload-error{color:var(--status-danger, var(--error));font-size:.75rem;padding:4px 12px;display:flex;align-items:center;gap:8px}.composer-upload-dismiss{background:none;border:none;color:var(--text-muted, var(--text-subtle));cursor:pointer;font-size:.75rem}.composer-pending-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:4px 12px}.composer-pending-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--osi-color-surface-0, #2a2a2a);border-radius:4px;font-size:.75rem;color:var(--text-normal, var(--text-normal));max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-pending-remove{background:none;border:none;color:var(--text-muted, var(--text-subtle));cursor:pointer;padding:0;display:flex;align-items:center;line-height:1}.composer-pending-remove:hover{color:var(--status-danger, var(--error))}.composer-preview-card{position:relative;display:inline-block;border-radius:8px;overflow:hidden;background:var(--osi-color-surface-0, #2a2a2a);border:1px solid var(--border-soft, #3a3a3a)}.composer-preview-img{display:block;max-width:200px;max-height:150px;width:auto;height:auto;border-radius:8px}.composer-preview-remove{position:absolute;top:4px;right:4px;background:#000000b3;border:none;color:var(--text-on-brand);cursor:pointer;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity .15s}.composer-preview-card:hover .composer-preview-remove{opacity:1}.composer-preview-remove:hover{background:#ed4245e6}.composer-preview-filename{padding:8px 12px;font-size:.8rem;color:var(--text-normal, var(--text-normal))}.composer-attachment--uploading{position:relative}.composer-attachment--uploading .composer-preview-img{filter:brightness(.7) saturate(.6);transition:filter .2s ease-out}.composer-attachment-progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:#00000073;border-radius:0 0 8px 8px;overflow:hidden;pointer-events:none}.composer-attachment-progress__bar{height:100%;background:var(--osi-color-accent-fill, #5865f2);transition:width .12s linear}.voice-error{color:var(--status-danger, #f44);font-size:.75rem;padding:4px 8px;display:flex;align-items:center;justify-content:space-between;gap:6px;background:#f4444414;border-radius:4px;margin:2px 8px}.voice-error-message{flex:1;min-width:0}.voice-error-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.voice-error-retry{background:var(--status-danger, #f44);color:var(--text-on-brand);border:none;border-radius:3px;padding:2px 8px;font-size:.7rem;cursor:pointer;white-space:nowrap}.voice-error-retry:hover{opacity:.85}.voice-error-dismiss{background:none;border:none;color:var(--status-danger, #f44);cursor:pointer;padding:0 2px;font-size:.8rem;line-height:1}.activity-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:.5rem;color:var(--text-muted, var(--text-muted))}.activity-empty__title{margin:0;font-size:.95rem;font-weight:500}.activity-empty__subtitle{margin:0;font-size:.85rem}.notification-mark-all{margin-left:auto;background:none;border:1px solid var(--border-dim, var(--border-default));border-radius:4px;color:var(--text-muted, var(--text-dim));font-size:.75rem;padding:2px 8px;cursor:pointer}.notification-mark-all:hover{color:var(--text-primary, #fff);border-color:var(--text-primary, #fff)}.notification-mark-read{flex-shrink:0;background:none;border:none;color:var(--text-muted, var(--text-dim));font-size:.7rem;cursor:pointer;padding:2px 6px}.notification-mark-read:hover{color:var(--text-primary, #fff)}.scoped-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;gap:.75rem;color:var(--text-muted, var(--text-muted));min-height:120px}.scoped-error__title{margin:0;font-size:.9rem;font-weight:500}.scoped-error__retry{background:var(--brand-primary, var(--brand));border:none;border-radius:4px;color:var(--text-on-brand);font-size:.8rem;padding:4px 16px;cursor:pointer}.channel-unread-pill{position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:8px;background:var(--osi-color-bg-base);border-radius:0 4px 4px 0;transition:height .15s ease}.channel-unread-pill.is-active{height:20px}.channel-chip-row.is-unread .channel-chip button{font-weight:700;color:var(--text-on-brand)}.mention-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--error);color:var(--text-on-brand);font-size:11px;font-weight:700;line-height:1;margin-left:auto;flex-shrink:0}.server-badge{position:absolute;bottom:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--error);color:var(--text-on-brand);font-size:11px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--bg-primary, var(--bg-tertiary))}.server-unread-dot{position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--osi-color-bg-base);border-radius:50%}.server-icon-wrap{position:relative}.rail-server-folders{display:flex;flex-direction:column;gap:var(--osi-p-space-px-6)}.rail-server-folders.is-root-drop{outline:1px dashed var(--text-muted);border-radius:var(--osi-radius-md)}.server-icon-wrap.is-dragging{opacity:.5}.server-icon-wrap.is-drop-target .rail-server-button{outline:2px solid var(--brand-default, currentColor);outline-offset:2px}.rail-folder{display:flex;flex-direction:column;gap:var(--osi-p-space-px-4);border-radius:var(--osi-radius-lg)}.rail-folder.is-drop-target{outline:2px dashed var(--brand-default, currentColor);outline-offset:2px}.rail-folder-header{width:100%;display:flex;align-items:center;gap:var(--osi-p-space-px-4);padding:var(--osi-p-space-px-2) var(--osi-p-space-px-4);border:none;border-radius:var(--osi-radius-lg);background:#7f7f7f2e;color:var(--text-normal);cursor:pointer;position:relative}.rail-folder-header:hover{filter:brightness(1.15)}.rail-folder-chevron{display:inline-flex}.rail-folder-name{flex:1;text-align:left;font-size:11px;font-weight:600;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-folder-stack{display:grid;grid-template-columns:1fr 1fr;gap:2px;flex:1}.rail-folder-mini{width:14px;height:14px;border-radius:4px;object-fit:cover}.rail-folder-children{display:flex;flex-direction:column;gap:var(--osi-p-space-px-6);padding-left:var(--osi-p-space-px-4)}.rail-reorder-slot{height:6px;margin:-3px 0;border-radius:3px;background:transparent;transition:background-color 80ms ease-out;pointer-events:auto}.rail-reorder-slot.is-over{background:var(--osi-color-accent, #5865F2);height:4px;margin:-2px 0}.folder-aggregate-badge,.folder-aggregate-dot{position:static!important;margin-left:auto}.rail-folder-menu{position:absolute;z-index:200;margin-top:2px;background:var(--osi-color-panel-1, var(--panel-1));border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);padding:4px;display:flex;flex-direction:column;gap:2px;min-width:160px;box-shadow:0 4px 16px #00000059}.rail-folder-menu button{display:flex;align-items:center;gap:8px;padding:6px 8px;background:transparent;color:var(--text-normal);border:none;border-radius:4px;font-size:13px;cursor:pointer;text-align:left}.rail-folder-menu button:hover{background:var(--row-hover)}.rail-folder-menu button.danger{color:var(--error)}.rail-folder-rename-form{display:flex;gap:4px;padding:4px}.rail-folder-rename-form input{flex:1;background:var(--bg-0);border:1px solid var(--border-soft);border-radius:4px;color:var(--text-normal);padding:4px 6px;font-size:13px;min-width:0}.rail-folder-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px}.rail-folder-swatch{width:24px;height:24px;border-radius:50%;border:1px solid var(--border-soft);cursor:pointer}@keyframes mention-ping{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.server-badge.is-new{animation:mention-ping .3s ease}.role-settings{display:flex;width:var(--osi-p-size-980);max-width:calc(100vw - 56px);height:var(--osi-p-size-700);max-height:calc(100vh - 56px);border-radius:var(--osi-radius-xl);background:var(--osi-color-surface-modal, var(--panel-1));overflow:hidden}.role-settings-sidebar{width:220px;min-width:220px;border-right:1px solid var(--border-soft);display:flex;flex-direction:column;background:var(--osi-color-surface-2, var(--panel-0))}.role-settings-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 8px}.role-settings-sidebar-header h3{margin:0;font-size:var(--osi-font-size-sm, 12px);text-transform:uppercase;letter-spacing:.04em;color:var(--text-subtle)}.role-list{flex:1;overflow-y:auto;padding:0 8px 8px}.role-list-loading{padding:16px;text-align:center;color:var(--text-muted);font-size:13px}.role-list-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--osi-radius-md, 6px);cursor:pointer;font-size:14px;color:var(--text-main);-webkit-user-select:none;user-select:none}.role-list-item:hover{background:var(--row-hover)}.role-list-item--active{background:var(--row-selected)}.role-drag-handle{cursor:grab;color:var(--text-subtle);display:flex;flex-shrink:0}.role-list-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.role-list-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-settings-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.role-settings-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-soft)}.role-settings-title{display:flex;align-items:center;gap:8px}.role-settings-title h2{margin:0;font-size:var(--osi-font-size-lg, 18px)}.role-delete-btn{color:var(--osi-color-negative, var(--error))!important}.role-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-soft);padding:0 16px}.role-tab{padding:10px 16px;border:none;background:none;color:var(--text-muted);font-size:14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.role-tab:hover{color:var(--text-main)}.role-tab--active{color:var(--text-main);border-bottom-color:var(--osi-color-accent-strong, var(--brand))}.role-tab-content{flex:1;overflow-y:auto;padding:16px}.role-saving-indicator{position:absolute;bottom:16px;right:16px;padding:6px 12px;background:var(--osi-color-accent-strong, var(--brand));color:#fff;border-radius:var(--osi-radius-md, 6px);font-size:13px}.role-display{display:flex;flex-direction:column;gap:20px}.role-display-section{display:flex;flex-direction:column;gap:8px}.role-display-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600;display:flex;flex-direction:column;gap:6px}.role-display-input{width:100%;border:1px solid var(--border-soft);border-radius:var(--osi-radius-md, 6px);background:var(--osi-color-surface-input, var(--panel-0));color:var(--text-main);padding:8px 10px;font-size:14px}.role-display-input:focus{outline:none;border-color:var(--osi-color-accent-strong, var(--brand))}.role-color-grid{display:flex;flex-wrap:wrap;gap:6px}.role-color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.role-color-swatch:hover{border-color:var(--text-muted)}.role-color-swatch--active{border-color:#fff;box-shadow:0 0 0 2px var(--osi-color-accent-strong, var(--brand))}.role-custom-color{flex-direction:row;align-items:center;gap:8px}.role-custom-color input[type=color]{width:28px;height:28px;border:none;padding:0;cursor:pointer;border-radius:50%;background:none}.role-color-hex{width:100px!important;font-family:monospace}.role-display-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-soft)}.role-display-hint{font-size:12px;color:var(--text-subtle);font-weight:400;text-transform:none;letter-spacing:normal}.role-icon-upload{display:flex;flex-direction:column;gap:8px}.role-icon-upload-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:80px;height:80px;border:2px dashed var(--border-soft);border-radius:var(--osi-radius-lg, 8px);background:var(--osi-color-surface-input, var(--panel-0));color:var(--text-muted);cursor:pointer;font-size:11px;padding:4px}.role-icon-upload-btn:hover{border-color:var(--osi-color-accent-strong, var(--brand));color:var(--text-main)}.role-icon-preview-wrap{position:relative;width:80px;height:80px}.role-icon-preview{width:80px;height:80px;border-radius:var(--osi-radius-lg, 8px);object-fit:cover;border:1px solid var(--border-soft)}.role-icon-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:none;background:var(--osi-color-negative, var(--error));color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.role-icon-error{font-size:12px;color:var(--osi-color-negative, var(--error))}.perm-toggles{display:flex;flex-direction:column;gap:16px}.perm-group{display:flex;flex-direction:column;gap:2px}.perm-group-title{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-subtle);font-weight:600}.perm-item{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-soft)}.perm-item--admin{padding:10px 12px;background:color-mix(in srgb,var(--osi-color-warning, #ffa500) 8%,transparent);border-radius:var(--osi-radius-md, 6px);border-bottom:none}.perm-item-info{display:flex;flex-direction:column;gap:2px;min-width:0;margin-right:12px}.perm-item-label{font-size:14px;color:var(--text-main);font-weight:500}.perm-item-desc{font-size:12px;color:var(--text-subtle)}.perm-admin-warning{padding:8px 12px;font-size:12px;color:var(--osi-color-warning-text, #ffa500);background:color-mix(in srgb,var(--osi-color-warning, #ffa500) 8%,transparent);border-radius:var(--osi-radius-md, 6px)}.perm-switch{position:relative;width:40px;height:22px;border-radius:11px;border:none;background:var(--osi-color-surface-2, var(--border-default));cursor:pointer;padding:0;flex-shrink:0;transition:background .15s}.perm-switch--on{background:var(--osi-color-positive, var(--success-dim))}.perm-switch--danger.perm-switch--on{background:var(--osi-color-negative, var(--error))}.perm-switch:disabled{opacity:.5;cursor:not-allowed}.perm-switch-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}.perm-switch--on .perm-switch-thumb{transform:translate(18px)}.role-members{display:flex;flex-direction:column;gap:12px}.role-members-toolbar{display:flex;align-items:center;gap:8px}.role-members-search{flex:1;display:flex;align-items:center;gap:6px;border:1px solid var(--border-soft);border-radius:var(--osi-radius-md, 6px);background:var(--osi-color-surface-input, var(--panel-0));padding:0 10px;color:var(--text-subtle)}.role-members-search input{flex:1;border:none;background:none;color:var(--text-main);padding:6px 0;outline:none;font-size:14px}.role-members-count{font-size:12px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em}.role-members-list{height:360px;overflow-y:auto}.role-member-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--osi-radius-md, 6px)}.role-member-row:hover{background:var(--row-hover)}.role-member-avatar{width:28px;height:28px;border-radius:50%}.role-member-name{flex:1;font-size:14px;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-member-remove{border:none;background:none;cursor:pointer;color:var(--text-subtle);padding:4px;border-radius:var(--osi-radius-sm, 4px);display:flex}.role-member-remove:hover{color:var(--osi-color-negative, var(--error));background:var(--row-hover)}.role-add-modal{width:440px;max-height:520px;background:var(--osi-color-surface-modal, var(--panel-1));border-radius:var(--osi-radius-xl, 12px);padding:16px;display:flex;flex-direction:column;gap:12px}.role-add-modal-header{display:flex;align-items:center;justify-content:space-between}.role-add-modal-header h3{margin:0;font-size:16px}.role-add-list{flex:1;overflow-y:auto;max-height:360px}.role-add-empty{padding:24px;text-align:center;color:var(--text-subtle);font-size:14px}.role-delete-confirm{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:color-mix(in srgb,var(--osi-color-negative, var(--error)) 10%,transparent);border-bottom:1px solid var(--border-soft);font-size:14px;color:var(--osi-color-negative-text, #ff6b6b)}.role-delete-actions{display:flex;gap:8px}.role-delete-confirm-btn{background:var(--osi-color-negative, var(--error))!important;color:#fff!important}.role-save-bar{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--bg-tertiary, #202225);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md, 8px);box-shadow:0 4px 16px #00000047;font-size:14px;color:var(--osi-text-primary, var(--text));z-index:5}.role-save-bar-text{white-space:nowrap}.role-save-bar-actions{display:flex;gap:8px}.role-discard-confirm{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;background:#0000008c;z-index:10}.role-discard-text{max-width:360px;margin:0;text-align:center;color:var(--osi-text-primary, var(--text));background:var(--bg-secondary, #2f3136);padding:16px 20px;border-radius:var(--osi-radius-md, 8px);border:1px solid var(--border-soft)}.role-discard-actions{display:flex;gap:8px}.role-discard-confirm-btn{background:var(--osi-color-negative, var(--error))!important;color:#fff!important}.channel-perms{display:flex;width:90vw;max-width:900px;height:80vh;background:var(--bg-secondary, #2f3136);border-radius:12px;overflow:hidden;position:relative}.channel-perms-sidebar{width:240px;min-width:240px;background:var(--bg-tertiary, #202225);display:flex;flex-direction:column;border-right:1px solid var(--border-soft, var(--border-soft))}.channel-perms-sidebar-header{padding:16px;border-bottom:1px solid var(--border-soft, var(--border-soft))}.channel-perms-sidebar-header h3{font-size:14px;font-weight:600;color:var(--text-primary, #fff);margin:0 0 4px;text-transform:uppercase;letter-spacing:.02em}.channel-perms-channel-name{font-size:13px;color:var(--text-muted, var(--text-faint))}.channel-perms-targets{flex:1;overflow-y:auto;padding:8px}.channel-perms-target{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s}.channel-perms-target:hover{background:var(--bg-modifier-hover, var(--border-soft))}.channel-perms-target--active{background:var(--bg-modifier-selected, #42464d)}.channel-perms-target-icon{color:var(--text-muted, var(--text-faint));flex-shrink:0}.channel-perms-target-name{flex:1;font-size:14px;color:var(--text-primary, var(--text-normal));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-perms-target-remove{opacity:0;background:none;border:none;color:var(--text-muted, var(--text-faint));cursor:pointer;padding:2px;border-radius:4px;transition:opacity .15s,color .15s}.channel-perms-target:hover .channel-perms-target-remove{opacity:1}.channel-perms-target-remove:hover{color:var(--osi-color-negative, var(--error))}.channel-perms-add-btn{margin:8px;justify-content:center;gap:6px}.channel-perms-loading{padding:16px;text-align:center;color:var(--text-muted, var(--text-faint));font-size:13px}.channel-perms-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.channel-perms-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-soft, var(--border-soft))}.channel-perms-title{display:flex;align-items:center;gap:10px;color:var(--text-primary, #fff)}.channel-perms-title h2{font-size:16px;font-weight:600;margin:0}.channel-perms-type-badge{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--bg-modifier-hover, var(--border-soft));color:var(--text-muted, var(--text-faint));text-transform:uppercase;font-weight:600;letter-spacing:.03em}.channel-perms-warning{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#ed42451a;border-bottom:1px solid var(--error-bg);color:var(--error);font-size:13px}.channel-perms-toggles{flex:1;overflow-y:auto;padding:16px 20px}.channel-perms-hint{font-size:13px;color:var(--text-muted, var(--text-faint));margin:0 0 16px;line-height:1.5}.channel-perms-hint strong{color:var(--text-primary, var(--text-normal))}.perm-item-hint{display:block;font-size:11px;color:var(--osi-color-primary, var(--brand));margin-top:2px;font-style:italic}.tri-state-group{display:flex;align-items:center;gap:6px;flex-shrink:0}.tri-state-effective{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tri-state-effective--granted{background:#3ba55d33;color:var(--success-dim)}.tri-state-effective--denied{background:var(--error-bg);color:var(--error)}.channel-perms-admin-note{color:var(--warning);font-weight:600}.tri-state-btn{width:40px;height:24px;border-radius:12px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.tri-state-btn:disabled{opacity:.5;cursor:not-allowed}.tri-state-btn--inherit{background:var(--bg-modifier-hover, var(--border-default));color:var(--text-on-brand)}.tri-state-btn--allow{background:var(--success-dim);color:var(--text-on-brand)}.tri-state-btn--deny{background:var(--error);color:var(--text-on-brand)}.tri-state-btn:not(:disabled):hover{filter:brightness(1.1)}.channel-perms-add-overlay{position:absolute;inset:0;background:var(--overlay-heavy);display:flex;align-items:center;justify-content:center;z-index:10}.channel-perms-add-modal{background:var(--bg-secondary, #2f3136);border-radius:10px;width:360px;max-height:450px;display:flex;flex-direction:column;box-shadow:0 8px 32px var(--osi-color-surface-overlay)}.channel-perms-add-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-soft, var(--border-soft))}.channel-perms-add-header h3{font-size:15px;font-weight:600;color:var(--text-primary, #fff);margin:0}.channel-perms-add-close{background:none;border:none;color:var(--text-muted, var(--text-faint));cursor:pointer;padding:4px;border-radius:4px}.channel-perms-add-close:hover{color:var(--text-primary, var(--text-normal))}.channel-perms-add-tabs{display:flex;border-bottom:1px solid var(--border-soft, var(--border-soft))}.channel-perms-add-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted, var(--text-faint));font-size:13px;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s}.channel-perms-add-tab:hover{color:var(--text-primary, var(--text-normal))}.channel-perms-add-tab--active{color:var(--text-primary, #fff);border-bottom-color:var(--osi-color-primary, var(--brand))}.channel-perms-add-search{margin:12px 16px 8px;padding:8px 12px;background:var(--bg-tertiary, #202225);border:1px solid var(--border-soft, var(--border-soft));border-radius:6px;color:var(--text-primary, var(--text-normal));font-size:14px;outline:none}.channel-perms-add-search:focus{border-color:var(--osi-color-primary, var(--brand))}.channel-perms-add-list{flex:1;overflow-y:auto;padding:4px 8px 12px}.channel-perms-add-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:none;border:none;border-radius:6px;color:var(--text-primary, var(--text-normal));font-size:14px;cursor:pointer;text-align:left;transition:background .15s}.channel-perms-add-item:hover{background:var(--bg-modifier-hover, var(--border-soft))}.channel-perms-add-empty{padding:16px;text-align:center;color:var(--text-muted, var(--text-faint));font-size:13px}.friends-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.friends-header{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid var(--border-soft);flex-shrink:0}.friends-title{font-size:16px;font-weight:700;color:var(--text-main);margin:0;white-space:nowrap}.friends-tabs{display:flex;gap:2px}.friends-tab{padding:4px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap}.friends-tab:hover{background:var(--row-hover);color:var(--text-main)}.friends-tab--active{background:var(--row-selected);color:var(--text-main)}.friends-tab--add{color:var(--osi-color-accent-strong, var(--success-dim))}.friends-tab--add.friends-tab--active{background:var(--osi-color-accent-strong, var(--success-dim));color:var(--text-on-brand)}.friends-tab__badge{min-width:16px;height:16px;border-radius:8px;background:var(--osi-color-accent-strong, var(--error-hover));color:var(--text-on-brand);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.friends-content{flex:1;overflow-y:auto;padding:16px 20px}.friends-count{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px}.friends-loading{color:var(--text-muted);font-size:14px;text-align:center;padding:32px 0}.friends-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.friends-empty{padding:32px 0;text-align:center;color:var(--text-muted);font-size:14px}.friends-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-top:1px solid var(--border-soft);cursor:default}.friends-item:hover{background:var(--row-hover);border-radius:8px}.friends-item__info{display:flex;align-items:center;gap:12px;min-width:0}.friends-item__text{display:flex;flex-direction:column;min-width:0}.friends-item__name{font-size:14px;font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friends-item__status{font-size:12px;color:var(--text-muted)}.friends-item__actions{display:flex;align-items:center;gap:4px;opacity:0}.friends-item:hover .friends-item__actions{opacity:1}.friends-request{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-top:1px solid var(--border-soft);transition:opacity .3s,transform .3s}.friends-request:hover{background:var(--row-hover);border-radius:8px}.friends-request--accept{opacity:0;transform:translate(20px)}.friends-request--decline{opacity:0;transform:translate(-20px)}.friends-request__info{display:flex;align-items:center;gap:12px;min-width:0}.friends-request__text{display:flex;flex-direction:column;min-width:0}.friends-request__name{font-size:14px;font-weight:600;color:var(--text-main)}.friends-request__meta{font-size:12px;color:var(--text-muted)}.friends-request__actions{display:flex;align-items:center;gap:4px}.friends-action-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--bg-1);color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.friends-action-btn:hover{color:var(--text-main);background:var(--row-hover)}.friends-action-btn--accept:hover{color:var(--success-dim)}.friends-action-btn--decline:hover{color:var(--error-hover)}.friends-action-btn--unblock{width:auto;border-radius:4px;padding:6px 12px;font-size:13px;gap:6px}.friends-action-btn--voice-placeholder{opacity:.4;cursor:not-allowed}.friends-action-btn--voice-placeholder:hover{color:var(--text-muted);background:var(--bg-1)}.friends-more-wrap{position:relative}.friends-dropdown{position:absolute;top:100%;right:0;z-index:100;min-width:160px;background:var(--panel-1);border:1px solid var(--border-soft);border-radius:6px;padding:4px;box-shadow:0 4px 12px var(--osi-p-black-24)}.friends-dropdown__item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:13px;cursor:pointer;text-align:left}.friends-dropdown__item:hover{background:var(--row-hover);color:var(--text-main)}.friends-dropdown__item--danger:hover{background:#f0474726;color:var(--error-hover)}.friends-blocked-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-top:1px solid var(--border-soft)}.friends-blocked-item:hover{background:var(--row-hover);border-radius:8px}.friends-blocked-item__info{display:flex;align-items:center;gap:12px}.friends-blocked-item__name{font-size:14px;font-weight:600;color:var(--text-main)}.add-friend-section{padding:20px 0}.add-friend-title{font-size:16px;font-weight:700;color:var(--text-main);margin:0 0 4px}.add-friend-hint{font-size:13px;color:var(--text-muted);margin:0 0 16px}.add-friend-input-wrap{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-0);border:1px solid var(--border-soft);border-radius:8px}.add-friend-input-wrap--success{border-color:var(--success-dim)}.add-friend-input-wrap--error{border-color:var(--error-hover)}.add-friend-icon{color:var(--text-muted);flex-shrink:0}.add-friend-input{flex:1;border:none;background:transparent;color:var(--text-main);font-size:14px;outline:none}.add-friend-input::placeholder{color:var(--text-subtle)}.add-friend-btn{flex-shrink:0;padding:6px 16px;border:none;border-radius:4px;background:var(--osi-color-accent-strong, var(--brand));color:var(--text-on-brand);font-size:13px;font-weight:600;cursor:pointer}.add-friend-btn:hover:not(:disabled){opacity:.9}.add-friend-btn:disabled{opacity:.5;cursor:default}.add-friend-status{font-size:13px;margin:8px 0 0}.add-friend-status--success{color:var(--success-dim)}.add-friend-status--error{color:var(--error-hover)}.friends-confirm-overlay{position:fixed;inset:0;z-index:200;background:var(--overlay-heavy);display:flex;align-items:center;justify-content:center}.friends-confirm-dialog{background:var(--panel-1);border:1px solid var(--border-soft);border-radius:8px;padding:24px;max-width:400px;width:90%;box-shadow:0 8px 24px var(--osi-color-surface-overlay)}.friends-confirm-dialog__title{font-size:18px;font-weight:700;color:var(--text-main);margin:0 0 8px}.friends-confirm-dialog__text{font-size:14px;color:var(--text-muted);margin:0 0 20px;line-height:1.5}.friends-confirm-dialog__actions{display:flex;justify-content:flex-end;gap:8px}.friends-confirm-dialog__btn{padding:8px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer}.friends-confirm-dialog__btn--cancel{background:transparent;color:var(--text-muted)}.friends-confirm-dialog__btn--cancel:hover{text-decoration:underline}.friends-confirm-dialog__btn--confirm{background:var(--error-hover);color:var(--text-on-brand)}.friends-confirm-dialog__btn--confirm:hover{background:var(--error)}.block-confirm-overlay{position:fixed;inset:0;z-index:200;background:var(--overlay-heavy);display:flex;align-items:center;justify-content:center}.block-confirm-dialog{background:var(--bg-1, var(--bg-tertiary));border-radius:8px;padding:24px;max-width:420px;width:90%;box-shadow:0 8px 32px var(--overlay-heavy);text-align:center}.block-confirm-dialog__icon{color:var(--error);margin-bottom:12px}.block-confirm-dialog__title{font-size:18px;font-weight:700;color:var(--text-main, var(--text-normal));margin:0 0 8px}.block-confirm-dialog__text{font-size:14px;color:var(--text-secondary, var(--text-dim));margin:0 0 16px;line-height:1.5}.block-confirm-dialog__checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary, var(--text-dim));margin-bottom:16px;justify-content:center;cursor:pointer}.block-confirm-dialog__checkbox input{accent-color:var(--brand)}.block-confirm-dialog__actions{display:flex;gap:12px;justify-content:center}.block-confirm-dialog__btn{padding:8px 24px;border-radius:4px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:background .15s}.block-confirm-dialog__btn--cancel{background:transparent;color:var(--text-main, var(--text-normal))}.block-confirm-dialog__btn--cancel:hover{text-decoration:underline}.block-confirm-dialog__btn--confirm{background:var(--error);color:var(--text-on-brand)}.block-confirm-dialog__btn--confirm:hover{background:var(--error)}.block-confirm-dialog__btn--unblock{background:var(--success-dim);color:var(--text-on-brand)}.block-confirm-dialog__btn--unblock:hover{background:var(--success-dim)}.block-confirm-dialog__btn--warning{background:var(--warning);color:var(--text-on-brand)}.block-confirm-dialog__btn--warning:hover{filter:brightness(.95)}.member-action-dialog__reason{width:100%;padding:8px 10px;margin-bottom:16px;border-radius:4px;border:1px solid var(--border-default, var(--border-subtle));background:var(--bg-2, var(--bg-secondary));color:var(--text-main, var(--text-normal));font-size:13px;font-family:inherit;resize:vertical;min-height:60px;box-sizing:border-box}.community-bans-modal{max-width:560px;width:90%}.community-bans-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.community-bans-inline{display:flex;flex-direction:column;width:100%}.community-bans-loading,.community-bans-empty{font-size:14px;color:var(--text-secondary, var(--text-dim));padding:16px 0;text-align:center}.community-bans-error{background:var(--error);color:var(--text-on-brand);padding:8px 12px;border-radius:4px;margin-bottom:12px;font-size:13px}.community-bans-list{list-style:none;padding:0;margin:0;max-height:60vh;overflow-y:auto}.community-bans-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-default, var(--border-subtle))}.community-bans-row:last-child{border-bottom:none}.community-bans-row__main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.community-bans-row__name{font-size:14px;color:var(--text-main, var(--text-normal))}.community-bans-row__reason{font-size:12px;color:var(--text-secondary, var(--text-dim));font-style:italic}.community-bans-row__date{font-size:11px;color:var(--text-secondary, var(--text-dim))}.community-bans-row__unban{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:4px;background:var(--success-dim);color:var(--text-on-brand);border:none;cursor:pointer;font-size:13px}.community-bans-row__unban:hover:not(:disabled){filter:brightness(.95)}.community-bans-row__unban:disabled{opacity:.6;cursor:not-allowed}.redeem-invite-error{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;border-radius:4px;background:var(--bg-2, var(--bg-secondary));color:var(--error);font-size:13px;line-height:1.4;border-left:3px solid var(--error)}.redeem-invite-error--banned{background:color-mix(in srgb,var(--error) 12%,transparent)}.redeem-invite-error svg{flex-shrink:0}.message-row--blocked-collapsed{opacity:.6}.blocked-message-placeholder{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--text-secondary, var(--text-dim));font-size:13px;padding:6px 16px;cursor:pointer;width:100%;transition:background .15s;border-radius:4px}.blocked-message-placeholder:hover{background:var(--row-hover, var(--osi-p-white-12));color:var(--text-main, var(--text-normal))}.blocked-message-placeholder small{color:var(--text-muted, var(--text-faint));font-size:11px}.message-row--blocked-expanded{border-left:3px solid var(--error);padding-left:4px}.blocked-message-banner{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--error);padding:2px 16px 4px}.blocked-message-collapse-btn{background:none;border:none;color:var(--text-secondary, var(--text-dim));font-size:11px;cursor:pointer;margin-left:auto;padding:2px 6px;border-radius:3px}.blocked-message-collapse-btn:hover{background:var(--row-hover, var(--osi-p-white-12));color:var(--text-main, var(--text-normal))}.message-context-block{display:flex;align-items:center;gap:6px;color:var(--error)}.message-context-block:hover{background:var(--error);color:var(--text-on-brand)}.profile-action-block{color:var(--error)!important;border:1px solid rgba(237,66,69,.3);border-radius:4px;padding:6px 12px;background:transparent;cursor:pointer;font-size:13px;transition:background .15s}.profile-action-block:hover{background:var(--error-bg)}.profile-action-unblock{color:var(--success-dim)!important;border:1px solid rgba(59,165,92,.3);border-radius:4px;padding:6px 12px;background:transparent;cursor:pointer;font-size:13px;transition:background .15s}.profile-action-unblock:hover{background:#3ba55c26}.chat-header-more-wrap{position:relative}.chat-header-dropdown{position:absolute;top:100%;right:0;z-index:100;background:var(--bg-1, #111214);border-radius:6px;padding:4px;min-width:160px;box-shadow:0 4px 16px var(--osi-color-surface-overlay)}.chat-header-dropdown__item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;color:var(--text-main, var(--text-normal));font-size:13px;border-radius:4px;cursor:pointer}.chat-header-dropdown__item:hover{background:var(--row-hover, var(--osi-p-white-22))}.chat-header-dropdown__item--danger{color:var(--error)}.chat-header-dropdown__item--danger:hover{background:var(--error-bg);color:var(--error)}.member-context-menu{background:var(--bg-1, #111214);border-radius:6px;padding:4px;min-width:160px;box-shadow:0 4px 16px var(--osi-color-surface-overlay)}.member-context-menu__item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;color:var(--text-main, var(--text-normal));font-size:13px;border-radius:4px;cursor:pointer}.member-context-menu__item:hover{background:var(--row-hover, var(--osi-p-white-22))}.member-context-menu__item--danger{color:var(--error)}.member-context-menu__item--danger:hover{background:var(--error-bg);color:var(--error)}.member-row--blocked{opacity:.4}.member-row--blocked .member-name{text-decoration:line-through}.member-sidebar{display:flex;flex-direction:column;gap:var(--osi-spacing-2);height:100%;overflow:hidden}.member-sidebar-list{flex:1;overflow-y:auto;overflow-x:hidden}.member-search{position:relative;padding:0 var(--osi-spacing-2)}.member-search-icon{position:absolute;left:calc(var(--osi-spacing-2) + 8px);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.member-search-input{width:100%;padding:6px 30px;background:var(--osi-color-bg-base);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);color:var(--text-main);font-size:var(--osi-font-size-sm);outline:none;transition:border-color .15s}.member-search-input::placeholder{color:var(--text-muted)}.member-search-input:focus{border-color:var(--osi-focus-ring)}.member-search-clear{position:absolute;right:calc(var(--osi-spacing-2) + 4px);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:flex;align-items:center}.member-search-clear:hover{color:var(--text-main)}.member-group-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:4px var(--osi-spacing-2);-webkit-user-select:none;user-select:none}.member-group-header:hover{background:var(--row-hover);border-radius:var(--osi-radius-md)}.member-group-title{font-size:var(--osi-font-size-sm);font-weight:600;color:var(--text-subtle);letter-spacing:var(--osi-font-tracking-wider);text-transform:uppercase}.member-group-count{font-size:var(--osi-font-size-caption);color:var(--text-muted)}.member-group-chevron{color:var(--text-muted);transition:transform .15s}.member-group-chevron--collapsed{transform:rotate(-90deg)}.member-item{display:flex;align-items:center;gap:8px;padding:4px var(--osi-spacing-2);border-radius:var(--osi-radius-md);cursor:pointer;border:none;background:none;width:100%;text-align:left;color:var(--text-main);font:inherit}.member-item:hover{background:var(--row-hover)}.member-item--offline{opacity:.45}.member-item-info{flex:1;min-width:0;display:flex;flex-direction:column}.member-item-name{font-size:var(--osi-font-size-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-item-status{font-size:var(--osi-font-size-caption);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card-popup{position:fixed;z-index:300;width:280px;background:var(--panel-1);border:1px solid var(--border-soft);border-radius:8px;box-shadow:0 8px 24px var(--osi-color-surface-overlay);padding:var(--osi-spacing-3);display:flex;flex-direction:column;gap:var(--osi-spacing-2)}.user-card-banner{height:60px;background:linear-gradient(135deg,var(--osi-color-bg-base),var(--panel-1));border-radius:6px 6px 0 0;margin:calc(var(--osi-spacing-3) * -1);margin-bottom:0}.user-card-avatar{margin-top:-20px;padding-left:var(--osi-spacing-2)}.user-card-name{font-size:16px;font-weight:600;margin:0}.user-card-username{font-size:var(--osi-font-size-caption);color:var(--text-muted);margin:0}.user-card-divider{border:none;border-top:1px solid var(--border-soft);margin:4px 0}.user-card-section-title{font-size:11px;font-weight:700;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.02em;margin:0 0 4px}.user-card-roles{display:flex;flex-wrap:wrap;gap:4px}.user-card-role-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;background:var(--osi-color-bg-base);color:var(--text-main)}.user-card-role-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.user-card-joined{font-size:var(--osi-font-size-caption);color:var(--text-muted);margin:0}.user-card-mutual{display:flex;flex-direction:column;gap:6px;margin-top:8px}.user-card-mutual-status{font-size:var(--osi-font-size-caption);color:var(--text-muted);margin:0}.user-card-mutual-list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.user-card-mutual-item{display:flex;align-items:center;gap:8px;font-size:var(--osi-font-size-sm);color:var(--text-main);overflow:hidden}.user-card-mutual-icon{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0}.user-card-mutual-icon--fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--osi-color-bg-base);color:var(--text-muted);font-weight:600;font-size:11px}.user-card-mutual-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-mutual-more{align-self:flex-start;background:none;border:none;color:var(--osi-color-link, var(--text-muted));cursor:pointer;font-size:var(--osi-font-size-caption);padding:2px 0}.user-card-actions{display:flex;gap:8px}.user-card-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:var(--osi-radius-md);border:none;font-size:var(--osi-font-size-sm);font-weight:500;cursor:pointer;background:var(--osi-color-bg-base);color:var(--text-main);transition:background .15s}.user-card-btn:hover{background:var(--row-hover)}.user-card-btn--primary{background:var(--brand);color:var(--text-on-brand)}.user-card-btn--primary:hover{background:var(--brand-hover)}.user-card-btn--danger{color:var(--osi-color-negative)}.user-card-btn--danger:hover{background:var(--error-bg)}.member-sidebar-count{padding:0 var(--osi-spacing-2);font-size:var(--osi-font-size-caption);color:var(--text-muted)}.member-sidebar-loading{display:flex;justify-content:center;padding:var(--osi-spacing-3);color:var(--text-muted);font-size:var(--osi-font-size-sm)}.notif-level-picker{display:flex;flex-direction:column;gap:4px}.notif-level-option{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:var(--osi-radius-md);border:1px solid transparent;background:none;cursor:pointer;text-align:left;color:var(--text-main);font:inherit;width:100%;transition:background .15s}.notif-level-option:hover{background:var(--row-hover)}.notif-level-option.is-active{border-color:var(--brand);background:var(--brand-bg-subtle)}.notif-level-radio{width:16px;height:16px;border-radius:50%;border:2px solid var(--text-muted);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center}.notif-level-option.is-active .notif-level-radio{border-color:var(--brand)}.notif-level-radio-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);display:none}.notif-level-option.is-active .notif-level-radio-dot{display:block}.notif-level-info{display:flex;flex-direction:column;gap:2px}.notif-level-label{font-size:var(--osi-font-size-md);font-weight:500}.notif-level-desc{font-size:var(--osi-font-size-caption);color:var(--text-muted)}.notif-settings-popup{position:fixed;z-index:250;width:340px;background:var(--panel-1);border:1px solid var(--border-soft);border-radius:8px;box-shadow:0 8px 24px var(--osi-color-surface-overlay);padding:var(--osi-spacing-3);display:flex;flex-direction:column;gap:var(--osi-spacing-2)}.notif-settings-header{display:flex;align-items:center;justify-content:space-between}.notif-settings-header h3{font-size:14px;font-weight:600;margin:0;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-settings-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:var(--osi-radius-md)}.notif-settings-close:hover{color:var(--text-main);background:var(--row-hover)}.notif-settings-divider{border:none;border-top:1px solid var(--border-soft);margin:4px 0}.notif-settings-section-title{font-size:11px;font-weight:700;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.02em;margin:0 0 4px}.notif-mute-actions{display:flex;flex-wrap:wrap;gap:6px}.notif-mute-btn{padding:4px 10px;border-radius:var(--osi-radius-md);border:1px solid var(--border-soft);background:var(--osi-color-bg-base);color:var(--text-main);font-size:var(--osi-font-size-sm);cursor:pointer;transition:background .15s}.notif-mute-btn:hover{background:var(--row-hover)}.notif-mute-btn--unmute{background:var(--brand);color:var(--text-on-brand);border-color:var(--brand)}.notif-mute-btn--unmute:hover{background:var(--brand-hover)}.notif-mute-status{font-size:var(--osi-font-size-sm);color:var(--text-muted);display:flex;align-items:center;gap:6px}.notif-mute-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;background:var(--error-bg);color:var(--osi-color-negative)}.sidebar-row--blocked{opacity:.5}.sidebar-row--blocked .row-title{text-decoration:line-through}.block-toast{position:fixed;bottom:24px;right:24px;z-index:10000;background:var(--error);color:var(--text-on-brand);border-radius:8px;padding:12px 20px;font-size:14px;font-weight:500;box-shadow:0 4px 12px var(--osi-p-black-24)}.push-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;background:linear-gradient(170deg,var(--osi-p-neutral-300),var(--osi-color-surface-0));border-bottom:1px solid var(--border-soft);font-size:13px;color:var(--text-main)}.push-banner-text{flex:1}.push-banner-enable{background:var(--accent-strong);color:var(--text-on-brand);border:none;border-radius:4px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.push-banner-enable:hover{opacity:.9}.push-banner-dismiss{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center}.push-banner-dismiss:hover{color:var(--text-main)}.push-settings-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:16px}.push-settings-info{display:flex;flex-direction:column;gap:2px}.push-settings-label{font-size:14px;font-weight:500;color:var(--text-main)}.push-settings-desc{font-size:12px;color:var(--text-muted)}.push-settings-btn{background:var(--accent-strong);color:var(--text-on-brand);border:none;border-radius:4px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.push-settings-btn:hover{opacity:.9}.push-settings-btn:disabled{opacity:.5;cursor:not-allowed}.push-settings-btn--active{background:var(--osi-color-bg-elevated, var(--bg-tertiary));color:var(--text-muted);border:1px solid var(--border-soft)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;transform:translate(-50%);bottom:calc(100% + 8px);padding:6px 12px;background:var(--osi-color-surface-tooltip, #111214);color:var(--text-on-brand);font-size:.75rem;font-weight:500;border-radius:var(--osi-radius-sm, 4px);box-shadow:0 4px 12px var(--osi-p-black-24);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:9999}[data-tooltip]:hover:after{opacity:1}[data-tooltip-pos=right]:after{left:calc(100% + 8px);bottom:auto;top:50%;transform:translateY(-50%)}.connection-banner{position:absolute;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 16px;font-size:.8125rem;font-weight:500;color:var(--text-on-brand);background:var(--error-hover);animation:slideDown .3s ease}.connection-banner--reconnecting{background:var(--warning);color:var(--bg-0)}.connection-banner--connected{background:var(--success-dim);animation:slideDown .3s ease,fadeOut 2s ease 1s forwards}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes fadeOut{to{opacity:0;transform:translateY(-100%)}}.avatar-wrap{position:relative;display:inline-block;flex-shrink:0}.avatar-presence{position:absolute;bottom:-1px;right:-1px;width:12px;height:12px;border-radius:50%;border:2.5px solid var(--osi-color-surface-0, var(--bg-0))}.avatar-presence--online{background:var(--success-dim)}.avatar-presence--idle{background:var(--warning)}.avatar-presence--dnd{background:var(--error-hover)}.avatar-presence--offline{background:var(--text-muted)}.confirm-dialog-overlay{position:fixed;inset:0;background:var(--overlay-heavy);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease}.confirm-dialog{background:var(--osi-color-surface-2, var(--bg-tertiary));border:1px solid var(--border-soft, var(--border-default));border-radius:var(--osi-radius-xl, 16px);padding:24px;max-width:400px;width:90%;box-shadow:var(--osi-shadow-lg, 0 8px 24px var(--osi-color-surface-overlay))}.confirm-dialog h3{margin:0 0 8px;font-size:1.125rem;color:var(--text-main)}.confirm-dialog p{margin:0 0 20px;color:var(--text-muted);font-size:.875rem;line-height:1.4}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:12px}.confirm-dialog-actions button{padding:8px 20px;border-radius:var(--osi-radius-md, 8px);font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:background .15s}.confirm-dialog-cancel{background:transparent;color:var(--text-muted)}.confirm-dialog-cancel:hover{background:var(--osi-p-white-06);color:var(--text-main)}.confirm-dialog-confirm{background:var(--error-hover);color:var(--text-on-brand)}.confirm-dialog-confirm:hover{background:var(--error)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.create-community-modal{background:var(--osi-color-surface-2, var(--bg-tertiary));border:1px solid var(--border-soft, var(--border-default));border-radius:var(--osi-radius-xl, 16px);padding:32px;max-width:440px;width:90%;box-shadow:var(--osi-shadow-lg, 0 8px 24px var(--osi-color-surface-overlay))}.create-community-modal h3{margin:0 0 6px;font-size:1.25rem;text-align:center}.create-community-modal p{margin:0 0 20px;color:var(--text-muted);font-size:.875rem;text-align:center}.create-community-modal label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px}.create-community-modal input{width:100%;padding:10px 12px;border:1px solid var(--border-soft, var(--border-default));border-radius:var(--osi-radius-md, 8px);background:var(--osi-color-surface-input, var(--bg-0));color:var(--text-main);font-size:.9375rem;margin-bottom:20px}.create-community-modal input:focus{border-color:var(--osi-color-text-brand, var(--brand));outline:none}.create-community-modal-actions{display:flex;justify-content:flex-end;gap:12px}.create-community-modal-actions button{padding:10px 24px;border-radius:var(--osi-radius-md, 8px);font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:background .15s}.create-community-btn-cancel{background:transparent;color:var(--text-muted)}.create-community-btn-cancel:hover{color:var(--text-main)}.create-community-btn-create{background:var(--osi-color-text-brand, var(--brand));color:var(--text-on-brand)}.create-community-btn-create:hover{background:var(--brand-hover)}.create-community-btn-create:disabled{opacity:.5;cursor:not-allowed}.welcome-hero{text-align:center;padding:48px 32px}.welcome-icon{font-size:4rem;margin-bottom:16px;opacity:.8}.welcome-hero h2{font-size:1.5rem;margin-bottom:8px}.welcome-hero p{color:var(--text-muted);margin-bottom:24px}.welcome-hero-actions{display:flex;justify-content:center;gap:12px}.welcome-hero-btn{background:var(--osi-color-text-brand, var(--brand));color:var(--text-on-brand);border:none;border-radius:var(--osi-radius-md, 8px);padding:10px 24px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.welcome-hero-btn:hover{background:var(--brand-hover)}.link-embed-list{display:flex;flex-direction:column;gap:6px;margin-top:4px;max-width:520px}.link-embed{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 14px;border-radius:6px;border-left:4px solid var(--osi-color-accent, #5865f2);background:var(--osi-color-bg-elevated, #2b2d31);color:var(--osi-color-text-primary, #dcddde);font-size:13px;line-height:1.4}.link-embed-body{min-width:0;display:flex;flex-direction:column;gap:4px}.link-embed-provider{font-size:11px;color:var(--osi-color-text-muted, #b5bac1);text-transform:none;letter-spacing:.2px}.link-embed-title{font-weight:600;font-size:14px;color:var(--osi-color-link, #00aff4);text-decoration:none;word-break:break-word}.link-embed-title:hover{text-decoration:underline}.link-embed-title:focus-visible{outline:2px solid var(--osi-color-accent-fill, var(--brand));outline-offset:2px;border-radius:3px}.link-embed-description{margin:0;color:var(--osi-color-text-secondary, #dcddde);white-space:pre-wrap;overflow-wrap:anywhere}.link-embed-cta{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:4px 10px;align-self:flex-start;font-size:12px;font-weight:600;color:var(--osi-color-accent, #5865f2);background:#5865f21f;border:0;border-radius:4px;text-decoration:none;cursor:pointer;font-family:inherit}.link-embed-cta:hover:not(:disabled){background:#5865f238;text-decoration:underline}.link-embed-cta:disabled{cursor:default;opacity:.6}.link-embed-cta--reddit{color:var(--osi-accent-reddit, #ff4500);background:#ff45001f}.link-embed-cta--reddit:hover{background:#ff450038}.link-embed-image{width:80px;height:80px;max-width:400px;object-fit:cover;border-radius:4px;align-self:start;background:var(--osi-color-surface-0, #2a2a2a)}.link-embed--youtube,.link-embed--rutube,.link-embed--twitch,.link-embed--twitch-clip,.link-embed--twitch-vod,.link-embed--dzen,.link-embed--ok,.link-embed--vk-video{grid-template-columns:1fr}.link-embed--rutube{border-left-color:var(--osi-accent-rutube, #23afdb)}.link-embed--twitch,.link-embed--twitch-clip,.link-embed--twitch-vod{border-left-color:var(--osi-accent-twitch, #9147ff)}.link-embed--dzen{border-left-color:var(--osi-accent-dzen, #ffd500)}.link-embed--ok{border-left-color:var(--osi-accent-ok, #ee7717)}.link-embed--kick,.link-embed--kick-vod,.link-embed--kick-clip{border-left-color:var(--osi-accent-kick, #53fc18)}.link-embed--vk-video{border-left-color:var(--osi-accent-vk, #0077ff)}.link-embed--reddit{grid-template-columns:1fr}.link-embed--mailru{border-left-color:var(--osi-accent-mailru, #168de2)}.link-embed--reddit{border-left-color:var(--osi-accent-reddit, #ff4500)}.link-embed-video-frame{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:4px;overflow:hidden;background:#000}.link-embed-video-frame iframe,.link-embed-video-frame video{width:100%;height:100%;border:0;display:block;background:#000}.link-embed-video-play{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer;display:block;text-decoration:none;color:inherit}.link-embed-video-play img{width:100%;height:100%;object-fit:cover;display:block}.link-embed-video-play-icon{position:absolute;top:50%;left:50%;width:56px;height:56px;display:grid;place-items:center;transform:translate(-50%,-50%);font-size:28px;color:#fff;background:#000000b3;border-radius:50%;pointer-events:none}.link-embed--youtube .link-embed-video-play:hover .link-embed-video-play-icon{background:#ff0033e6}.link-embed--rutube .link-embed-video-play:hover .link-embed-video-play-icon{background:#23afdbe6}.link-embed--twitch .link-embed-video-play:hover .link-embed-video-play-icon,.link-embed--twitch-clip .link-embed-video-play:hover .link-embed-video-play-icon,.link-embed--twitch-vod .link-embed-video-play:hover .link-embed-video-play-icon{background:#9147ffe6}.link-embed--dzen .link-embed-video-play:hover .link-embed-video-play-icon{background:#ffd500e6;color:#000}.link-embed--ok .link-embed-video-play:hover .link-embed-video-play-icon{background:#ee7717e6}.link-embed--kick .link-embed-video-play:hover .link-embed-video-play-icon,.link-embed--kick-vod .link-embed-video-play:hover .link-embed-video-play-icon,.link-embed--kick-clip .link-embed-video-play:hover .link-embed-video-play-icon{background:#53fc18e6;color:#000}.link-embed--vk-video .link-embed-video-play:hover .link-embed-video-play-icon{background:#0077ffe6}.link-embed--reddit .link-embed-video-play:hover .link-embed-video-play-icon{background:#ff4500e6}.link-embed-collapse{position:absolute;top:4px;right:4px;width:22px;height:22px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--osi-color-text-muted, #b5bac1);cursor:pointer;font-size:16px;line-height:1;display:grid;place-items:center;opacity:0;transition:opacity .12s ease,background .12s ease}.link-embed:hover .link-embed-collapse,.link-embed:focus-within .link-embed-collapse{opacity:1}.link-embed-collapse:hover{background:var(--osi-color-state-hover, rgba(255, 255, 255, .08));color:var(--osi-color-text-primary, #dcddde)}.link-embed-collapse:focus-visible{opacity:1;outline:2px solid var(--osi-color-accent-fill, var(--brand));outline-offset:1px}.link-embed--skeleton{border-left-color:var(--osi-color-state-hover, rgba(255, 255, 255, .12))}.link-embed-skeleton-host{font-size:11px;color:var(--osi-color-text-muted, #b5bac1)}.link-embed-skeleton-bar{height:10px;border-radius:3px;background:var(--osi-color-state-hover, rgba(255, 255, 255, .08));animation:link-embed-skeleton-pulse 1.2s ease-in-out infinite}.link-embed-skeleton-bar--title{width:60%;height:12px}.link-embed-skeleton-bar--desc{width:90%}@keyframes link-embed-skeleton-pulse{0%,to{opacity:.55}50%{opacity:.9}}.message-attachments{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:4px}.msg-attachment-image-wrap{position:relative;display:inline-block;max-width:min(400px,100%);border-radius:8px;overflow:hidden;background:var(--osi-color-surface-0, #2a2a2a);min-width:80px;min-height:80px}.msg-attachment-image-wrap--loaded{cursor:pointer}.msg-attachment-image-wrap--loaded:hover .msg-attachment-image{opacity:.9}.msg-attachment-image-wrap--loaded:focus-visible{outline:2px solid var(--osi-color-accent-fill, var(--brand));outline-offset:2px}.msg-attachment-image{max-width:min(400px,100%);max-height:300px;width:auto;height:auto;border-radius:8px;display:block}.msg-attachment-image-skeleton{position:absolute;inset:0;background:linear-gradient(90deg,var(--osi-color-surface-0, #2a2a2a) 0%,var(--osi-color-bg-elevated, #3a3a3a) 50%,var(--osi-color-surface-0, #2a2a2a) 100%);background-size:200% 100%;animation:osi-media-shimmer 1.4s ease-in-out infinite}@keyframes osi-media-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.media-container{position:relative;display:inline-block;vertical-align:top;max-width:min(400px,100%);max-height:300px;border-radius:8px;overflow:hidden;isolation:isolate}.media-container[data-state=idle],.media-container[data-state=error]{width:min(400px,calc(300px * var(--osi-media-ar, 1.333)),100%);aspect-ratio:var(--osi-media-ar, 1.333);background:var(--osi-color-surface-1, var(--osi-color-surface-0, #2a2a2a))}.media-container[data-state=loaded][role=button]{cursor:pointer}.media-container[data-state=loaded][role=button]:hover>img,.media-container[data-state=loaded][role=button]:hover>video{opacity:.92}.media-container:focus-visible{outline:2px solid var(--osi-color-accent-fill, var(--brand));outline-offset:2px}.media-container__thumbnail{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(12px) saturate(1.15);transform:scale(1.05);transition:opacity .2s ease-out;pointer-events:none;z-index:0}.media-container[data-state=loaded] .media-container__thumbnail,.media-container[data-state=error] .media-container__thumbnail{opacity:0}.media-container__skeleton{position:absolute;inset:0;background-color:var(--osi-color-surface-1, #2a2a2a);background-image:linear-gradient(90deg,transparent 0%,color-mix(in srgb,currentColor 14%,transparent) 50%,transparent 100%);background-size:200% 100%;background-repeat:no-repeat;animation:osi-media-shimmer 1.4s ease-in-out infinite;pointer-events:none;z-index:0}.media-container__skeleton:before{content:"";position:absolute;inset:0;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='2' ry='2'/><circle cx='8.5' cy='8.5' r='1.5'/><polyline points='21 15 16 10 5 21'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='2' ry='2'/><circle cx='8.5' cy='8.5' r='1.5'/><polyline points='21 15 16 10 5 21'/></svg>");-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:40px 40px;mask-size:40px 40px;opacity:.4;pointer-events:none}.media-container[data-state=loaded] .media-container__skeleton,.media-container[data-state=error] .media-container__skeleton{display:none}.media-container>img,.media-container>video{display:block;max-width:min(400px,100%);max-height:300px;width:auto;height:auto;opacity:1;position:relative;z-index:1}.media-container__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.msg-attachment-image-error{display:inline-flex;align-items:center;gap:8px;padding:14px 18px;background:var(--osi-color-surface-0, #2a2a2a);border:1px dashed var(--border-soft, #3a3a3a);border-radius:8px;color:var(--osi-color-text-muted, #a0a0a0);font-size:13px}.msg-attachment-image-error-icon{font-size:18px;opacity:.7}.msg-attachment-video-error{display:inline-flex;align-items:center;gap:8px;padding:14px 18px;background:var(--osi-color-surface-0, #2a2a2a);border:1px dashed var(--border-soft, #3a3a3a);border-radius:8px;color:var(--osi-color-text-muted, #a0a0a0);font-size:13px;max-width:400px}.msg-attachment-file{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--osi-color-surface-0, #2a2a2a);border:1px solid var(--border-soft, #3a3a3a);border-radius:8px;color:var(--osi-color-accent-fill, var(--brand));text-decoration:none;font-size:13px;max-width:fit-content}.msg-attachment-file:hover{text-decoration:underline;background:var(--osi-p-neutral-100, var(--bg-0))}.msg-attachment-scanning{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--osi-color-surface-0, #2a2a2a);border:1px dashed var(--border-soft, #3a3a3a);border-radius:8px;color:var(--osi-color-text-soft, #c0c0c0);font-size:13px;max-width:fit-content;font-style:italic;cursor:default;-webkit-user-select:none;user-select:none}.msg-attachment-scanning-icon{font-size:15px;animation:osi-scanning-spin 2s linear infinite}@keyframes osi-scanning-spin{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.msg-attachment-rejected{display:inline-flex;align-items:flex-start;gap:10px;padding:10px 14px;background:var(--osi-color-danger-surface, rgba(220, 38, 38, .08));border:1px solid var(--osi-color-danger, #dc2626);border-radius:8px;color:var(--osi-color-danger, #dc2626);font-size:13px;max-width:480px;cursor:not-allowed;pointer-events:none;-webkit-user-select:none;user-select:none}.msg-attachment-rejected-icon{font-size:18px;line-height:1.2;flex-shrink:0}.msg-attachment-rejected-body{display:flex;flex-direction:column;gap:2px;min-width:0}.msg-attachment-rejected-body strong{font-weight:600}.msg-attachment-rejected-body small{opacity:.85;font-size:12px;word-break:break-word}.lightbox-overlay{position:fixed;inset:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:9999;cursor:zoom-out;-webkit-user-select:none;user-select:none}.lightbox-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px;transform-origin:center center;transition:transform 80ms ease-out;will-change:transform;touch-action:none}.lightbox-close,.lightbox-nav{position:absolute;background:var(--overlay-heavy, rgba(0, 0, 0, .6));color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;transition:background .12s ease}.lightbox-close{top:16px;right:16px;width:36px;height:36px;font-size:18px}.lightbox-close:hover,.lightbox-nav:hover{background:#000000d9}.lightbox-close:focus-visible,.lightbox-nav:focus-visible{outline:2px solid var(--osi-color-accent-fill, var(--brand));outline-offset:2px}.lightbox-nav{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:32px;line-height:1;padding-bottom:4px}.lightbox-nav--prev{left:20px}.lightbox-nav--next{right:20px}.lightbox-counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:var(--overlay-heavy, rgba(0, 0, 0, .6));color:#fff;padding:6px 12px;border-radius:12px;font-size:13px;font-variant-numeric:tabular-nums;pointer-events:none}.reaction-limit-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:rl-fade-in .2s ease-out}.reaction-limit-modal{background:var(--osi-color-surface-popover);border:1px solid var(--osi-color-border-subtle);border-radius:var(--osi-radius-lg);box-shadow:var(--osi-shadow-lg),0 0 60px var(--brand-bg-subtle);padding:28px 32px;min-width:340px;max-width:420px;text-align:center;position:relative;animation:rl-bounce-in .4s cubic-bezier(.22,1.2,.36,1);will-change:transform,opacity}.reaction-limit-modal.is-closing{animation:rl-bounce-out .35s cubic-bezier(.4,0,1,1) forwards}.reaction-limit-close{position:absolute;top:10px;right:10px;background:none;border:none;color:var(--osi-text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:color .12s,background .12s}.reaction-limit-close:hover{color:var(--osi-text-primary);background:var(--osi-p-white-08)}.reaction-limit-text{color:var(--osi-text-primary);font-size:15px;margin:8px 0 24px;line-height:1.5}.reaction-limit-ok{background:var(--brand);color:var(--text-on-brand);border:none;border-radius:var(--osi-radius-md);padding:10px 0;width:100%;font-size:15px;font-weight:600;cursor:pointer;transition:background .12s,transform .1s}.reaction-limit-ok:hover{background:var(--brand-hover)}.reaction-limit-ok:active{transform:scale(.97);background:var(--brand-hover)}@keyframes rl-bounce-in{0%{transform:scale(.7);opacity:0}50%{transform:scale(1.08);opacity:1}75%{transform:scale(.97)}to{transform:scale(1)}}@keyframes rl-bounce-out{0%{transform:scale(1);opacity:1}20%{transform:scale(1.06);opacity:1}to{transform:scale(.6);opacity:0}}@keyframes rl-fade-in{0%{opacity:0}to{opacity:1}}.webhook-panel{width:var(--osi-p-size-700, 700px);max-width:calc(100vw - 56px);max-height:calc(100vh - 56px);display:flex;flex-direction:column;gap:var(--osi-spacing-4)}.webhook-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--osi-spacing-3)}.webhook-panel-title{display:flex;align-items:center;gap:var(--osi-spacing-2)}.webhook-panel-title h2{margin:0;font-size:var(--osi-font-size-lg, 1.1rem)}.webhook-panel-channel{color:var(--osi-color-text-muted);font-size:var(--osi-font-size-sm, .85rem)}.webhook-panel-header-actions{display:flex;align-items:center;gap:var(--osi-spacing-2)}.webhook-panel-body{flex:1 1 auto;min-height:200px;overflow:auto}.webhook-panel-footer-error{padding:var(--osi-spacing-2) var(--osi-spacing-3);border-radius:var(--osi-radius-md);background:var(--osi-color-feedback-error-surface, rgba(220, 50, 50, .12));color:var(--osi-color-feedback-error, #e55353);font-size:var(--osi-font-size-sm, .85rem)}.webhook-loading{display:flex;align-items:center;gap:var(--osi-spacing-2);padding:var(--osi-spacing-4);color:var(--osi-color-text-muted)}.webhook-empty{display:flex;flex-direction:column;align-items:center;gap:var(--osi-spacing-2);padding:var(--osi-spacing-6, 2rem) var(--osi-spacing-4);color:var(--osi-color-text-muted);text-align:center}.webhook-empty-hint{font-size:var(--osi-font-size-sm, .85rem);max-width:340px}.webhook-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--osi-spacing-2)}.webhook-row{display:flex;align-items:center;gap:var(--osi-spacing-3);padding:var(--osi-spacing-2) var(--osi-spacing-3);border:1px solid var(--osi-color-border-subtle, var(--osi-p-white-08));border-radius:var(--osi-radius-md);background:var(--osi-color-surface-popover, rgba(255,255,255,.03))}.webhook-row-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--osi-radius-full, 50%);background:var(--osi-color-surface-1, var(--osi-p-white-06));overflow:hidden;flex-shrink:0}.webhook-row-avatar img{width:100%;height:100%;object-fit:cover}.webhook-row-main{flex:1 1 auto;min-width:0}.webhook-row-title{display:flex;align-items:center;gap:var(--osi-spacing-2)}.webhook-row-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.webhook-row-meta{display:flex;gap:var(--osi-spacing-3);font-size:var(--osi-font-size-xs, .75rem);color:var(--osi-color-text-muted)}.webhook-row-id{font-family:var(--osi-font-family-mono, monospace);opacity:.7}.webhook-row-actions{display:flex;gap:var(--osi-spacing-1);flex-shrink:0}.webhook-modal{width:var(--osi-p-size-520, 520px);max-width:calc(100vw - 48px);display:flex;flex-direction:column;gap:var(--osi-spacing-3)}.webhook-modal-header{display:flex;align-items:center;justify-content:space-between}.webhook-modal-header h2{margin:0;font-size:var(--osi-font-size-lg, 1.1rem);display:flex;align-items:center;gap:var(--osi-spacing-2)}.webhook-modal-description{margin:0;color:var(--osi-color-text-muted);font-size:var(--osi-font-size-sm, .85rem)}.webhook-modal-form{display:flex;flex-direction:column;gap:var(--osi-spacing-3)}.webhook-field{display:flex;flex-direction:column;gap:var(--osi-spacing-1)}.webhook-field-label{font-size:var(--osi-font-size-sm, .85rem);color:var(--osi-color-text-muted)}.webhook-field-error{color:var(--osi-color-feedback-error, #e55353);font-size:var(--osi-font-size-xs, .75rem)}.webhook-modal-actions{display:flex;justify-content:flex-end;gap:var(--osi-spacing-2);margin-top:var(--osi-spacing-2)}.webhook-url-display{display:flex;flex-direction:column;gap:var(--osi-spacing-2)}.webhook-url-warning{display:flex;align-items:flex-start;gap:var(--osi-spacing-2);padding:var(--osi-spacing-2) var(--osi-spacing-3);border-radius:var(--osi-radius-md);background:var(--osi-color-feedback-warning-surface, rgba(220, 170, 50, .12));color:var(--osi-color-feedback-warning, #e0b04a);font-size:var(--osi-font-size-sm, .85rem)}.webhook-url-row{display:flex;gap:var(--osi-spacing-2);align-items:center}.webhook-url-input{flex:1 1 auto;font-family:var(--osi-font-family-mono, monospace);font-size:var(--osi-font-size-xs, .78rem)}.keybind-settings{display:flex;flex-direction:column;gap:var(--osi-spacing-3)}.keybind-settings-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--osi-spacing-3);flex-wrap:wrap}.keybind-settings-hint{color:var(--text-subtle);font-size:var(--osi-font-size-caption);max-width:60ch;margin:0}.keybind-reset-all{flex-shrink:0}.keybind-table{width:100%;border-collapse:collapse}.keybind-table th{text-align:left;font-size:var(--osi-font-size-caption);text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);padding:var(--osi-spacing-2) var(--osi-spacing-3);border-bottom:1px solid var(--border-soft)}.keybind-row td{padding:var(--osi-spacing-3);border-bottom:1px solid var(--border-soft);vertical-align:middle}.keybind-row-locked{opacity:.7}.keybind-label{color:var(--text-main);font-weight:500}.keybind-desc{color:var(--text-subtle);font-size:var(--osi-font-size-caption);margin-top:2px}.keybind-combo{border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-2);color:var(--text-main);font-family:var(--osi-font-family-mono, monospace);padding:var(--osi-spacing-1) var(--osi-spacing-3);min-height:32px;min-width:140px;cursor:pointer;transition:border-color var(--osi-motion-normal),background var(--osi-motion-normal)}.keybind-combo:hover:not(:disabled){border-color:var(--osi-color-accent, #5865f2)}.keybind-combo:disabled{cursor:not-allowed;opacity:.6}.keybind-reset{padding:0 var(--osi-spacing-2);height:28px;font-size:var(--osi-font-size-caption)}.keybind-capture-overlay{z-index:40}.keybind-capture{width:360px;max-width:calc(100vw - 40px);border:1px solid var(--border-soft);border-radius:var(--osi-radius-lg);background:var(--osi-color-surface-modal);box-shadow:var(--osi-shadow-lg);padding:var(--osi-spacing-4);display:flex;flex-direction:column;gap:var(--osi-spacing-3)}.keybind-capture-header h3{margin:0 0 var(--osi-spacing-1);color:var(--text-main)}.keybind-capture-subtitle{margin:0;color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.keybind-capture-display{min-height:60px;border:2px dashed var(--border-soft);border-radius:var(--osi-radius-md);display:grid;place-items:center;background:var(--osi-color-surface-0);color:var(--text-main);font-family:var(--osi-font-family-mono, monospace);font-size:1.05rem;padding:var(--osi-spacing-3);text-align:center}.keybind-capture-conflict{margin:0;color:var(--osi-color-feedback-warning, #e0b04a);background:var(--osi-color-feedback-warning-surface, rgba(220, 170, 50, .12));border-radius:var(--osi-radius-md);padding:var(--osi-spacing-2) var(--osi-spacing-3);font-size:var(--osi-font-size-caption)}.keybind-capture-actions{display:flex;gap:var(--osi-spacing-2);justify-content:flex-end}.command-palette-overlay{align-items:flex-start;padding-top:12vh}.command-palette{width:540px;max-width:calc(100vw - 40px);max-height:60vh;background:var(--osi-color-surface-modal);border:1px solid var(--border-soft);border-radius:var(--osi-radius-lg);box-shadow:var(--osi-shadow-lg);overflow:hidden;display:flex;flex-direction:column}.command-palette-input{width:100%;border:none;border-bottom:1px solid var(--border-soft);background:transparent;color:var(--text-main);font-size:1rem;padding:var(--osi-spacing-3) var(--osi-spacing-4);outline:none}.command-palette-results{list-style:none;margin:0;padding:var(--osi-spacing-2);overflow-y:auto;max-height:50vh}.command-palette-empty{color:var(--text-subtle);padding:var(--osi-spacing-3);text-align:center}.command-palette-item{display:flex;align-items:center;gap:var(--osi-spacing-3);padding:var(--osi-spacing-2) var(--osi-spacing-3);border-radius:var(--osi-radius-md);color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none}.command-palette-item.is-active{background:var(--osi-color-surface-2)}.command-palette-item-icon{display:inline-flex;color:var(--text-subtle)}.command-palette-item-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-palette-item-kind{color:var(--text-subtle);font-size:var(--osi-font-size-caption);text-transform:uppercase;letter-spacing:.04em}.command-palette-section-header{padding:var(--osi-spacing-2) var(--osi-spacing-3);color:var(--text-subtle);font-size:var(--osi-font-size-caption);font-weight:600;text-transform:uppercase;letter-spacing:.06em;pointer-events:none;-webkit-user-select:none;user-select:none}.shortcuts-help-overlay{z-index:30}.shortcuts-help{width:540px;max-width:calc(100vw - 40px);max-height:80vh;background:var(--osi-color-surface-modal);border:1px solid var(--border-soft);border-radius:var(--osi-radius-lg);box-shadow:var(--osi-shadow-lg);padding:var(--osi-spacing-4);display:flex;flex-direction:column;gap:var(--osi-spacing-3)}.shortcuts-help-header h3{margin:0 0 var(--osi-spacing-1)}.shortcuts-help-subtitle{margin:0;color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.shortcuts-help-list{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--osi-spacing-1)}.shortcuts-help-item{display:flex;align-items:center;justify-content:space-between;gap:var(--osi-spacing-3);padding:var(--osi-spacing-2) var(--osi-spacing-3);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-0)}.shortcuts-help-text{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.shortcuts-help-label{color:var(--text-main);font-weight:500}.shortcuts-help-desc{color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.shortcuts-help-kbd{font-family:var(--osi-font-family-mono, monospace);font-size:.85rem;background:var(--osi-color-surface-2);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);padding:2px var(--osi-spacing-2);color:var(--text-main);white-space:nowrap}.shortcuts-help-actions{display:flex;justify-content:flex-end}.shortcuts-help-changed-badge{margin-left:var(--osi-spacing-2);font-size:.7rem;padding:2px 6px;border-radius:10px;background:var(--osi-color-feedback-warning-surface, rgba(220, 170, 50, .12));color:var(--osi-color-feedback-warning, #e0b04a);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.keybind-reset-all-confirm{display:inline-flex;align-items:center;gap:var(--osi-spacing-2);background:var(--osi-color-surface-2);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);padding:var(--osi-spacing-2) var(--osi-spacing-3);color:var(--text-main)}.mod-panel{display:flex;flex-direction:column;width:var(--osi-p-size-980);max-width:calc(100vw - 56px);height:var(--osi-p-size-700);max-height:calc(100vh - 56px);border-radius:var(--osi-radius-xl);background:var(--osi-color-surface-modal, var(--panel-1));overflow:hidden}.mod-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-soft)}.mod-panel-title{display:flex;align-items:center;gap:8px}.mod-panel-title h2{margin:0;font-size:16px}.mod-panel-tabs{display:flex;gap:4px;padding:8px 12px 0;border-bottom:1px solid var(--border-soft);background:var(--osi-color-surface-2, var(--panel-0))}.mod-panel-tab{background:transparent;border:none;color:var(--text-subtle);padding:8px 14px;cursor:pointer;border-bottom:2px solid transparent;font-size:13px;font-weight:500}.mod-panel-tab:hover{color:var(--text-main)}.mod-panel-tab--active{color:var(--text-main);border-bottom-color:var(--osi-color-accent, #5865f2)}.mod-panel-content{flex:1;overflow-y:auto;padding:16px}.mod-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.mod-section-header h3{margin:0;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-subtle)}.mod-error{padding:8px 12px;margin-bottom:12px;border-radius:var(--osi-radius-md, 6px);background:#f047471f;color:#f04747;font-size:13px}.mod-muted{color:var(--text-muted);font-size:13px;padding:8px 0}.mod-empty{color:var(--text-muted);font-size:13px;padding:16px 0;display:flex;align-items:center;gap:6px}.mod-filter{font-size:13px;color:var(--text-muted);display:flex;gap:12px;flex-wrap:wrap;align-items:center}.mod-filter-row label{display:flex;align-items:center;gap:6px}.mod-filter select,.mod-field select,.mod-field input[type=text],.mod-field input[type=number],.mod-field textarea{background:var(--osi-color-surface-3, var(--panel-2));color:var(--text-main);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md, 6px);padding:6px 8px;font-size:13px}.mod-rule-list{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:6px}.mod-rule-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--osi-radius-md, 6px);background:var(--osi-color-surface-2, var(--panel-0))}.mod-rule-main{display:flex;flex-direction:column;gap:2px}.mod-rule-name{font-size:14px;color:var(--text-main);font-weight:500}.mod-rule-meta{font-size:12px;color:var(--text-muted)}.mod-rule-on{color:#43b581}.mod-rule-off{color:var(--text-muted)}.mod-rule-actions{display:flex;gap:4px}.mod-rule-form{margin-top:12px;padding:14px;border-radius:var(--osi-radius-md, 6px);background:var(--osi-color-surface-2, var(--panel-0));display:flex;flex-direction:column;gap:10px}.mod-rule-form-header{display:flex;align-items:center;justify-content:space-between}.mod-rule-form-header h4{margin:0;font-size:14px}.mod-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-subtle)}.mod-field span{font-size:12px;text-transform:uppercase;letter-spacing:.04em}.mod-field-inline{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-main)}.mod-field-group{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mod-rule-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.mod-rule-test{border-top:1px dashed var(--border-soft);padding-top:10px;display:flex;flex-direction:column;gap:6px}.mod-rule-test-result{font-size:12px;color:var(--text-muted);padding:6px 8px;border-radius:var(--osi-radius-sm, 4px);background:var(--osi-color-surface-3, var(--panel-2))}.mod-rule-test-result--hit{color:#43b581;background:#43b5811a}.mod-report-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.mod-report-card{padding:12px;border-radius:var(--osi-radius-md, 6px);background:var(--osi-color-surface-2, var(--panel-0));display:flex;flex-direction:column;gap:8px}.mod-report-head{display:flex;justify-content:space-between;align-items:center}.mod-report-status{font-size:11px;padding:2px 8px;border-radius:999px;background:#5865f226;color:#5865f2;text-transform:uppercase;letter-spacing:.05em}.mod-report-status--open{background:#f0474726;color:#f04747}.mod-report-status--under-review{background:#faa61a26;color:#faa61a}.mod-report-status--resolved{background:#43b58126;color:#43b581}.mod-report-status--dismissed{background:#99aab526;color:var(--text-muted)}.mod-report-body{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-main)}.mod-report-desc{font-style:italic;color:var(--text-muted)}.mod-report-resolution{font-size:12px;color:var(--text-muted);font-style:italic}.mod-report-actions{display:flex;gap:8px}.mod-pager{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.mod-dialog-actions,.mod-timeout-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.mod-resolve-dialog,.mod-timeout-dialog{display:flex;flex-direction:column;gap:10px;width:440px;max-width:92vw}.mod-timeout-dialog-header{display:flex;justify-content:space-between;align-items:center}.mod-timeout-dialog-header h3{margin:0;font-size:15px}.mod-timeout-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-subtle)}.mod-timeout-field>span{font-size:12px;text-transform:uppercase;letter-spacing:.04em}.mod-timeout-field input,.mod-timeout-field select,.mod-timeout-field textarea{background:var(--osi-color-surface-3, var(--panel-2));color:var(--text-main);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md, 6px);padding:6px 8px;font-size:13px}.mod-audit-table,.mod-actions-table{width:100%;border-collapse:collapse;font-size:12px;color:var(--text-main)}.mod-audit-table th,.mod-audit-table td,.mod-actions-table th,.mod-actions-table td{padding:8px 10px;border-bottom:1px solid var(--border-soft);text-align:left;vertical-align:top}.mod-audit-table th,.mod-actions-table th{color:var(--text-subtle);font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:11px;background:var(--osi-color-surface-2, var(--panel-0));position:sticky;top:0}.mod-actions-note{max-width:280px;white-space:pre-wrap;color:var(--text-muted);font-size:12px}.mod-quick-actions{display:flex;gap:8px}.icon-button{background:transparent;border:none;color:var(--text-subtle);padding:4px;border-radius:var(--osi-radius-sm, 4px);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover:not(:disabled){background:var(--row-hover);color:var(--text-main)}.icon-button:disabled{opacity:.4;cursor:not-allowed}.msg-attachment-audio{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;grid-template-areas:"play wave" "meta meta";align-items:center;gap:8px 10px;padding:10px 12px;border-radius:var(--osi-radius-md, 8px);background:var(--osi-bg-subtle, var(--bg-0));max-width:400px}.msg-attachment-audio-play{grid-area:play;width:36px;height:36px;border-radius:50%;border:none;background:var(--osi-color-accent-fill, var(--brand));color:var(--osi-color-text-on-brand, white);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;padding:0;transition:background .12s ease}.msg-attachment-audio-play:hover{background:var(--osi-color-accent-hover, var(--brand-hover))}.msg-attachment-audio-play:focus-visible{outline:2px solid var(--osi-color-accent-fill, var(--brand));outline-offset:2px}.msg-attachment-audio-waveform{grid-area:wave;position:relative;display:flex;align-items:end;gap:2px;height:36px;width:100%;padding-right:32px;box-sizing:border-box;cursor:pointer}.msg-attachment-audio-waveform:focus-visible{outline:2px solid var(--osi-color-accent-fill, var(--brand));outline-offset:2px;border-radius:4px}.msg-attachment-audio-waveform:after{content:"";position:absolute;top:0;bottom:0;left:var(--hover-x, -1px);width:1px;background:var(--osi-color-text-primary, rgba(255, 255, 255, .6));opacity:var(--hover-x-visible, 0);pointer-events:none;transition:opacity 80ms ease}.msg-attachment-audio-bar{flex:1 1 0;min-width:1px;min-height:2px;background:var(--osi-color-text-muted, #4a4a4a);opacity:.55;border-radius:2px 2px 0 0;transition:background 80ms linear,opacity 80ms linear}.msg-attachment-audio-bar--played{background:linear-gradient(180deg,var(--osi-color-accent-fill, var(--brand, #7289da)) 0%,color-mix(in srgb,var(--osi-color-accent-fill, var(--brand, #7289da)) 75%,white) 100%);opacity:1}.msg-attachment-audio-el-hidden{display:none}.msg-attachment-audio-meta{grid-area:meta;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;font-size:12px;color:var(--text-subtle);font-variant-numeric:tabular-nums}.msg-attachment-audio-filename{justify-self:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px;min-width:0;display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;cursor:pointer}.msg-attachment-audio-filename:hover,.msg-attachment-audio-filename:focus-visible{color:var(--osi-color-accent-fill, var(--brand));text-decoration:underline}.msg-attachment-audio-filename-icon{flex-shrink:0;color:var(--osi-color-accent-fill, var(--brand))}.msg-attachment-audio-duration{justify-self:center;flex-shrink:0}.msg-attachment-audio-volume{position:relative;justify-self:end;display:inline-flex;align-items:center;flex-shrink:0}.msg-attachment-audio-volume--open{z-index:30}.msg-attachment-audio-volume-trigger{background:none;border:0;padding:2px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--osi-color-accent-fill, var(--brand));border-radius:3px;line-height:0}.msg-attachment-audio-volume-trigger:hover{background:var(--osi-bg-hover, rgba(255, 255, 255, .06))}.msg-attachment-audio-volume-trigger:focus-visible{outline:2px solid var(--osi-color-accent-fill, var(--brand));outline-offset:2px}.msg-attachment-audio-volume-popover{position:absolute;bottom:calc(100% + 6px);right:0;z-index:25;display:flex;padding:6px 8px;background:var(--osi-bg-elevated, rgba(20, 20, 22, .92));border:1px solid var(--osi-border-subtle, rgba(255, 255, 255, .18));border-radius:6px;box-shadow:0 6px 18px #00000059}.msg-attachment-audio-volume-slider{appearance:slider-vertical;-webkit-appearance:slider-vertical;writing-mode:vertical-rl;width:18px;height:96px;background:transparent;cursor:pointer;margin:0;padding:0}.msg-attachment-audio-volume-slider::-webkit-slider-runnable-track{width:6px;background:var(--osi-color-text-muted, rgba(255, 255, 255, .22));border:0;border-radius:3px}.msg-attachment-audio-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:0;height:0;margin-left:-4px;border:0;border-radius:50%;background:var(--osi-color-accent-fill, var(--brand));opacity:0;transition:width 80ms ease,height 80ms ease,opacity 80ms ease;cursor:pointer}.msg-attachment-audio-volume-slider:active::-webkit-slider-thumb,.msg-attachment-audio-volume-slider[data-dragging]::-webkit-slider-thumb{width:14px;height:14px;margin-left:-4px;opacity:1}.msg-attachment-audio-volume-slider::-moz-range-track{width:6px;background:var(--osi-color-text-muted, rgba(255, 255, 255, .22));border:0;border-radius:3px}.msg-attachment-audio-volume-slider::-moz-range-thumb{width:0;height:0;border:0;border-radius:50%;background:var(--osi-color-accent-fill, var(--brand));opacity:0;transition:width 80ms ease,height 80ms ease,opacity 80ms ease;cursor:pointer}.msg-attachment-audio-volume-slider:active::-moz-range-thumb,.msg-attachment-audio-volume-slider[data-dragging]::-moz-range-thumb{width:14px;height:14px;opacity:1}.msg-attachment-audio-volume-slider:focus-visible{outline:2px solid var(--osi-color-accent-fill, var(--brand));outline-offset:3px;border-radius:4px}.msg-attachment-video{max-width:400px;max-height:300px;border-radius:var(--osi-radius-md, 8px);display:block}.import-wizard{width:620px;max-width:calc(100vw - 56px);max-height:calc(100vh - 56px);display:flex;flex-direction:column;gap:var(--osi-spacing-3);overflow:hidden}.import-wizard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--osi-spacing-3)}.import-wizard-title h2{margin:0 0 4px;font-size:18px;font-weight:600}.import-wizard-title p{margin:0;color:var(--text-subtle);font-size:12px}.import-wizard-steps{list-style:none;padding:0;margin:0;display:flex;gap:var(--osi-spacing-2);align-items:center;overflow-x:auto}.import-wizard-stepper-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--osi-radius-md, 8px);color:var(--text-subtle);font-size:12px;background:var(--osi-color-surface-1, rgba(255, 255, 255, .03));flex-shrink:0}.import-wizard-stepper-item.active{color:var(--text-primary, #fff);background:var(--osi-color-surface-2, rgba(255, 255, 255, .06));border:1px solid var(--osi-color-accent, #5865f2)}.import-wizard-stepper-item.done .import-wizard-stepper-dot{background:var(--osi-color-success, #2d7a4f);color:#fff}.import-wizard-stepper-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--border-soft);font-weight:600;font-size:12px}.import-wizard-stepper-item.active .import-wizard-stepper-dot{background:var(--osi-color-accent, #5865f2);color:#fff}.import-wizard-body{overflow-y:auto;padding-right:4px}.import-wizard-step{display:flex;flex-direction:column;gap:var(--osi-spacing-3)}.import-wizard-step-title{margin:0;font-size:16px;font-weight:600}.import-wizard-step-hint{margin:0;color:var(--text-subtle);font-size:13px;line-height:1.45}.import-wizard-choice{display:flex;flex-direction:column;gap:var(--osi-spacing-3)}.import-wizard-choice-card{display:flex;gap:var(--osi-spacing-3);padding:var(--osi-spacing-3);border-radius:var(--osi-radius-md, 8px);border:1px solid var(--border-soft);background:var(--osi-color-surface-1, rgba(255, 255, 255, .03))}.import-wizard-choice-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--osi-color-accent-soft, rgba(88, 101, 242, .15));color:var(--osi-color-accent, #5865f2);flex-shrink:0}.import-wizard-choice-body{flex:1;display:flex;flex-direction:column;gap:8px}.import-wizard-choice-body h4{margin:0;font-size:14px;font-weight:600}.import-wizard-choice-body p{margin:0;font-size:12px;color:var(--text-subtle);line-height:1.45}.import-wizard-choice-divider{text-align:center;font-size:11px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.1em}.import-wizard-file-label{display:inline-block;cursor:pointer}.import-wizard-file-label input[type=file]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.import-wizard-footer{display:flex;align-items:center;gap:var(--osi-spacing-2);padding-top:var(--osi-spacing-2);border-top:1px solid var(--border-soft)}.import-wizard-footer-status{margin-left:auto;font-size:11px;color:var(--text-subtle);display:inline-flex;align-items:center;gap:4px}.import-wizard-warn,.import-wizard-error{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:var(--osi-radius-sm, 6px);font-size:12px}.import-wizard-warn{background:var(--osi-color-warning-soft, rgba(240, 173, 78, .15));color:var(--osi-color-warning, #d89b3b)}.import-wizard-error{background:var(--osi-color-danger-soft, rgba(220, 53, 69, .15));color:var(--osi-color-danger, #e06070)}.import-wizard-loading{display:flex;align-items:center;gap:8px;color:var(--text-subtle);font-size:13px}.import-wizard-guild-list{list-style:none;padding:0;margin:0;display:grid;gap:8px;max-height:320px;overflow-y:auto}.import-wizard-guild-card{border-radius:var(--osi-radius-md, 8px);border:1px solid var(--border-soft);background:var(--osi-color-surface-1, rgba(255, 255, 255, .03))}.import-wizard-guild-button{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;background:transparent;border:none;color:inherit;cursor:pointer;text-align:left}.import-wizard-guild-button:hover{background:var(--osi-color-surface-2, rgba(255, 255, 255, .05))}.import-wizard-guild-icon{width:36px;height:36px;border-radius:50%;background:var(--osi-color-surface-2, rgba(255, 255, 255, .06));display:grid;place-items:center;overflow:hidden;flex-shrink:0}.import-wizard-guild-icon img{width:100%;height:100%;object-fit:cover}.import-wizard-guild-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.import-wizard-guild-name{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-wizard-guild-meta{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-subtle)}.import-wizard-empty{padding:16px;text-align:center;font-size:12px;color:var(--text-subtle);border:1px dashed var(--border-soft);border-radius:var(--osi-radius-md, 8px)}.import-wizard-manual{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:var(--osi-radius-md, 8px);background:var(--osi-color-surface-1, rgba(255, 255, 255, .03))}.import-wizard-manual h4{margin:0;font-size:13px;font-weight:600}.import-wizard-label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-subtle)}.import-wizard-label input{padding:8px 10px;border-radius:var(--osi-radius-sm, 6px);border:1px solid var(--border-soft);background:var(--osi-color-surface-0, rgba(0, 0, 0, .3));color:var(--text-primary, #fff);font-size:13px}.import-wizard-options{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.import-wizard-option-row{border-radius:var(--osi-radius-md, 8px);border:1px solid var(--border-soft);background:var(--osi-color-surface-1, rgba(255, 255, 255, .03))}.import-wizard-option-label{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer}.import-wizard-option-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.import-wizard-option-title{font-weight:600;font-size:13px}.import-wizard-option-desc{font-size:11px;color:var(--text-subtle)}.import-wizard-option-count{font-variant-numeric:tabular-nums;font-size:12px;color:var(--text-subtle);min-width:48px;text-align:right}.import-wizard-estimate{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-subtle)}.import-wizard-matrix{border-radius:var(--osi-radius-md, 8px);border:1px solid var(--border-soft);padding:8px 12px;font-size:12px}.import-wizard-matrix summary{cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:6px;color:var(--text-primary, #fff)}.import-wizard-matrix-hint{margin:8px 0 0;color:var(--text-subtle);font-size:11px;line-height:1.45}.import-wizard-matrix-heading{margin:10px 0 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle)}.import-wizard-matrix ul{list-style:none;padding-left:0;margin:4px 0 0;display:flex;flex-direction:column;gap:2px}.import-wizard-matrix-row.info{color:var(--text-subtle)}.import-wizard-matrix-row.info span{color:var(--text-primary, #fff)}.import-wizard-matrix-row.info .import-wizard-matrix-note{color:var(--text-subtle)}.import-wizard-matrix-row.partial{color:var(--osi-color-warning, #d89b3b)}.import-wizard-cta{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--osi-radius-md, 8px);background:var(--osi-color-accent-soft, rgba(88, 101, 242, .15));color:var(--text-primary, #fff);border:1px solid var(--osi-color-accent, #5865f2)}.import-wizard-cta-body{display:flex;flex-direction:column;gap:2px;font-size:12px;line-height:1.45}.import-wizard-cta-body strong{font-size:14px}.import-wizard-cta-body span{color:var(--text-subtle)}.import-wizard-progress-bar{width:100%;height:10px;border-radius:999px;background:var(--osi-color-surface-2, rgba(255, 255, 255, .08));overflow:hidden}.import-wizard-progress-fill{height:100%;background:linear-gradient(90deg,var(--osi-color-accent, #5865f2),var(--osi-color-accent-2, #7983ff));transition:width .4s ease-out}.import-wizard-progress-fill.phase-done{background:var(--osi-color-success, #2d7a4f)}.import-wizard-progress-fill.phase-failed{background:var(--osi-color-danger, #e06070)}.import-wizard-progress-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-subtle)}.import-wizard-progress-percent{margin-left:auto;font-variant-numeric:tabular-nums}.import-wizard-counters{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;font-size:12px}.import-wizard-counter{display:flex;justify-content:space-between;padding:4px 10px;border-radius:var(--osi-radius-sm, 6px);background:var(--osi-color-surface-1, rgba(255, 255, 255, .03))}.import-wizard-log-wrap{display:flex;flex-direction:column;gap:4px}.import-wizard-log-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--text-subtle);cursor:pointer;font-size:12px;padding:4px 0}.import-wizard-log-toggle:hover{color:var(--text-primary, #fff)}.import-wizard-log{margin:0;max-height:160px;overflow:auto;padding:8px 10px;border-radius:var(--osi-radius-sm, 6px);background:var(--osi-color-surface-0, rgba(0, 0, 0, .3));font-family:var(--osi-font-mono, ui-monospace, monospace);font-size:11px;line-height:1.4;color:var(--text-subtle);white-space:pre-wrap;word-break:break-word}.sessions-settings .settings-section-title{margin:0;font-size:var(--osi-font-size-lg);color:var(--text-main);font-weight:600}.sessions-settings .settings-section-desc{margin:0;color:var(--text-muted);font-size:var(--osi-font-size-md);line-height:1.4}.sessions-loading{display:flex;align-items:center;gap:var(--osi-p-size-10);color:var(--text-muted);padding:var(--osi-p-size-16) 0}.sessions-empty{color:var(--text-subtle);padding:var(--osi-p-size-16) 0}.sessions-notice{border-radius:var(--osi-radius-sm);padding:var(--osi-p-size-10) var(--osi-p-size-12);background:var(--osi-color-surface-2);color:var(--text-main);font-size:var(--osi-font-size-md);border-left:3px solid var(--osi-color-positive, #2ea043)}.settings-error{color:var(--osi-color-negative, #d93a3a);margin:0 0 var(--osi-p-size-10)}.sessions-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--osi-p-size-10)}.session-card{display:grid;grid-template-columns:auto 1fr auto;gap:var(--osi-p-size-12);align-items:center;padding:var(--osi-p-size-12);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-2);transition:opacity .16s ease,transform .16s ease,background .16s ease}.session-card.is-current{background:var(--osi-color-surface-input, rgba(46, 160, 67, .08));border-color:color-mix(in oklab,var(--osi-color-positive, #2ea043) 40%,transparent)}.session-card.is-leaving{opacity:0;transform:translate(8px);pointer-events:none}.session-card-icon{display:grid;place-items:center;width:var(--osi-p-size-38);height:var(--osi-p-size-38);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-0, rgba(0, 0, 0, .15));color:var(--text-main)}.session-card-body{display:grid;gap:var(--osi-p-size-5);min-width:0}.session-card-header{display:flex;align-items:center;gap:var(--osi-p-size-10);flex-wrap:wrap}.session-card-title{font-weight:600;color:var(--text-main);font-size:var(--osi-font-size-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.session-card-meta{display:flex;flex-wrap:wrap;gap:var(--osi-p-size-12);color:var(--text-muted);font-size:var(--osi-font-size-caption)}.session-card-meta-item{display:inline-flex;align-items:center;gap:4px}.session-card-actions{display:flex;align-items:center}.session-card-current-hint{color:var(--text-subtle);font-size:var(--osi-font-size-caption);font-style:italic}.session-actions{display:flex;justify-content:flex-end;margin-top:var(--osi-p-size-10)}.session-revoke-all-overlay{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;z-index:1000}.session-revoke-all-dialog{background:var(--osi-color-surface-1, var(--osi-color-surface-2));border:1px solid var(--border-soft);border-radius:var(--osi-radius-lg, var(--osi-radius-md));max-width:420px;width:calc(100% - 32px);padding:var(--osi-p-size-16);display:grid;gap:var(--osi-p-size-12);box-shadow:var(--osi-shadow-lg, 0 10px 30px rgba(0, 0, 0, .4))}.session-revoke-all-title{margin:0;font-size:var(--osi-font-size-lg);color:var(--text-main)}.session-revoke-all-desc{margin:0;color:var(--text-muted);font-size:var(--osi-font-size-md);line-height:1.4}.session-revoke-all-buttons{display:flex;gap:var(--osi-p-size-10);justify-content:flex-end}@media(prefers-reduced-motion:reduce){.session-card{transition:none}}.settings-fieldset{border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);padding:var(--osi-spacing-3);margin:0;display:flex;flex-direction:column;gap:var(--osi-spacing-2)}.settings-fieldset-legend{padding:0 var(--osi-spacing-1);font-weight:600;color:var(--text-main)}.settings-helper-text{margin:0;font-size:var(--osi-font-size-caption);color:var(--text-subtle)}.settings-warning-text{margin:0;font-size:var(--osi-font-size-caption);color:var(--osi-color-status-warning, #d39e00)}.settings-radiogroup{display:flex;flex-direction:column;gap:var(--osi-spacing-1)}.settings-radio{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--osi-spacing-2);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-2);color:var(--text-main);cursor:pointer;text-align:left;width:100%}.settings-radio:disabled,.settings-radio[aria-disabled=true]{opacity:.55;cursor:not-allowed}.settings-radio--selected{border-color:var(--osi-color-accent, #5865f2);background:var(--osi-color-surface-3, var(--osi-color-surface-2));outline:2px solid color-mix(in srgb,var(--osi-color-accent, #5865f2) 40%,transparent);outline-offset:-2px}.settings-radio-label{font-weight:600}.settings-radio-description{font-size:var(--osi-font-size-caption);color:var(--text-subtle)}.noise-suppression-badge{display:inline-flex;align-items:center;gap:2px;padding:2px var(--osi-spacing-2);margin:0 var(--osi-spacing-2) var(--osi-spacing-1);border-radius:999px;background:var(--osi-color-surface-3, var(--osi-color-surface-2));color:var(--text-subtle);font-size:var(--osi-font-size-caption);white-space:nowrap}.noise-suppression-badge__fallback{color:var(--osi-color-status-warning, #d39e00);margin-left:2px;font-weight:700}.settings-slider-row{display:flex;flex-direction:column;gap:var(--osi-spacing-1);padding:var(--osi-spacing-2);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-2)}.settings-slider-label{color:var(--text-main);font-size:var(--osi-font-size-body)}.settings-slider-row input[type=range]{width:100%;accent-color:var(--osi-color-accent, #5865f2)}.settings-mode-toggle{display:flex;align-items:center;gap:var(--osi-spacing-2);flex-wrap:wrap}.settings-mode-pill{padding:2px var(--osi-spacing-2);border:1px solid var(--border-soft);border-radius:999px;background:var(--osi-color-surface-2);color:var(--text-main);font-size:var(--osi-font-size-caption);cursor:pointer}.settings-mode-pill--selected{border-color:var(--osi-color-accent, #5865f2);background:color-mix(in srgb,var(--osi-color-accent, #5865f2) 18%,transparent)}.settings-slider-control{display:flex;flex-direction:column;gap:var(--osi-spacing-1)}.settings-slider-suffix{color:var(--text-subtle);font-weight:400}.settings-slider-row input[type=range]:disabled{opacity:.7;cursor:not-allowed}.settings-radio-spinner{display:inline-block;width:12px;height:12px;margin-left:var(--osi-spacing-1);border:2px solid var(--border-soft);border-top-color:var(--osi-color-accent, #5865f2);border-radius:50%;vertical-align:middle;animation:osi-spin .8s linear infinite}@keyframes osi-spin{to{transform:rotate(360deg)}}.settings-radio-checkmark{display:inline-block;margin-left:var(--osi-spacing-1);color:var(--osi-color-accent, #5865f2);font-weight:700}.settings-toggle--disabled{opacity:.55;cursor:not-allowed}.settings-toggle--disabled:hover{background:var(--osi-color-surface-2)}.noise-suppression-badge--loading{background:var(--osi-color-surface-3, var(--osi-color-surface-2));color:var(--text-subtle)}.noise-suppression-badge__spinner{display:inline-block;width:10px;height:10px;margin-right:4px;border:2px solid var(--border-soft);border-top-color:var(--osi-color-accent, #5865f2);border-radius:50%;vertical-align:middle;animation:osi-spin .8s linear infinite}.dnd-overlay{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;pointer-events:none;background:color-mix(in oklab,var(--osi-color-bg-base) 70%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:dnd-overlay-fade-in .12s ease-out}.dnd-overlay__panel{display:flex;flex-direction:column;align-items:center;gap:var(--osi-spacing-3);padding:var(--osi-spacing-6) var(--osi-spacing-8);border:2px dashed var(--osi-color-accent, #5865f2);border-radius:var(--osi-radius-lg);background:var(--osi-color-bg-elevated);color:var(--osi-color-text-primary);text-align:center;max-width:460px;box-shadow:0 8px 32px #00000052}.dnd-overlay__title{font-size:1.5rem;font-weight:600;margin:0}.dnd-overlay__subtitle{margin:0;color:var(--osi-color-text-secondary, var(--text-subtle))}.dnd-overlay__subtitle strong{color:var(--osi-color-text-primary)}@keyframes dnd-overlay-fade-in{0%{opacity:0}to{opacity:1}}.dnd-screenshot-modal__backdrop{position:fixed;inset:0;z-index:9100;display:grid;place-items:center;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dnd-screenshot-modal{display:flex;flex-direction:column;gap:var(--osi-spacing-3);width:min(420px,92vw);max-height:84vh;padding:var(--osi-spacing-5);border-radius:var(--osi-radius-lg);background:var(--osi-color-bg-elevated);color:var(--osi-color-text-primary);box-shadow:0 12px 48px #00000073}.dnd-screenshot-modal__title{margin:0;font-size:1.125rem;font-weight:600}.dnd-screenshot-modal__preview{width:100%;max-height:320px;object-fit:contain;border-radius:var(--osi-radius-md);background:var(--osi-color-surface-2, #1f2126)}.dnd-screenshot-modal__label{display:flex;flex-direction:column;gap:var(--osi-spacing-1);font-size:.875rem;color:var(--osi-color-text-secondary, var(--text-subtle))}.dnd-screenshot-modal__input{width:100%;padding:8px 10px;border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-2, #2a2c33);color:var(--osi-color-text-primary);font-family:inherit;font-size:.95rem}.dnd-screenshot-modal__input:focus{outline:2px solid var(--osi-color-accent, #5865f2);outline-offset:1px}.dnd-screenshot-modal__actions{display:flex;justify-content:flex-end;gap:var(--osi-spacing-2)}.dnd-screenshot-modal__btn{padding:8px 16px;border:none;border-radius:var(--osi-radius-md);font-weight:500;cursor:pointer;font-family:inherit;font-size:.95rem}.dnd-screenshot-modal__btn--secondary{background:transparent;color:var(--osi-color-text-primary)}.dnd-screenshot-modal__btn--secondary:hover{background:var(--osi-color-surface-2)}.dnd-screenshot-modal__btn--primary{background:var(--osi-color-accent, #5865f2);color:#fff}.dnd-screenshot-modal__btn--primary:hover{background:var(--osi-color-accent-hover, #4752c4)}.sticker-message{display:block;max-width:160px;max-height:160px;border-radius:8px;background:transparent}.sticker-message-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:4px}.sticker-message-loading{background:var(--osi-bg-elevated, #2b2d31);border-radius:8px;display:inline-block}.sticker-message-lottie-placeholder{display:inline-flex;align-items:center;justify-content:center;background:var(--osi-bg-elevated, #2b2d31);border:1px dashed var(--osi-border-subtle, #404249);border-radius:8px;color:var(--osi-text-muted, #b5bac1);font-size:12px;padding:8px;text-align:center}.server-sticker-settings{display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--osi-bg-base, #313338);color:var(--osi-text-main, #f2f3f5);width:min(720px,90vw);max-height:80vh;overflow-y:auto;border-radius:12px}.server-sticker-settings-header{display:flex;align-items:center;justify-content:space-between}.server-sticker-settings-header h2{margin:0;font-size:18px;font-weight:600}.server-sticker-settings-header button{background:transparent;border:0;color:var(--osi-text-muted, #b5bac1);cursor:pointer;padding:4px;border-radius:4px}.server-sticker-settings-header button:hover{color:var(--osi-text-main, #f2f3f5);background:var(--osi-bg-hover, #3f4147)}.server-sticker-settings-help{margin:0;font-size:13px;color:var(--osi-text-muted, #b5bac1)}.server-sticker-settings-error{background:var(--osi-color-danger-bg, #f23f4226);color:var(--osi-color-danger, #f23f42);padding:8px 12px;border-radius:6px;font-size:13px}.server-sticker-settings-empty{color:var(--osi-text-muted, #b5bac1);font-size:14px;font-style:italic}.server-sticker-settings-packs-header,.pack-stickers-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.server-sticker-settings-packs-header h3,.pack-stickers-panel-header h3{margin:0;font-size:15px;font-weight:600}.server-sticker-settings-create-pack{display:flex;gap:8px;align-items:center}.server-sticker-settings-create-pack input{flex:1;padding:6px 10px;border-radius:6px;border:1px solid var(--osi-border-subtle, #404249);background:var(--osi-bg-input, #1e1f22);color:var(--osi-text-main, #f2f3f5);font-size:14px}.server-sticker-settings-pack-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.server-sticker-settings-pack{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:6px;background:var(--osi-bg-elevated, #2b2d31)}.server-sticker-settings-pack.selected{background:var(--osi-bg-hover, #3f4147)}.server-sticker-settings-pack-select{flex:1;background:transparent;border:0;color:inherit;cursor:pointer;text-align:left;font-size:14px}.server-sticker-settings-pack-select .muted{color:var(--osi-text-muted, #b5bac1);font-size:12px}.server-sticker-settings-pack-delete,.pack-sticker-tile-delete{background:transparent;border:0;color:var(--osi-text-muted, #b5bac1);cursor:pointer;padding:4px;border-radius:4px}.server-sticker-settings-pack-delete:hover,.pack-sticker-tile-delete:hover{color:var(--osi-color-danger, #f23f42);background:var(--osi-bg-hover, #3f4147)}.pack-stickers-panel{border-top:1px solid var(--osi-border-subtle, #404249);padding-top:12px;display:flex;flex-direction:column;gap:12px}.pack-stickers-panel-error{background:var(--osi-color-danger-bg, #f23f4226);color:var(--osi-color-danger, #f23f42);padding:8px 12px;border-radius:6px;font-size:13px}.pack-stickers-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.pack-sticker-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:var(--osi-bg-elevated, #2b2d31);border-radius:6px}.pack-sticker-tile-preview{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--osi-bg-base, #313338);border-radius:4px}.pack-sticker-tile-name{font-size:12px;color:var(--osi-text-main, #f2f3f5);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack-sticker-tile-format{font-size:10px;color:var(--osi-text-muted, #b5bac1)}.pack-sticker-tile-lottie-placeholder{font-size:10px;color:var(--osi-text-muted, #b5bac1);text-align:center;word-break:break-all}.pack-sticker-tile-delete{position:absolute;top:4px;right:4px}.sticker-picker-popover{position:absolute;bottom:100%;right:0;margin-bottom:8px;z-index:100}.sticker-picker{width:360px;max-height:400px;background:var(--osi-bg-elevated, #2b2d31);border:1px solid var(--osi-border-subtle, #404249);border-radius:8px;box-shadow:0 8px 24px #0006;display:flex;flex-direction:column}.sticker-picker-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--osi-border-subtle, #404249)}.sticker-picker-title{font-weight:600;font-size:14px;color:var(--osi-text-main, #f2f3f5)}.sticker-picker-close{background:transparent;border:0;color:var(--osi-text-muted, #b5bac1);cursor:pointer;padding:4px}.sticker-picker-body{display:flex;flex:1;min-height:0}.sticker-picker-pack-sidebar{display:flex;flex-direction:column;gap:4px;padding:8px;border-right:1px solid var(--osi-border-subtle, #404249);overflow-y:auto}.sticker-picker-pack-tab{width:32px;height:32px;border-radius:6px;border:0;background:var(--osi-bg-base, #313338);color:var(--osi-text-main, #f2f3f5);font-weight:600;font-size:13px;cursor:pointer}.sticker-picker-pack-tab.active,.sticker-picker-pack-tab:hover{background:var(--osi-color-accent, #5865f2);color:#fff}.sticker-picker-grid{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;overflow-y:auto}.sticker-picker-grid-empty,.sticker-picker-empty{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--osi-text-muted, #b5bac1);font-size:13px}.sticker-picker-tile{width:64px;height:64px;background:var(--osi-bg-base, #313338);border:0;border-radius:6px;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.sticker-picker-tile:hover{background:var(--osi-bg-hover, #3f4147)}.sticker-picker-tile img{max-width:100%;max-height:100%;object-fit:contain}.sticker-picker-tile-lottie{font-size:9px;color:var(--osi-text-muted, #b5bac1);text-align:center;word-break:break-all}.sticker-picker-tile-placeholder{width:56px;height:56px;background:var(--osi-bg-elevated, #2b2d31);border-radius:4px;display:inline-block}.keybind-combo--capturing{border-color:var(--osi-color-accent, #5865f2);background:var(--osi-color-accent-bg, rgba(88, 101, 242, .12))}.ptt-indicator{display:inline-flex;align-items:center;gap:var(--osi-spacing-2);margin-top:var(--osi-spacing-3);padding:var(--osi-spacing-1) var(--osi-spacing-3);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);background:var(--osi-color-surface-2);color:var(--text-subtle);font-size:var(--osi-font-size-caption);transition:background var(--osi-motion-fast),color var(--osi-motion-fast),border-color var(--osi-motion-fast)}.ptt-indicator-dot{width:8px;height:8px;border-radius:50%;background:var(--text-subtle);transition:background var(--osi-motion-fast),box-shadow var(--osi-motion-fast)}.ptt-indicator--active{border-color:var(--osi-color-success, #23a559);background:var(--osi-color-success-bg, rgba(35, 165, 89, .16));color:var(--osi-color-success, #23a559)}.ptt-indicator--active .ptt-indicator-dot{background:var(--osi-color-success, #23a559);box-shadow:0 0 0 4px var(--osi-color-success-bg, rgba(35, 165, 89, .24))}.thread-panel{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;display:flex;flex-direction:column;background:var(--osi-color-bg-elevated, #2b2d31);border-left:1px solid var(--border-soft);box-shadow:-2px 0 12px #00000040;z-index:35}.chat-main:has(>.thread-panel){padding-right:380px}@media(max-width:900px){.thread-panel{width:100%}.chat-main:has(>.thread-panel){padding-right:var(--osi-spacing-5)}}.thread-panel-header{display:flex;align-items:center;gap:var(--osi-spacing-2);padding:var(--osi-spacing-3) var(--osi-spacing-4);border-bottom:1px solid var(--border-soft);background:var(--osi-color-bg-base, #313338);flex-shrink:0}.thread-panel-title{flex:1;margin:0;font-size:15px;font-weight:600;color:var(--osi-text-strong, #f2f3f5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-panel-back,.thread-panel-close{background:transparent;border:0;color:var(--osi-text-muted, #b5bac1);cursor:pointer;padding:4px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.thread-panel-back:hover,.thread-panel-close:hover{background:var(--osi-bg-hover, #3f4147);color:var(--osi-text-strong, #f2f3f5)}.thread-panel-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.thread-list{flex:1;overflow-y:auto;padding:var(--osi-spacing-2) var(--osi-spacing-2)}.thread-list-section+.thread-list-section{margin-top:var(--osi-spacing-3)}.thread-list-section-title{font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.04em;margin:0 0 6px;padding:0 var(--osi-spacing-2);color:var(--osi-text-muted, #b5bac1)}.thread-list-section-muted .thread-list-section-title{opacity:.7}.thread-list ul{list-style:none;margin:0;padding:0}.thread-list-item{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;border:0;color:var(--osi-text-strong, #f2f3f5);text-align:left;cursor:pointer;border-radius:4px;font-size:14px}.thread-list-item:hover,.thread-list-item-active{background:var(--osi-bg-hover, #3f4147)}.thread-list-item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-list-item-count{font-variant-numeric:tabular-nums;font-size:12px;color:var(--osi-text-muted, #b5bac1)}.thread-list-state{padding:var(--osi-spacing-4);display:flex;align-items:center;gap:6px;color:var(--osi-text-muted, #b5bac1);font-size:13px}.thread-list-error{color:var(--osi-color-danger, #f23f42)}.thread-create-form{padding:var(--osi-spacing-4);display:flex;flex-direction:column;gap:var(--osi-spacing-2)}.thread-create-label{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--osi-text-muted, #b5bac1)}.thread-create-input{background:var(--osi-color-bg-base, #1e1f22);border:1px solid var(--border-soft);border-radius:4px;padding:8px 10px;color:var(--osi-text-strong, #f2f3f5);font-size:14px}.thread-create-input:focus{outline:none;border-color:var(--brand, #5865f2)}.thread-create-error{margin:0;color:var(--osi-color-danger, #f23f42);font-size:12px}.thread-create-actions{display:flex;gap:var(--osi-spacing-2);justify-content:flex-end;margin-top:var(--osi-spacing-2)}.thread-create-cancel,.thread-create-submit{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:4px;border:0;font-size:14px;cursor:pointer}.thread-create-cancel{background:transparent;color:var(--osi-text-strong, #f2f3f5)}.thread-create-cancel:hover{background:var(--osi-bg-hover, #3f4147)}.thread-create-submit{background:var(--brand, #5865f2);color:var(--osi-text-on-brand, #fff)}.thread-create-submit:disabled,.thread-create-cancel:disabled{opacity:.6;cursor:not-allowed}.thread-view{flex:1;min-height:0;display:flex;flex-direction:column}.thread-view-meta{display:flex;justify-content:flex-end;padding:6px var(--osi-spacing-3);border-bottom:1px solid var(--border-soft)}.thread-view-archive{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px solid var(--border-soft);color:var(--osi-text-muted, #b5bac1);padding:3px 8px;border-radius:4px;font-size:12px;cursor:pointer}.thread-view-archive:hover{background:var(--osi-bg-hover, #3f4147);color:var(--osi-text-strong, #f2f3f5)}.thread-view-messages{flex:1;overflow-y:auto;padding:var(--osi-spacing-3)}.thread-view-messages ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--osi-spacing-2)}.thread-view-message{background:var(--osi-color-bg-base, #313338);padding:8px 10px;border-radius:6px}.thread-view-message-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--osi-text-muted, #b5bac1);margin-bottom:4px}.thread-view-message-author{font-weight:600;color:var(--osi-text-strong, #f2f3f5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-view-message-body{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.thread-view-state{display:flex;align-items:center;gap:6px;color:var(--osi-text-muted, #b5bac1);font-size:13px;padding:var(--osi-spacing-3)}.thread-view-error{color:var(--osi-color-danger, #f23f42);font-size:12px;padding:4px var(--osi-spacing-3)}.thread-composer{display:flex;gap:var(--osi-spacing-2);padding:var(--osi-spacing-3);border-top:1px solid var(--border-soft);background:var(--osi-color-bg-base, #313338);flex-shrink:0}.thread-composer-input{flex:1;background:var(--osi-color-bg-elevated, #1e1f22);border:1px solid var(--border-soft);border-radius:6px;padding:8px 10px;color:var(--osi-text-strong, #f2f3f5);font-size:14px}.thread-composer-input:focus{outline:none;border-color:var(--brand, #5865f2)}.thread-composer-input:disabled{opacity:.6}.thread-composer-send{background:var(--brand, #5865f2);color:var(--osi-text-on-brand, #fff);border:0;border-radius:6px;width:36px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.thread-composer-send:disabled{opacity:.5;cursor:not-allowed}.thread-button{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:4px 10px;background:var(--osi-color-bg-elevated, #2b2d31);border:1px solid var(--border-soft);border-radius:12px;color:var(--osi-text-strong, #f2f3f5);font-size:12px;cursor:pointer}.thread-button:hover{background:var(--osi-bg-hover, #3f4147)}.thread-button-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.thread-button-count{color:var(--osi-text-muted, #b5bac1);font-variant-numeric:tabular-nums}.soundboard{display:flex;flex-direction:column;gap:var(--osi-space-3, 12px);padding:var(--osi-space-3, 12px)}.soundboard-header{display:flex;align-items:center;justify-content:space-between;gap:var(--osi-space-2, 8px)}.soundboard-cooldown{position:relative;flex:1;height:8px;background:var(--osi-bg-subtle, rgba(255, 255, 255, .08));border-radius:4px;overflow:hidden;max-width:200px}.soundboard-cooldown-fill{height:100%;background:var(--osi-color-accent, #5865f2);transition:width .25s linear}.soundboard-cooldown-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--osi-text-primary, #fff)}.soundboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--osi-space-2, 8px)}.soundboard-tile{display:flex;flex-direction:column;gap:4px}.soundboard-tile-button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border-radius:8px;background:var(--osi-bg-card, #2b2d31);color:var(--osi-text-primary, #fff);border:1px solid transparent;cursor:pointer;text-align:left;transition:background .15s ease,transform .1s ease}.soundboard-tile-button:hover:not(:disabled){background:var(--osi-bg-card-hover, #36373d)}.soundboard-tile-button:active:not(:disabled){transform:scale(.97)}.soundboard-tile-button:disabled{opacity:.5;cursor:not-allowed}.soundboard-tile-name{font-weight:600}.soundboard-tile-meta{font-size:11px;color:var(--osi-text-muted, #b5bac1)}.soundboard-tile-volume input[type=range]{width:100%}.soundboard-settings .soundboard-quota{font-variant-numeric:tabular-nums;color:var(--osi-text-muted, #b5bac1)}.soundboard-upload-form{display:flex;flex-direction:column;gap:var(--osi-space-2, 8px);padding:var(--osi-space-3, 12px) 0}.soundboard-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--osi-space-2, 8px)}.soundboard-row{display:grid;grid-template-columns:1fr auto 200px auto;align-items:center;gap:var(--osi-space-2, 8px);padding:8px 12px;border-radius:6px;background:var(--osi-bg-subtle, rgba(255, 255, 255, .04))}.soundboard-row-meta{font-size:12px;color:var(--osi-text-muted, #b5bac1)}.soundboard-empty{padding:12px;color:var(--osi-text-muted, #b5bac1);text-align:center}.voice-hud-soundboard-wrapper{position:relative;display:inline-flex}.soundboard-popover{position:absolute;bottom:calc(100% + 8px);right:0;z-index:40;min-width:280px;max-width:360px;max-height:360px;overflow-y:auto;background:var(--osi-bg-elevated, #2b2d31);border:1px solid var(--osi-border-subtle, rgba(255, 255, 255, .08));border-radius:10px;box-shadow:0 12px 32px #00000073}.soundboard-active-toast,.soundboard-error-toast{position:absolute;bottom:calc(100% + 8px);right:0;z-index:39;padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;background:var(--osi-bg-card, #1e1f22);color:var(--osi-text-primary, #fff);border:1px solid var(--osi-border-subtle, rgba(255, 255, 255, .08));pointer-events:none}.soundboard-error-toast{border-color:var(--osi-color-danger, #ed4245);color:var(--osi-color-danger, #ed4245)}.gif-picker-popover{position:absolute;bottom:100%;right:0;margin-bottom:8px;z-index:100}.gif-picker{width:360px;max-height:420px;background:var(--osi-bg-elevated, #2b2d31);border:1px solid var(--osi-border-subtle, #404249);border-radius:8px;box-shadow:0 8px 24px #0006;display:flex;flex-direction:column}.gif-picker-search{padding:8px 12px;border-bottom:1px solid var(--osi-border-subtle, #404249)}.gif-picker-search input{width:100%;padding:6px 8px;font:inherit;color:var(--osi-text-main, #f2f3f5);background:var(--osi-bg-input, #1e1f22);border:1px solid var(--osi-border-subtle, #404249);border-radius:4px;outline:none}.gif-picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px;overflow-y:auto;flex:1}.gif-picker-item{padding:0;border:none;background:transparent;cursor:pointer;border-radius:4px;overflow:hidden;transition:outline 60ms ease}.gif-picker-item:hover,.gif-picker-item:focus-visible{outline:2px solid var(--osi-accent, #5865f2)}.gif-picker-item img{width:100%;height:auto;display:block}.gif-picker-status{grid-column:1 / -1;padding:24px 12px;text-align:center;color:var(--osi-text-muted, #b5bac1)}.gif-picker-error{color:var(--osi-text-danger, #f23f42)}.gif-picker-footer{padding:6px 12px;border-top:1px solid var(--osi-border-subtle, #404249);font-size:11px;color:var(--osi-text-muted, #b5bac1);text-align:right}.settings-section-title{font-size:14px;text-transform:uppercase;letter-spacing:1px;opacity:.75;margin:0 0 8px}.settings-section-desc{font-size:13px;opacity:.7;margin:0 0 16px;line-height:1.4}.language-options{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.language-option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--osi-border-subtle, rgba(255, 255, 255, .08));border-radius:8px;cursor:pointer;background:var(--osi-bg-elevated, #2b2d31);transition:background .12s ease,border-color .12s ease}.language-option:hover{background:var(--osi-bg-elevated-hover, #34363c)}.language-option.is-active{border-color:var(--osi-color-accent, #5865f2);background:var(--osi-bg-accent-soft, rgba(88, 101, 242, .12))}.language-option input[type=radio]{margin-top:3px}.language-option-info{display:flex;flex-direction:column;gap:2px}.language-option-label{font-weight:600;font-size:14px}.language-option-desc{font-size:12px;opacity:.7;line-height:1.4}.language-preview{border-top:1px solid var(--osi-border-subtle, rgba(255, 255, 255, .08));padding-top:16px;margin-top:16px}.language-preview h4{font-size:13px;text-transform:uppercase;letter-spacing:1px;opacity:.7;margin:0 0 12px}.language-preview dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0}.language-preview dt{font-size:13px;opacity:.7}.language-preview dd{font-size:13px;margin:0;font-variant-numeric:tabular-nums}.voice-hud-activities-wrapper{position:relative;display:inline-flex}.activities-popover{position:absolute;bottom:calc(100% + 8px);right:0;z-index:40;min-width:280px;max-width:360px;padding:12px;background:var(--osi-bg-elevated, #2b2d31);border:1px solid var(--osi-border-subtle, rgba(255, 255, 255, .08));border-radius:10px;box-shadow:0 12px 32px #00000073}.activities-popover__title{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:1px;opacity:.7}.activities-popover__catalogue{list-style:none;margin:0;padding:0;display:grid;gap:6px}.activities-popover__catalogue button{display:grid;gap:2px;width:100%;padding:8px 10px;text-align:left;background:var(--osi-bg-card, #1e1f22);color:var(--osi-text-primary, #fff);border:1px solid var(--osi-border-subtle, rgba(255, 255, 255, .08));border-radius:6px;font:inherit;cursor:pointer}.activities-popover__catalogue button:disabled{opacity:.5;cursor:not-allowed}.activities-popover__catalogue button:hover:not(:disabled){background:var(--osi-bg-hover, #34363c)}.activities-popover__catalogue strong{font-size:13px}.activities-popover__catalogue span{font-size:12px;opacity:.7}.activities-popover__running{font-style:normal;font-size:11px;margin-top:2px;opacity:.7}.activities-popover__hint{margin:8px 0 0;font-size:12px;opacity:.7}.voice-activity-frame{display:flex;flex-direction:column;margin:8px 0;background:var(--osi-bg-card, #1e1f22);border:1px solid var(--osi-border-subtle, rgba(255, 255, 255, .08));border-radius:8px;overflow:hidden}.voice-activity-frame__header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-size:12px;background:var(--osi-bg-elevated, #2b2d31);border-bottom:1px solid var(--osi-border-subtle, rgba(255, 255, 255, .08))}.voice-activity-frame__close{background:none;border:0;color:inherit;font-size:16px;line-height:1;cursor:pointer;padding:0 4px}.voice-activity-frame__body{position:relative;width:100%}.voice-activity-watch__form{display:flex;gap:6px;padding:6px 10px;background:var(--osi-bg-card, #1e1f22)}.voice-activity-watch__form input{flex:1;font:inherit;padding:4px 8px;background:var(--osi-bg-input, #1e1f22);color:var(--osi-text-primary, #fff);border:1px solid var(--osi-border-subtle, rgba(255, 255, 255, .08));border-radius:4px}.voice-activity-watch__form button{font:inherit;padding:4px 10px;background:var(--osi-color-accent, #5865f2);color:#fff;border:0;border-radius:4px;cursor:pointer}.voice-activity-watch__placeholder{margin:0;padding:24px;text-align:center;font-size:13px;opacity:.7}.voice-activity-watch__error{margin:0;padding:4px 10px;font-size:12px;color:var(--osi-color-danger, #ed4245)}.voice-hud-text-toggle{display:inline-flex;align-items:center;gap:6px;margin:6px 10px 0;padding:4px 10px;border:1px solid var(--osi-color-border, #2f3136);border-radius:12px;background:transparent;color:var(--osi-text-muted, #b9bbbe);font:inherit;font-size:12px;cursor:pointer}.voice-hud-text-toggle:hover{color:var(--osi-text-default, #dcddde);border-color:var(--osi-color-border-strong, #4f545c)}.voice-hud-text-toggle--open{background:var(--osi-bg-elevated, #2f3136);color:var(--osi-text-default, #dcddde)}.text-in-voice{display:flex;flex-direction:column;margin:6px 10px 8px;padding:8px;background:var(--osi-bg-elevated, #2f3136);border-radius:8px;max-height:280px;min-height:160px}.text-in-voice-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.text-in-voice-header-title{font-size:12px;font-weight:600;color:var(--osi-text-default, #dcddde)}.text-in-voice-header-hint{font-size:11px;color:var(--osi-text-muted, #b9bbbe)}.text-in-voice-messages{flex:1 1 auto;overflow-y:auto;list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:4px}.text-in-voice-empty{font-size:12px;color:var(--osi-text-muted, #b9bbbe);text-align:center;padding:12px 4px}.text-in-voice-message{display:flex;gap:6px;font-size:13px;color:var(--osi-text-default, #dcddde)}.text-in-voice-message-author{font-weight:600;color:var(--osi-text-strong, #fff)}.text-in-voice-message--mine .text-in-voice-message-author{color:var(--osi-color-accent, #5865f2)}.text-in-voice-composer{display:flex;align-items:flex-end;gap:6px}.text-in-voice-input{flex:1 1 auto;resize:none;padding:6px 8px;border-radius:6px;border:1px solid var(--osi-color-border, #2f3136);background:var(--osi-bg-input, #202225);color:var(--osi-text-default, #dcddde);font:inherit;min-height:28px;max-height:96px}.text-in-voice-input:disabled{opacity:.6;cursor:not-allowed}.text-in-voice-send{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:var(--osi-color-accent, #5865f2);color:#fff;cursor:pointer}.text-in-voice-send:disabled{background:var(--osi-color-border, #4f545c);cursor:not-allowed}.forum-channel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;background:var(--osi-bg-secondary, #2b2d31);overflow:hidden}.forum-channel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--osi-border-faint, #2e3035);flex:0 0 auto}.forum-channel-toolbar-left,.forum-channel-toolbar-right{display:flex;align-items:center;gap:8px}.forum-channel-action{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;background:var(--osi-color-brand, #5865f2);color:#fff;font-size:14px;font-weight:500;border:none;cursor:pointer}.forum-channel-action:hover{filter:brightness(1.05)}.forum-channel-sort select{padding:6px 10px;border-radius:6px;background:var(--osi-bg-tertiary, #1e1f22);color:var(--osi-text-primary, #f2f3f5);border:1px solid var(--osi-border-faint, #2e3035);font-size:13px;cursor:pointer}.forum-view-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;color:var(--osi-text-secondary, #b5bac1);border:1px solid var(--osi-border-faint, #2e3035);border-radius:6px;cursor:pointer}.forum-view-toggle.selected{background:var(--osi-bg-tertiary, #1e1f22);color:var(--osi-text-primary, #f2f3f5)}.forum-channel-filters{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px;border-bottom:1px solid var(--osi-border-faint, #2e3035)}.forum-tag-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:var(--osi-bg-tertiary, #1e1f22);color:var(--osi-text-secondary, #b5bac1);font-size:12px;border:1px solid transparent;cursor:pointer}.forum-tag-chip.selected,.forum-tag-chip[aria-pressed=true]{background:var(--osi-color-brand-faint, rgba(88, 101, 242, .2));color:var(--osi-color-brand, #5865f2);border-color:var(--osi-color-brand, #5865f2)}.forum-post-tag-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--osi-bg-tertiary, #1e1f22);color:var(--osi-text-secondary, #b5bac1);font-size:11px;margin-right:4px}.forum-channel-posts{flex:1 1 auto;overflow-y:auto;padding:16px}.forum-channel-posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.forum-channel-posts-list{display:flex;flex-direction:column;gap:6px}.forum-channel-empty{text-align:center;color:var(--osi-text-tertiary, #80848e);font-size:14px;padding:32px 0}.forum-post{display:flex;flex-direction:column;gap:6px;text-align:left;padding:12px 14px;background:var(--osi-bg-tertiary, #1e1f22);color:var(--osi-text-primary, #f2f3f5);border-radius:8px;border:1px solid var(--osi-border-faint, #2e3035);cursor:pointer}.forum-post:hover{border-color:var(--osi-color-brand, #5865f2)}.forum-post-list{flex-direction:row;align-items:center;gap:16px}.forum-post-title{font-size:14px;font-weight:600;line-height:1.3;flex:1 1 auto}.forum-post-tags{display:flex;flex-wrap:wrap;gap:4px}.forum-post-meta{display:flex;align-items:center;gap:12px;color:var(--osi-text-tertiary, #80848e);font-size:12px}.forum-post-replies{display:inline-flex;align-items:center;gap:4px}.create-forum-post-modal{min-width:360px;max-width:480px}.forum-tag-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.forum-error{margin:4px 0;color:var(--osi-color-danger, #ed4245);font-size:12px}.boost-progress{display:flex;flex-direction:column;gap:8px}.boost-progress-header{display:flex;align-items:baseline;justify-content:space-between}.boost-progress-tier{font-weight:600;color:var(--osi-text-default, #dcddde)}.boost-progress-count{color:var(--osi-text-muted, #b9bbbe);font-size:13px}.boost-progress-bar{position:relative;height:8px;background:var(--osi-color-border, #2f3136);border-radius:4px;overflow:hidden}.boost-progress-fill{position:absolute;inset:0;width:0%;background:linear-gradient(90deg,#f47fff,#5865f2);transition:width .2s ease-out}.boost-progress-hint{color:var(--osi-text-muted, #b9bbbe);font-size:12px;margin:0}.boost-section-title{margin:12px 0 8px;font-size:13px;font-weight:600;color:var(--osi-text-muted, #b9bbbe);text-transform:uppercase;letter-spacing:.05em}.boost-perks-list,.boost-boosters-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;color:var(--osi-text-default, #dcddde);font-size:14px}.boost-boosters-empty{color:var(--osi-text-muted, #b9bbbe);font-style:italic}.boost-footer{display:flex;gap:8px;justify-content:flex-end}.boost-unboost{background:var(--osi-color-border, #4f545c)}.boost-confirm-overlay{z-index:1100}.boost-confirm-card{padding:16px;max-width:360px}.boost-confirm-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.chat-header-follow-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:13px;line-height:1}.follow-channel-picker{width:min(420px,92vw);max-height:70vh;display:flex;flex-direction:column;gap:12px;padding:16px}.follow-channel-picker-header{display:flex;align-items:center;gap:8px}.follow-channel-picker-header h3{margin:0;font-size:15px}.follow-channel-picker-back{padding:2px 6px}.follow-channel-picker-list{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:50vh;display:flex;flex-direction:column;gap:4px}.follow-channel-picker-item{width:100%;text-align:left;background:transparent;border:1px solid var(--osi-border-subtle, #2a2d33);border-radius:6px;padding:8px 10px;color:inherit;cursor:pointer;font:inherit}.follow-channel-picker-item:hover:not(:disabled){background:var(--osi-bg-elevated, #2a2d33)}.follow-channel-picker-item:disabled{opacity:.5;cursor:progress}.follow-channel-picker-empty,.follow-channel-picker-loading{padding:16px 10px;text-align:center;color:var(--osi-text-muted, #8a8d93);display:flex;align-items:center;justify-content:center;gap:8px}.follow-channel-picker-error{margin:0;color:var(--osi-color-danger, #ed4245);font-size:13px}.follow-channel-picker-footer{display:flex;justify-content:flex-end}:root{--osi-duration-instant: 80ms;--osi-duration-fast: .12s;--osi-duration-normal: .16s;--osi-duration-medium: .22s;--osi-duration-slow: .32s;--osi-easing-standard: cubic-bezier(.2, 0, 0, 1);--osi-easing-decelerate: cubic-bezier(0, 0, .2, 1);--osi-easing-accelerate: cubic-bezier(.4, 0, 1, 1);--osi-easing-linear: linear}@keyframes osi-kf-fade-in{0%{opacity:0}to{opacity:1}}@keyframes osi-kf-fade-out{0%{opacity:1}to{opacity:0}}@keyframes osi-kf-slide-up{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes osi-kf-slide-down{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,8px,0)}}@keyframes osi-kf-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes osi-kf-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}@keyframes osi-kf-collapse{0%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(0)}}@keyframes osi-kf-expand{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes osi-kf-spin{to{transform:rotate(360deg)}}@keyframes osi-kf-skeleton-shimmer{0%{transform:translate3d(-100%,0,0)}to{transform:translate3d(100%,0,0)}}@keyframes osi-kf-progress-indeterminate{0%{transform:translate3d(-60%,0,0) scaleX(.4)}50%{transform:translate3d(20%,0,0) scaleX(.6)}to{transform:translate3d(120%,0,0) scaleX(.4)}}.osi-anim-fade-in{animation:osi-kf-fade-in var(--osi-duration-normal) var(--osi-easing-standard) forwards}.osi-anim-fade-out{animation:osi-kf-fade-out var(--osi-duration-normal) var(--osi-easing-accelerate) forwards}.osi-anim-slide-up{animation:osi-kf-slide-up var(--osi-duration-medium) var(--osi-easing-decelerate) forwards}.osi-anim-slide-down{animation:osi-kf-slide-down var(--osi-duration-medium) var(--osi-easing-accelerate) forwards}.osi-anim-scale-in{animation:osi-kf-scale-in var(--osi-duration-normal) var(--osi-easing-decelerate) forwards;transform-origin:center}.osi-anim-scale-out{animation:osi-kf-scale-out var(--osi-duration-normal) var(--osi-easing-accelerate) forwards;transform-origin:center}.osi-anim-collapse{animation:osi-kf-collapse var(--osi-duration-medium) var(--osi-easing-accelerate) forwards;transform-origin:top}.osi-anim-expand{animation:osi-kf-expand var(--osi-duration-medium) var(--osi-easing-decelerate) forwards;transform-origin:top}.osi-spin{animation:osi-kf-spin .9s var(--osi-easing-linear) infinite}.osi-skeleton{position:relative;overflow:hidden;background:var(--osi-color-surface-1, rgba(255, 255, 255, .06));border-radius:6px}.osi-skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 50%,transparent 100%);animation:osi-kf-skeleton-shimmer 1.4s var(--osi-easing-linear) infinite;pointer-events:none}.osi-progress-indeterminate{position:relative;overflow:hidden;height:3px;background:var(--osi-color-surface-1, rgba(255, 255, 255, .06))}.osi-progress-indeterminate:after{content:"";position:absolute;inset:0;background:var(--osi-color-accent-strong, #4752c4);transform-origin:left center;animation:osi-kf-progress-indeterminate 1.4s var(--osi-easing-standard) infinite}.osi-trans-fast{transition-duration:var(--osi-duration-fast);transition-timing-function:var(--osi-easing-standard)}.osi-trans-normal{transition-duration:var(--osi-duration-normal);transition-timing-function:var(--osi-easing-standard)}.osi-trans-medium{transition-duration:var(--osi-duration-medium);transition-timing-function:var(--osi-easing-standard)}@media(prefers-reduced-motion:reduce){:root:not(.a11y-motion-override) .osi-spin,:root:not(.a11y-motion-override) .osi-skeleton:after,:root:not(.a11y-motion-override) .osi-progress-indeterminate:after{animation:none}}:root.a11y-reduced-motion .osi-spin,:root.a11y-reduced-motion .osi-skeleton:after,:root.a11y-reduced-motion .osi-progress-indeterminate:after{animation:none}@media(prefers-reduced-motion:reduce){:root:not(.a11y-motion-override) *,:root:not(.a11y-motion-override) *:before,:root:not(.a11y-motion-override) *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}}:root.a11y-reduced-motion *,:root.a11y-reduced-motion *:before,:root.a11y-reduced-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}:root.a11y-high-contrast{--osi-color-text-primary: #ffffff;--osi-color-text-secondary: #f5f5f5;--osi-color-text-muted: #e0e0e0;--osi-color-text-normal: #ffffff;--osi-color-text-dim: #f5f5f5;--osi-color-text-faint: #e0e0e0;--osi-color-border-subtle: rgba(255, 255, 255, .6);--osi-color-border-strong: rgba(255, 255, 255, .85);--osi-color-border-default: rgba(255, 255, 255, .6);--osi-color-placeholder: #d0d0d0;--osi-color-brand: #a6c0ff;--osi-color-brand-hover: #c8d8ff;--osi-color-text-brand: #cfdcff;--osi-color-text-brand-dim: #b2c2ee;--osi-color-accent-strong: #a6c0ff;--osi-focus-ring: 0 0 0 3px #ffd74a, 0 0 0 5px rgba(0, 0, 0, .85)}:root.a11y-high-contrast.theme-light{--osi-color-text-primary: #000000;--osi-color-text-secondary: #0a0a0a;--osi-color-text-muted: #1a1a1a;--osi-color-text-normal: #000000;--osi-color-text-dim: #0a0a0a;--osi-color-text-faint: #2a2a2a;--osi-color-border-subtle: rgba(0, 0, 0, .6);--osi-color-border-strong: rgba(0, 0, 0, .85);--osi-color-border-default: rgba(0, 0, 0, .6);--osi-color-placeholder: #3a3a3a;--osi-color-brand: #0033cc;--osi-color-brand-hover: #0022aa;--osi-color-text-brand: #0033cc;--osi-color-accent-strong: #0033cc;--osi-focus-ring: 0 0 0 3px #0033cc, 0 0 0 5px #ffd74a}@media(prefers-color-scheme:light){:root.a11y-high-contrast:not(.theme-dark):not(.theme-light){--osi-color-text-primary: #000000;--osi-color-text-secondary: #0a0a0a;--osi-color-text-muted: #1a1a1a;--osi-color-text-normal: #000000;--osi-color-text-dim: #0a0a0a;--osi-color-text-faint: #2a2a2a;--osi-color-border-subtle: rgba(0, 0, 0, .6);--osi-color-border-strong: rgba(0, 0, 0, .85);--osi-color-border-default: rgba(0, 0, 0, .6);--osi-color-placeholder: #3a3a3a;--osi-color-brand: #0033cc;--osi-color-brand-hover: #0022aa;--osi-color-text-brand: #0033cc;--osi-color-accent-strong: #0033cc;--osi-focus-ring: 0 0 0 3px #0033cc, 0 0 0 5px #ffd74a}}:root.a11y-link-underlines a{text-decoration:underline!important;text-underline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root.a11y-spacing-compact .message-row,:root.a11y-spacing-compact .message-group-row{--osi-a11y-row-pad-y: 2px}:root.a11y-spacing-cozy .message-row,:root.a11y-spacing-cozy .message-group-row{--osi-a11y-row-pad-y: 4px}:root.a11y-spacing-comfortable .message-row,:root.a11y-spacing-comfortable .message-group-row{--osi-a11y-row-pad-y: 10px}:root[class*=a11y-spacing-] .message-row,:root[class*=a11y-spacing-] .message-group-row{padding-top:var(--osi-a11y-row-pad-y, 4px);padding-bottom:var(--osi-a11y-row-pad-y, 4px)}.skip-to-content{position:fixed;top:0;left:0;z-index:10000;padding:12px 20px;background:var(--osi-color-brand, #4752c4);color:var(--osi-color-text-on-accent, #ffffff);font-weight:600;font-size:14px;text-decoration:none;border-radius:0 0 8px;transform:translateY(-110%);transition:transform .16s ease}.skip-to-content:focus,.skip-to-content:focus-visible{transform:translateY(0);outline:none;box-shadow:var(--osi-focus-ring)}:root.a11y-reduced-motion .skip-to-content{transition:none}.accessibility-settings{display:flex;flex-direction:column;gap:20px;max-width:720px;padding:4px 0}.accessibility-settings-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.accessibility-settings-hint{margin:0;color:var(--osi-color-text-secondary);font-size:13px;line-height:1.5;flex:1 1 320px}.accessibility-reset-all{flex-shrink:0}.a11y-section{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--osi-color-border-subtle);border-radius:12px;background:var(--osi-color-surface-0);margin:0}.a11y-section-title{font-size:14px;font-weight:600;color:var(--osi-color-text-primary);margin:0;padding:0}.a11y-section-desc{margin:0;font-size:13px;color:var(--osi-color-text-secondary);line-height:1.5}.a11y-radio-group{display:flex;flex-direction:column;gap:6px;margin-top:4px}.a11y-radio-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:background-color .14s ease,border-color .14s ease}.a11y-radio-option:hover{background:var(--osi-color-state-hover)}.a11y-radio-option:has(input:checked){border-color:var(--osi-color-accent-strong);background:var(--osi-color-accent-soft)}.a11y-radio-option:focus-within{outline:none;box-shadow:var(--osi-focus-ring)}.a11y-radio-option input[type=radio]{margin-top:2px;flex-shrink:0;accent-color:var(--osi-color-accent-strong)}.a11y-radio-info{display:flex;flex-direction:column;gap:2px}.a11y-radio-label{font-weight:600;font-size:13px;color:var(--osi-color-text-primary)}.a11y-radio-desc{font-size:12px;color:var(--osi-color-text-secondary);line-height:1.4}.a11y-slider-row{display:flex;align-items:center;gap:16px;margin-top:4px}.a11y-slider{flex:1;accent-color:var(--osi-color-accent-strong);min-width:200px}.a11y-slider:focus-visible{outline:none;box-shadow:var(--osi-focus-ring);border-radius:4px}.a11y-slider-value{min-width:56px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--osi-color-text-primary)}.a11y-toggle-row{flex-direction:row;align-items:center;justify-content:space-between}.a11y-toggle-info{flex:1;display:flex;flex-direction:column;gap:4px;padding-right:16px}.a11y-switch{display:inline-flex;align-items:center;gap:10px;border:none;background:transparent;cursor:pointer;padding:4px 6px;border-radius:8px;color:var(--osi-color-text-primary);font-size:13px;font-weight:600}.a11y-switch:focus-visible{outline:none;box-shadow:var(--osi-focus-ring)}.a11y-switch-track{position:relative;display:inline-block;width:40px;height:22px;background:var(--osi-color-state-active);border-radius:999px;transition:background-color .16s ease;border:1px solid var(--osi-color-border-subtle)}.a11y-switch.is-on .a11y-switch-track{background:var(--osi-color-accent-strong);border-color:var(--osi-color-accent-strong)}.a11y-switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:transform .16s ease}.a11y-switch.is-on .a11y-switch-thumb{transform:translate(18px)}.a11y-switch-label{min-width:32px;text-align:left;color:var(--osi-color-text-secondary)}.a11y-switch.is-on .a11y-switch-label{color:var(--osi-color-text-primary)}:root.a11y-reduced-motion .a11y-radio-option,:root.a11y-reduced-motion .a11y-switch-track,:root.a11y-reduced-motion .a11y-switch-thumb{transition:none}:root.a11y-high-contrast :focus-visible{outline:3px solid #ffd74a!important;outline-offset:2px}:root.osi-ui-compact .primary-rail{padding:var(--osi-spacing-2) var(--osi-spacing-1)}:root.osi-ui-compact .primary-rail-nav{gap:var(--osi-spacing-1)}:root.osi-ui-compact .rail-server-button{height:40px}:root.osi-ui-compact .rail-button,:root.osi-ui-compact .rail-user-anchor{height:var(--osi-p-size-36)}:root.osi-ui-compact .channel-sidebar{padding:0 2px}:root.osi-ui-compact .category-section{margin-top:4px}:root.osi-ui-compact .category-toggle{padding:2px 0}:root.osi-ui-compact .chat-header{padding-bottom:var(--osi-spacing-2)}:root.osi-ui-compact .member-sidebar{gap:var(--osi-spacing-1)}:root.osi-ui-compact .member-group-header{padding:2px var(--osi-spacing-2)}:root{--osi-density-message-padding-y: var(--osi-spacing-2);--osi-density-message-gap: var(--osi-spacing-3);--osi-density-message-line-height: 1.45;--osi-density-avatar-display: block;--osi-density-meta-author-size: var(--osi-font-size-base);--osi-density-row-min-height: var(--osi-p-size-38)}:root.density-compact{--osi-density-message-padding-y: 2px;--osi-density-message-gap: var(--osi-spacing-2);--osi-density-message-line-height: 1.3;--osi-density-avatar-display: none;--osi-density-meta-author-size: var(--osi-font-size-sm);--osi-density-row-min-height: 24px}:root.density-compact .message-row{padding-top:var(--osi-density-message-padding-y);padding-bottom:var(--osi-density-message-padding-y)}:root.density-compact .message-main{gap:var(--osi-density-message-gap);padding-top:0;padding-bottom:0;align-items:baseline}:root.density-compact .message-main>.avatar-wrap{display:none}:root.density-compact .message-body{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:var(--osi-spacing-2);line-height:var(--osi-density-message-line-height)}:root.density-compact .message-meta{display:inline-flex;flex:0 0 auto;gap:var(--osi-spacing-1)}:root.density-compact .message-meta strong{font-size:var(--osi-density-meta-author-size)}:root.density-compact .message-text{font-size:var(--osi-font-size-sm);line-height:var(--osi-density-message-line-height)}:root.density-compact .channel-item{min-height:22px;padding-top:2px;padding-bottom:2px}:root.density-compact .member-row,:root.density-compact .voice-row{min-height:var(--osi-density-row-min-height);padding:2px var(--osi-p-space-px-6);gap:var(--osi-spacing-2)}.user-profile-settings{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--osi-spacing-4);width:100%}@media(min-width:960px){.user-profile-settings{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"uploads uploads" "fields  preview";column-gap:var(--osi-spacing-5);row-gap:var(--osi-spacing-4)}.user-profile-uploads{grid-area:uploads}.user-profile-fields{grid-area:fields}.user-profile-preview{grid-area:preview}}.user-profile-uploads{position:relative;display:flex;flex-direction:column;gap:var(--osi-spacing-3)}.user-profile-fields{display:flex;flex-direction:column;gap:var(--osi-spacing-3)}.user-profile-field{display:flex;flex-direction:column;gap:6px;font-size:var(--osi-font-size-sm);color:var(--text-muted);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.user-profile-field>span{display:flex;align-items:center;justify-content:space-between;gap:var(--osi-spacing-2)}.user-profile-counter{font-weight:400;font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0;color:var(--text-subtle);font-size:var(--osi-font-size-caption)}.user-profile-counter--over{color:var(--osi-color-status-dnd);font-weight:600}.user-profile-textarea{width:100%;min-height:96px;max-height:240px;resize:vertical;padding:10px 12px;background:var(--osi-color-surface-input);color:var(--text-main);border:1px solid var(--border-soft);border-radius:var(--osi-radius-md);font-family:inherit;font-size:var(--osi-font-size-md);line-height:1.4;text-transform:none;letter-spacing:0;font-weight:400;transition:border-color .15s,box-shadow .15s}.user-profile-textarea:focus-visible{outline:none;border-color:var(--osi-color-text-brand);box-shadow:0 0 0 2px var(--osi-color-accent-soft)}.user-profile-textarea[aria-invalid=true]{border-color:var(--osi-color-status-dnd)}.user-profile-error{margin:0;font-size:var(--osi-font-size-caption);font-weight:500;color:var(--osi-color-status-dnd);text-transform:none;letter-spacing:0}.user-profile-save-row{display:flex;align-items:center;gap:var(--osi-spacing-3);flex-wrap:wrap;margin-top:var(--osi-spacing-2)}.user-profile-feedback{margin:0;font-size:var(--osi-font-size-sm);font-weight:500;text-transform:none;letter-spacing:0}.user-profile-feedback--success{color:var(--osi-color-status-online)}.user-profile-feedback--error{color:var(--osi-color-status-dnd)}.user-profile-preview{display:flex;flex-direction:column;gap:var(--osi-spacing-2)}.user-profile-preview-title{margin:0;font-size:var(--osi-font-size-sm);font-weight:700;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em}.user-profile-preview-card{position:relative;background:var(--panel-1);border:1px solid var(--border-soft);border-radius:10px;overflow:hidden;box-shadow:0 4px 16px var(--osi-color-surface-overlay);padding-bottom:var(--osi-spacing-4)}.user-profile-preview-banner{width:100%;height:90px;background-size:cover;background-position:center;background-repeat:no-repeat}.user-profile-preview-avatar{position:relative;margin:-32px var(--osi-spacing-3) 0;width:max-content;padding:4px;background:var(--panel-1);border-radius:50%}.user-profile-preview-name{margin:var(--osi-spacing-2) var(--osi-spacing-3) 0;font-size:var(--osi-font-size-lg);font-weight:700;color:var(--text-main)}.user-profile-preview-handle{margin:2px var(--osi-spacing-3) 0;font-size:var(--osi-font-size-caption);color:var(--text-muted)}.user-profile-preview-divider{border:none;border-top:1px solid var(--border-soft);margin:var(--osi-spacing-3) var(--osi-spacing-3) var(--osi-spacing-2)}.user-profile-preview-section-title{margin:0 var(--osi-spacing-3);font-size:11px;font-weight:700;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em}.user-profile-preview-about{margin:6px var(--osi-spacing-3) 0;font-size:var(--osi-font-size-sm);color:var(--text-main);line-height:1.45;word-break:break-word}.avatar-upload{display:flex;align-items:center;gap:var(--osi-spacing-3);flex-wrap:wrap}.avatar-upload-preview{position:relative;padding:4px;background:var(--osi-color-surface-1);border-radius:50%;box-shadow:0 4px 12px var(--osi-color-surface-overlay);flex-shrink:0}.avatar-upload-overlay{position:absolute;inset:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0000008c;border:none;color:var(--osi-color-text-on-brand);opacity:0;cursor:pointer;transition:opacity .15s ease}.avatar-upload-preview:hover .avatar-upload-overlay,.avatar-upload-overlay:focus-visible{opacity:1}.avatar-upload-overlay:focus-visible{outline:2px solid var(--osi-color-text-brand);outline-offset:2px}.avatar-upload-actions{display:flex;gap:var(--osi-spacing-2);flex-wrap:wrap}.avatar-upload-error{margin:0;font-size:var(--osi-font-size-caption);color:var(--osi-color-status-dnd)}.banner-upload{display:flex;flex-direction:column;gap:var(--osi-spacing-2)}.banner-upload-preview{position:relative;width:100%;aspect-ratio:5 / 2;max-height:200px;border-radius:10px;overflow:hidden;border:1px solid var(--border-soft);box-shadow:0 4px 16px var(--osi-color-surface-overlay)}.banner-upload-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#00000073;border:none;color:var(--osi-color-text-on-brand);font-size:var(--osi-font-size-sm);font-weight:600;letter-spacing:.02em;opacity:0;cursor:pointer;transition:opacity .15s ease}.banner-upload-preview:hover .banner-upload-overlay,.banner-upload-overlay:focus-visible{opacity:1}.banner-upload-overlay:focus-visible{outline:2px solid var(--osi-color-text-brand);outline-offset:-4px}.banner-upload-actions{display:flex;gap:var(--osi-spacing-2);flex-wrap:wrap}.banner-upload-error{margin:0;font-size:var(--osi-font-size-caption);color:var(--osi-color-status-dnd)}.server-icon-upload{display:flex;align-items:center;gap:var(--osi-spacing-3);flex-wrap:wrap}.server-icon-upload-preview{position:relative;width:96px;height:96px;border-radius:50%;background:var(--osi-color-surface-1);box-shadow:0 4px 12px var(--osi-color-surface-overlay);overflow:hidden;flex-shrink:0}.server-icon-upload-image{width:100%;height:100%;object-fit:cover;display:block}.server-icon-upload-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--osi-color-text-on-brand);background:var(--osi-color-text-brand, #5865f2);font-size:36px;font-weight:700}.server-icon-upload-overlay{position:absolute;inset:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0000008c;border:none;color:var(--osi-color-text-on-brand);opacity:0;cursor:pointer;transition:opacity .15s ease}.server-icon-upload-preview:hover .server-icon-upload-overlay,.server-icon-upload-overlay:focus-visible{opacity:1}.server-icon-upload-overlay:focus-visible{outline:2px solid var(--osi-color-text-brand);outline-offset:2px}.server-icon-upload-actions{display:flex;gap:var(--osi-spacing-2);flex-wrap:wrap}.server-icon-upload-error{margin:0;font-size:var(--osi-font-size-caption);color:var(--osi-color-status-dnd)}.server-banner-upload{display:flex;flex-direction:column;gap:var(--osi-spacing-2)}.server-banner-upload-preview{position:relative;width:100%;aspect-ratio:16 / 9;max-height:240px;border-radius:10px;overflow:hidden;border:1px solid var(--border-soft);box-shadow:0 4px 16px var(--osi-color-surface-overlay)}.server-banner-upload-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#00000073;border:none;color:var(--osi-color-text-on-brand);font-size:var(--osi-font-size-sm);font-weight:600;letter-spacing:.02em;opacity:0;cursor:pointer;transition:opacity .15s ease}.server-banner-upload-preview:hover .server-banner-upload-overlay,.server-banner-upload-overlay:focus-visible{opacity:1}.server-banner-upload-overlay:focus-visible{outline:2px solid var(--osi-color-text-brand);outline-offset:-4px}.server-banner-upload-actions{display:flex;gap:var(--osi-spacing-2);flex-wrap:wrap}.server-banner-upload-error{margin:0;font-size:var(--osi-font-size-caption);color:var(--osi-color-status-dnd)}.server-appearance-modal{width:min(640px,92vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.server-appearance-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--osi-spacing-3)}.server-appearance-header h3{margin:0;font-size:var(--osi-font-size-lg)}.server-appearance-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--osi-color-text-muted);font-size:20px;line-height:1;cursor:pointer;border-radius:4px}.server-appearance-close:hover{background:var(--osi-color-surface-2);color:var(--osi-color-text-strong)}.server-appearance-body{display:flex;flex-direction:column;gap:var(--osi-spacing-4);overflow-y:auto;padding-right:var(--osi-spacing-1)}.server-appearance-section{display:flex;flex-direction:column;gap:var(--osi-spacing-2)}.server-appearance-section h4{margin:0;font-size:var(--osi-font-size-md);font-weight:600}.server-appearance-hint{margin:0;font-size:var(--osi-font-size-caption);color:var(--osi-color-text-muted)}.server-appearance-label{display:flex;flex-direction:column;gap:4px}.server-appearance-input{width:100%;padding:8px 10px;background:var(--osi-color-surface-1);color:var(--osi-color-text-strong);border:1px solid var(--border-soft);border-radius:6px;font-size:var(--osi-font-size-sm)}.server-appearance-input:focus-visible{outline:2px solid var(--osi-color-text-brand);outline-offset:1px}.server-appearance-actions{display:flex;gap:var(--osi-spacing-2)}.server-appearance-save{padding:8px 14px;background:var(--osi-color-text-brand);color:var(--osi-color-text-on-brand);border:none;border-radius:6px;font-weight:600;cursor:pointer}.server-appearance-save:disabled{opacity:.55;cursor:not-allowed}.server-appearance-status,.server-appearance-error{margin:0;font-size:var(--osi-font-size-sm);color:var(--osi-color-text-muted)}.server-appearance-error{color:var(--osi-color-status-dnd)}.server-appearance-footer{display:flex;justify-content:flex-end;padding-top:var(--osi-spacing-3);margin-top:var(--osi-spacing-2);border-top:1px solid var(--border-soft)}.server-appearance-done{padding:8px 18px;background:var(--osi-color-text-brand);color:var(--osi-color-text-on-brand);border:none;border-radius:6px;font-weight:600;cursor:pointer}.server-appearance-done:disabled{opacity:.55;cursor:not-allowed}.image-crop-overlay{z-index:1200;background:#0009}.image-crop-modal{display:flex;flex-direction:column;gap:var(--osi-spacing-3);width:min(360px,calc(100% - 32px));padding:var(--osi-spacing-4);background:var(--osi-color-surface-modal);color:var(--text-main);border:1px solid var(--border-soft);border-radius:var(--osi-radius-lg, 12px);box-shadow:0 20px 60px #0000008c}.image-crop-header{display:flex;align-items:center;justify-content:space-between;gap:var(--osi-spacing-3)}.image-crop-header h3{margin:0;font-size:var(--osi-font-size-lg);font-weight:600;color:var(--text-main)}.image-crop-close{background:transparent;border:none;color:var(--text-muted);font-size:22px;line-height:1;cursor:pointer;padding:2px 8px;border-radius:var(--osi-radius-md);transition:background .15s,color .15s}.image-crop-close:hover,.image-crop-close:focus-visible{background:var(--osi-color-state-hover);color:var(--text-main);outline:none}.image-crop-viewport{position:relative;align-self:center;overflow:hidden;background:#000;border:1px solid var(--border-soft);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.image-crop-viewport:active{cursor:grabbing}.image-crop-viewport--round{border-radius:50%}.image-crop-viewport--rect{border-radius:var(--osi-radius-md)}.image-crop-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--osi-spacing-3);font-size:var(--osi-font-size-sm);color:var(--osi-color-status-dnd);background:#000000bf;text-align:center}.image-crop-controls{display:flex;align-items:center}.image-crop-zoom-label{display:flex;flex-direction:column;gap:6px;width:100%;font-size:var(--osi-font-size-caption);color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.image-crop-zoom-label input[type=range]{width:100%;accent-color:var(--osi-color-text-brand)}.image-crop-footer{display:flex;justify-content:flex-end;gap:var(--osi-spacing-2)}.avatar-initials{display:inline-flex;align-items:center;justify-content:center;color:var(--osi-color-text-on-brand);font-weight:700;border-radius:50%;letter-spacing:.02em;text-transform:uppercase;line-height:1}.user-card-banner{height:80px;background-size:cover;background-position:center;background-repeat:no-repeat}.user-card-about{margin:0;font-size:var(--osi-font-size-sm);line-height:1.45;color:var(--text-main);word-break:break-word}@media(prefers-reduced-motion:reduce){.avatar-upload-overlay,.banner-upload-overlay,.user-profile-textarea,.image-crop-close{transition:none}}.user-profile-privacy{display:flex;flex-direction:column;gap:var(--osi-spacing-3);padding:var(--osi-spacing-4);background:var(--osi-bg-subtle);border:1px solid var(--osi-border-subtle);border-radius:var(--osi-radius-md)}.user-profile-privacy-title{margin:0;font-size:14px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--osi-text-muted)}.user-profile-select{width:100%;padding:var(--osi-spacing-2) var(--osi-spacing-3);background:var(--osi-bg-default);color:var(--osi-text-default);border:1px solid var(--osi-border-default);border-radius:var(--osi-radius-sm);font-size:14px}.user-profile-select:focus-visible{outline:2px solid var(--osi-accent-primary);outline-offset:1px}.user-profile-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--osi-spacing-3)}.user-profile-toggle-label{display:block;font-size:14px;color:var(--osi-text-default)}.user-profile-toggle-hint{display:block;margin-top:2px;font-size:12px;color:var(--osi-text-muted)}.user-card-hidden-hint{margin:var(--osi-spacing-2) var(--osi-spacing-3);padding:var(--osi-spacing-2) var(--osi-spacing-3);font-size:13px;color:var(--osi-text-muted);background:var(--osi-bg-subtle);border-radius:var(--osi-radius-sm);text-align:center}.server-insights-modal{width:min(820px,94vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.server-insights-body{display:flex;flex-direction:column;gap:var(--osi-spacing-4);padding-top:var(--osi-spacing-3);overflow-y:auto}.server-insights-periods{display:flex;gap:var(--osi-spacing-2)}.server-insights-period{padding:6px 12px;border-radius:var(--osi-radius-sm);border:1px solid var(--osi-border-subtle, #444);background:transparent;color:var(--osi-color-text-muted, #aaa);cursor:pointer;font-size:var(--osi-font-size-sm)}.server-insights-period.is-active{background:var(--osi-bg-accent, #5865F2);color:#fff;border-color:transparent}.server-insights-content{display:flex;flex-direction:column;gap:var(--osi-spacing-4)}.server-insights-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--osi-spacing-3)}.server-insights-card{background:var(--osi-bg-subtle, #2f3136);padding:var(--osi-spacing-3);border-radius:var(--osi-radius-md, 8px);display:flex;flex-direction:column;gap:4px}.server-insights-card-label{font-size:var(--osi-font-size-sm);color:var(--osi-color-text-muted, #aaa)}.server-insights-card-value{font-size:var(--osi-font-size-xl, 22px);font-weight:600;color:var(--osi-color-text, #fff)}.insight-chart{margin:0;padding:var(--osi-spacing-3);background:var(--osi-bg-subtle, #2f3136);border-radius:var(--osi-radius-md, 8px);display:flex;flex-direction:column;gap:var(--osi-spacing-2)}.insight-chart-title{font-size:var(--osi-font-size-md, 14px);font-weight:600;color:var(--osi-color-text, #fff)}.insight-chart-svg{width:100%;height:auto;display:block}.insight-chart-empty{margin:0;font-size:var(--osi-font-size-sm);color:var(--osi-color-text-muted, #aaa)}
