:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{inset:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media(prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}ion-app{--ion-background-color: transparent}ion-content{--background: transparent;--padding-top: 0;--padding-bottom: 0;--padding-start: 0;--padding-end: 0}ion-page{background:var(--bg-primary)}ion-router-outlet{background:var(--bg-primary)}#root,ion-app,ion-router-outlet,ion-page{height:100%;width:100%}ion-content{--ion-safe-area-top: env(safe-area-inset-top);--ion-safe-area-bottom: env(safe-area-inset-bottom);--ion-safe-area-left: env(safe-area-inset-left);--ion-safe-area-right: env(safe-area-inset-right)}:root{--font-primary: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Instrument Sans", var(--font-primary);--font-mono: "JetBrains Mono", "SF Mono", monospace;--header-height: 56px;--status-height: 32px;--sidebar-width: 280px;--input-height: 52px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-sidebar: 100;--z-header: 50;--z-dropdown: 150;--z-overlay: 200;--z-modal: 300;--z-context: 400;--z-lightbox: 500}[data-theme=modern]{--accent-h: 250;--accent-s: 85%;--accent-l: 60%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 55%);--accent-text: #ffffff;--msg-radius: var(--radius-lg);--avatar-radius: var(--radius-full);--bubble-mode: 0}[data-theme=modern][data-mode=light]{--bg-primary: #f8f9fc;--bg-secondary: #ffffff;--bg-tertiary: #eef0f5;--bg-elevated: #ffffff;--text-primary: #1a1d26;--text-secondary: #5c6370;--text-tertiary: #8b919d;--text-inverse: #ffffff;--border-color: rgba(0, 0, 0, .08);--hover-bg: rgba(0, 0, 0, .04);--active-bg: rgba(0, 0, 0, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .12);--msg-bg: var(--bg-tertiary);--msg-own-bg: var(--accent);--msg-own-text: var(--accent-text)}[data-theme=modern][data-mode=dark]{--bg-primary: #0f1117;--bg-secondary: #161921;--bg-tertiary: #1e222d;--bg-elevated: #252a38;--text-primary: #f0f2f5;--text-secondary: #9ca3b0;--text-tertiary: #6b7280;--text-inverse: #0f1117;--border-color: rgba(255, 255, 255, .08);--hover-bg: rgba(255, 255, 255, .06);--active-bg: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .4);--msg-bg: var(--bg-tertiary);--msg-own-bg: var(--accent);--msg-own-text: var(--accent-text)}[data-theme=discord]{--accent-h: 235;--accent-s: 86%;--accent-l: 65%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 58%);--accent-text: #ffffff;--msg-radius: var(--radius-sm);--avatar-radius: var(--radius-full);--bubble-mode: 0}[data-theme=discord][data-mode=light]{--bg-primary: #ffffff;--bg-secondary: #f2f3f5;--bg-tertiary: #e3e5e8;--bg-elevated: #ffffff;--text-primary: #060607;--text-secondary: #4e5058;--text-tertiary: #80848e;--border-color: rgba(0, 0, 0, .08);--hover-bg: rgba(116, 127, 141, .08);--active-bg: rgba(116, 127, 141, .16);--shadow-sm: 0 1px 0 rgba(0, 0, 0, .04);--shadow-md: 0 4px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--msg-bg: transparent;--msg-own-bg: transparent;--msg-own-text: var(--text-primary)}[data-theme=discord][data-mode=dark]{--bg-primary: #313338;--bg-secondary: #2b2d31;--bg-tertiary: #1e1f22;--bg-elevated: #383a40;--text-primary: #f2f3f5;--text-secondary: #b5bac1;--text-tertiary: #80848e;--border-color: rgba(0, 0, 0, .24);--hover-bg: rgba(79, 84, 92, .32);--active-bg: rgba(79, 84, 92, .48);--shadow-sm: 0 1px 0 rgba(0, 0, 0, .2);--shadow-md: 0 4px 8px rgba(0, 0, 0, .24);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .32);--msg-bg: transparent;--msg-own-bg: transparent;--msg-own-text: var(--text-primary)}[data-theme=minimal]{--accent-h: 0;--accent-s: 0%;--accent-l: 20%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 30%);--accent-text: #ffffff;--msg-radius: var(--radius-sm);--avatar-radius: var(--radius-sm);--bubble-mode: 0}[data-theme=minimal][data-mode=light]{--bg-primary: #fafafa;--bg-secondary: #ffffff;--bg-tertiary: #f0f0f0;--bg-elevated: #ffffff;--text-primary: #171717;--text-secondary: #525252;--text-tertiary: #a3a3a3;--border-color: #e5e5e5;--hover-bg: #f5f5f5;--active-bg: #e5e5e5;--shadow-sm: none;--shadow-md: 0 1px 3px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1);--msg-bg: var(--bg-tertiary);--msg-own-bg: var(--text-primary);--msg-own-text: #ffffff}[data-theme=minimal][data-mode=dark]{--bg-primary: #0a0a0a;--bg-secondary: #0f0f0f;--bg-tertiary: #171717;--bg-elevated: #1a1a1a;--text-primary: #fafafa;--text-secondary: #a3a3a3;--text-tertiary: #525252;--border-color: #262626;--hover-bg: #1f1f1f;--active-bg: #262626;--shadow-sm: none;--shadow-md: 0 1px 3px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .4);--msg-bg: var(--bg-tertiary);--msg-own-bg: #fafafa;--msg-own-text: #0a0a0a}[data-theme=terminal]{--accent-h: 142;--accent-s: 70%;--accent-l: 50%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 60%);--accent-text: #000000;--font-primary: var(--font-mono);--msg-radius: 0;--avatar-radius: 0;--bubble-mode: 0}[data-theme=terminal][data-mode=light]{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #e8e8e8;--bg-elevated: #ffffff;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-tertiary: #808080;--border-color: #d0d0d0;--hover-bg: #e0e0e0;--active-bg: #d0d0d0;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--msg-bg: transparent;--msg-own-bg: transparent;--msg-own-text: var(--accent)}[data-theme=terminal][data-mode=dark]{--bg-primary: #0d0d0d;--bg-secondary: #141414;--bg-tertiary: #1a1a1a;--bg-elevated: #1f1f1f;--text-primary: #00ff00;--text-secondary: #00cc00;--text-tertiary: #008800;--border-color: #333333;--hover-bg: #1f1f1f;--active-bg: #2a2a2a;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--msg-bg: transparent;--msg-own-bg: transparent;--msg-own-text: var(--accent)}[data-theme=bubbly]{--accent-h: 210;--accent-s: 100%;--accent-l: 52%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 45%);--accent-text: #ffffff;--msg-radius: var(--radius-xl);--avatar-radius: var(--radius-full);--bubble-mode: 1}[data-theme=bubbly][data-mode=light]{--bg-primary: #f0f2f5;--bg-secondary: #ffffff;--bg-tertiary: #e4e6eb;--bg-elevated: #ffffff;--text-primary: #050505;--text-secondary: #65676b;--text-tertiary: #8a8d91;--border-color: rgba(0, 0, 0, .05);--hover-bg: rgba(0, 0, 0, .04);--active-bg: rgba(0, 0, 0, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--msg-bg: var(--bg-tertiary);--msg-own-bg: var(--accent);--msg-own-text: var(--accent-text)}[data-theme=bubbly][data-mode=dark]{--bg-primary: #18191a;--bg-secondary: #242526;--bg-tertiary: #3a3b3c;--bg-elevated: #3a3b3c;--text-primary: #e4e6eb;--text-secondary: #b0b3b8;--text-tertiary: #8a8d91;--border-color: rgba(255, 255, 255, .05);--hover-bg: rgba(255, 255, 255, .05);--active-bg: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 2px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--msg-bg: var(--bg-tertiary);--msg-own-bg: var(--accent);--msg-own-text: var(--accent-text)}[data-theme=glass]{--accent-h: 280;--accent-s: 80%;--accent-l: 60%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 55%);--accent-text: #ffffff;--msg-radius: var(--radius-lg);--avatar-radius: var(--radius-lg);--bubble-mode: 0}[data-theme=glass][data-mode=light]{--bg-primary: rgba(248, 250, 252, .8);--bg-secondary: rgba(255, 255, 255, .7);--bg-tertiary: rgba(241, 245, 249, .8);--bg-elevated: rgba(255, 255, 255, .9);--text-primary: #1e293b;--text-secondary: #475569;--text-tertiary: #94a3b8;--border-color: rgba(255, 255, 255, .5);--hover-bg: rgba(255, 255, 255, .5);--active-bg: rgba(255, 255, 255, .7);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .12);--glass-blur: blur(20px);--glass-border: 1px solid rgba(255, 255, 255, .3);--msg-bg: rgba(255, 255, 255, .5);--msg-own-bg: var(--accent);--msg-own-text: var(--accent-text)}[data-theme=glass][data-mode=dark]{--bg-primary: rgba(15, 23, 42, .8);--bg-secondary: rgba(30, 41, 59, .7);--bg-tertiary: rgba(51, 65, 85, .6);--bg-elevated: rgba(51, 65, 85, .8);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--border-color: rgba(255, 255, 255, .1);--hover-bg: rgba(255, 255, 255, .05);--active-bg: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .4);--glass-blur: blur(20px);--glass-border: 1px solid rgba(255, 255, 255, .1);--msg-bg: rgba(255, 255, 255, .05);--msg-own-bg: var(--accent);--msg-own-text: var(--accent-text)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}*{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y}.message-list,.settings-content,.sidebar-content,.members-list,.gallery-grid,.pinned-list,.search-results{touch-action:pan-y;-webkit-overflow-scrolling:touch}body{font-family:var(--font-primary);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh;min-height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit;font-size:16px;border:none;outline:none;background:none;color:inherit}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:var(--accent);color:var(--accent-text)}.icon-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.link,.mention{color:inherit;font-weight:600;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:2px;cursor:pointer;transition:opacity var(--transition-fast)}.link:hover,.mention:hover{opacity:.8}.bot-badge{display:inline-flex;align-items:center;padding:1px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--accent);color:var(--accent-text);border-radius:var(--radius-sm);margin-left:6px}.login-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg-primary)}[data-theme=glass] .login-screen{background:linear-gradient(135deg,hsl(var(--accent-h),60%,30%),hsl(calc(var(--accent-h) + 60),60%,20%))}.login-card{width:100%;max-width:380px;background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}[data-theme=glass] .login-card{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border)}.login-header{padding:40px 32px 24px;text-align:center}.login-logo{width:64px;height:64px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-text);border-radius:var(--radius-lg)}.login-header h1{font-family:var(--font-display);font-size:24px;font-weight:700;margin-bottom:8px}.login-header p{color:var(--text-secondary);font-size:14px}.login-form{padding:0 32px 32px}.input-group{margin-bottom:16px}.input-group input{width:100%;padding:14px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:15px;transition:all var(--transition-fast)}.input-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-h),var(--accent-s),var(--accent-l),.15)}.input-group input::placeholder{color:var(--text-tertiary)}.login-error{padding:12px;margin-bottom:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#ef4444;font-size:14px;text-align:center}.login-btn{width:100%;padding:14px 24px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);color:var(--accent-text);font-size:15px;font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-fast)}.login-btn:hover:not(:disabled){background:var(--accent-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{padding:16px 32px;text-align:center;border-top:1px solid var(--border-color);color:var(--text-tertiary);font-size:12px}.main-window{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--bg-primary)}.header{height:var(--header-height);display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:var(--z-header)}[data-theme=glass] .header{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);border-top:none;border-left:none;border-right:none}.icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.icon-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.header-info{flex:1;min-width:0;overflow:hidden}.header-title{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:600;color:var(--text-primary);min-width:0}.header-title svg{color:var(--text-tertiary);flex-shrink:0}.header-channel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-subtitle-row{display:flex;align-items:center;gap:8px;margin-top:2px;min-width:0}.header-subtitle{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-online-count{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-tertiary);flex-shrink:0}.online-dot{width:8px;height:8px;background:#3ba55c;border-radius:50%;flex-shrink:0}.header-actions{position:relative;flex-shrink:0}.header-dropdown{position:absolute;top:100%;right:0;margin-top:8px;min-width:200px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 8px 24px #00000040;padding:6px;z-index:var(--z-dropdown)}[data-theme=glass] .header-dropdown{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--glass-bg);border:var(--glass-border)}.header-dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:14px;color:var(--text-primary);border-radius:var(--radius-md);transition:all var(--transition-fast);text-align:left}.header-dropdown-item:hover{background:var(--hover-bg)}.header-dropdown-item svg{color:var(--text-secondary);flex-shrink:0}.header-dropdown-item:hover svg{color:var(--text-primary)}.header-dropdown-divider{height:1px;background:var(--border-color);margin:6px 0}.main-content{flex:1;display:flex;overflow:hidden;position:relative}.server-menu-panel{position:fixed;top:calc(var(--header-height) + 8px);left:16px;width:320px;max-height:calc(100vh - var(--header-height) - 60px);background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);z-index:var(--z-dropdown);display:flex;flex-direction:column;overflow:hidden}[data-theme=glass] .server-menu-panel{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--glass-bg);border:var(--glass-border)}.server-menu-panel-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-color);font-weight:600;font-size:14px;color:var(--text-primary)}.server-menu-panel-header .server-count{margin-left:auto;background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-full);font-size:12px;color:var(--text-secondary)}.server-menu-list{flex:1;overflow-y:auto;padding:8px}.server-menu-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--text-tertiary);text-align:center}.server-menu-empty p{font-size:12px;margin:0}.server-menu-item{margin-bottom:4px;border-radius:var(--radius-md);overflow:hidden}.server-menu-item.expanded{background:var(--bg-tertiary)}.server-menu-header{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:background .1s ease}.server-menu-header.selected{background:var(--accent);color:#fff}.server-menu-header.selected .server-menu-members{color:#ffffffb3}.server-menu-icon{width:36px;height:36px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0}.server-menu-icon-placeholder{width:36px;height:36px;border-radius:var(--radius-md);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.server-menu-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.server-menu-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.server-menu-header.selected .server-menu-name{color:#fff}.server-menu-members{font-size:11px;color:var(--text-tertiary)}.server-menu-arrow{color:var(--text-tertiary);flex-shrink:0}.server-menu-header.selected .server-menu-arrow{color:#ffffffb3}.server-menu-channels{overflow:hidden;padding:4px 0}.server-menu-loading{display:flex;align-items:center;gap:8px;padding:12px 16px;color:var(--text-tertiary);font-size:12px}.server-menu-loading svg{animation:spin 1s linear infinite}.server-menu-category{margin-bottom:2px}.server-menu-category .category-header{display:flex;align-items:center;gap:2px;padding:4px 8px;width:100%;background:none;border:none;color:var(--text-tertiary);font-size:10px;font-weight:700;letter-spacing:.3px;cursor:pointer}.server-menu-category .category-header:hover{color:var(--text-secondary)}.server-menu-category .category-arrow{display:flex;width:12px}.server-menu-channel{width:100%;display:flex;align-items:center;gap:6px;padding:5px 8px 5px 16px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;text-align:left;cursor:pointer;transition:all .1s ease}.server-menu-channel:hover{background:var(--hover-bg);color:var(--text-primary)}.server-menu-channel.active{background:var(--accent);color:#fff}.server-menu-channel .channel-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-backdrop{position:fixed;inset:0;background:#00000080;z-index:calc(var(--z-sidebar) - 1)}@media(max-width:480px){.server-menu-panel{left:8px;right:8px;width:auto;max-height:70vh}}} .sidebar-main-tabs{display:flex;padding:8px;gap:6px;border-bottom:1px solid var(--border-color)}.sidebar-main-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;background:var(--bg-tertiary);border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.sidebar-main-tab:hover{background:var(--hover-bg);color:var(--text-primary)}.sidebar-main-tab.active{background:var(--accent);color:var(--accent-text)}.tab-badge{padding:2px 6px;background:#fff3;border-radius:var(--radius-full);font-size:11px;font-weight:600}.sidebar-main-tab.active .tab-badge{background:#ffffff4d}.tab-badge.pending{background:#f23f43;color:#fff}.sidebar-sub-tabs{display:flex;padding:8px;gap:4px;border-bottom:1px solid var(--border-color);overflow-x:auto}.sidebar-sub-tab{padding:6px 12px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease}.sidebar-sub-tab:hover{color:var(--text-primary);background:var(--hover-bg)}.sidebar-sub-tab.active{color:var(--text-primary);background:var(--bg-tertiary)}.sidebar-content{flex:1;overflow-y:auto;padding:8px}.sidebar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--text-tertiary);text-align:center}.sidebar-empty-small{padding:20px;text-align:center;color:var(--text-tertiary);font-size:13px}.sidebar-loading{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px;color:var(--text-tertiary)}.btn-sm{padding:8px 16px;font-size:13px}.sidebar-servers-list{display:flex;flex-direction:column;gap:4px}.sidebar-server-members{font-size:11px;color:var(--text-tertiary);display:block}.channel-category{margin-bottom:2px}.category-header{display:flex;align-items:center;gap:2px;padding:6px 4px;width:100%;background:none;border:none;color:var(--text-tertiary);font-size:11px;font-weight:700;letter-spacing:.3px;cursor:pointer;transition:color .1s ease}.category-header:hover{color:var(--text-secondary)}.category-arrow{display:flex;align-items:center;justify-content:center;width:12px;height:12px}.category-name{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-channels{overflow:hidden}.sidebar-channel-item{display:flex;align-items:center;gap:6px;padding:6px 8px;margin-left:4px;width:calc(100% - 4px);background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;text-align:left;cursor:pointer;transition:all .1s ease}.sidebar-channel-item:hover{background:var(--hover-bg);color:var(--text-primary)}.sidebar-channel-item.active{background:var(--accent);color:var(--accent-text)}.sidebar-channel-item svg{flex-shrink:0;opacity:.7}.sidebar-channel-item.active svg{opacity:1}.leave-confirm-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px}.leave-confirm-modal{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:20px;max-width:320px;width:100%}.leave-confirm-modal h3{margin:0 0 12px;font-size:16px;color:var(--text-primary)}.leave-confirm-modal p{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}.leave-confirm-actions{display:flex;gap:10px;margin-top:20px;justify-content:flex-end}.sidebar-friends-list{display:flex;flex-direction:column;gap:2px}.sidebar-friend-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-md);cursor:pointer}.sidebar-friend-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.sidebar-friend-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sidebar-friend-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-friend-activity,.sidebar-friend-status{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-dm-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-md);cursor:pointer}.sidebar-dm-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.sidebar-dm-group-avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.sidebar-dm-name{flex:1;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-pending-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-md)}.sidebar-pending-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.sidebar-pending-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sidebar-pending-name{font-size:14px;font-weight:500;color:var(--text-primary)}.sidebar-pending-type{font-size:12px;color:var(--text-tertiary)}.sidebar-pending-actions{display:flex;gap:6px}.sidebar-pending-actions .accept-btn,.sidebar-pending-actions .decline-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:50%;cursor:pointer;transition:all .15s ease}.sidebar-pending-actions .accept-btn{color:#23a55a}.sidebar-pending-actions .accept-btn:hover{background:#23a55a33}.sidebar-pending-actions .decline-btn{color:#f23f43}.sidebar-pending-actions .decline-btn:hover{background:#f23f4333}.server-group{margin-bottom:4px}.server-header{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-md);font-size:14px;font-weight:600;color:var(--text-primary);text-align:left;transition:background var(--transition-fast)}.server-icon{color:var(--text-tertiary);transition:transform var(--transition-fast)}.server-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-list{overflow:hidden}.channel-loading,.channel-empty{padding:8px 12px 8px 44px;font-size:13px;color:var(--text-tertiary);display:flex;align-items:center;gap:8px}.channel-item{position:relative;width:100%;display:flex;align-items:center;gap:8px;padding:8px 12px 8px 44px;border-radius:var(--radius-md);font-size:14px;color:var(--text-secondary);text-align:left;transition:all var(--transition-fast)}.channel-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-item:hover{color:var(--text-primary)}.channel-item.active{background:var(--accent);color:var(--accent-text)}.channel-item svg{flex-shrink:0;opacity:.6}.channel-item.active svg{opacity:1}.chat-area{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary)}.message-list{flex:1;overflow-y:auto;overflow-anchor:none;padding:8px 4px;display:flex;flex-direction:column;gap:2px;position:relative}.message-list.empty{align-items:center;justify-content:center}.empty-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px;text-align:center;color:var(--text-tertiary)}.empty-state svg{opacity:.5}.empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary)}.load-more-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;font-size:13px;color:var(--text-tertiary)}.message-group{display:flex;gap:10px;padding:6px 8px;contain:content}[data-theme=bubbly] .message-group.is-bot{flex-direction:row-reverse}.message-avatar{flex-shrink:0;width:40px;height:40px;min-width:40px;min-height:40px}.message-avatar img{width:40px;height:40px;min-width:40px;min-height:40px;object-fit:cover;border-radius:var(--avatar-radius);cursor:pointer}[data-theme=bubbly] .message-group.is-bot .message-avatar{display:none}.message-content-wrapper{flex:1;min-width:0;max-width:100%}[data-theme=bubbly] .message-group.is-bot .message-content-wrapper{display:flex;flex-direction:column;align-items:flex-end}[data-theme=bubbly] .message-group.is-bot .message{display:flex;flex-direction:column;align-items:flex-end;width:100%}[data-theme=bubbly] .message-group.is-bot .message-reactions{justify-content:flex-end}[data-theme=bubbly] .message-group.is-bot .message-reply-indicator{border-left:none;border-right:2px solid var(--accent);flex-direction:row-reverse}[data-theme=bubbly] .message-group.is-bot .attachment{display:flex;justify-content:flex-end}.message-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}[data-theme=bubbly] .message-group.is-bot .message-header{flex-direction:row-reverse}.message-author{font-weight:600;font-size:14px;cursor:pointer}.message-author:hover{text-decoration:underline}.message-time{font-size:12px;color:var(--text-tertiary)}.message{position:relative;padding:4px 0}.message-body{display:inline-block;max-width:100%}[data-theme=bubbly] .message-body{padding:10px 16px;background:var(--msg-bg);border-radius:var(--msg-radius);max-width:85%}[data-theme=bubbly] .message-group.is-bot .message-body{background:var(--msg-own-bg);color:var(--msg-own-text)}[data-theme=imessage] .message-group.is-bot,[data-theme=android] .message-group.is-bot,[data-theme=oled] .message-group.is-bot{flex-direction:row-reverse}[data-theme=imessage] .message-group.is-bot .message-avatar,[data-theme=android] .message-group.is-bot .message-avatar,[data-theme=oled] .message-group.is-bot .message-avatar{display:none}[data-theme=imessage] .message-group.is-bot .message-content-wrapper,[data-theme=android] .message-group.is-bot .message-content-wrapper,[data-theme=oled] .message-group.is-bot .message-content-wrapper{display:flex;flex-direction:column;align-items:flex-end}[data-theme=imessage] .message-group.is-bot .message,[data-theme=android] .message-group.is-bot .message,[data-theme=oled] .message-group.is-bot .message{display:flex;flex-direction:column;align-items:flex-end;width:100%}[data-theme=imessage] .message-group.is-bot .message-reactions,[data-theme=android] .message-group.is-bot .message-reactions,[data-theme=oled] .message-group.is-bot .message-reactions{justify-content:flex-end}[data-theme=imessage] .message-group.is-bot .message-reply-indicator,[data-theme=android] .message-group.is-bot .message-reply-indicator,[data-theme=oled] .message-group.is-bot .message-reply-indicator{border-left:none;border-right:2px solid var(--accent);flex-direction:row-reverse}[data-theme=imessage] .message-group.is-bot .attachment,[data-theme=android] .message-group.is-bot .attachment,[data-theme=oled] .message-group.is-bot .attachment{display:flex;justify-content:flex-end}[data-theme=imessage] .message-group.is-bot .message-header,[data-theme=android] .message-group.is-bot .message-header,[data-theme=oled] .message-group.is-bot .message-header{flex-direction:row-reverse}[data-theme=imessage] .message-body,[data-theme=android] .message-body,[data-theme=oled] .message-body{padding:10px 16px;background:var(--msg-bg);border-radius:var(--msg-radius);max-width:85%}[data-theme=imessage] .message-group.is-bot .message-body,[data-theme=android] .message-group.is-bot .message-body,[data-theme=oled] .message-group.is-bot .message-body{background:var(--msg-own-bg);color:var(--msg-own-text)}.custom-bubble-color[data-theme=imessage] .message-group.is-bot .message-body,.custom-bubble-color[data-theme=android] .message-group.is-bot .message-body,.custom-bubble-color[data-theme=oled] .message-group.is-bot .message-body{background:var(--msg-own-bg-custom)!important}.custom-bubble-color[data-theme=imessage] .message-group.is-bot .message-body,.custom-bubble-color[data-theme=android] .message-group.is-bot .message-body,.custom-bubble-color[data-theme=oled] .message-group.is-bot .message-body{color:#fff;text-shadow:0 0 1px rgba(0,0,0,.1)}[data-theme=imessage] .message-group.is-bot .message-body{border-bottom-right-radius:4px}[data-theme=imessage] .message-group:not(.is-bot) .message-body{border-bottom-left-radius:4px}[data-theme=android] .message-group.is-bot .message-body{border-bottom-right-radius:4px}[data-theme=android] .message-group:not(.is-bot) .message-body{border-bottom-left-radius:4px}[data-theme=oled] .message-group:not(.is-bot) .message-body{border:1px solid var(--border-color);border-bottom-left-radius:4px}[data-theme=oled] .message-group.is-bot .message-body{border-bottom-right-radius:4px}.message-text{font-size:15px;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;-webkit-user-select:text;user-select:text}.message-text strong{font-weight:700}.message-text em{font-style:italic}.message-text u{text-decoration:underline}.message-text del{text-decoration:line-through;opacity:.7}.message-text .md-inline-code{padding:2px 6px;background:var(--bg-tertiary);border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em}.message-text .md-code-block{margin:8px 0;padding:12px;background:var(--bg-tertiary);border-radius:var(--radius-md);overflow-x:auto}.message-text .md-code-block code{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.4;white-space:pre;display:block}.message-text .md-blockquote{margin:4px 0;padding:4px 12px;border-left:4px solid var(--accent);background:rgba(var(--accent-h),var(--accent-s),var(--accent-l),.05);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.message-text .md-blockquote.multi{white-space:pre-wrap}.message-text .md-header{font-weight:700;margin:8px 0 4px;line-height:1.3}.message-text h2.md-header{font-size:1.5em}.message-text h3.md-header{font-size:1.25em}.message-text h4.md-header{font-size:1.1em}.message-text .md-list{margin:4px 0;padding-left:24px;list-style-type:disc}.message-text .md-list-item{margin:2px 0}.message-text .md-list-item.ordered{list-style-type:decimal}.message-text .spoiler{background:var(--text-primary);color:transparent;border-radius:4px;padding:0 4px;cursor:pointer;transition:all .2s}.message-text .spoiler.revealed{background:var(--bg-tertiary);color:var(--text-primary)}.edited-badge{font-size:11px;color:var(--text-tertiary);margin-left:4px}[data-theme=bubbly] .message-group.is-bot .edited-badge{color:#fff9}.message-reply-indicator{display:flex;align-items:center;gap:6px;padding:4px 8px;margin-bottom:4px;font-size:12px;color:var(--text-tertiary);border-left:2px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;transition:background .1s ease}.message-reply-indicator.clickable{cursor:pointer}.message-reply-indicator.clickable:hover{background:var(--hover-bg);color:var(--text-secondary)}.message-reply-indicator .reply-author{font-weight:500;color:var(--text-secondary)}.reply-preview{opacity:.7;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-edit{display:flex;flex-direction:column;gap:8px}.message-edit textarea{width:100%;min-height:60px;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);resize:vertical}.message-edit textarea:focus{border-color:var(--accent)}.edit-actions{display:flex;gap:8px}.edit-actions button{display:flex;align-items:center;gap:4px;padding:6px 12px;font-size:13px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.edit-actions button:first-child{background:var(--accent);color:var(--accent-text)}.edit-actions button:last-child{background:var(--bg-tertiary)}.attachment{margin-top:8px}.attachment-image{max-width:100%;width:auto;max-height:400px;border-radius:var(--radius-md);cursor:zoom-in;display:block}.attachment-image.embedded{max-width:100%}.inline-emoji{width:1.375em;height:1.375em;vertical-align:-.3em;object-fit:contain;margin:0 1px}.message-text:has(.inline-emoji:only-child) .inline-emoji,.message-text .inline-emoji:only-child{width:3em;height:3em}.attachment-video{position:relative;display:inline-block;max-width:100%}.attachment-video video{max-width:100%;max-height:400px;border-radius:var(--radius-md)}.video-expand{position:absolute;top:8px;right:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#0009;color:#fff;border-radius:var(--radius-sm);opacity:0;transition:opacity var(--transition-fast)}.attachment-video:hover .video-expand{opacity:1}.attachment-file{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-tertiary);border-radius:var(--radius-md);font-size:14px;font-weight:500;text-decoration:underline}.reaction{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:14px;transition:all var(--transition-fast)}.reaction:hover{background:var(--hover-bg)}.reaction.active{background:rgba(var(--accent-h),var(--accent-s),var(--accent-l),.15);border-color:var(--accent)}.reaction-emoji{font-size:16px;line-height:1}.reaction-emoji img{width:16px;height:16px;object-fit:contain}.reaction-emoji-img{width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important;object-fit:contain;vertical-align:middle}.reaction-count{font-size:12px;font-weight:500;color:var(--text-secondary)}.message-actions{display:none}.message-menu-btn{position:absolute;top:4px;right:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);box-shadow:var(--shadow-md);cursor:pointer;transition:all var(--transition-fast);z-index:10}.message-menu-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.message.selected{background:var(--hover-bg);border-radius:var(--radius-md);margin:0 -8px;padding:4px 8px}[data-theme=bubbly] .message.selected{background:transparent}[data-theme=bubbly] .message.selected .message-body{box-shadow:0 0 0 2px var(--accent)}.message-input-container{position:relative;padding:12px 16px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}[data-theme=glass] .message-input-container{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.files-preview{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;margin-bottom:10px;background:var(--bg-tertiary);border-radius:var(--radius-md);max-height:200px;overflow-y:auto}.file-preview-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-secondary);border-radius:var(--radius-sm);min-width:150px;max-width:250px}.file-preview-item img{width:40px;height:40px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.file-preview-item .file-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:var(--radius-sm);color:var(--text-secondary);flex-shrink:0}.file-preview-item .file-name{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.file-preview-item .file-size{font-size:10px;color:var(--text-tertiary);flex-shrink:0}.file-preview-item .file-remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.file-preview-item .file-remove:hover{background:var(--hover-bg);color:var(--danger)}.file-preview{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:10px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.file-preview img{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm)}.file-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:var(--radius-sm);color:var(--text-secondary)}.file-name{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-remove{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.file-remove:hover{background:var(--hover-bg);color:var(--text-primary)}.input-form{display:flex;align-items:stretch;gap:8px}.input-wrapper{flex:1;min-width:0;order:-1;display:flex}.input-wrapper textarea{width:100%;height:76px;min-height:76px;max-height:150px;padding:0 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);resize:none;transition:all var(--transition-fast);display:flex;align-items:center;line-height:76px}.input-wrapper textarea:not(:placeholder-shown){padding:12px 16px;line-height:1.5;align-items:flex-start}.input-wrapper textarea:focus{border-color:var(--accent);padding:12px 16px;line-height:1.5}.input-wrapper textarea::placeholder{color:var(--text-tertiary);line-height:76px}.input-wrapper textarea:disabled{opacity:.5;cursor:not-allowed}.input-buttons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;flex-shrink:0}.input-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.input-btn:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary)}.input-btn:disabled{opacity:.4;cursor:not-allowed}.input-btn.active{background:var(--accent);color:var(--accent-text)}.send-btn{width:44px;height:76px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-text);border-radius:var(--radius-md);transition:all var(--transition-fast);flex-shrink:0}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.mention-suggestions{position:absolute;bottom:100%;left:16px;right:16px;max-height:320px;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:8px;z-index:var(--z-dropdown)}.mention-header{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.mention-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;font-size:14px;text-align:left;transition:background var(--transition-fast);cursor:pointer}.mention-item:hover,.mention-item.selected{background:var(--hover-bg)}.mention-item.selected{background:var(--accent);color:#fff}.mention-item.selected .mention-username{color:#ffffffb3}.mention-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.mention-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);flex-shrink:0}.mention-info{display:flex;flex-direction:column;min-width:0}.mention-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-username{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-hint{display:flex;justify-content:center;gap:16px;padding:8px;font-size:11px;color:var(--text-tertiary);border-top:1px solid var(--border-color);background:var(--bg-secondary)}.emoji-picker{position:absolute;bottom:100%;right:16px;width:340px;max-height:420px;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:8px;overflow:hidden;display:flex;flex-direction:column}.emoji-tabs{display:flex;border-bottom:1px solid var(--border-color);flex-shrink:0}.emoji-tab{flex:1;padding:12px;font-size:13px;font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast)}.emoji-tab:hover{background:var(--hover-bg)}.emoji-tab.active{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.emoji-category-nav{display:flex;gap:2px;padding:8px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;overflow-x:auto}.emoji-category-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.emoji-category-btn:hover{background:var(--hover-bg)}.emoji-category-btn.active{background:var(--accent);filter:brightness(1.1)}.emoji-scroll-container{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.emoji-section{padding:8px 12px}.emoji-section-header{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;display:flex;align-items:center;gap:6px;position:sticky;top:0;background:var(--bg-elevated);padding:4px 0;z-index:1}.emoji-grid-section{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:12px;max-height:320px;overflow-y:auto}.emoji-item{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:22px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.emoji-item:hover{background:var(--hover-bg)}.emoji-item img{width:24px;height:24px}.status-bar{height:var(--status-height);display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--bg-secondary);border-top:1px solid var(--border-color);font-size:12px}.status-left{display:flex;align-items:center;gap:8px}.status-indicator{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary)}.status-indicator.online{background:#22c55e}.status-text{color:var(--text-secondary)}.status-right{color:var(--text-tertiary)}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#0009;z-index:var(--z-modal)}.settings-modal{width:100%;max-width:480px;min-height:400px;max-height:85vh;display:flex;flex-direction:column;background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;color:var(--text-primary)}[data-theme=glass] .settings-modal{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border)}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary)}.settings-header h2{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:var(--text-primary)}.settings-content{flex:1;overflow-y:auto;padding:8px 0;min-height:200px;color:var(--text-primary)}.settings-section{padding:16px 24px;color:var(--text-primary)}.settings-section h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:16px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0}.setting-info{display:flex;align-items:center;gap:10px;font-size:15px}.setting-info svg{color:var(--text-secondary)}.setting-hint{display:block;font-size:13px;color:var(--text-tertiary);margin-top:8px}.setting-error{font-size:13px;color:#ef4444;margin-top:8px}.toggle{position:relative;display:inline-block;width:44px;height:24px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:var(--bg-tertiary);border-radius:var(--radius-full);transition:all var(--transition-fast);cursor:pointer}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:var(--text-tertiary);border-radius:50%;transition:all var(--transition-fast)}.toggle input:checked+.toggle-slider{background:var(--accent)}.toggle input:checked+.toggle-slider:before{background:var(--accent-text);transform:translate(20px)}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.theme-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:var(--bg-tertiary);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.theme-option:hover{background:var(--hover-bg)}.theme-option.active{border-color:var(--accent);background:rgba(var(--accent-h),var(--accent-s),var(--accent-l),.1)}.theme-icon{font-size:24px}.theme-name{font-size:12px;font-weight:500;color:var(--text-secondary)}.theme-option.active .theme-name{color:var(--accent)}.bubble-color-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.bubble-color-option{width:40px;height:40px;border-radius:var(--radius-full);border:3px solid transparent;padding:3px;cursor:pointer;transition:all var(--transition-fast);background:var(--bg-tertiary)}.bubble-color-option:hover{transform:scale(1.1)}.bubble-color-option.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--accent)}.bubble-color-swatch{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:var(--radius-full)}.bubble-color-swatch.default-swatch{background:linear-gradient(135deg,#007aff,#af52de,#ff2d55);color:#fff}.custom-color-row{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.custom-color-row label{font-size:14px;color:var(--text-secondary)}.color-picker-input{width:50px;height:36px;padding:2px;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;background:var(--bg-tertiary)}.color-picker-input::-webkit-color-swatch-wrapper{padding:2px}.color-picker-input::-webkit-color-swatch{border-radius:var(--radius-sm);border:none}.reset-color-btn{padding:8px 16px;background:var(--bg-tertiary);border-radius:var(--radius-md);font-size:13px;color:var(--text-secondary);transition:all var(--transition-fast)}.reset-color-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.setting-description{font-size:13px;color:var(--text-tertiary);margin-top:4px}.permission-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-tertiary);border-radius:var(--radius-md);font-size:13px;font-weight:500;transition:all var(--transition-fast)}.permission-btn:not(:disabled):hover{background:var(--hover-bg)}.permission-btn:disabled{cursor:default}.permission-btn.granted{color:#22c55e}.permission-btn.denied{color:#ef4444}.nickname-input{display:flex;gap:8px;margin-top:12px}.nickname-input input{flex:1;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px}.nickname-input input:focus{border-color:var(--accent)}.nickname-input button{padding:10px 18px;background:var(--accent);color:var(--accent-text);font-size:14px;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.nickname-input button:hover:not(:disabled){background:var(--accent-hover)}.logout-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px;background:#ef44441a;color:#ef4444;font-size:15px;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.logout-btn:hover{background:#ef444433}.ntfy-config{transition:opacity var(--transition-fast)}.setting-input-group{margin-top:12px}.setting-input-group label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.setting-input-group input{width:100%;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;color:var(--text-primary)}.setting-input-group input:focus{border-color:var(--accent);outline:none}.setting-input-group input::placeholder{color:var(--text-tertiary)}.test-ntfy-btn{transition:all var(--transition-fast)}.test-ntfy-btn:disabled{opacity:.6}.share-dialog-overlay{z-index:var(--z-modal)}.share-dialog{width:90%;max-width:420px;max-height:80vh;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column}.share-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.share-dialog-header h2{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;margin:0}.share-preview{padding:16px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.share-preview-file{display:flex;align-items:center;gap:12px;margin-bottom:8px}.share-preview-file img,.share-preview-file video{width:60px;height:60px;object-fit:cover;border-radius:var(--radius-md)}.share-preview-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-secondary)}.share-preview-filename{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.share-preview-text{font-size:13px;color:var(--text-primary);line-height:1.5;word-break:break-word}.share-dialog-content{flex:1;overflow-y:auto;padding:16px 20px}.share-dialog-content h3{font-size:14px;font-weight:600;color:var(--text-secondary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.share-back-btn{display:flex;align-items:center;gap:6px;padding:8px 0;margin-bottom:12px;background:none;border:none;color:var(--accent);font-size:14px;cursor:pointer}.share-back-btn:hover{text-decoration:underline}.share-server-list,.share-channel-list{display:flex;flex-direction:column;gap:6px}.share-server-item,.share-channel-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.share-server-item:hover,.share-channel-item:hover{background:var(--hover-bg);border-color:var(--accent)}.share-server-item:disabled,.share-channel-item:disabled{opacity:.6;cursor:not-allowed}.share-server-icon{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover}.share-server-icon.placeholder{display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:18px;font-weight:600}.share-server-name,.share-channel-name{flex:1;font-size:15px;font-weight:500;text-align:left}.share-channel-item svg:first-child{color:var(--text-tertiary)}.share-channel-item svg:last-child{color:var(--accent)}.share-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:12px;color:var(--text-secondary)}.share-loading svg{animation:spin 1s linear infinite}.share-empty{text-align:center;padding:40px;color:var(--text-tertiary);font-size:14px}.settings-footer{padding:16px 24px;text-align:center;border-top:1px solid var(--border-color);font-size:12px;color:var(--text-tertiary)}.lightbox-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#000000e6;z-index:var(--z-lightbox);cursor:zoom-out}.lightbox-close{position:absolute;top:20px;right:20px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;color:#fff;border-radius:50%;transition:background var(--transition-fast)}.lightbox-close:hover{background:#fff3}.lightbox-content{max-width:95vw;max-height:90vh;cursor:default}.lightbox-content img,.lightbox-content video{max-width:100%;max-height:90vh;border-radius:var(--radius-md);box-shadow:0 8px 32px #00000080}.context-menu-overlay{position:fixed;inset:0;z-index:var(--z-context)}.context-menu{position:fixed;min-width:200px;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.context-menu.expanded{width:300px}.context-reactions{display:flex;gap:4px;padding:10px;border-bottom:1px solid var(--border-color)}.context-emoji{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.context-emoji:hover{background:var(--hover-bg)}.context-emoji img{width:22px;height:22px;object-fit:contain}.context-emoji.more-btn{background:var(--bg-tertiary);color:var(--text-secondary)}.context-emoji.more-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.context-divider{height:1px;background:var(--border-color)}.context-actions{padding:6px}.context-action{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:14px;border-radius:var(--radius-md);text-align:left;transition:background var(--transition-fast)}.context-action:hover{background:var(--hover-bg)}.context-action.delete{color:#ef4444}.context-action .action-arrow{margin-left:auto;color:var(--text-tertiary)}.context-emoji-picker{display:flex;flex-direction:column;max-height:380px}.context-emoji-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-color)}.context-emoji-header .back-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.context-emoji-header .back-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.context-emoji-header .header-title{font-size:14px;font-weight:600;color:var(--text-primary)}.context-emoji-tabs{display:flex;border-bottom:1px solid var(--border-color)}.context-emoji-tabs .tab{flex:1;padding:10px;font-size:13px;font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast)}.context-emoji-tabs .tab:hover{background:var(--hover-bg)}.context-emoji-tabs .tab.active{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.context-emoji-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:10px;overflow-y:auto;max-height:260px}.context-emoji-grid .grid-emoji{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:22px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.context-emoji-grid .grid-emoji:hover{background:var(--hover-bg)}.context-emoji-grid .grid-emoji img{width:24px;height:24px;object-fit:contain}.confirm-dialog{width:100%;max-width:360px;padding:32px;background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);text-align:center}.confirm-icon{width:56px;height:56px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:#ef44441a;color:#ef4444;border-radius:50%}.confirm-dialog h3{font-size:18px;font-weight:600;margin-bottom:8px}.confirm-dialog p{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.confirm-actions{display:flex;gap:12px}.confirm-btn{flex:1;padding:12px 20px;font-size:15px;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.confirm-btn.cancel{background:var(--bg-tertiary)}.confirm-btn.cancel:hover{background:var(--hover-bg)}.confirm-btn.confirm{background:#ef4444;color:#fff}.confirm-btn.confirm:hover{background:#dc2626}.header-actions{display:flex;align-items:center;gap:4px}.header-actions .icon-btn{width:36px;height:36px}.header-actions .icon-btn.bot-menu-btn{width:auto;height:auto;padding:2px}.panel-overlay{position:fixed;inset:0;background:#00000080;z-index:200;display:flex;justify-content:flex-end}.panel{width:360px;max-width:90vw;height:100%;background:var(--bg-primary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.panel-header h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600}.panel-header-actions{display:flex;align-items:center;gap:4px}.icon-btn-sm{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast)}.icon-btn-sm:hover{background:var(--hover-bg);color:var(--text-primary)}.close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast)}.close-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.panel-content{flex:1;overflow-y:auto;padding:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--text-tertiary);text-align:center}.empty-state-hint{font-size:12px;color:var(--text-tertiary);opacity:.7;max-width:200px}.search-form{display:flex;gap:8px;padding:16px 20px;border-bottom:1px solid var(--border-color)}.search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.search-input-wrapper .search-icon{position:absolute;left:12px;color:var(--text-tertiary);pointer-events:none}.search-input-wrapper input{flex:1;padding:10px 14px 10px 40px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;color:var(--text-primary)}.search-input-wrapper input:focus{border-color:var(--accent);outline:none}.search-input-wrapper .clear-btn{position:absolute;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:var(--radius-full);color:var(--text-secondary)}.search-form .filter-toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast)}.search-form .filter-toggle:hover,.search-form .filter-toggle.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.search-form button[type=submit]{padding:0 16px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-text);border-radius:var(--radius-md);font-weight:500}.search-form button:disabled{opacity:.5}.search-filters{padding:12px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:repeat(2,1fr);gap:12px;overflow:hidden}.filter-row{display:flex;flex-direction:column;gap:4px}.filter-row label{font-size:11px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase}.filter-row input,.filter-row select{padding:8px 10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;color:var(--text-primary)}.filter-row input:focus,.filter-row select:focus{border-color:var(--accent);outline:none}.search-info{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);margin-bottom:16px}.search-info .search-query{color:var(--text-tertiary)}.search-results{display:flex;flex-direction:column;gap:8px}.search-result{display:flex;gap:12px;padding:12px;background:var(--bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.search-highlight{background:rgba(var(--accent-h),var(--accent-s),var(--accent-l),.3);color:var(--accent);padding:0 2px;border-radius:2px}.result-arrow{color:var(--text-tertiary);opacity:0;transition:opacity var(--transition-fast)}.search-result:hover .result-arrow{opacity:1}.result-attachments{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-tertiary);margin-top:4px}.search-empty{padding:20px 0}.recent-searches{margin-bottom:24px}.recent-searches h4,.search-tips h4{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:12px}.recent-search-item{display:flex;align-items:center;gap:8px}.recent-search-btn{flex:1;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:13px;color:var(--text-primary);text-align:left;transition:background var(--transition-fast)}.recent-search-btn:hover{background:var(--hover-bg)}.remove-recent{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);border-radius:var(--radius-sm)}.remove-recent:hover{background:var(--bg-tertiary);color:var(--text-primary)}.search-tips ul{list-style:none;padding:0;margin:0}.search-tips li{padding:6px 0;font-size:13px;color:var(--text-secondary)}.search-tips code{font-family:var(--font-mono);font-size:12px;background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);color:var(--accent)}.search-loading{display:flex;flex-direction:column}.pinned-message{display:flex;gap:12px;padding:12px;background:var(--bg-secondary);border-radius:var(--radius-md)}.result-avatar,.pinned-avatar{width:36px;height:36px;border-radius:var(--avatar-radius);flex-shrink:0}.result-content,.pinned-content{flex:1;min-width:0}.result-header,.pinned-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.result-author,.pinned-author{font-weight:600;font-size:14px}.result-time,.pinned-time{font-size:12px;color:var(--text-tertiary)}.result-text,.pinned-text{font-size:14px;color:var(--text-secondary);word-break:break-word}.pinned-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.pinned-attachment{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary)}.members-list{display:flex;flex-direction:column;gap:4px}.member-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.member-avatar{width:36px;height:36px;border-radius:var(--avatar-radius);flex-shrink:0}.member-info{display:flex;flex-direction:column;min-width:0}.member-name{font-weight:500;font-size:14px}.member-username{font-size:12px;color:var(--text-tertiary)}.user-profile-modal{position:relative;width:340px;max-width:90vw;background:var(--bg-primary);border-radius:var(--radius-lg);overflow:hidden;margin:auto}.profile-banner{height:100px;position:relative}.profile-banner-img{width:100%;height:100%;object-fit:cover}.profile-avatar-container{position:relative;margin-top:-40px;margin-left:20px}.profile-avatar{width:80px;height:80px;border-radius:50%;border:4px solid var(--bg-primary)}.profile-info{padding:12px 20px 0}.profile-display-name{font-size:20px;font-weight:700}.profile-username{font-size:14px;color:var(--text-secondary);margin-top:2px}.profile-nickname{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-tertiary);margin-top:8px}.profile-details{padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px}.profile-detail{display:flex;align-items:flex-start;gap:12px;color:var(--text-secondary)}.profile-detail>div{display:flex;flex-direction:column}.detail-label{font-size:11px;text-transform:uppercase;font-weight:600;color:var(--text-tertiary)}.detail-value{font-size:14px;color:var(--text-primary)}.profile-close{position:absolute;top:12px;right:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#0006;color:#fff;border-radius:var(--radius-md)}.gif-panel{width:400px}.gif-search-form{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-color)}.gif-search-form input{flex:1;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px}.gif-search-form button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-text);border-radius:var(--radius-md)}.gif-grid{display:flex;flex-wrap:wrap;gap:8px;padding:12px 12px 70px;max-height:calc(100vh - 180px);overflow-y:auto;overflow-x:hidden;align-content:flex-start}.gif-item-wrapper{position:relative;width:calc(50% - 4px);flex-shrink:0}.gif-item{position:relative;cursor:pointer;border-radius:var(--radius-md);overflow:visible}.gif-item img{width:100%;height:auto;border-radius:var(--radius-md);display:block}.gif-item.selected{box-shadow:0 8px 24px #0006}.gif-item-actions{position:absolute;top:100%;left:0;right:0;display:flex;justify-content:center;gap:16px;padding:10px;background:var(--bg-tertiary);border-radius:0 0 var(--radius-md) var(--radius-md)}.gif-loading,.gif-empty{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;color:var(--text-tertiary)}.gif-loading-more{width:100%;display:flex;justify-content:center;padding:16px;color:var(--text-tertiary)}.gif-footer{padding:8px 16px;border-top:1px solid var(--border-color);font-size:11px;color:var(--text-tertiary);text-align:center}.gif-action-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.gif-action-add{background:#3ba55c;color:#fff}.gif-action-add:hover{background:#2d8049}.gif-action-dismiss{background:var(--bg-secondary);color:var(--text-secondary)}.gif-action-dismiss:hover{background:var(--hover-bg);color:var(--text-primary)}.gallery-panel{width:550px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column}.gallery-filters{display:flex;gap:4px;padding:8px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.gallery-filter{padding:6px 12px;font-size:12px;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.gallery-filter:hover{background:var(--hover-bg);color:var(--text-primary)}.gallery-filter.active{background:var(--accent);color:#fff}.gallery-content{flex:1;overflow-y:auto;padding:16px;min-height:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.gallery-item{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;background:var(--bg-tertiary)}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover}.gallery-item.video .video-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;background:#000000b3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;pointer-events:none}.gallery-item-info{position:absolute;bottom:0;left:0;right:0;padding:8px;background:linear-gradient(transparent,#000c);color:#fff;font-size:11px;opacity:0;transition:opacity var(--transition-fast)}.gallery-item:hover .gallery-item-info{opacity:1}.gallery-author{font-weight:500}.gallery-date{opacity:.7;margin-left:8px}.gallery-loading-more{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--text-tertiary)}.gallery-load-more{display:flex;justify-content:center;padding:16px}.gallery-load-more button,.load-more-btn{padding:8px 16px;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-md);font-size:13px;transition:all var(--transition-fast)}.gallery-load-more button:hover,.load-more-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.gallery-end{text-align:center;padding:16px;color:var(--text-tertiary);font-size:13px}.reply-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-secondary);border-left:3px solid var(--accent);margin:0 16px;border-radius:0 var(--radius-md) var(--radius-md) 0}.reply-bar svg{color:var(--accent);flex-shrink:0}.reply-text{font-size:13px;color:var(--text-secondary)}.reply-text strong{color:var(--text-primary)}.reply-bar .reply-preview{flex:1;font-size:13px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-cancel{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);border-radius:var(--radius-sm);flex-shrink:0}.reply-cancel:hover{background:var(--hover-bg);color:var(--text-primary)}.markdown-preview{display:flex;align-items:flex-start;gap:8px;padding:10px 16px;margin:0 16px;background:var(--bg-secondary);border-radius:var(--radius-md);font-size:14px;overflow:hidden}.preview-label{font-size:11px;text-transform:uppercase;font-weight:600;color:var(--text-tertiary);flex-shrink:0}.markdown-preview code{background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:13px}.markdown-preview del{text-decoration:line-through;opacity:.7}.channel-item.unread .channel-name{font-weight:700;color:var(--text-primary)}.channel-item.unread:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:8px;background:var(--accent);border-radius:0 4px 4px 0}.link-preview{display:flex;gap:12px;padding:12px;margin-top:8px;background:var(--bg-secondary);border-left:4px solid var(--accent);border-radius:var(--radius-md);max-width:400px}.link-preview-image{width:80px;height:80px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.link-preview-content{flex:1;min-width:0}.link-preview-site{font-size:11px;color:var(--accent);text-transform:uppercase;font-weight:600}.link-preview-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-top:2px}.link-preview-title a{color:inherit;text-decoration:none}.link-preview-title a:hover{text-decoration:underline}.link-preview-description{font-size:13px;color:var(--text-secondary);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}[data-theme=bubbly] .message-group.is-bot .message-header{flex-direction:row;justify-content:flex-end}[data-theme=bubbly] .message-group.is-bot .message-author{order:1}[data-theme=bubbly] .message-group.is-bot .message-time{order:0;margin-right:8px}.message.highlighted{animation:highlightPulse 2s ease-out}@keyframes highlightPulse{0%{background:var(--accent);box-shadow:0 0 0 4px var(--accent)}to{background:transparent;box-shadow:none}}.search-result.clickable{cursor:pointer;transition:background var(--transition-fast)}.search-result.clickable:hover{background:var(--hover-bg)}.result-note{font-size:11px;color:var(--text-tertiary);font-style:italic;margin-top:4px}.fallback-link{font-size:13px;word-break:break-all}[data-theme=slack]{--accent-h: 344;--accent-s: 94%;--accent-l: 40%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 35%);--accent-text: #ffffff;--msg-radius: var(--radius-sm);--avatar-radius: var(--radius-sm);--bubble-mode: 0}[data-theme=slack][data-mode=light]{--bg-primary: #ffffff;--bg-secondary: #f8f8f8;--bg-tertiary: #ececec;--bg-elevated: #ffffff;--text-primary: #1d1c1d;--text-secondary: #616061;--text-tertiary: #868686;--border-color: #dddddd;--hover-bg: rgba(0, 0, 0, .04);--active-bg: #1164a3;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.15);--shadow-lg: 0 8px 30px rgba(0,0,0,.12);--msg-bg: #f8f8f8;--msg-own-bg: #007a5a;--msg-own-text: #ffffff}[data-theme=slack][data-mode=dark]{--bg-primary: #1a1d21;--bg-secondary: #222529;--bg-tertiary: #2c2d30;--bg-elevated: #363636;--text-primary: #d1d2d3;--text-secondary: #ababad;--text-tertiary: #767676;--border-color: #363636;--hover-bg: rgba(255, 255, 255, .06);--active-bg: #1264a3;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 30px rgba(0,0,0,.5);--msg-bg: #2c2d30;--msg-own-bg: #007a5a;--msg-own-text: #ffffff}[data-theme=telegram]{--accent-h: 200;--accent-s: 80%;--accent-l: 50%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 45%);--accent-text: #ffffff;--msg-radius: var(--radius-lg);--avatar-radius: var(--radius-full);--bubble-mode: 1}[data-theme=telegram][data-mode=light]{--bg-primary: #ffffff;--bg-secondary: #f0f0f0;--bg-tertiary: #e6ebee;--bg-elevated: #ffffff;--text-primary: #000000;--text-secondary: #707579;--text-tertiary: #a2acb4;--border-color: #e6e6e6;--hover-bg: rgba(0, 0, 0, .04);--active-bg: rgba(0, 136, 204, .1);--shadow-sm: 0 1px 2px rgba(0,0,0,.08);--shadow-md: 0 2px 10px rgba(0,0,0,.1);--shadow-lg: 0 4px 20px rgba(0,0,0,.15);--msg-bg: #ffffff;--msg-own-bg: #effdde;--msg-own-text: #000000}[data-theme=telegram][data-mode=dark]{--bg-primary: #17212b;--bg-secondary: #0e1621;--bg-tertiary: #242f3d;--bg-elevated: #2b5278;--text-primary: #ffffff;--text-secondary: #708499;--text-tertiary: #546778;--border-color: #0e1621;--hover-bg: rgba(255, 255, 255, .05);--active-bg: rgba(135, 116, 225, .15);--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 2px 10px rgba(0,0,0,.4);--shadow-lg: 0 4px 20px rgba(0,0,0,.5);--msg-bg: #182533;--msg-own-bg: #2b5278;--msg-own-text: #ffffff}[data-theme=whatsapp]{--accent-h: 142;--accent-s: 70%;--accent-l: 45%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 40%);--accent-text: #ffffff;--msg-radius: 8px;--avatar-radius: var(--radius-full);--bubble-mode: 1}[data-theme=whatsapp][data-mode=light]{--bg-primary: #efeae2;--bg-secondary: #ffffff;--bg-tertiary: #f0f2f5;--bg-elevated: #ffffff;--text-primary: #111b21;--text-secondary: #667781;--text-tertiary: #8696a0;--border-color: #e9edef;--hover-bg: rgba(0, 0, 0, .05);--active-bg: rgba(0, 168, 132, .1);--shadow-sm: 0 1px .5px rgba(0,0,0,.13);--shadow-md: 0 2px 5px rgba(0,0,0,.1);--shadow-lg: 0 3px 10px rgba(0,0,0,.15);--msg-bg: #ffffff;--msg-own-bg: #d9fdd3;--msg-own-text: #111b21}[data-theme=whatsapp][data-mode=dark]{--bg-primary: #0b141a;--bg-secondary: #111b21;--bg-tertiary: #202c33;--bg-elevated: #233138;--text-primary: #e9edef;--text-secondary: #8696a0;--text-tertiary: #667781;--border-color: #222d34;--hover-bg: rgba(255, 255, 255, .05);--active-bg: rgba(0, 168, 132, .15);--shadow-sm: 0 1px .5px rgba(0,0,0,.3);--shadow-md: 0 2px 5px rgba(0,0,0,.3);--shadow-lg: 0 3px 10px rgba(0,0,0,.4);--msg-bg: #202c33;--msg-own-bg: #005c4b;--msg-own-text: #e9edef}[data-theme=signal]{--accent-h: 210;--accent-s: 78%;--accent-l: 56%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 50%);--accent-text: #ffffff;--msg-radius: var(--radius-lg);--avatar-radius: var(--radius-full);--bubble-mode: 1}[data-theme=signal][data-mode=light]{--bg-primary: #ffffff;--bg-secondary: #f6f6f6;--bg-tertiary: #ebebeb;--bg-elevated: #ffffff;--text-primary: #000000;--text-secondary: #5c5c5c;--text-tertiary: #8e8e8e;--border-color: #d6d6d6;--hover-bg: rgba(0, 0, 0, .04);--active-bg: rgba(45, 134, 244, .1);--shadow-sm: 0 1px 2px rgba(0,0,0,.08);--shadow-md: 0 2px 8px rgba(0,0,0,.1);--shadow-lg: 0 4px 16px rgba(0,0,0,.12);--msg-bg: #e5e5e5;--msg-own-bg: #2c6bed;--msg-own-text: #ffffff}[data-theme=signal][data-mode=dark]{--bg-primary: #121212;--bg-secondary: #1b1b1b;--bg-tertiary: #2d2d2d;--bg-elevated: #3d3d3d;--text-primary: #ffffff;--text-secondary: #b9b9b9;--text-tertiary: #757575;--border-color: #3d3d3d;--hover-bg: rgba(255, 255, 255, .05);--active-bg: rgba(45, 134, 244, .15);--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 2px 8px rgba(0,0,0,.4);--shadow-lg: 0 4px 16px rgba(0,0,0,.5);--msg-bg: #2d2d2d;--msg-own-bg: #2c6bed;--msg-own-text: #ffffff}[data-theme=teams]{--accent-h: 264;--accent-s: 67%;--accent-l: 56%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 50%);--accent-text: #ffffff;--msg-radius: var(--radius-sm);--avatar-radius: var(--radius-full);--bubble-mode: 0}[data-theme=teams][data-mode=light]{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #ebebeb;--bg-elevated: #ffffff;--text-primary: #242424;--text-secondary: #616161;--text-tertiary: #8a8886;--border-color: #e1dfdd;--hover-bg: rgba(0, 0, 0, .04);--active-bg: rgba(98, 100, 167, .1);--shadow-sm: 0 1.6px 3.6px rgba(0,0,0,.13);--shadow-md: 0 3.2px 7.2px rgba(0,0,0,.13);--shadow-lg: 0 6.4px 14.4px rgba(0,0,0,.18);--msg-bg: #ffffff;--msg-own-bg: #e8ebfa;--msg-own-text: #242424}[data-theme=teams][data-mode=dark]{--bg-primary: #1f1f1f;--bg-secondary: #292929;--bg-tertiary: #3b3b3b;--bg-elevated: #484848;--text-primary: #ffffff;--text-secondary: #c8c8c8;--text-tertiary: #8a8886;--border-color: #3b3b3b;--hover-bg: rgba(255, 255, 255, .06);--active-bg: rgba(98, 100, 167, .2);--shadow-sm: 0 1.6px 3.6px rgba(0,0,0,.3);--shadow-md: 0 3.2px 7.2px rgba(0,0,0,.35);--shadow-lg: 0 6.4px 14.4px rgba(0,0,0,.4);--msg-bg: #3b3b3b;--msg-own-bg: #464775;--msg-own-text: #ffffff}[data-theme=imessage]{--accent-h: 211;--accent-s: 100%;--accent-l: 50%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 45%);--accent-text: #ffffff;--msg-radius: 18px;--avatar-radius: var(--radius-full);--bubble-mode: 1}[data-theme=imessage][data-mode=light]{--bg-primary: #ffffff;--bg-secondary: #f2f2f7;--bg-tertiary: #e5e5ea;--bg-elevated: #ffffff;--text-primary: #000000;--text-secondary: #8e8e93;--text-tertiary: #aeaeb2;--border-color: #c6c6c8;--hover-bg: rgba(0, 0, 0, .04);--active-bg: rgba(0, 122, 255, .1);--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 2px 10px rgba(0,0,0,.1);--shadow-lg: 0 4px 20px rgba(0,0,0,.12);--msg-bg: #e5e5ea;--msg-own-bg: #007aff;--msg-own-text: #ffffff}[data-theme=imessage][data-mode=dark]{--bg-primary: #000000;--bg-secondary: #1c1c1e;--bg-tertiary: #2c2c2e;--bg-elevated: #3a3a3c;--text-primary: #ffffff;--text-secondary: #8e8e93;--text-tertiary: #636366;--border-color: #38383a;--hover-bg: rgba(255, 255, 255, .05);--active-bg: rgba(10, 132, 255, .2);--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 2px 10px rgba(0,0,0,.4);--shadow-lg: 0 4px 20px rgba(0,0,0,.5);--msg-bg: #3a3a3c;--msg-own-bg: #0a84ff;--msg-own-text: #ffffff}[data-theme=android]{--accent-h: 217;--accent-s: 91%;--accent-l: 50%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 40%);--accent-text: #ffffff;--msg-radius: 20px;--avatar-radius: var(--radius-full);--bubble-mode: 1}[data-theme=android][data-mode=light]{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f1f3f4;--bg-elevated: #ffffff;--text-primary: #202124;--text-secondary: #5f6368;--text-tertiary: #9aa0a6;--border-color: #dadce0;--hover-bg: rgba(0, 0, 0, .04);--active-bg: rgba(26, 115, 232, .1);--shadow-sm: 0 1px 2px rgba(0,0,0,.1);--shadow-md: 0 2px 6px rgba(0,0,0,.15);--shadow-lg: 0 4px 12px rgba(0,0,0,.2);--msg-bg: #e8eaed;--msg-own-bg: #d3e3fd;--msg-own-text: #041e49}[data-theme=android][data-mode=dark]{--bg-primary: #0f0f0f;--bg-secondary: #1f1f1f;--bg-tertiary: #282828;--bg-elevated: #2d2d2d;--text-primary: #e3e3e3;--text-secondary: #a8a8a8;--text-tertiary: #6e6e6e;--border-color: #3c3c3c;--hover-bg: rgba(255, 255, 255, .08);--active-bg: rgba(138, 180, 248, .2);--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 2px 6px rgba(0,0,0,.3);--shadow-lg: 0 4px 12px rgba(0,0,0,.4);--msg-bg: #2d2d2d;--msg-own-bg: #004a77;--msg-own-text: #c2e7ff}[data-theme=oled]{--accent-h: 265;--accent-s: 89%;--accent-l: 75%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 65%);--accent-text: #000000;--msg-radius: 16px;--avatar-radius: var(--radius-full);--bubble-mode: 1}[data-theme=oled],[data-theme=oled][data-mode=dark]{--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-tertiary: #121212;--bg-elevated: #1a1a1a;--text-primary: #ffffff;--text-secondary: #b3b3b3;--text-tertiary: #666666;--border-color: #222222;--hover-bg: rgba(255, 255, 255, .06);--active-bg: rgba(187, 134, 252, .2);--shadow-sm: none;--shadow-md: 0 2px 8px rgba(0,0,0,.5);--shadow-lg: 0 4px 16px rgba(0,0,0,.6);--msg-bg: #1a1a1a;--msg-own-bg: #bb86fc;--msg-own-text: #000000}[data-theme=oled][data-mode=light]{--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-tertiary: #f0f0f0;--bg-elevated: #ffffff;--text-primary: #000000;--text-secondary: #4a4a4a;--text-tertiary: #8a8a8a;--border-color: #e0e0e0;--hover-bg: rgba(0, 0, 0, .04);--active-bg: rgba(98, 0, 238, .1);--shadow-sm: 0 1px 2px rgba(0,0,0,.1);--shadow-md: 0 2px 8px rgba(0,0,0,.12);--shadow-lg: 0 4px 16px rgba(0,0,0,.15);--msg-bg: #e8e8e8;--msg-own-bg: #6200ee;--msg-own-text: #ffffff}[data-theme=midnight]{--accent-h: 230;--accent-s: 70%;--accent-l: 55%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 45%);--accent-text: #ffffff;--msg-radius: var(--radius-md);--avatar-radius: var(--radius-full)}[data-theme=midnight][data-mode=dark],[data-theme=midnight]{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-elevated: #30363d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-tertiary: #6e7681;--border-color: #30363d;--hover-bg: rgba(136, 146, 255, .1);--active-bg: rgba(136, 146, 255, .2);--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 3px 12px rgba(0,0,0,.5);--shadow-lg: 0 8px 24px rgba(0,0,0,.6);--msg-bg: #21262d;--msg-own-bg: #4f46e5;--msg-own-text: #ffffff}[data-theme=midnight][data-mode=light]{--bg-primary: #f0f4fc;--bg-secondary: #e4eaf6;--bg-tertiary: #d8e0f0;--bg-elevated: #ffffff;--text-primary: #1a1f36;--text-secondary: #525f7f;--text-tertiary: #8898aa;--border-color: #c4cfe0;--hover-bg: rgba(79, 70, 229, .08);--active-bg: rgba(79, 70, 229, .15);--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 3px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--msg-bg: #e4eaf6;--msg-own-bg: #4f46e5;--msg-own-text: #ffffff}[data-theme=forest]{--accent-h: 142;--accent-s: 55%;--accent-l: 45%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover: hsl(var(--accent-h), var(--accent-s), 35%);--accent-text: #ffffff;--msg-radius: var(--radius-md);--avatar-radius: var(--radius-full)}[data-theme=forest][data-mode=dark],[data-theme=forest]{--bg-primary: #0f1612;--bg-secondary: #1a211c;--bg-tertiary: #252d27;--bg-elevated: #2f3830;--text-primary: #e8f0ea;--text-secondary: #9aaa9e;--text-tertiary: #6b7a6f;--border-color: #354038;--hover-bg: rgba(76, 175, 80, .12);--active-bg: rgba(76, 175, 80, .2);--shadow-sm: 0 1px 3px rgba(0,0,0,.35);--shadow-md: 0 3px 12px rgba(0,0,0,.45);--shadow-lg: 0 8px 24px rgba(0,0,0,.55);--msg-bg: #252d27;--msg-own-bg: #2e7d32;--msg-own-text: #ffffff}[data-theme=forest][data-mode=light]{--bg-primary: #f5f9f6;--bg-secondary: #e8f0ea;--bg-tertiary: #dce6de;--bg-elevated: #ffffff;--text-primary: #1b2e1f;--text-secondary: #4a6350;--text-tertiary: #7a9580;--border-color: #c5d6c8;--hover-bg: rgba(46, 125, 50, .08);--active-bg: rgba(46, 125, 50, .15);--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 3px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--msg-bg: #e8f0ea;--msg-own-bg: #2e7d32;--msg-own-text: #ffffff}.compact-mode{--header-height: 44px;--input-height: 44px}.compact-mode .header{padding:8px 12px}.compact-mode .header-title{font-size:15px}.compact-mode .message-group{padding:2px 12px;gap:2px}.compact-mode .message-avatar{width:24px;height:24px;margin-right:8px}.compact-mode .message-content-wrapper{gap:0}.compact-mode .message-header{display:inline;margin-bottom:0;margin-right:8px}.compact-mode .message-author{font-size:13px;display:inline}.compact-mode .message-time{font-size:10px;display:inline;margin-left:4px}.compact-mode .message{padding:1px 0}.compact-mode .message-body{display:inline}.compact-mode .message-text{font-size:14px;line-height:1.3;display:inline}.compact-mode[data-theme=imessage] .message-body,.compact-mode[data-theme=android] .message-body,.compact-mode[data-theme=oled] .message-body{padding:6px 10px;max-width:80%}.compact-mode[data-theme=imessage] .message-group,.compact-mode[data-theme=android] .message-group,.compact-mode[data-theme=oled] .message-group{padding:2px 12px}.compact-mode .message-input-container{padding:8px 12px}.compact-mode .message-input textarea{font-size:14px;padding:8px 12px;min-height:36px}.compact-mode .channel-item{padding:4px 8px;min-height:28px}.compact-mode .channel-item .channel-icon{width:16px;height:16px}.compact-mode .channel-item .channel-name{font-size:13px}.compact-mode .server-item{width:40px;height:40px}.compact-mode .server-item img{width:36px;height:36px}.compact-mode .message-reactions{gap:4px;margin-top:2px}.compact-mode .reaction{padding:2px 6px;font-size:12px}.compact-mode .attachment-image{max-width:250px;max-height:200px}.compact-mode .embed{max-width:350px;padding:8px}.compact-mode .embed-title{font-size:14px}.compact-mode .embed-description{font-size:13px}.toast-container{position:fixed;top:calc(env(safe-area-inset-top,0px) + 16px);left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:400px;width:calc(100% - 32px)}.toast{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-lg);cursor:pointer;pointer-events:auto;max-width:100%;box-sizing:border-box}.toast:hover{background:var(--hover-bg)}.toast-avatar{width:36px;height:36px;border-radius:var(--radius-full);object-fit:cover}.toast-content{flex:1;min-width:0}.toast-title{font-weight:600;font-size:14px;color:var(--text-primary)}.toast-message{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:var(--radius-sm)}.toast-close:hover{background:var(--hover-bg);color:var(--text-primary)}.markdown-toolbar{display:flex;gap:4px;padding:8px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.md-tool-btn{width:32px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:var(--transition-fast)}.md-tool-btn:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--text-tertiary)}.message-input-container.dragging{position:relative}.drag-overlay{position:absolute;inset:0;background:rgba(var(--accent-h),var(--accent-s),var(--accent-l),.1);border:2px dashed var(--accent);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--accent);font-weight:600;z-index:10}.channel-unread-badge{background:var(--accent);color:var(--accent-text);font-size:11px;font-weight:600;padding:2px 6px;border-radius:var(--radius-full);margin-left:auto}.channel-item.has-unread .channel-name{font-weight:600;color:var(--text-primary)}.server-unread-dot{width:8px;height:8px;background:var(--accent);border-radius:var(--radius-full);margin-left:auto}.channel-context-menu{position:fixed;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000004d;min-width:160px;z-index:1000;overflow:hidden}.channel-context-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;color:var(--text-primary);font-size:14px;cursor:pointer;transition:background .15s}.channel-context-item:hover{background:var(--hover-bg)}.channel-context-item svg{color:var(--text-secondary)}.typing-indicator-bar{display:flex;align-items:center;gap:6px;padding:4px 16px;background:var(--bg-primary);border-top:1px solid var(--border-color);overflow:hidden}.typing-indicator-bar .typing-bubble-dots{display:flex;align-items:center;gap:3px}.typing-indicator-bar .typing-bubble-dots span{width:5px;height:5px;background:var(--text-tertiary);border-radius:50%;animation:imessageTyping 1.4s infinite ease-in-out}.typing-indicator-bar .typing-bubble-dots span:nth-child(1){animation-delay:0s}.typing-indicator-bar .typing-bubble-dots span:nth-child(2){animation-delay:.2s}.typing-indicator-bar .typing-bubble-dots span:nth-child(3){animation-delay:.4s}.typing-indicator-bar .typing-bubble-text{font-size:11px;color:var(--text-secondary);font-weight:500}.back-to-latest-wrapper{position:sticky;bottom:8px;display:flex;justify-content:center;margin-top:auto;z-index:10}.back-to-latest-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-full);font-size:12px;font-weight:500;cursor:pointer;box-shadow:var(--shadow-md)}.back-to-latest-btn:hover{background:var(--accent-hover)}.back-to-latest-btn svg{flex-shrink:0}@keyframes imessageTyping{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-3px);opacity:1}}.typing-indicator{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);padding-top:2px}.typing-dots{display:flex;gap:3px}.typing-dots span{width:6px;height:6px;background:var(--text-tertiary);border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out both}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}.typing-dots span:nth-child(3){animation-delay:0s}@keyframes typingBounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.typing-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-wrapper textarea.has-typing::placeholder{color:var(--accent);animation:typingPulse 1.5s infinite ease-in-out}@keyframes typingPulse{0%,to{opacity:.6}50%{opacity:1}}.status-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.status-option{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:14px;color:var(--text-primary);transition:var(--transition-fast)}.status-option.active{border-color:var(--accent);background:rgba(var(--accent-h),var(--accent-s),var(--accent-l),.1)}.status-dot{width:10px;height:10px;border-radius:50%}.custom-status-input{display:flex;gap:8px}.custom-status-input input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 12px;color:var(--text-primary);font-size:14px}.custom-status-input button{padding:10px 16px;background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer}.screen-capture-modal{background:var(--bg-secondary);border-radius:var(--radius-lg);width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.screen-capture-content{padding:24px;flex:1;overflow:auto}.capture-start{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px;color:var(--text-secondary)}.capture-start .primary-btn{margin-top:16px}.capture-preview{display:flex;flex-direction:column;gap:16px}.capture-video{width:100%;max-height:400px;object-fit:contain;background:#000;border-radius:var(--radius-md)}.capture-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.capture-option{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary);cursor:pointer}.capture-result{display:flex;flex-direction:column;gap:16px}.captured-image{width:100%;max-height:400px;object-fit:contain;border-radius:var(--radius-md)}.capture-actions{display:flex;gap:12px;justify-content:flex-end}.capture-error{display:flex;align-items:center;gap:8px;padding:12px;background:#f443361a;color:#f44336;border-radius:var(--radius-md);margin-bottom:16px}.primary-btn{padding:10px 20px;background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px}.secondary-btn{padding:10px 20px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px}.attachment-video.enhanced{position:relative}.video-controls-overlay{position:absolute;top:8px;right:8px;display:flex;gap:8px;opacity:0;transition:opacity .2s}.attachment-video.enhanced:hover .video-controls-overlay{opacity:1}.video-download{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#0009;border-radius:var(--radius-sm);color:#fff;text-decoration:none}.video-download:hover{background:#000c}.video-filename{position:absolute;bottom:8px;left:8px;font-size:12px;color:#fff;background:#0009;padding:4px 8px;border-radius:var(--radius-sm);opacity:0;transition:opacity .2s}.attachment-video.enhanced:hover .video-filename{opacity:1}.attachment-audio{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-tertiary);border-radius:var(--radius-md);max-width:400px}.audio-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-text);border-radius:var(--radius-md)}.audio-info{flex:1;min-width:0}.audio-filename{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-info audio{width:100%;height:32px}.audio-download{color:var(--text-secondary);padding:8px;border-radius:var(--radius-sm)}.audio-download:hover{background:var(--hover-bg);color:var(--text-primary)}.thread-indicator{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;background:var(--bg-tertiary);border:none;border-radius:var(--radius-md);font-size:13px;color:var(--accent);cursor:pointer;transition:var(--transition-fast)}.thread-indicator:hover{background:var(--hover-bg)}.thread-last-reply{color:var(--text-tertiary);margin-left:auto}.spoiler{background:var(--text-primary);color:transparent;border-radius:3px;padding:0 4px;cursor:pointer;transition:all .2s}.spoiler:hover,.spoiler.revealed{background:var(--bg-tertiary);color:var(--text-primary)}.screenshot-modal{background:var(--bg-secondary);border-radius:var(--radius-lg);width:90%;max-width:550px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.screenshot-controls{padding:12px 16px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text-secondary)}.toggle-label input{display:none}.toggle-slider-small{width:36px;height:20px;background:var(--bg-tertiary);border-radius:10px;position:relative;transition:background .2s}.toggle-slider-small:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--text-tertiary);border-radius:50%;transition:transform .2s,background .2s}.toggle-label input:checked+.toggle-slider-small{background:var(--accent)}.toggle-label input:checked+.toggle-slider-small:after{transform:translate(16px);background:var(--accent-text)}.message-select-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.select-label{font-size:13px;color:var(--text-tertiary)}.select-btn{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.select-btn:hover{background:var(--hover-bg)}.select-btn.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.message-group-selector{padding:8px 16px;border-bottom:1px solid var(--border-color);max-height:150px;overflow-y:auto}.selector-label{font-size:12px;color:var(--text-tertiary);margin-bottom:8px}.message-select-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px;background:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:all .15s}.message-select-item:hover{background:var(--hover-bg)}.message-select-item.selected{background:rgba(var(--accent-h),var(--accent-s),var(--accent-l),.1);border-color:var(--accent)}.select-checkbox{width:18px;height:18px;border:2px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.message-select-item.selected .select-checkbox{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.select-preview{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.screenshot-preview-container{flex:1;overflow-y:auto;padding:16px;background:var(--bg-tertiary)}.screenshot-preview{background:var(--bg-secondary);border-radius:var(--radius-md);padding:12px}.screenshot-message-group{display:flex;flex-direction:column;gap:4px}.screenshot-author{display:flex;align-items:center;gap:10px;margin-bottom:4px}.screenshot-avatar{width:40px;height:40px;border-radius:var(--avatar-radius);object-fit:cover}.screenshot-username{font-weight:600;font-size:15px;color:var(--text-primary)}.screenshot-messages{display:flex;flex-direction:column;gap:4px}.screenshot-messages.with-indent{padding-left:50px}.screenshot-messages.no-indent{padding-left:0}.screenshot-content{font-size:14px;color:var(--text-primary);line-height:1.5;word-break:break-word}.screenshot-content .inline-emoji{width:20px;height:20px;vertical-align:middle}.screenshot-content .mention{color:var(--accent);background:rgba(var(--accent-h),var(--accent-s),var(--accent-l),.1);padding:0 4px;border-radius:3px}.screenshot-attachment{margin-top:8px}.screenshot-attachment img{max-width:100%;max-height:200px;border-radius:var(--radius-sm)}.screenshot-file{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px}.screenshot-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.screenshot-reaction{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-tertiary);border-radius:var(--radius-full);font-size:13px}.screenshot-reaction img{width:16px;height:16px}.screenshot-actions{padding:12px 16px;border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end}@media(max-width:640px){.emoji-picker{left:16px;width:calc(100% - 32px)}.emoji-grid{grid-template-columns:repeat(7,1fr)}.theme-grid{grid-template-columns:repeat(2,1fr)}.message-actions{display:none}.message-avatar{width:36px;height:36px}.attachment-image,.attachment-video video{max-width:100%}.status-options{grid-template-columns:1fr}.toast-container{top:calc(env(safe-area-inset-top,0px) + 8px);left:8px;right:8px;transform:none;width:auto;max-width:none}.toast{width:100%;box-sizing:border-box;max-width:100%}.toast-message{white-space:normal;word-break:break-word}.toast-content{max-width:calc(100% - 50px);overflow:hidden}.toast-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screenshot-modal{width:95%;max-height:90vh}.input-form{gap:4px}.input-buttons-grid{gap:2px}.input-btn{width:32px;height:32px}.send-btn{width:40px;height:68px}.input-wrapper textarea{height:68px;min-height:68px;padding:0 12px;line-height:68px}.input-wrapper textarea:not(:placeholder-shown),.input-wrapper textarea:focus{padding:10px 12px;line-height:1.5}.input-wrapper textarea::placeholder{line-height:68px}}@supports (padding-bottom: env(safe-area-inset-bottom)){.message-input-container{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.status-bar{padding-bottom:env(safe-area-inset-bottom);height:calc(var(--status-height) + env(safe-area-inset-bottom))}}.message-avatar{position:relative}.presence-dot{position:absolute;bottom:0;right:0;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-primary);background:#747f8d}.presence-dot.online{background:#23a55a}.presence-dot.idle{background:#f0b232}.presence-dot.dnd{background:#f23f43}.presence-dot.offline{background:#80848e}.latency-indicator{margin-left:8px;padding:2px 6px;background:var(--bg-tertiary);border-radius:4px;font-size:11px;color:var(--text-tertiary)}.font-size-slider{display:flex;align-items:center;gap:8px}.font-size-slider input[type=range]{flex:1;height:4px;background:var(--bg-tertiary);border-radius:2px;cursor:pointer;-webkit-appearance:none}.font-size-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer}.font-size-label{font-size:12px;color:var(--text-tertiary)}.font-size-label.large{font-size:18px}.font-size-value{font-size:12px;color:var(--text-secondary);min-width:35px}.reaction-wrapper{position:relative;display:inline-block}.reaction-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;padding:8px 12px;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;min-width:100px;max-width:200px}.reaction-users{display:flex;flex-direction:column;gap:4px}.reaction-user{font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reaction-more{font-size:12px;color:var(--text-tertiary);font-style:italic}.reaction-loading{font-size:12px;color:var(--text-tertiary)}.attachment.spoiler{position:relative;min-height:100px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.spoiler-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--bg-tertiary);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);font-size:14px}.spoiler-overlay:hover{background:var(--hover-bg)}.spoiler-overlay svg{opacity:.7}.md-code-block{position:relative}.code-lang-label{position:absolute;top:8px;right:8px;padding:2px 8px;background:var(--bg-tertiary);border-radius:4px;font-size:11px;color:var(--text-tertiary);text-transform:uppercase}.code-keyword{color:#c678dd}.code-string{color:#98c379}.code-number{color:#d19a66}.code-comment{color:#5c6370;font-style:italic}.thread-view{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:100%;background:var(--bg-primary);border-left:1px solid var(--border-color);z-index:100;display:flex;flex-direction:column}.thread-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color)}.thread-title{font-weight:600;color:var(--text-primary)}.unread-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:#f23f43;font-size:12px;font-weight:600}.message.highlight{animation:highlightPulse 2s ease-out}@keyframes highlightPulse{0%{background:var(--accent-transparent)}to{background:transparent}}.message-skeleton-container{display:flex;flex-direction:column;gap:20px;padding:16px}.message-skeleton{display:flex;gap:12px;animation:skeletonFade 1s ease-in-out infinite}.skeleton-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-tertiary);flex-shrink:0}.skeleton-content{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-header{display:flex;gap:8px;align-items:center}.skeleton-name{width:120px;height:14px;background:var(--bg-tertiary);border-radius:4px}.skeleton-time{width:50px;height:12px;background:var(--bg-tertiary);border-radius:4px}.skeleton-text{width:100%;max-width:300px;height:14px;background:var(--bg-tertiary);border-radius:4px}.skeleton-text.short{max-width:180px}@keyframes skeletonFade{0%,to{opacity:.4}50%{opacity:.7}}.video-embed{position:relative;width:100%;max-width:400px;border-radius:var(--radius-md);overflow:hidden;margin-top:8px;background:var(--bg-tertiary)}.video-embed.playing{aspect-ratio:16 / 9}.video-embed.playing iframe{width:100%;height:100%;border:none}.video-embed.thumbnail{cursor:pointer;aspect-ratio:16 / 9}.video-embed.thumbnail img{width:100%;height:100%;object-fit:cover}.video-embed-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.video-embed-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0006;transition:background .2s ease}.video-embed.thumbnail:hover .video-embed-overlay{background:#00000080}.video-embed .play-button{width:64px;height:64px;border-radius:50%;background:#fffffff2;display:flex;align-items:center;justify-content:center;color:#333;transition:transform .2s ease,background .2s ease}.video-embed.thumbnail:hover .play-button{transform:scale(1.1);background:#fff}.video-embed-info{position:absolute;bottom:12px;left:12px}.platform-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.video-embed-link{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:#0009;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .2s ease}.video-embed.thumbnail:hover .video-embed-link{opacity:1}.video-embed-link:hover{background:#000c}@media(max-width:480px){.video-embed{max-width:100%}.video-embed .play-button{width:56px;height:56px}.video-embed .play-button svg{width:24px;height:24px}}.friends-panel-overlay{position:fixed;inset:0;background:#00000080;z-index:var(--z-modal);display:flex;align-items:stretch}.friends-panel{width:100%;max-width:420px;height:100%;background:var(--bg-secondary);display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.friends-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.friends-panel-header h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.friends-header-actions{display:flex;gap:8px}.friends-tabs{display:flex;padding:0 12px;border-bottom:1px solid var(--border-color);overflow-x:auto}.friends-tab{padding:12px 16px;background:none;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;border-bottom:2px solid transparent;transition:all .2s ease;white-space:nowrap}.friends-tab:hover{color:var(--text-primary)}.friends-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-count{font-size:12px;padding:2px 6px;background:var(--bg-tertiary);border-radius:10px}.tab-count.badge{background:var(--accent);color:var(--accent-text)}.friends-list{flex:1;overflow-y:auto;padding:12px}.friends-loading,.friends-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;color:var(--text-tertiary)}.friends-empty svg{opacity:.5}.friends-empty .btn-primary{margin-top:12px}.friends-section{margin-bottom:16px}.friends-section-header{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;padding:8px 12px;letter-spacing:.5px}.friend-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease}.friend-item:hover{background:var(--hover-bg)}.friend-avatar-wrapper{position:relative;flex-shrink:0}.friend-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.friend-status-dot{position:absolute;bottom:0;right:0;width:14px;height:14px;border-radius:50%;border:3px solid var(--bg-secondary)}.friend-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.friend-name{font-size:15px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-username{font-size:13px;color:var(--text-tertiary)}.friend-activity,.friend-status-text{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-pending-type,.friend-blocked-label{font-size:13px;color:var(--text-tertiary)}.friend-actions{display:flex;gap:4px}.friend-action-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.friend-action-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.friend-action-btn.danger:hover{background:#f33f431a;color:#f23f43}.friend-action-btn.accept:hover{background:#23a55a1a;color:#23a55a}.dm-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease}.dm-item:hover{background:var(--hover-bg)}.dm-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.dm-group-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.dm-group-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.dm-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dm-name{font-size:15px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-member-count{font-size:13px;color:var(--text-tertiary)}.dm-close-btn{width:28px;height:28px;border-radius:50%;border:none;background:var(--bg-tertiary);color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center}.dm-close-btn:hover{background:#f33f431a;color:#f23f43}.modal-overlay{position:fixed;inset:0;background:#000000b3;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:20px}.modal-content{background:var(--bg-secondary);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.modal-close{width:32px;height:32px;border-radius:50%;border:none;background:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--hover-bg);color:var(--text-primary)}.add-friend-form,.join-server-form{padding:20px;display:flex;flex-direction:column;gap:16px}.add-friend-hint,.join-server-hint{font-size:14px;color:var(--text-secondary);margin:0}.add-friend-form input,.join-server-form input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-size:15px}.add-friend-form input:focus,.join-server-form input:focus{outline:none;border-color:var(--accent)}.invite-input-row{display:flex;gap:8px}.invite-input-row input{flex:1}.form-error{padding:10px 14px;background:#f33f431a;border-radius:var(--radius-sm);color:#f23f43;font-size:14px}.form-success{padding:10px 14px;background:#23a55a1a;border-radius:var(--radius-sm);color:#23a55a;font-size:14px}.invite-preview{padding:16px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.invite-preview-header{display:flex;gap:12px;align-items:center}.invite-guild-icon{width:48px;height:48px;border-radius:var(--radius-md);object-fit:cover}.invite-guild-icon-placeholder{width:48px;height:48px;border-radius:var(--radius-md);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.invite-guild-info{flex:1;display:flex;flex-direction:column;gap:4px}.invite-guild-name{font-size:16px;font-weight:600;color:var(--text-primary)}.invite-guild-counts{display:flex;gap:12px;font-size:13px}.invite-guild-counts .online{color:#23a55a}.invite-guild-counts .members{color:var(--text-tertiary)}.invite-guild-desc{margin-top:12px;font-size:14px;color:var(--text-secondary)}.btn-primary{padding:12px 20px;background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--radius-md);font-size:15px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{padding:12px 20px;background:var(--bg-tertiary);color:var(--text-primary);border:none;border-radius:var(--radius-md);font-size:15px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-secondary:hover:not(:disabled){background:var(--hover-bg)}.btn-sm{padding:8px 16px;font-size:14px}.btn-icon{width:36px;height:36px;border-radius:50%;border:none;background:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-icon:hover{background:var(--hover-bg);color:var(--text-primary)}.user-status-panel{position:fixed;top:calc(var(--header-height) + 8px);right:16px;width:300px;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);z-index:var(--z-dropdown);overflow:hidden}.status-panel-user{display:flex;gap:12px;padding:16px;background:var(--bg-tertiary)}.status-panel-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.status-panel-user-info{display:flex;flex-direction:column;justify-content:center;gap:2px}.status-panel-name{font-size:16px;font-weight:600;color:var(--text-primary)}.status-panel-username{font-size:14px;color:var(--text-secondary)}.status-panel-section{padding:12px;border-bottom:1px solid var(--border-color)}.status-panel-section:last-child{border-bottom:none}.status-panel-label{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:8px;letter-spacing:.5px}.status-custom-btn{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);font-size:14px;text-align:left;transition:background .15s ease}.status-custom-btn:hover{background:var(--hover-bg)}.status-custom-emoji{font-size:20px}.status-custom-text{flex:1;color:var(--text-secondary)}.status-custom-clear{width:24px;height:24px;border-radius:50%;border:none;background:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center}.status-custom-clear:hover{background:var(--hover-bg);color:var(--text-primary)}.status-custom-input-wrapper{display:flex;flex-direction:column;gap:10px}.status-custom-input-row{display:flex;gap:8px}.status-emoji-picker-btn{width:42px;height:42px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);cursor:pointer;font-size:20px}.status-custom-input-row input{flex:1;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-size:14px}.status-custom-input-row input:focus{outline:none;border-color:var(--accent)}.status-custom-actions{display:flex;gap:8px;justify-content:flex-end}.status-option{display:flex;align-items:center;gap:10px;padding:10px 12px;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);font-size:14px;width:100%;text-align:left;transition:background .15s ease}.status-option.active{background:var(--active-bg)}.status-option-dot{width:12px;height:12px;border-radius:50%;position:relative}.status-dnd-line{position:absolute;top:50%;left:2px;right:2px;height:3px;background:var(--bg-secondary);transform:translateY(-50%);border-radius:2px}.status-idle-moon{position:absolute;top:0;right:0;width:6px;height:6px;background:var(--bg-secondary);border-radius:50%}.status-panel-actions{display:flex;flex-direction:column;gap:2px}.status-action-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);font-size:14px;width:100%;text-align:left;transition:background .15s ease}.status-action-btn:hover{background:var(--hover-bg)}.status-action-btn.danger{color:#f23f43}.status-action-btn.danger:hover{background:#f33f431a}.user-avatar-mini{position:relative;width:28px;height:28px}.user-avatar-mini img{width:100%;height:100%;border-radius:50%;object-fit:cover}.user-avatar-mini .user-status-dot{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-primary)}.user-status-btn{padding:2px!important}.friends-btn{position:relative}.user-token-badge{padding:2px 8px;background:var(--accent);color:var(--accent-text);border-radius:10px;font-size:11px;font-weight:600;margin-right:8px}@media(max-width:480px){.friends-panel{max-width:100%}.user-status-panel{right:8px;left:8px;width:auto}.modal-content{max-width:100%;margin:0 16px}}.members-search{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:0 12px 8px;background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-tertiary)}.members-search input{flex:1;background:none;border:none;color:var(--text-primary);font-size:14px;outline:none}.members-search input::placeholder{color:var(--text-tertiary)}.members-search .search-clear{width:20px;height:20px;border:none;background:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%}.members-search .search-clear:hover{background:var(--hover-bg);color:var(--text-primary)}.members-section-header{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;padding:12px 12px 6px;letter-spacing:.5px}.bot-badge{display:inline-block;padding:1px 5px;margin-left:6px;background:var(--accent);color:var(--accent-text);border-radius:4px;font-size:10px;font-weight:600;vertical-align:middle}.pinned-media{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.pinned-image{max-width:200px;max-height:150px;border-radius:var(--radius-md);cursor:pointer;object-fit:cover;transition:transform .15s ease}.pinned-image:hover{transform:scale(1.02)}.pinned-video{max-width:100%;max-height:200px;border-radius:var(--radius-md)}.pinned-jump-btn{margin-top:8px;padding:4px 10px;background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.pinned-jump-btn:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--text-tertiary)}.pinned-attachment{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--accent);font-size:13px;text-decoration:none}.pinned-attachment:hover{background:var(--hover-bg)}.server-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease}.server-item:hover{background:var(--hover-bg)}.server-icon-img{width:44px;height:44px;border-radius:var(--radius-md);object-fit:cover}.server-icon-placeholder{width:44px;height:44px;border-radius:var(--radius-md);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text-secondary)}.server-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.server-item-name{font-size:15px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.server-item-members{font-size:13px;color:var(--text-tertiary)}.server-leave-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--bg-tertiary);color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.server-leave-btn:hover{background:#f33f431a;color:#f23f43}.friends-main-tabs{display:flex;padding:8px 12px;gap:8px;border-bottom:1px solid var(--border-color)}.friends-main-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:var(--bg-tertiary);border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.friends-main-tab:hover{background:var(--hover-bg);color:var(--text-primary)}.friends-main-tab.active{background:var(--accent);color:var(--accent-text)}.friends-main-tab .tab-count{background:#fff3}.friends-main-tab.active .tab-count{background:#ffffff4d}.leave-server-content{padding:20px}.leave-server-content p{margin:0 0 12px;color:var(--text-primary)}.leave-server-warning{color:var(--text-secondary)!important;font-size:14px}.leave-server-actions{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}.btn-danger{padding:10px 20px;background:#f23f43;color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-danger:hover:not(:disabled){background:#d63638}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.bot-avatar-mini{width:32px;height:32px;min-width:32px;min-height:32px;position:relative}.bot-avatar-mini img{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:50%;object-fit:cover;aspect-ratio:1 / 1}.bot-avatar-mini svg{width:32px;height:32px;padding:4px;background:var(--bg-tertiary);border-radius:50%;color:var(--text-secondary)}.bot-status-dot{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;background:#23a55a;border:2px solid var(--bg-primary);border-radius:50%}.bot-menu-panel{position:fixed;top:calc(var(--header-height) + 8px);right:16px;width:280px;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);z-index:var(--z-dropdown);overflow:hidden}.bot-menu-header{display:flex;gap:12px;padding:16px;background:var(--bg-tertiary);align-items:center}.bot-menu-avatar{position:relative;flex-shrink:0;width:48px;height:48px}.bot-menu-avatar img{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;object-fit:cover;aspect-ratio:1 / 1}.bot-avatar-placeholder{width:48px;height:48px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fff}.bot-online-dot{position:absolute;bottom:0;right:0;width:14px;height:14px;background:#23a55a;border:3px solid var(--bg-tertiary);border-radius:50%}.bot-menu-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.bot-menu-name{font-size:16px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bot-menu-username{font-size:13px;color:var(--text-secondary)}.bot-badge{display:inline-block;padding:2px 6px;background:var(--accent);color:#fff;font-size:10px;font-weight:600;border-radius:4px;margin-top:4px;width:fit-content}.bot-menu-section{padding:8px;border-bottom:1px solid var(--border-color)}.bot-menu-section:last-child{border-bottom:none}.bot-menu-label{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:4px 8px 8px}.bot-menu-btn{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;background:none;border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;cursor:pointer;transition:background .15s ease}.bot-menu-btn:hover{background:var(--hover-bg)}.bot-menu-btn svg{color:var(--text-secondary);flex-shrink:0}.bot-menu-btn.danger{color:#f23f43}.bot-menu-btn.danger svg{color:#f23f43}.bot-menu-btn.danger:hover{background:#f23f431a}.sidebar-server-members{font-size:12px;color:var(--text-tertiary)}.sidebar-empty-hint{font-size:13px;color:var(--text-tertiary);margin-top:8px}.status-activity-btn{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);font-size:14px;text-align:left;transition:background .15s ease}.status-activity-btn:hover{background:var(--hover-bg)}.activity-icon{font-size:18px}.activity-text{flex:1;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-clear{width:24px;height:24px;border-radius:50%;border:none;background:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.activity-clear:hover{background:var(--hover-bg);color:var(--text-primary)}.activity-editor{display:flex;flex-direction:column;gap:10px}.activity-type-select{display:flex;flex-wrap:wrap;gap:6px}.activity-type-btn{padding:6px 10px;background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.activity-type-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.activity-type-btn.active{background:var(--accent);color:var(--accent-text)}.activity-editor input{width:100%;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px}.activity-editor input:focus{outline:none;border-color:var(--accent)}.activity-actions{display:flex;gap:8px;justify-content:flex-end}.status-options{display:flex;flex-direction:column;gap:2px}.status-option{display:flex;align-items:center;gap:10px;padding:8px 10px;background:none;border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;cursor:pointer;transition:background .15s ease;width:100%;text-align:left}.status-option:hover{background:var(--hover-bg)}.status-option.active{background:var(--bg-tertiary)}.status-option-dot{width:14px;height:14px;border-radius:50%;position:relative;flex-shrink:0}.status-dnd-line{position:absolute;top:50%;left:3px;right:3px;height:3px;background:var(--bg-secondary);transform:translateY(-50%);border-radius:2px}.status-idle-moon{position:absolute;top:0;right:0;width:8px;height:8px;background:var(--bg-secondary);border-radius:50%}.status-option-label{flex:1}.status-option-check{color:var(--accent)}.btn-sm{padding:6px 12px;font-size:13px}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease}.btn-secondary:hover{background:var(--hover-bg)}.btn-primary{background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.status-warning{display:flex;align-items:center;gap:6px;padding:8px 10px;margin-top:8px;background:#f0b2321a;border-radius:var(--radius-md);color:#f0b232;font-size:12px}.status-warning svg{flex-shrink:0}.bot-menu-current-server{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.current-server-icon{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:8px;object-fit:cover}.current-server-icon-placeholder{width:32px;height:32px;min-width:32px;border-radius:8px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.current-server-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.current-server-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-channel-name{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bot-menu-btn:disabled{opacity:.4;cursor:not-allowed}.bot-menu-btn:disabled:hover{background:none}.channel-type-section{margin-top:8px}.channel-type-header{display:flex;align-items:center;gap:4px;padding:4px 8px;width:100%;background:none;border:none;color:var(--text-tertiary);font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;cursor:pointer}.channel-type-header:hover{color:var(--text-secondary)}.channel-type-title{flex:1;text-align:left}.channel-type-count{font-size:9px;background:var(--bg-tertiary);padding:1px 5px;border-radius:var(--radius-sm)}.channel-type-list{overflow:hidden}.channel-badge{font-size:9px;padding:1px 5px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;margin-left:auto}.server-menu-channel.forum-channel{background:#5865f20d}.server-menu-channel.forum-channel:hover{background:#5865f21a}.forum-view.reddit-style{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary)}.forum-header.reddit-style{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.forum-header.reddit-style .forum-info{display:flex;align-items:center;gap:10px}.forum-header.reddit-style .forum-icon{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#ff4500,#ff8717);display:flex;align-items:center;justify-content:center;color:#fff}.forum-header.reddit-style .forum-details h2{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.forum-header.reddit-style .forum-post-count{font-size:11px;color:var(--text-tertiary)}.create-post-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--accent);color:#fff;border:none;border-radius:50%;cursor:pointer;transition:all .15s ease}.create-post-btn:hover{background:var(--accent-hover);transform:scale(1.05)}.forum-empty .create-post-btn{width:auto;height:auto;padding:10px 20px;border-radius:var(--radius-full);gap:8px}.forum-posts-list.reddit-style{flex:1;overflow-y:auto;display:flex;flex-direction:column}.forum-loading,.forum-empty.reddit-style{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:var(--text-tertiary);text-align:center}.forum-empty.reddit-style h3{margin:0;font-size:18px;color:var(--text-secondary)}.forum-empty.reddit-style p{margin:0;font-size:13px;max-width:280px}.reddit-post-card{display:flex;flex-direction:column;background:var(--bg-secondary);border-bottom:8px solid var(--bg-primary)}.reddit-post-card:first-child{border-top:8px solid var(--bg-primary)}.reddit-post-card.expanded{background:var(--bg-secondary)}.post-vote-sidebar{display:none}.post-content{padding:12px 16px}.post-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.post-subreddit{font-size:12px;font-weight:600;color:var(--text-primary)}.post-meta{font-size:11px;color:var(--text-tertiary);display:flex;align-items:center;gap:4px}.post-meta:before{content:"•";margin:0 2px}.post-tag{font-size:9px;padding:2px 6px;border-radius:var(--radius-sm);font-weight:600;text-transform:uppercase;margin-left:6px}.post-tag.archived{background:#ffffff1a;color:var(--text-tertiary)}.post-tag.locked{background:#ff450026;color:#ff4500}.post-title{font-size:15px;font-weight:500;color:var(--text-primary);margin:0 0 12px;cursor:pointer;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-footer{display:flex;align-items:center;gap:0;margin:0 -4px}.post-action{display:flex;align-items:center;gap:6px;padding:8px 12px;background:none;border:none;font-size:12px;font-weight:500;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.post-action:hover{color:var(--text-secondary)}.post-action.votes{background:var(--bg-tertiary);border-radius:var(--radius-full);padding:6px 4px;gap:0}.post-action.votes .vote-btn{background:none;border:none;padding:4px 8px;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center}.post-action.votes .vote-btn:hover{color:var(--text-primary)}.post-action.votes .vote-btn.upvote:hover{color:#ff4500}.post-action.votes .vote-btn.downvote:hover{color:#7193ff}.post-action.votes .vote-count{font-size:12px;font-weight:600;color:var(--text-primary);min-width:20px;text-align:center}.post-activity{margin-left:auto;font-size:11px;color:var(--text-tertiary);padding-right:4px}.replies-tray{background:var(--bg-tertiary);overflow:hidden}.replies-tray-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border-color);font-size:13px;font-weight:600;color:var(--text-secondary)}.replies-tray-actions{display:flex;gap:8px}.tray-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg-secondary);border:none;border-radius:var(--radius-full);font-size:11px;font-weight:500;color:var(--text-secondary);cursor:pointer}.tray-btn:hover{background:var(--hover-bg)}.replies-tray-content{max-height:350px;overflow-y:auto}.replies-loading,.replies-empty{display:flex;align-items:center;justify-content:center;padding:32px 16px;color:var(--text-tertiary);font-size:13px}.replies-loading svg{animation:spin 1s linear infinite}.replies-list{display:flex;flex-direction:column}.reply-item{padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.reply-item:last-child{border-bottom:none}.reply-item.is-op{background:#5865f214}.reply-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.reply-avatar{width:24px;height:24px;border-radius:50%}.reply-author{font-size:12px;font-weight:600;color:var(--text-primary)}.op-badge{font-size:9px;padding:2px 5px;background:#0079d3;color:#fff;border-radius:var(--radius-sm);font-weight:700}.reply-time{font-size:11px;color:var(--text-tertiary)}.reply-content{font-size:14px;color:var(--text-primary);line-height:1.45;word-break:break-word}.view-all-btn{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:14px 16px;background:var(--bg-secondary);border:none;font-size:13px;font-weight:600;color:#0079d3;cursor:pointer}.view-all-btn:hover{background:var(--hover-bg)}.new-post-modal{position:fixed;inset:0;background:var(--bg-primary);display:flex;flex-direction:column;z-index:var(--z-modal)}.new-post-form.reddit-style{flex:1;display:flex;flex-direction:column;background:var(--bg-primary)}.new-post-form.reddit-style .new-post-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.new-post-form.reddit-style .new-post-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.new-post-form.reddit-style .close-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;margin:-8px;border-radius:50%}.new-post-form.reddit-style .close-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.new-post-form.reddit-style .new-post-title{display:block;width:100%;padding:16px;background:var(--bg-secondary);border:none;border-bottom:1px solid var(--border-color);font-size:18px;font-weight:500;color:var(--text-primary);outline:none}.new-post-form.reddit-style .new-post-title::placeholder{color:var(--text-tertiary)}.new-post-form.reddit-style .new-post-content{flex:1;display:block;width:100%;padding:16px;background:var(--bg-secondary);border:none;font-size:15px;color:var(--text-primary);outline:none;font-family:inherit;resize:none}.new-post-form.reddit-style .new-post-content::placeholder{color:var(--text-tertiary)}.new-post-form.reddit-style .new-post-actions{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.new-post-form.reddit-style .btn-cancel{padding:10px 20px;background:transparent;border:none;font-size:14px;font-weight:600;color:var(--text-tertiary);cursor:pointer}.new-post-form.reddit-style .btn-cancel:hover{color:var(--text-secondary)}.new-post-form.reddit-style .btn-submit{padding:10px 24px;background:#0079d3;border:none;border-radius:var(--radius-full);font-size:14px;font-weight:600;color:#fff;cursor:pointer}.new-post-form.reddit-style .btn-submit:hover:not(:disabled){background:#006cbd}.new-post-form.reddit-style .btn-submit:disabled{opacity:.4;cursor:not-allowed}@media(min-width:768px){.new-post-modal{background:#000000b3;align-items:center;justify-content:center;padding:20px}.new-post-form.reddit-style{width:100%;max-width:600px;max-height:80vh;border-radius:var(--radius-lg);overflow:hidden}.reddit-post-card{border-bottom:1px solid var(--border-color);margin:0 12px 8px;border-radius:var(--radius-md)}.reddit-post-card:first-child{border-top:none;margin-top:12px}}.offline-banner{position:fixed;top:0;left:0;right:0;padding:8px 16px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:500;z-index:var(--z-modal);box-shadow:0 2px 8px #0003}.offline-banner svg{animation:pulse 2s ease-in-out infinite}.pending-indicator{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-tertiary);border-radius:var(--radius-full);font-size:11px;color:var(--text-secondary)}.pending-indicator svg{animation:spin 1s linear infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-elevated) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.message-list-skeleton,.channel-list-skeleton,.member-list-skeleton{display:flex;flex-direction:column}.thread-panel{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:100vw;background:var(--bg-primary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;z-index:var(--z-sidebar)}.thread-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.thread-header h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600}.thread-title{font-size:14px;color:var(--text-secondary);padding:0 20px;margin-top:8px}.thread-input-container{padding:16px;border-top:1px solid var(--border-color)}.thread-input{display:flex;gap:8px}.thread-input input{flex:1;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;color:var(--text-primary)}.thread-input input:focus{border-color:var(--accent);outline:none}.thread-input button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-text);border-radius:var(--radius-md)}.thread-preview{margin-top:8px;padding:8px 12px;background:var(--bg-tertiary);border-radius:var(--radius-md);border-left:3px solid var(--accent);cursor:pointer;transition:background var(--transition-fast)}.thread-preview:hover{background:var(--hover-bg)}.thread-preview-header{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--accent);font-weight:500}.thread-preview-content{font-size:13px;color:var(--text-secondary);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-preview{margin-top:8px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);background:var(--bg-tertiary);max-width:400px}.link-preview-content{padding:12px}.link-preview-site{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:4px}.link-preview-title{font-size:14px;font-weight:600;color:var(--accent);margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link-preview-description{font-size:13px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.link-preview-image{width:100%;max-height:200px;object-fit:cover}.link-preview.youtube{border-left:3px solid #ff0000}.link-preview.twitter{border-left:3px solid #1da1f2}.link-preview.spotify{border-left:3px solid #1db954}@media(max-width:768px){.thread-panel{width:100%}.link-preview{max-width:100%}}.offline-indicator{position:fixed;top:0;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-elevated);border:1px solid var(--border-color);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);font-size:13px;color:var(--text-secondary);z-index:var(--z-sticky);box-shadow:var(--shadow-md)}.offline-indicator.offline{background:#f23f43;color:#fff;border-color:#f23f43}.offline-indicator.syncing{background:var(--accent);color:#fff;border-color:var(--accent)}.offline-indicator svg{animation:none}.offline-indicator.syncing svg{animation:spin 1s linear infinite}.offline-indicator .pending-badge{background:#fff3;padding:2px 8px;border-radius:var(--radius-full);font-size:11px}.offline-indicator .retry-btn,.offline-indicator .clear-btn{padding:4px 10px;border:none;border-radius:var(--radius-sm);font-size:12px;cursor:pointer;margin-left:4px}.offline-indicator .retry-btn{background:#fff3;color:#fff}.offline-indicator .clear-btn{background:transparent;color:#ffffffb3}.link-preview{margin-top:8px;padding:12px;background:var(--bg-tertiary);border-radius:var(--radius-md);border-left:3px solid var(--accent);max-width:400px}.link-preview.loading{padding:0;border:none;background:transparent}.link-preview-skeleton{height:80px;background:var(--bg-tertiary);border-radius:var(--radius-md);overflow:hidden;position:relative}.skeleton-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.link-preview .preview-provider{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-tertiary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.link-preview.youtube{border-left-color:red}.link-preview.twitter{border-left-color:#1da1f2}.link-preview.github{border-left-color:#238636}.link-preview.spotify{border-left-color:#1db954}.link-preview .preview-thumbnail{position:relative;cursor:pointer;border-radius:var(--radius-sm);overflow:hidden}.link-preview .preview-thumbnail img{width:100%;display:block}.link-preview .play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0006;color:#fff;transition:background var(--transition-fast)}.link-preview .preview-thumbnail:hover .play-overlay{background:#0009}.link-preview .preview-embed{position:relative}.link-preview .preview-embed iframe{width:100%;aspect-ratio:16/9;border:none;border-radius:var(--radius-sm)}.link-preview .spotify-embed iframe{height:80px;aspect-ratio:auto}.link-preview .collapse-btn,.link-preview .expand-btn{display:flex;align-items:center;gap:4px;margin-top:8px;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary);cursor:pointer}.link-preview .preview-link,.link-preview .preview-content{display:flex;align-items:center;gap:8px;color:var(--accent);text-decoration:none;font-size:14px}.link-preview .preview-link:hover,.link-preview .preview-content:hover{text-decoration:underline}.link-preview .repo-name{font-family:var(--font-mono)}.link-preview .preview-link-generic{display:flex;align-items:center;gap:6px;color:var(--text-secondary);text-decoration:none;font-size:13px}.link-preview .link-domain{color:var(--accent)}.thread-view{position:fixed;top:0;right:0;width:100%;max-width:420px;height:100%;background:var(--bg-primary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;z-index:var(--z-modal)}.thread-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.thread-info{display:flex;align-items:center;gap:12px}.thread-title h3{margin:0;font-size:16px;font-weight:600}.thread-title .thread-parent{font-size:12px;color:var(--text-tertiary)}.thread-messages{flex:1;overflow-y:auto;padding:16px}.thread-loading,.thread-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);gap:12px}.thread-loading svg{animation:spin 1s linear infinite}.thread-input{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.thread-input textarea{flex:1;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;color:var(--text-primary);resize:none;min-height:40px;max-height:120px}.thread-input textarea:focus{outline:none;border-color:var(--accent)}.thread-input .send-btn{padding:10px;background:var(--accent);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer}.thread-input .send-btn:disabled{opacity:.5;cursor:not-allowed}.search-messages-panel{position:fixed;top:0;right:0;width:100%;max-width:400px;height:100%;background:var(--bg-primary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;z-index:var(--z-modal)}.search-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color)}.search-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:16px}.search-input-container{padding:12px 16px;border-bottom:1px solid var(--border-color)}.search-input-wrapper{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.search-input-wrapper input{flex:1;background:transparent;border:none;font-size:14px;color:var(--text-primary);outline:none}.search-input-wrapper .clear-btn{padding:4px;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer}.search-scope{display:flex;gap:8px;margin-top:10px}.search-scope .scope-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:12px;color:var(--text-secondary);cursor:pointer}.search-scope .scope-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-toggle{display:flex;align-items:center;gap:6px;margin-top:10px;padding:6px 12px;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary);cursor:pointer;position:relative}.filter-toggle.active{border-color:var(--accent);color:var(--accent)}.filter-toggle .filter-badge{position:absolute;top:-4px;right:-4px;width:8px;height:8px;background:var(--accent);border-radius:50%}.search-filters{padding:12px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);overflow:hidden}.search-filters .filter-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.search-filters label{width:60px;font-size:12px;color:var(--text-secondary)}.search-filters select,.search-filters input[type=date]{flex:1;padding:6px 10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;color:var(--text-primary)}.search-filters .clear-filters{width:100%;padding:8px;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:12px;color:var(--text-tertiary);cursor:pointer;margin-top:4px}.search-results{flex:1;overflow-y:auto;padding:8px}.search-loading,.search-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--text-tertiary);gap:8px;text-align:center}.search-loading svg{animation:spin 1s linear infinite}.search-empty span{font-size:12px}.results-count{padding:8px 12px;font-size:12px;color:var(--text-tertiary)}.search-result{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.search-result:hover{background:var(--hover-bg)}.search-result .result-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0}.search-result .result-content{flex:1;min-width:0}.search-result .result-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.search-result .result-author{font-weight:600;font-size:14px}.search-result .result-channel{font-size:12px;color:var(--text-tertiary)}.search-result .result-time{font-size:11px;color:var(--text-tertiary);margin-left:auto}.search-result .result-text{font-size:13px;color:var(--text-secondary);line-height:1.4;word-break:break-word}.search-result .result-text .search-highlight{background:#facc154d;color:var(--text-primary);padding:0 2px;border-radius:2px}.search-result .result-attachments{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:11px;color:var(--text-tertiary)}.search-result .result-arrow{color:var(--text-tertiary);flex-shrink:0}.load-more-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;margin-top:8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:13px;color:var(--text-secondary);cursor:pointer}.load-more-btn:disabled{opacity:.6;cursor:not-allowed}.message-skeleton-container{padding:16px}.message-skeleton{display:flex;gap:12px;margin-bottom:20px;animation:pulse 1.5s ease-in-out infinite}.message-skeleton .skeleton-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-tertiary);flex-shrink:0}.message-skeleton .skeleton-content{flex:1}.message-skeleton .skeleton-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.message-skeleton .skeleton-name{width:120px;height:14px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.message-skeleton .skeleton-time{width:60px;height:12px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.message-skeleton .skeleton-text{height:14px;background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:6px}.message-skeleton .skeleton-text:first-of-type{width:100%}.message-skeleton .skeleton-text.short{width:60%}.message-skeleton .skeleton-text.medium{width:80%}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.unread-divider{display:flex;align-items:center;justify-content:center;padding:8px 0;margin:12px 0;position:relative}.unread-divider:before,.unread-divider:after{content:"";flex:1;height:1px;background:#f23f43}.unread-divider{font-size:11px;font-weight:600;color:#f23f43;padding:0 12px;text-transform:uppercase;letter-spacing:.5px}.file-preview.pasted-image{border:2px dashed var(--accent)}.file-preview .paste-badge{position:absolute;top:4px;left:4px;padding:2px 6px;background:var(--accent);border-radius:var(--radius-sm);font-size:10px;color:#fff;text-transform:uppercase}.message.queued{opacity:.6}.message.queued .queued-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:11px;color:var(--text-tertiary);margin-left:8px}.message.queued .queued-badge svg{animation:spin 1s linear infinite}.message.failed .failed-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f23f4333;border-radius:var(--radius-sm);font-size:11px;color:#f23f43;margin-left:8px}.message .thread-indicator{display:flex;align-items:center;gap:6px;margin-top:8px;padding:8px 12px;background:var(--bg-tertiary);border-radius:var(--radius-md);font-size:13px;color:var(--accent);cursor:pointer;border-left:2px solid var(--accent)}.message .thread-indicator:hover{background:var(--hover-bg)}.message .thread-indicator .thread-count{color:var(--text-tertiary);font-size:12px}@media(max-width:768px){.thread-view,.search-messages-panel{max-width:100%}.offline-indicator{left:0;right:0;transform:none;border-radius:0;justify-content:center}}.exit-dialog-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px}.exit-dialog{background:var(--bg-primary);border-radius:var(--radius-lg);padding:32px;max-width:320px;width:100%;text-align:center;box-shadow:var(--shadow-lg)}.exit-dialog-icon{width:64px;height:64px;margin:0 auto 16px;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.exit-dialog h3{margin:0 0 8px;font-size:18px;font-weight:600}.exit-dialog p{margin:0 0 24px;color:var(--text-secondary);font-size:14px}.exit-dialog-buttons button{flex:1;padding:12px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.exit-dialog-buttons .btn-cancel{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.exit-dialog-buttons .btn-cancel:hover{background:var(--hover-bg)}.exit-dialog-buttons .btn-confirm{background:#f23f43;border:none;color:#fff}.exit-dialog-buttons .btn-confirm:hover{background:#d93438}.header-back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);margin-right:8px}.header-back-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.header-back-btn:active{transform:scale(.95)}.nav-breadcrumb{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary);margin-bottom:2px}.nav-breadcrumb svg{width:12px;height:12px}.header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(var(--bg-secondary-rgb, 22, 25, 33),.85)!important;border-bottom:1px solid var(--border-color)}.header-title{font-weight:600;letter-spacing:-.01em}.header-channel-name{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600}.sidebar{background:linear-gradient(180deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%)}.server-list{padding:8px}.server-item{position:relative;width:48px;height:48px;border-radius:24px;transition:border-radius var(--transition-base),transform var(--transition-fast);overflow:hidden}.server-item:hover{border-radius:16px;transform:scale(1.05)}.server-item.active{border-radius:16px}.server-item:before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:4px;height:0;background:var(--text-primary);border-radius:0 4px 4px 0;transition:height var(--transition-base)}.server-item:hover:before{height:20px}.server-item.active:before{height:36px}.channel-item{margin:2px 8px;padding:8px 12px;border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative}.channel-item:hover{background:var(--hover-bg);transform:translate(2px)}.channel-item.active{background:var(--active-bg);font-weight:500}.channel-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--accent);border-radius:0 3px 3px 0}.channel-name{font-size:14px;font-weight:500}.message-group{padding:12px 16px;margin:0 8px;border-radius:var(--radius-md);transition:background var(--transition-fast)}.message-group:hover{background:var(--hover-bg)}.message-avatar img{width:40px;height:40px;border-radius:var(--avatar-radius);border:2px solid var(--bg-tertiary);transition:transform var(--transition-fast),border-color var(--transition-fast)}.message-avatar img:hover{transform:scale(1.1);border-color:var(--accent)}.message-author{font-weight:600;font-size:15px;color:var(--text-primary);transition:color var(--transition-fast)}.message-author:hover{color:var(--accent)}.message-time{font-size:11px;color:var(--text-tertiary);font-weight:500;letter-spacing:.02em}.message-text{font-size:15px;line-height:1.5;color:var(--text-primary)}.mention{background:#5865f226;color:#5865f2;padding:0 4px;border-radius:4px;font-weight:500;cursor:pointer;transition:background var(--transition-fast)}.mention:hover{background:#5865f24d}.channel-mention{background:#3ba55d26;color:#3ba55c}.channel-mention:hover{background:#3ba55d4d}.role-mention{background:#eb459e26;color:#eb459e}.role-mention:hover{background:#eb459e4d}.message-input-container{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:12px 16px}.message-input-wrapper{background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.message-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #5865f226}.message-input textarea{font-size:15px;line-height:1.4}.icon-btn{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.icon-btn:hover{background:var(--hover-bg);color:var(--text-primary);transform:scale(1.05)}.icon-btn:active{transform:scale(.95)}.btn-primary{background:var(--accent);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-md);font-weight:600;font-size:14px;cursor:pointer;transition:all var(--transition-fast)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #5865f24d}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:10px 20px;border-radius:var(--radius-md);font-weight:500;font-size:14px;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--hover-bg);border-color:var(--text-tertiary)}.panel{background:var(--bg-secondary);border-left:1px solid var(--border-color);box-shadow:var(--shadow-lg)}.panel-header{padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.panel-header h3{font-size:16px;font-weight:600;letter-spacing:-.01em}.message-reactions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.reaction{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:13px;cursor:pointer;transition:all var(--transition-fast)}.reaction:hover{background:var(--hover-bg);border-color:var(--text-tertiary);transform:scale(1.05)}.reaction.active{background:#5865f226;border-color:var(--accent);color:var(--accent)}.reaction-emoji{font-size:16px}.reaction-count{font-weight:600;font-size:12px}.toast{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:14px 18px;display:flex;align-items:flex-start;gap:12px;animation:toastSlideIn .3s cubic-bezier(.16,1,.3,1)}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{width:24px;height:24px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast.success .toast-icon{background:#3ba55d26;color:#3ba55c}.toast.error .toast-icon{background:#ed424526;color:#ed4245}.toast.warning .toast-icon{background:#fee75c26;color:#fee75c}.toast-content{flex:1}.toast-title{font-weight:600;font-size:14px;margin-bottom:2px}.toast-message{font-size:13px;color:var(--text-secondary)}.modal-overlay{background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal{background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:440px;width:calc(100% - 32px);animation:modalFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes modalFadeIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{padding:20px 24px 0}.modal-title{font-size:20px;font-weight:700;letter-spacing:-.02em}.modal-body{padding:16px 24px}.modal-footer{padding:16px 24px 20px;display:flex;justify-content:flex-end;gap:12px}.exit-dialog-overlay{background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.exit-dialog{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:32px;text-align:center;max-width:320px;box-shadow:var(--shadow-lg)}.exit-dialog-icon{width:64px;height:64px;margin:0 auto 20px;background:#ed42451a;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#ed4245}.exit-dialog h3{font-size:20px;font-weight:700;margin-bottom:8px}.exit-dialog p{color:var(--text-secondary);font-size:14px;margin-bottom:24px}.exit-dialog-buttons{display:flex;gap:12px}.exit-dialog .btn-cancel{flex:1;padding:12px;background:var(--bg-tertiary);border:none;border-radius:var(--radius-md);font-weight:600;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast)}.exit-dialog .btn-cancel:hover{background:var(--hover-bg)}.exit-dialog .btn-confirm{flex:1;padding:12px;background:#ed4245;border:none;border-radius:var(--radius-md);font-weight:600;color:#fff;cursor:pointer;transition:background var(--transition-fast)}.exit-dialog .btn-confirm:hover{background:#d63a3d}.status-bar{height:var(--status-height);background:var(--bg-tertiary);border-top:1px solid var(--border-color);padding:0 16px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-tertiary)}.status-indicator{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary);margin-right:8px}.status-indicator.online{background:#3ba55c;box-shadow:0 0 8px #3ba55d80}.latency-indicator{padding:2px 8px;background:var(--bg-secondary);border-radius:var(--radius-full);font-size:11px;font-weight:500;margin-left:8px}.version{font-weight:500;opacity:.7}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:#5865f24d;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.main-window{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.spinner,.loading-spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.typing-indicator-bar{padding:8px 16px;background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.typing-bubble-dots{display:flex;gap:3px}.typing-bubble-dots span{width:6px;height:6px;background:var(--text-tertiary);border-radius:50%;animation:typingBounce 1.4s ease-in-out infinite}.typing-bubble-dots span:nth-child(2){animation-delay:.2s}.typing-bubble-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.file-preview{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px;display:flex;align-items:center;gap:12px;margin-bottom:8px}.file-preview-image{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm)}.file-preview-info{flex:1;min-width:0}.file-preview-name{font-weight:500;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-preview-size{font-size:12px;color:var(--text-tertiary)}.file-preview-remove{width:28px;height:28px;border-radius:var(--radius-full);background:var(--hover-bg);border:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.file-preview-remove:hover{background:#ed424526;color:#ed4245}.context-menu{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:6px;min-width:180px;animation:contextMenuFade .15s ease}@keyframes contextMenuFade{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);font-size:14px;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast)}.context-menu-item:hover{background:var(--hover-bg)}.context-menu-item.danger{color:#ed4245}.context-menu-item.danger:hover{background:#ed42451a}.context-menu-divider{height:1px;background:var(--border-color);margin:6px 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--text-tertiary)}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-state p{font-size:14px;max-width:280px}.back-to-latest-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--accent);border:none;border-radius:var(--radius-full);font-size:13px;font-weight:600;color:#fff;cursor:pointer;box-shadow:0 4px 12px #5865f266;transition:all var(--transition-fast)}.back-to-latest-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #5865f280}.header,.sidebar,.status-bar,.message-input-container,.panel-header,.server-item,.channel-item,.btn-primary,.btn-secondary,.icon-btn,.context-menu,.toast,.modal{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.message-text{-webkit-user-select:text;user-select:text}html{touch-action:pan-x pan-y}body{overscroll-behavior:none;-webkit-overflow-scrolling:touch}.message-list,.sidebar-channels,.panel-content,.search-results{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.bounce-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch}@media(hover:none)and (pointer:coarse){.server-item:hover,.channel-item:hover,.message-group:hover,.icon-btn:hover,.btn-primary:hover,.btn-secondary:hover,.context-menu-item:hover,.reaction:hover{background:inherit;transform:none;box-shadow:none}.server-item:active,.channel-item:active,.icon-btn:active,.btn-primary:active,.btn-secondary:active,.context-menu-item:active,.reaction:active{transform:scale(.95);opacity:.8}.message-group:active{background:var(--hover-bg)}}.splash-screen{position:fixed;inset:0;background:#1a1a1a;display:flex;align-items:center;justify-content:center;z-index:10000}.splash-content{display:flex;flex-direction:column;align-items:center;gap:24px}.splash-logo{width:120px;height:120px;border-radius:28px;overflow:hidden;box-shadow:0 20px 60px #00000080}.splash-logo img{width:100%;height:100%;object-fit:cover}.splash-title{font-size:28px;font-weight:700;color:#fff;letter-spacing:2px;margin:0}.splash-loader{width:200px}.splash-loader-bar{height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden}.splash-loader-fill{height:100%;background:#fff;border-radius:2px}.message{position:relative;overflow:visible}.message.swiping{z-index:10}.message.long-pressing{transform:scale(.98);opacity:.9}.swipe-indicator{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;pointer-events:none;transition:opacity .1s}.swipe-indicator.swipe-reply{left:-50px;background:var(--accent)}.swipe-indicator.swipe-action{right:-50px;background:#ed4245}.message.is-own .swipe-indicator.swipe-action{background:#ed4245}.pull-indicator{position:absolute;top:0;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;padding:12px;pointer-events:none;z-index:10}.pull-indicator-content{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-elevated);border-radius:var(--radius-full);box-shadow:var(--shadow-md);font-size:13px;color:var(--text-secondary)}.pull-indicator-spinner{width:18px;height:18px;border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%}.pull-indicator.ready .pull-indicator-spinner{border-top-color:#3ba55c}.pull-indicator.refreshing .pull-indicator-spinner{animation:spin .8s linear infinite}.page-transition-enter{transform:translate(100%);opacity:0}.page-transition-enter-active{transform:translate(0);opacity:1;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s ease}.page-transition-exit{transform:translate(0);opacity:1}.page-transition-exit-active{transform:translate(-30%);opacity:0;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s ease}.page-transition-back-enter{transform:translate(-30%);opacity:0}.page-transition-back-enter-active{transform:translate(0);opacity:1;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s ease}.page-transition-back-exit{transform:translate(0);opacity:1}.page-transition-back-exit-active{transform:translate(100%);opacity:0;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s ease}.panel,.thread-view,.search-messages-panel,.settings-panel{animation:panelSlideIn .3s cubic-bezier(.16,1,.3,1)}@keyframes panelSlideIn{0%{transform:translate(100%);opacity:.5}to{transform:translate(0);opacity:1}}.native-btn{transition:transform .1s ease,opacity .1s ease}.native-btn:active{transform:scale(.95);opacity:.8}@media(pointer:coarse){.icon-btn{min-width:44px;min-height:44px}.channel-item,.context-menu-item{min-height:44px}.reaction{min-height:36px;padding:8px 12px}}.main-window{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.header{padding-top:env(safe-area-inset-top)}.status-bar{padding-bottom:env(safe-area-inset-bottom)}.message-input-container{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.message-list{scroll-behavior:smooth}@media(max-width:768px){.message-list::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.panel-content::-webkit-scrollbar{display:none}.message-list,.sidebar,.panel-content{-ms-overflow-style:none;scrollbar-width:none}}.modal-overlay,.exit-dialog-overlay,.lightbox-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.context-menu-overlay{background:transparent}.settings-overlay{animation:settingsFadeIn .3s ease}@keyframes settingsFadeIn{0%{opacity:0}to{opacity:1}}.settings-panel{animation:settingsSlideIn .35s cubic-bezier(.16,1,.3,1)}@keyframes settingsSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.message.long-press-active{background:var(--hover-bg);border-radius:var(--radius-md)}.double-tap-heart{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);font-size:48px;pointer-events:none;animation:doubleTapHeart .6s ease-out forwards}@keyframes doubleTapHeart{0%{transform:translate(-50%,-50%) scale(0);opacity:1}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.skeleton-shimmer{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-elevated) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.message-input-wrapper:focus-within{box-shadow:0 0 0 4px #5865f233}*{-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.message,.server-item,.channel-item,.panel,.modal{will-change:transform;transform:translateZ(0);-webkit-transform:translateZ(0)}.notifications-overlay{position:fixed;inset:0;background:#00000080;z-index:500}.notifications-panel{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:380px;background:var(--bg-secondary);display:flex;flex-direction:column;box-shadow:-4px 0 20px #0000004d;z-index:501}.notifications-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.notifications-title{display:flex;align-items:center;gap:10px}.notifications-title h2{font-size:18px;font-weight:600;margin:0}.notif-badge{background:#ed4245;color:#fff;font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center}.menu-badge{background:#ed4245;color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:8px;margin-left:auto}.notifications-filters{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-color);overflow-x:auto}.filter-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.filter-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.notifications-actions{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-color)}.notifications-actions .action-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:none;border-radius:var(--radius-md);font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.notifications-actions .action-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.notifications-actions .action-btn.danger:hover{background:#ed42451a;color:#ed4245}.notifications-list{flex:1;overflow-y:auto;padding:8px}.notification-item{display:flex;gap:12px;padding:14px;background:var(--bg-tertiary);border-radius:var(--radius-md);margin-bottom:8px;cursor:pointer;position:relative;transition:all var(--transition-fast)}.notification-item:hover{background:var(--hover-bg)}.notification-item.unread{background:#5865f214;border-left:3px solid var(--accent)}.notification-item.unread:hover{background:#5865f21f}.notif-icon-wrapper{width:36px;height:36px;border-radius:50%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}.notif-emoji{font-size:18px}.notif-content{flex:1;min-width:0}.notif-header{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.notif-author{font-weight:600;font-size:14px;color:var(--text-primary)}.notif-action{font-size:14px;color:var(--text-secondary)}.notif-preview{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}.notif-meta{display:flex;gap:8px;font-size:12px;color:var(--text-tertiary)}.notif-channel{color:var(--accent)}.notif-unread-dot{position:absolute;top:14px;right:14px;width:8px;height:8px;background:var(--accent);border-radius:50%}.notifications-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-tertiary)}.notifications-empty svg{opacity:.4;margin-bottom:16px}.notifications-empty h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.notifications-empty p{font-size:14px;margin:0}@media(max-width:480px){.notifications-panel{max-width:100%}}
