:root{--bg: linear-gradient(180deg, #0f141c 0%, #151b24 100%);--surface: rgba(16, 22, 30, .82);--surface-2: rgba(20, 27, 36, .88);--panel: rgba(16, 22, 30, .9);--text: #eef3ff;--muted: #9aa6b8;--accent: #7db7ff;--accent-2: #c3d8ff;--accent-soft: rgba(125, 183, 255, .18);--bubble-me: rgba(125, 183, 255, .24);--bubble-other: rgba(18, 24, 34, .92);--border: rgba(255, 255, 255, .12);--shadow: 0 18px 60px rgba(0, 0, 0, .4);--accent-glow: 0 0 16px rgba(125, 183, 255, .35);--focus: #7db7ff;--focus-ring: rgba(125, 183, 255, .6);--danger: #e05c5c;--danger-soft: rgba(224, 92, 92, .18);--danger-border: rgba(224, 92, 92, .55);--pattern: none;--patternOpacity: .08;--patternSize: 180px;--accent-contrast: #0f172a;--bubble-radius: 18px;--msg-bubble-maxw-incoming: 80%;--msg-bubble-maxw-outgoing: 74%;--msg-bubble-maxw-mobile: 92%;--msg-bubble-minw-desktop: 240px;--msg-bubble-minw-mobile: 200px;--msg-bubble-padding-x: 16px;--msg-bubble-padding-y: 12px;--msg-bubble-font: 15px;--msg-bubble-line: 1.45;--scrollbar-thumb: rgba(0, 0, 0, .2);--scrollbar-track: rgba(0, 0, 0, .08);--glass-blur: 18px;--glass-blur-sm: 10px;--glass-panel: linear-gradient(160deg, rgba(20, 27, 36, .9) 0%, rgba(13, 18, 26, .94) 100%);--glass-panel-2: linear-gradient(160deg, rgba(18, 25, 34, .92) 0%, rgba(12, 17, 25, .96) 100%);--glass-border: rgba(255, 255, 255, .12);--glass-border-strong: rgba(255, 255, 255, .18);--glass-shadow: 0 18px 60px rgba(0, 0, 0, .45), 0 6px 16px rgba(0, 0, 0, .2);--glass-shadow-strong: 0 24px 70px rgba(0, 0, 0, .5), 0 8px 20px rgba(0, 0, 0, .28);--glass-inset: inset 0 1px 0 rgba(255, 255, 255, .08);--glass-bg: rgba(16, 22, 30, .72);--glass-bg-strong: rgba(16, 22, 30, .88);--glass-bg-soft: rgba(16, 22, 30, .6);--glass-glow: 0 0 24px rgba(255, 255, 255, .08);--transition-fast: .18s;--transition-normal: .28s;--transition-slow: .42s;--shadow-soft: 0 0 6px rgba(0, 0, 0, .18);--shadow-soft-2: 0 0 8px rgba(0, 0, 0, .18);--shadow-soft-3: 0 0 6px rgba(0, 0, 0, .18);--video-bg: #000;--fullscreen-bg: rgba(0, 0, 0, .4);--fullscreen-text: #ffffff;--swatch-shadow: inset 0 0 20px rgba(0, 0, 0, .15);--radius: 22px;--nav-safe: 64px;--chat-sheet-gap: 0px;--chat-sheet-radius: var(--radius);--chat-sheet-max-height: 100%;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "Space Grotesk", system-ui, -apple-system, sans-serif;--app-height: 100vh;--app-height: 100svh;--app-height: 100dvh;--keyboard-offset: 0px;--kb: 0px;--btn-bg: var(--panel);--btn-border: var(--border);--btn-fg: var(--text);--btn-shadow: var(--shadow-soft-2);--btn-bg-hover: var(--accent-soft);--btn-border-hover: var(--accent);--btn-fg-hover: var(--accent);--btn-icon-bg: color-mix(in srgb, var(--surface) 85%, transparent);--btn-icon-border: color-mix(in srgb, var(--border) 82%, transparent);--btn-icon-shadow: 0 6px 14px rgba(15, 23, 42, .12);--btn-icon-hover-bg: color-mix(in srgb, var(--accent-soft) 70%, var(--surface) 30%);--btn-icon-hover-border: color-mix(in srgb, var(--accent) 70%, var(--border) 30%);--btn-icon-hover-shadow: 0 10px 22px rgba(15, 23, 42, .16);--border-soft: color-mix(in srgb, var(--border) 70%, transparent)}body[data-theme=winter]{--bg: linear-gradient(180deg, #0f141c 0%, #151b24 100%);--surface: rgba(16, 22, 30, .82);--surface-2: rgba(20, 27, 36, .88);--panel: rgba(16, 22, 30, .9);--text: #eef3ff;--muted: #9aa6b8;--border: rgba(255, 255, 255, .12);--shadow: 0 18px 60px rgba(0, 0, 0, .4);--glass-blur: 16px;--glass-blur-sm: 10px;--glass-panel: linear-gradient(160deg, rgba(20, 27, 36, .9) 0%, rgba(13, 18, 26, .94) 100%);--glass-panel-2: linear-gradient(160deg, rgba(18, 25, 34, .92) 0%, rgba(12, 17, 25, .96) 100%);--glass-border: rgba(255, 255, 255, .12);--glass-border-strong: rgba(255, 255, 255, .18);--glass-shadow: 0 18px 60px rgba(0, 0, 0, .45), 0 6px 16px rgba(0, 0, 0, .2);--glass-shadow-strong: 0 24px 70px rgba(0, 0, 0, .5), 0 8px 20px rgba(0, 0, 0, .28);--accent-glow: 0 0 14px rgba(125, 183, 255, .35);--btn-bg: rgba(18, 25, 34, .92);--btn-border: rgba(255, 255, 255, .18);--btn-fg: var(--text);--btn-shadow: 0 0 12px rgba(125, 183, 255, .28);--btn-bg-hover: rgba(125, 183, 255, .16);--btn-border-hover: var(--accent);--btn-fg-hover: var(--accent)}body[data-theme=botlogic]{--bg: linear-gradient(180deg, #0e1119 0%, #15172a 100%);--surface: rgba(17, 20, 32, .86);--surface-2: rgba(20, 24, 38, .9);--panel: rgba(16, 20, 32, .92);--text: #f1f3f7;--muted: #9aa3b3;--border: rgba(255, 255, 255, .12);--shadow: 0 20px 60px rgba(0, 0, 0, .45);--glass-blur: 16px;--glass-blur-sm: 10px;--glass-panel: linear-gradient(160deg, rgba(22, 26, 40, .9) 0%, rgba(12, 15, 28, .94) 100%);--glass-panel-2: linear-gradient(160deg, rgba(18, 22, 36, .92) 0%, rgba(10, 12, 24, .96) 100%);--glass-border: rgba(255, 255, 255, .14);--glass-border-strong: rgba(255, 255, 255, .2);--glass-shadow: 0 20px 60px rgba(0, 0, 0, .5), 0 6px 18px rgba(0, 0, 0, .24);--glass-shadow-strong: 0 26px 76px rgba(0, 0, 0, .55), 0 10px 24px rgba(0, 0, 0, .3);--accent-glow: 0 0 12px rgba(194, 138, 22, .35);--btn-bg: rgba(18, 22, 36, .94);--btn-border: rgba(255, 255, 255, .2);--btn-fg: var(--text);--btn-shadow: 0 0 12px rgba(194, 138, 22, .22);--btn-bg-hover: rgba(194, 138, 22, .18);--btn-border-hover: color-mix(in srgb, var(--accent) 70%, var(--border) 30%);--btn-fg-hover: var(--accent)}@media (prefers-reduced-transparency: reduce){:root{--glass-blur: 8px;--glass-blur-sm: 6px;--glass-bg: rgba(16, 22, 30, .92);--glass-bg-strong: rgba(16, 22, 30, .96);--glass-bg-soft: rgba(16, 22, 30, .85)}}.reduce-glass{--glass-blur: 8px;--glass-blur-sm: 6px;--glass-bg: rgba(16, 22, 30, .92);--glass-bg-strong: rgba(16, 22, 30, .96);--glass-bg-soft: rgba(16, 22, 30, .85)}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--text);background:var(--bg);background-attachment:fixed;font-size:clamp(14px,.9vw + 11px,16px);line-height:1.5}body,html,#root{height:var(--app-height);min-height:var(--app-height);overflow:hidden}.appRoot{position:relative;isolation:isolate}.appRoot:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:var(--pattern);background-repeat:repeat;background-size:var(--patternSize);opacity:var(--patternOpacity);pointer-events:none;z-index:0}.appRoot:after{content:"";position:fixed;top:8px;right:8px;bottom:8px;left:8px;border-radius:18px;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 18px #00000026;pointer-events:none;z-index:3}.appRoot>*{position:relative;z-index:2}.screen.app,.screen.auth{height:var(--app-height)}.screen.app{display:flex;flex-direction:column;min-height:0}.screen.auth{overflow:auto}.screen,.topbar,.chat,.side-panel,.auth-card,.modal-card,.lightbox-shell,.message .bubble,.btn,input,textarea,.status-dot{transition:background var(--transition-normal) ease,color var(--transition-normal) ease,border-color var(--transition-normal) ease,box-shadow var(--transition-normal) ease}.screen{min-height:var(--app-height);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;z-index:1}.screen.app{align-items:stretch;justify-content:stretch}.app-shell{width:min(1400px,100%);margin:0 auto;padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:0;position:relative;z-index:2;height:var(--app-height);min-height:0;flex:1}.chat-layout{display:flex;flex-direction:column;min-height:0;height:100%}.chat-toggle{display:none}.search-panel{position:absolute;top:calc(100% + 12px);right:0;left:0;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:12px;display:grid;gap:10px;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));z-index:6}.search-row{display:grid;grid-template-columns:1fr auto auto auto auto auto;gap:10px;align-items:center}.pinned-banner{align-self:center;margin:8px auto 0;max-width:min(92%,720px);width:-moz-fit-content;width:fit-content;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft);font-size:12px;font-family:var(--mono);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.pinned-banner:active{transform:scale(.98);border-color:var(--accent);box-shadow:var(--shadow-soft-2)}.pinned-banner__icon{font-size:14px}.pinned-banner__text{max-width:min(70vw,560px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-stack{display:flex;flex-direction:column;align-items:center;gap:6px}.search-row+.search-row{grid-template-columns:1fr auto auto}.search-input{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-family:var(--sans);font-size:14px}.search-count{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);min-width:44px;text-align:center}.search-highlight{background:#ffd25a47;color:inherit;padding:0 2px;border-radius:4px}.search-hint{font-size:12px;color:var(--muted);padding:2px 2px 0}.brand{display:flex;flex-direction:column;gap:6px}.brand-glow{font-size:20px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);text-shadow:0 0 12px rgba(0,0,0,.18)}.brand-sub{font-family:var(--sans);font-size:clamp(15px,.4vw + 13px,18px);font-weight:600;color:var(--text)}.status{display:flex;align-items:center;gap:8px;font-size:clamp(12px,.3vw + 11px,13px);text-transform:none;letter-spacing:.08em;font-family:var(--mono);color:var(--muted)}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--muted);box-shadow:var(--shadow-soft);flex-shrink:0}.status-dot.online{background:var(--accent);box-shadow:var(--shadow-soft-2)}.status-dot.offline{background:var(--muted);box-shadow:var(--shadow-soft-3)}.pulse{width:10px;height:10px;border-radius:50%;border:1px solid var(--border);position:relative}.pulse.on{background:var(--accent);box-shadow:var(--shadow-soft)}.pulse.on:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:1px solid var(--accent);animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.3);opacity:0}}.top-actions,.chat-header-actions,.chats-actions{display:flex;align-items:center;gap:10px}.top-actions .btn-icon,.chat-header-actions .btn-icon,.chats-actions .btn-icon,.search-panel .btn-icon,.top-actions .btn-ghost,.chat-header-actions .btn-ghost,.chats-actions .btn-ghost,.search-panel .btn-ghost{background:var(--panel)}.chat-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:18px;min-height:0;position:relative;flex:1}.chat-overlay{display:none}.chat-drawer{transition:transform .2s ease}.conversation-list{background:transparent;border-radius:var(--radius);border:0;box-shadow:none;display:grid;grid-template-rows:auto 1fr;gap:12px;padding:0;min-height:0;-webkit-backdrop-filter:none;backdrop-filter:none}.chats-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);background:transparent;position:sticky;top:0;z-index:2}.chats-title{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.chat-search{display:flex;align-items:center}.chat-search-input{width:180px;max-width:40vw;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:8px 10px;font-family:var(--sans);font-size:12px}.chat-search-input::-moz-placeholder{color:var(--muted)}.chat-search-input::placeholder{color:var(--muted)}.conversation-muted{font-size:11px;letter-spacing:.08em}.conversation-items{display:flex;flex-direction:column;gap:10px;overflow:auto;padding:0 12px 12px}.conversation-item{text-align:left;display:grid;grid-template-columns:auto 1fr;align-items:center;-moz-column-gap:12px;column-gap:12px;text-transform:none;font-family:var(--sans);letter-spacing:.02em;border-radius:14px;padding:10px 12px;min-height:56px;box-shadow:none;min-width:0;-webkit-tap-highlight-color:transparent;transition:transform .16s ease,background .16s ease,box-shadow .16s ease,border-color .16s ease}.conversation-avatar{width:44px;height:44px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;color:var(--text);box-shadow:var(--shadow-soft);flex-shrink:0}.conversation-avatar-img{width:100%;height:100%;border-radius:50%;background-size:cover;background-position:center;display:block}.conversation-avatar-fallback{font-family:var(--mono);font-size:12px;letter-spacing:.08em;font-weight:600}.conversation-body{display:grid;gap:4px;min-width:0}.conversation-item.active{background:var(--accent-soft);border-color:var(--accent)}.conversation-title{font-size:clamp(14px,.4vw + 12px,16px);font-weight:600;color:var(--text);white-space:normal;overflow-wrap:anywhere;line-height:1.3}.conversation-meta{font-size:clamp(12px,.2vw + 11px,13px);color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.conversation-meta-right{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.conversation-unread{background:var(--accent);color:var(--accent-contrast);font-size:10px;line-height:1.2;padding:2px 6px;border-radius:999px;min-width:18px;text-align:center}.conversation-meta span{white-space:nowrap}.conversation-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 auto}.conversation-time{flex:0 0 auto;text-align:right;min-width:56px}.conversation-time{font-family:var(--mono);font-size:11px}.conversation-empty{font-size:13px;color:var(--muted);text-align:center;padding:12px 8px}.chat{background:var(--glass-panel-2);border-radius:var(--radius);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-inset);display:flex;flex-direction:column;overflow:hidden;position:relative;min-height:0;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.1);backdrop-filter:blur(var(--glass-blur)) saturate(1.1)}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:3}.chat-header-title{display:flex;flex-direction:column;gap:6px;min-width:0}.chat-header-title .brand-sub{font-size:clamp(16px,.8vw + 14px,18px);font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.user-menu{position:relative}.user-menu-avatar{width:26px;height:26px;border-radius:50%;background-size:cover;background-position:center;display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--text);background-color:var(--surface-2)}.user-menu-panel{position:absolute;top:calc(100% + 8px);right:0;display:grid;gap:8px;padding:10px;min-width:160px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);z-index:10}.user-menu-item{justify-content:flex-start;width:100%}.chat-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:8px;text-align:center;color:var(--muted);pointer-events:none;z-index:1}.chat-empty-title{font-size:16px;font-weight:600;color:var(--text)}.chat-empty-sub{font-size:13px}.capsule-panel{padding:14px 18px;border-bottom:1px solid var(--border);background:var(--surface);display:grid;gap:10px}.capsuleBtn{position:relative}.capsuleOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:8}.capsuleDrawer{position:fixed;top:0;right:0;height:100%;width:420px;max-width:92vw;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow);transform:translate(100%);transition:transform .22s ease;z-index:9;display:flex;flex-direction:column;pointer-events:none}.capsuleDrawerOpen{transform:translate(0);pointer-events:auto}.capsuleDrawerHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border);background:var(--surface-2)}.capsuleDrawerTitle{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.capsuleDrawerActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.capsuleDrawerBody{flex:1;overflow:auto;padding:16px 18px 24px}.capsuleSection+.capsuleSection{margin-top:16px}.capsuleAnswerInput{padding-bottom:8px}.capsuleClose{white-space:nowrap}.capsule-header{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.capsule-question{font-size:14px;color:var(--text)}.capsule-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.capsule-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.capsule-text{font-size:13px;color:var(--text);margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}.capsule-input{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.capsule-input textarea{width:100%;min-height:64px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-family:var(--sans)}.messages{padding:26px calc(26px + var(--nav-safe)) calc(100px + env(safe-area-inset-bottom) + var(--keyboard-offset)) 26px;overflow:hidden auto;display:flex;flex-direction:column;gap:18px;position:relative;min-height:0;flex:1;background:color-mix(in srgb,var(--glass-bg) 80%,transparent);border:1px solid var(--glass-border);border-radius:16px;overscroll-behavior:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.messages::-webkit-scrollbar{width:8px}.messages::-webkit-scrollbar-track{background:var(--scrollbar-track)}.messages::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}.messages>*{position:relative;z-index:1}.load-more{align-self:center;font-family:var(--mono)}.date-divider{display:flex;justify-content:center;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.date-divider span{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 12px}.new-divider{display:flex;justify-content:center;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.new-divider span{background:var(--surface);border:1px solid var(--accent);border-radius:999px;padding:6px 12px;box-shadow:var(--shadow-soft)}.message{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.message.system{align-items:center}.system-message{border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:8px 12px;border-radius:999px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;box-shadow:var(--shadow-soft);cursor:default;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.system-message.is-link{cursor:pointer}.system-message.is-link:active{transform:scale(.98);border-color:var(--accent);box-shadow:var(--shadow-soft-2)}.message.mine{align-items:flex-end}.message.msgRow{flex-direction:row;align-items:flex-end;gap:12px}.message.msgRow.me{justify-content:flex-end}.message.msgRow.other{justify-content:flex-start}.msgContent{display:flex;flex-direction:column;gap:6px;max-width:100%;position:relative}.msgContent.me{align-items:flex-end}.msgContent.other{align-items:flex-start}.msgContent.has-reactions{padding-bottom:20px}.message .bubble{padding:var(--msg-bubble-padding-y) var(--msg-bubble-padding-x);background:var(--bubble-other);border-radius:var(--bubble-radius);border:1px solid var(--border-soft);-webkit-backdrop-filter:blur(var(--glass-blur-sm));backdrop-filter:blur(var(--glass-blur-sm));max-width:min(var(--msg-bubble-maxw-incoming),720px);min-width:min(var(--msg-bubble-minw-desktop),100%);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.message.mine .bubble{background:var(--bubble-me);border-color:var(--border-soft);border-radius:var(--bubble-radius);max-width:min(var(--msg-bubble-maxw-outgoing),680px)}.msgBubble{position:relative;color:var(--text)}.msgBubble.me{background:var(--bubble-me);border-color:var(--border-soft);border-radius:var(--bubble-radius);box-shadow:var(--shadow-soft);color:var(--text)}.msgBubble.other{background:var(--bubble-other);border-color:var(--border-soft);border-radius:var(--bubble-radius);box-shadow:var(--shadow);color:var(--text)}.message-reactions{position:absolute;bottom:0;display:flex;gap:6px;flex-wrap:wrap;width:-moz-fit-content;width:fit-content;max-width:min(var(--msg-bubble-maxw-incoming),720px);align-self:flex-start;transform:translateY(60%);cursor:pointer}.message-reactions.me{justify-content:flex-end;max-width:min(var(--msg-bubble-maxw-outgoing),680px);align-self:flex-end;right:0}.message-reactions.other{justify-content:flex-start;left:0}.reaction-bar{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px;border-radius:999px;background:color-mix(in srgb,var(--glass-bg) 75%,transparent);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-glow);-webkit-backdrop-filter:blur(var(--glass-blur-sm)) saturate(1.08);backdrop-filter:blur(var(--glass-blur-sm)) saturate(1.08);z-index:25;max-width:calc(100vw - 16px);overflow-x:auto;overscroll-behavior:contain}.reaction-bar__item{min-width:28px;height:28px;border-radius:999px;border:1px solid transparent;background:transparent;display:grid;place-items:center;font-size:18px;color:var(--text);transition:transform .16s ease,background .16s ease,border-color .16s ease;-webkit-tap-highlight-color:transparent}.reaction-bar__item:active{transform:scale(.95);background:var(--accent-soft);border-color:var(--border)}.reaction-bar__item--more{font-family:var(--mono);font-weight:600}.reaction-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 8px;border:1px solid var(--border-soft);background:var(--surface-2);color:var(--text);font-size:12px;line-height:1;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;-webkit-tap-highlight-color:transparent}.reaction-pill.active{border-color:var(--accent);box-shadow:var(--shadow-soft)}.reaction-emoji{font-size:14px}.reaction-count{font-size:12px;opacity:.78}.replySwipeHint{position:absolute;left:8px;top:50%;height:28px;padding:0 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border-soft);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:0;pointer-events:none;transform:translateY(-50%);transition:opacity .12s ease,transform .12s ease}.replySwipeHint.right{left:auto;right:8px}.reply-quote{border-radius:12px;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border-soft);border-left:3px solid var(--accent-2);color:var(--text);display:grid;gap:2px}.reply-quote-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.reply-quote-snippet{font-size:13px;color:var(--text);opacity:.86;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message.is-highlight .bubble{animation:msgHighlight 1.2s ease;box-shadow:0 0 0 2px var(--focus),var(--shadow-soft)}.message.msg-flash .bubble{animation-duration:1.6s}.message.is-new .bubble{box-shadow:0 0 0 2px #0000,var(--shadow-soft);animation:msgNewGlow 2.4s ease}@keyframes msgNewGlow{0%{box-shadow:0 0 #0000}40%{box-shadow:0 0 0 2px var(--accent),var(--shadow-soft)}to{box-shadow:0 0 #0000}}@keyframes msgHighlight{0%{box-shadow:0 0 #0000}30%{box-shadow:0 0 0 2px var(--focus),var(--shadow-soft)}to{box-shadow:0 0 #0000}}.accentBar{position:absolute;top:10px;bottom:10px;width:4px;border-radius:999px;pointer-events:none}.accentBar.me{right:0;background:var(--accent);box-shadow:var(--shadow-soft)}.accentBar.other{left:0;background:var(--accent-2);box-shadow:var(--shadow-soft)}.authorName{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-family:var(--mono);color:var(--muted)}.message.msg--enter{animation:msgPopIn var(--transition-fast) ease-out}.message.msg--sending .bubble{animation:msgSendPulse .6s ease-in-out infinite alternate;opacity:.75}.message.msg--failed .bubble{border-color:var(--danger)}@keyframes msgPopIn{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes msgSendPulse{0%{transform:scale(.98);box-shadow:none}to{transform:scale(1);box-shadow:var(--shadow-soft)}}.text{font-size:var(--msg-bubble-font);line-height:var(--msg-bubble-line);color:inherit;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.caption{margin-top:8px;font-size:clamp(12px,.4vw + 11px,13px);color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.meta{margin-top:8px;display:flex;gap:12px;font-size:clamp(11px,.25vw + 10px,12px);font-family:var(--mono);color:var(--muted)}.msgMeta{align-items:center}.msgContent.me .msgMeta{justify-content:flex-end}.badgeMe{font-size:10px;letter-spacing:.24em;padding:2px 8px;border-radius:999px;border:1px solid var(--accent);color:var(--accent);background:var(--surface);text-transform:uppercase}.badgeStar{font-size:12px;line-height:1;padding:2px 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--accent-2);box-shadow:var(--shadow-soft)}.pending,.failed{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.pending{color:var(--muted)}.failed{color:var(--danger)}.msgContent .btn.btn-tiny{align-self:flex-start}.msgContent.me .btn.btn-tiny{align-self:flex-end}.msgRow .avatar{width:32px;height:32px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--text);background-size:cover;background-position:center;box-shadow:var(--shadow);flex-shrink:0}.msgRow .avatar.me{border-color:var(--accent);box-shadow:var(--shadow-soft)}.msgRow .avatar.other{border-color:var(--accent-2);box-shadow:var(--shadow-soft)}.msgRow .avatarFallback{font-weight:600}.msgRow .avatar.has-image .avatarFallback{display:none}.meta .edited{color:var(--accent)}.media{display:block;padding:0;position:relative;border-radius:12px;overflow:hidden;box-shadow:none}.media.btn{background:transparent;border-color:var(--border)}.media.btn:hover{border-color:var(--accent)}.media img,.media video{width:min(420px,70vw);border-radius:12px;display:block}.media video{background:var(--video-bg)}.video-note{width:clamp(140px,22vw,180px);height:clamp(140px,22vw,180px);border-radius:50%;overflow:hidden;background:var(--video-bg)}.video-note video{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover;display:block;cursor:pointer;outline:none}.video-note-controls{display:grid;gap:6px;margin-top:8px}.video-note-progress{height:4px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden;cursor:pointer}.video-note-progress span{display:block;height:100%;background:var(--accent);width:0%}.video-note-time{font-size:11px;color:var(--muted);font-family:var(--mono)}.video-note-media::-webkit-media-controls,.video-note-media::-webkit-media-controls-enclosure,.video-note-preview-media::-webkit-media-controls,.video-note-preview-media::-webkit-media-controls-enclosure{display:none!important}.file-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);min-width:200px;max-width:min(420px,70vw)}.file-meta{display:grid;gap:4px}.file-name{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.file-size{font-size:11px;color:var(--muted)}.fullscreen{position:absolute;bottom:12px;right:12px;border-radius:12px;padding:6px 10px}.audio{width:min(420px,70vw)}.audio-card{width:min(380px,90vw);max-width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px 12px}.audio-card.me{background:var(--bubble-me);border-color:var(--border)}.audio-card.other{background:var(--bubble-other);border-color:var(--border)}.audio-play{width:38px;height:38px;border-radius:999px;padding:0;font-family:var(--mono);font-size:14px}.audio-body{display:grid;gap:6px}.audio-title{font-size:12px;font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.audio-progress{width:100%;accent-color:var(--accent)}.audio-progress,.audio-volume input[type=range]{height:6px;background:transparent}.audio-progress::-webkit-slider-runnable-track,.audio-volume input[type=range]::-webkit-slider-runnable-track{height:6px;background:var(--surface);border-radius:999px}.audio-progress::-webkit-slider-thumb,.audio-volume input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-4px;border-radius:50%;background:var(--accent);border:1px solid var(--border)}.audio-progress::-moz-range-track,.audio-volume input[type=range]::-moz-range-track{height:6px;background:var(--surface);border-radius:999px}.audio-progress::-moz-range-thumb,.audio-volume input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:1px solid var(--border)}.audio-meta{display:flex;justify-content:space-between;font-size:11px;font-family:var(--mono);color:var(--muted)}.audio-mime{text-transform:uppercase;letter-spacing:.08em}.audio-volume{display:grid;justify-items:center;gap:4px;font-size:12px;color:var(--muted)}.audio-volume input[type=range]{width:70px}.audio-status{font-size:12px;color:var(--muted);grid-column:1 / -1}.sticker-view{width:96px;height:96px}.typing{padding:0 26px 8px;font-family:var(--mono);font-size:12px;color:var(--accent);opacity:.9}.new-indicator{align-self:center;margin:4px 0 8px;padding:8px 14px;font-size:11px;letter-spacing:.1em}.chat-nav{position:absolute;right:calc(18px + env(safe-area-inset-right));bottom:calc(90px + env(safe-area-inset-bottom) + var(--keyboard-offset));display:grid;gap:8px;z-index:4;pointer-events:none}.chat-nav .btn{pointer-events:auto}.composer{padding:16px 20px calc(22px + env(safe-area-inset-bottom) + var(--keyboard-offset));border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px;position:sticky;bottom:0;background:transparent;z-index:3;-webkit-backdrop-filter:none;backdrop-filter:none;flex-shrink:0}.composerPill{display:flex;align-items:center;gap:8px;width:100%;max-width:none;padding:6px 8px;border-radius:18px;background:color-mix(in srgb,var(--glass-bg) 85%,transparent);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-inset);-webkit-backdrop-filter:blur(var(--glass-blur-sm));backdrop-filter:blur(var(--glass-blur-sm))}.composer.glass,.composer.glass-soft{background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.audio-preview,.video-note-preview{display:grid;gap:10px;padding:12px;border-radius:16px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}.video-note-preview-media{width:clamp(140px,22vw,180px);height:clamp(140px,22vw,180px);border-radius:50%;background:var(--video-bg);-o-object-fit:cover;object-fit:cover;outline:none}.video-note-preview-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.video-note-preview-error{font-size:12px;color:var(--danger)}.audio-preview-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.audio-preview-error{font-size:12px;color:var(--danger)}.composerActions{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.composerActions-left,.composerActions-right{display:flex;align-items:center;gap:8px}.composer-mode-hint{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%) translateY(6px);opacity:0;pointer-events:none;background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-soft);border-radius:999px;padding:6px 10px;font-size:12px;font-family:var(--mono);transition:opacity .18s ease,transform .18s ease;z-index:4}.composer-mode-hint.show{opacity:1;transform:translate(-50%) translateY(0)}.recording-overlay{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:8px 12px;box-shadow:var(--shadow);display:grid;gap:6px;z-index:5}.recording-overlay__title{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.recording-overlay__progress{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.recording-overlay__progress span{display:block;height:100%;width:40%;background:linear-gradient(120deg,var(--accent),var(--accent-2));animation:recordingBar 1.1s ease-in-out infinite}@keyframes recordingBar{0%{transform:translate(-120%)}50%{transform:translate(40%)}to{transform:translate(120%)}}.capture-badge{font-size:11px;letter-spacing:.04em;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted)}.composer-primary{position:relative;width:48px;height:48px;padding:0}.composer-primary-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;opacity:0;transform:scale(.85);transition:opacity .16s ease,transform .16s ease}.composer-primary.has-text .icon-send,.composer-primary.no-text.mode-audio .icon-mic,.composer-primary.no-text.mode-video .icon-cam{opacity:1;transform:scale(1)}.video-note-timer{font-family:var(--mono);font-size:11px;color:var(--accent);padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;gap:6px}.video-note-rec-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);box-shadow:0 0 8px #e05c5c99}.tour-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;pointer-events:none}.tour-spotlight{position:fixed;border-radius:16px;border:2px solid var(--accent);box-shadow:0 0 0 9999px #00000073;pointer-events:none;transition:transform .2s ease,width .2s ease,height .2s ease}.tour-tooltip{position:fixed;min-width:240px;max-width:min(320px,92vw);background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:14px 16px;pointer-events:auto;display:grid;gap:10px}.tour-title{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.tour-text{font-size:14px;color:var(--text);line-height:1.4}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.tour-actions-right{display:inline-flex;align-items:center;gap:8px}.tour-step{font-size:11px;color:var(--muted)}.tour-layer.reduced .tour-spotlight,.tour-layer.reduced .tour-tooltip{transition:none}.snowfallCanvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.45}.snowfallCanvas--local{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.28;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.15),rgba(0,0,0,.9) 30%,rgba(0,0,0,.9) 70%,rgba(0,0,0,.1));mask-image:linear-gradient(to bottom,#00000026,#000000e6 30%,#000000e6 70%,#0000001a)}.attachmentMenu,.composerMore{position:relative}.attach-popover{position:absolute;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:8px;display:grid;gap:6px;z-index:6;min-width:150px}.attach-popover.up{transform:translateY(-100%);transform-origin:bottom left}.attach-popover.down{transform:none;transform-origin:top left}.attachmentMenuItem{display:inline-flex;align-items:center;border-radius:10px;padding:8px 10px;text-align:left;width:100%;justify-content:flex-start;font-size:11px;letter-spacing:.08em}.composer-more-popover{position:absolute;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:8px;display:grid;gap:6px;z-index:6;min-width:180px}.composer-more-popover.up{transform:translateY(-100%);transform-origin:bottom left}.composer-more-popover.down{transform:none;transform-origin:top left}.composer-input{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto}.composer-field{position:relative;display:flex;align-items:center;min-width:0;flex:1 1 auto}.composer-emoji-btn{position:static;min-height:36px;width:36px;height:36px}.reply-preview{grid-column:1 / -1;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;border:1px solid var(--border-soft);border-left:3px solid var(--accent);background:var(--surface-2);color:var(--text);font-size:12px;flex:0 0 auto}.reply-preview-label{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.reply-preview-sender{font-weight:600}.reply-preview-snippet{color:var(--text);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto}.reply-preview-close{min-height:32px;width:32px;height:32px}textarea{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:16px;padding:12px 14px;font-family:var(--sans);font-size:15px;resize:none}.composer-textarea{line-height:1.4;max-height:140px;overflow-y:auto;scrollbar-width:none;padding:6px 10px;flex:1 1 auto;min-width:0;background:transparent;border:0}.composer-textarea::-webkit-scrollbar{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--btn-border);border-radius:999px;padding:10px 16px;font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;box-shadow:var(--btn-shadow)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-soft)}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn-primary{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:var(--accent-contrast);border-color:color-mix(in srgb,var(--accent) 65%,var(--accent-2));box-shadow:var(--accent-glow),0 12px 26px #0f172a2e}.btn-secondary{background:var(--accent-soft);color:var(--text);border-color:var(--accent);box-shadow:var(--shadow-soft-2)}.btn-ghost{background:var(--btn-bg);border-color:var(--btn-border)}.btn-ghost:hover{background:var(--btn-bg-hover);border-color:var(--btn-border-hover)}.btn-ghost.active{border-color:var(--btn-border-hover);color:var(--btn-fg-hover)}.btn-icon{width:42px;height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--btn-icon-bg);border-color:var(--btn-icon-border);box-shadow:var(--btn-icon-shadow);min-width:40px;min-height:40px;-webkit-tap-highlight-color:transparent}.btn-icon .icon{width:22px;height:22px;color:inherit}.btn-icon:hover{background:var(--btn-icon-hover-bg);border-color:var(--btn-icon-hover-border);box-shadow:var(--btn-icon-hover-shadow);color:var(--btn-fg-hover)}.btn-icon.active{box-shadow:var(--btn-icon-hover-shadow);border-color:var(--btn-icon-hover-border)}.btn-icon:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.panic-button{color:var(--danger);border-color:var(--danger-border);background:var(--surface-2)}.btn-tiny{padding:6px 12px;font-size:10px;min-height:0;opacity:.85}.btn-nav{width:44px;height:44px;padding:0;font-size:18px;letter-spacing:.04em;background:var(--surface);border-color:var(--border);color:var(--text);box-shadow:var(--shadow-soft)}.btn-nav:hover{border-color:var(--accent);color:var(--accent)}.btn:disabled,.btn-icon:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-danger,.btn-icon.btn-danger{background:var(--danger-soft);border-color:var(--danger-border)}@media (prefers-reduced-motion: reduce){.btn{transition:none}.btn:hover,.btn:active{transform:none}}@media (hover: none) and (pointer: coarse){.btn:not(.btn-primary),.btn-icon,.btn-ghost{background:var(--btn-icon-bg);border-color:var(--btn-icon-border);box-shadow:var(--btn-icon-shadow)}.btn-icon{width:44px;height:44px;min-width:44px;min-height:44px}}.upload-row{display:grid;gap:6px}.upload-title{font-family:var(--mono);font-size:12px;color:var(--accent)}.upload-status{font-size:11px;color:var(--muted)}.upload-progress{width:180px;height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden}.upload-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.upload-name{font-size:11px;color:var(--muted)}.upload-error{margin-top:6px;color:var(--danger);font-family:var(--mono);font-size:12px}.emoji-popover{position:absolute;left:20px;bottom:92px;z-index:5;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));padding:10px}.emoji-popover.open{opacity:1;transform:translateY(0);pointer-events:auto}.emoji-popover .emoji-mart{background:transparent}.side-panel{position:absolute;top:100px;right:24px;width:min(380px,90vw);background:var(--glass-panel);border:1px solid var(--glass-border);border-radius:var(--radius);padding:18px;box-shadow:var(--glass-shadow),var(--glass-inset);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.1);backdrop-filter:blur(var(--glass-blur)) saturate(1.1);max-height:min(85dvh,calc(var(--app-height) - 120px));height:auto;display:flex;flex-direction:column;z-index:6}.panel-header{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;position:sticky;top:0;z-index:2;padding-bottom:10px;margin-bottom:6px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.side-panel-body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding-right:8px;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.side-panel-body::-webkit-scrollbar{width:8px}.side-panel-body::-webkit-scrollbar-track{background:var(--scrollbar-track)}.side-panel-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;opacity:.7}.panel-section{margin-top:18px;display:grid;gap:12px}.panel-actions{display:flex;flex-wrap:wrap;gap:10px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;overflow:hidden}.theme-card{border-radius:16px;border:1px solid var(--border);background:var(--surface-2);padding:12px;display:grid;gap:10px;text-align:left;color:inherit;font-family:var(--sans);font-size:14px;text-transform:none;letter-spacing:0;box-shadow:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden}.theme-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.theme-card.active{border-color:var(--accent);box-shadow:var(--shadow-soft)}.theme-swatch{height:48px;border-radius:12px;border:1px solid var(--border);box-shadow:var(--swatch-shadow);position:relative;background:var(--swatch-bg, var(--bg));overflow:hidden}.theme-swatch:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--swatch-pattern);background-repeat:repeat;background-size:160px 160px;opacity:var(--swatch-pattern-opacity, 0);pointer-events:none}.theme-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.theme-name{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-family:var(--mono);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.theme-badge{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--surface);border:1px solid var(--border);padding:2px 8px;border-radius:999px}.theme-accents{display:inline-flex;gap:6px}.theme-accents span{width:12px;height:12px;border-radius:50%;display:inline-block;border:1px solid var(--border)}.accent-picker{display:flex;flex-wrap:wrap;gap:10px}.accent-option{position:relative;overflow:hidden;background:var(--surface-2);border-color:var(--border);color:var(--text)}.accent-option:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,var(--accent-swatch),var(--accent-swatch-2));opacity:.18;pointer-events:none}.accent-option-label{position:relative;z-index:1}.accent-option:hover{border-color:var(--btn-border-hover)}.accent-option.active{border-color:var(--btn-border-hover);box-shadow:var(--shadow-soft)}.toggle-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.toggle-row input{accent-color:var(--accent)}.section-title{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.profile-row{display:flex;align-items:center;gap:14px}.avatar{width:64px;height:64px;border-radius:20px;background:var(--surface);background-size:cover;background-position:center}.admin-form input{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:10px 12px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.action-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:flex-end;justify-content:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.action-sheet__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;border:0;padding:0}.action-sheet__panel{position:relative;width:min(520px,100%);border-radius:20px;padding:12px;display:grid;grid-template-columns:1fr;gap:8px}.action-sheet__panel.is-reactions{grid-template-columns:repeat(5,minmax(0,1fr))}.action-sheet__title{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:6px 8px 2px;grid-column:1 / -1}.action-sheet__item{width:100%;text-align:left;border-radius:12px;padding:12px 14px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-family:var(--sans);font-size:14px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;-webkit-tap-highlight-color:transparent}.action-sheet__item:active{background:var(--accent-soft);border-color:var(--btn-border-hover);transform:scale(.98);box-shadow:var(--shadow-soft)}.action-sheet__item:disabled{opacity:.5}.action-sheet__item--info{cursor:default}.action-sheet__item--wide{grid-column:1 / -1}.action-sheet__emoji{text-align:center;font-size:20px;padding:12px 0;justify-content:center}@media (hover: hover){.action-sheet__item:hover{background:var(--surface);border-color:var(--btn-border-hover);box-shadow:var(--shadow-soft)}.reaction-pill:hover{border-color:var(--btn-border-hover);box-shadow:var(--shadow-soft)}}.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%) translateY(12px);background:var(--glass-panel-2);border:1px solid var(--glass-border);color:var(--text);padding:10px 14px;border-radius:999px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:40}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.modal-card{background:var(--glass-panel-2);border:1px solid var(--glass-border-strong);border-radius:20px;padding:20px;min-width:min(420px,90vw);box-shadow:var(--glass-shadow-strong),var(--glass-inset);color:var(--text);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.12);backdrop-filter:blur(var(--glass-blur)) saturate(1.12)}.modal-card.media{padding:10px}.modal-card h3{margin-top:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:20;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.lightbox-shell{width:min(1200px,96vw);height:min(900px,90vh);background:var(--glass-panel-2);border-radius:22px;border:1px solid var(--glass-border-strong);box-shadow:var(--glass-shadow-strong),var(--glass-inset);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.12);backdrop-filter:blur(var(--glass-blur)) saturate(1.12);display:flex;flex-direction:column;padding:14px}.lightbox-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.lightbox-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lightbox-body{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px}.lightbox-image,.lightbox-video{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;transform-origin:center}.lightbox-image{transition:transform .12s ease}.auth{background:transparent;position:relative}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:28px;padding:40px;width:min(420px,90vw);box-shadow:var(--shadow);position:relative;z-index:1;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.auth-form{display:grid;gap:16px;margin-top:24px}.auth-form input{width:100%;margin-top:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.error{color:var(--danger);font-family:var(--mono)}.glass,.action-sheet__panel{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-glow),var(--glass-inset);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.08);backdrop-filter:blur(var(--glass-blur)) saturate(1.08)}.glass-strong{background:var(--glass-bg-strong);border-color:var(--glass-border-strong);box-shadow:var(--glass-shadow-strong),var(--glass-glow),var(--glass-inset);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.glass-soft{background:var(--glass-bg-soft);border-color:var(--glass-border);box-shadow:var(--shadow-soft),var(--glass-inset);-webkit-backdrop-filter:blur(var(--glass-blur-sm));backdrop-filter:blur(var(--glass-blur-sm))}@media (prefers-reduced-motion: reduce){.chat-drawer,.chat-overlay{transition:none}.messages{scroll-behavior:auto}.message.msg--enter,.message.msg--sending .bubble{animation:none}}@media (max-width: 900px){:root{--nav-safe: 52px}.app-shell{padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))}.chat-toggle{display:inline-flex;align-self:flex-start}.chat-header-actions{flex-wrap:wrap}.chats-header{flex-wrap:wrap;gap:10px}.chats-actions{width:100%;justify-content:space-between}.chat-search-input{width:100%;max-width:none}.chat-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.chat-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:7}.chat-drawer{position:fixed;top:0;left:0;height:100dvh;width:min(86vw,360px);transform:translate(-100%);z-index:8}.chat-drawer.open{transform:translate(0)}.conversation-list{border-radius:0;height:100%}.conversation-items{padding:0 12px 16px;gap:12px}.conversation-item{width:100%}.messages{padding:20px calc(18px + var(--nav-safe)) calc(96px + env(safe-area-inset-bottom)) 18px}}@media (max-width: 640px){:root{--msg-bubble-font: 16px;--msg-bubble-line: 1.55;--msg-bubble-padding-x: 15px;--msg-bubble-padding-y: 11px}}@media (max-width: 520px){.msgContent,.msgBubble{touch-action:pan-y}}@media (max-width: 560px),(pointer: coarse){.search-panel{position:fixed;top:calc(env(safe-area-inset-top) + 8px);left:10px;right:10px;max-height:calc(var(--app-height) - 120px - var(--kb));overflow-y:auto;padding-bottom:calc(12px + var(--kb))}:root{--msg-bubble-font: 15px;--msg-bubble-line: 1.35;--msg-bubble-padding-x: 12px;--msg-bubble-padding-y: 9px;--msg-bubble-maxw-mobile: 86%;--msg-bubble-minw-mobile: 140px}.chat{position:fixed;top:env(safe-area-inset-top);left:0;right:0;width:100%;height:calc(var(--app-height) - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:0;border-radius:0}.chat-header{height:calc(50px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 6px 0;gap:8px;display:flex;align-items:center;box-sizing:border-box;width:100%;flex-shrink:0;position:sticky;top:0}.chat-header-actions{gap:6px;flex-wrap:nowrap;flex:0 0 auto;width:92px;justify-content:flex-end}.chat-header-actions .btn-icon{width:44px;height:44px}.chat-header .chat-toggle{width:44px;height:44px;flex:0 0 auto}.chat-header-title{gap:2px;min-width:0;flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start}.chat-header-title .brand-sub{font-size:14.5px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto}.chat-header-title .status{font-size:10.5px;gap:6px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 auto}.chat-header .btn-icon,.composer .btn-icon{position:relative;width:44px;height:44px;background:transparent;border-color:transparent;box-shadow:none}.chat-header .btn-icon:after,.composer .btn-icon:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:999px;background:var(--btn-icon-bg);border:1px solid var(--btn-icon-border);box-shadow:var(--btn-icon-shadow)}.chat-header .btn-icon .icon,.composer .btn-icon .icon{width:18px;height:18px;position:relative;z-index:1}.chat-header-actions .user-menu-profile{display:none}.chat{box-shadow:var(--shadow-soft);border-color:var(--glass-border)}.chat-header,.composer{border-color:var(--border-soft);box-shadow:none}.messages{width:100%;padding:12px calc(8px + var(--nav-safe)) calc(78px + env(safe-area-inset-bottom) + var(--keyboard-offset)) 8px;gap:10px}.message{gap:4px;width:100%}.message .bubble{min-width:0}.message .bubble.msgBubble,.message .bubble.msgBubble.me,.message .bubble.msgBubble.other{max-width:84%;padding:8px 12px;font-size:14.5px;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.message .bubble.msgBubble .text{font-size:14.5px;line-height:1.35}.message .bubble.msgBubble .msgMeta{margin-top:5px;gap:6px;font-size:10px}.message .bubble.msgBubble.me{max-width:80%}.message.msgRow{gap:10px}.authorName{margin-bottom:2px;font-size:10px}.msgContent.has-reactions{padding-bottom:18px}.message-reactions{transform:translateY(55%)}.reply-quote{padding:6px 8px;border-radius:10px;gap:2px}.reply-quote-label{font-size:10px}.reply-quote-snippet{font-size:12px}.composer{padding:6px 10px calc(8px + env(safe-area-inset-bottom) + var(--keyboard-offset));gap:6px;min-height:52px;max-height:96px;width:100%;background:transparent;box-shadow:none;border-top:0}.composer.glass,.composer.glass-soft{background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.composer.glass,.composer.glass-soft{background:var(--surface);border-color:var(--border-soft);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.composerActions{gap:8px}.composerActions-left,.composerActions-right{gap:8px;flex:0 0 auto}.btn-quick-exit,.attachmentMenu .btn,.composer-primary{width:44px;height:44px;min-height:44px}.composer-input{gap:8px;flex:1 1 auto;min-width:0}.composer-send{display:none}.composer-emoji-btn{display:inline-flex;width:44px;height:44px;min-height:44px}.composerMore{display:none}.composer-textarea{min-height:44px;max-height:80px;padding:12px 52px 12px 12px;font-size:14.5px;line-height:1.35;width:100%}.composerActions .btn-icon .icon{width:20px;height:20px}.capture-badge,.composer-mode-hint{display:none}.reply-preview{padding:6px 8px;font-size:11px}.pinned-banner{padding:4px 10px;font-size:11px;margin-top:4px}}@media (max-width: 720px) and (min-width: 561px){:root{--nav-safe: 46px;--chat-sheet-gap: 14px;--chat-sheet-radius: 20px;--chat-sheet-max-height: 92dvh}.chat-header,.chats-header{padding:calc(12px + env(safe-area-inset-top)) 16px 12px}.chat{position:fixed;top:calc(env(safe-area-inset-top) + var(--chat-sheet-gap));left:calc(env(safe-area-inset-left) + var(--chat-sheet-gap));right:calc(env(safe-area-inset-right) + var(--chat-sheet-gap));width:auto;height:min(var(--chat-sheet-max-height),calc(var(--app-height) - (var(--chat-sheet-gap) * 2) - env(safe-area-inset-top) - env(safe-area-inset-bottom)));margin:0;max-height:none;border-radius:var(--chat-sheet-radius)}.messages{padding:16px calc(12px + var(--nav-safe)) calc(96px + env(safe-area-inset-bottom)) 12px}.msgContent{max-width:100%}.message .bubble{max-width:var(--msg-bubble-maxw-mobile);padding:var(--msg-bubble-padding-y) var(--msg-bubble-padding-x);min-width:min(var(--msg-bubble-minw-mobile),92%)}.conversation-items{grid-auto-columns:minmax(160px,1fr)}.capsule-answers,.capsule-input{grid-template-columns:1fr}.search-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.search-count{order:3;text-align:left}.search-row .search-input{flex:1 1 100%}.search-row .btn{flex:0 0 auto}.search-panel{padding:10px;border-radius:18px}.search-row .search-input{font-size:15px;padding:12px;border-radius:14px}.search-count{font-size:10px}.conversation-item{padding:12px;min-height:60px}.conversation-preview{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.conversation-meta span{white-space:normal}.chat-search{width:100%}.chat-search-input{width:100%;max-width:100%}.btn.btn-icon{width:44px;height:44px}.btn.btn-nav{width:40px;height:40px;font-size:16px}.audio-volume{display:none}.audio-play{width:44px;height:44px;font-size:16px}textarea,input{font-size:16px}.side-panel{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-height:none;height:100dvh;border-radius:0;padding:16px}.panel-header{padding-top:calc(8px + env(safe-area-inset-top))}.side-panel-body{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.modal{align-items:stretch}.emoji-popover{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));max-height:55dvh;height:auto;border-radius:18px 18px 14px 14px;box-shadow:var(--shadow);background:color-mix(in srgb,var(--surface) 94%,#0b0f14 6%);border-color:var(--border-soft);-webkit-backdrop-filter:blur(var(--glass-blur-sm));backdrop-filter:blur(var(--glass-blur-sm));overflow:hidden}.emoji-popover .emoji-mart{max-height:calc(55dvh - 12px);overflow:auto}.attach-popover{position:absolute;transform:none;max-height:none;overflow:visible;border-radius:0;background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;display:grid;gap:8px}.attachmentMenuItem{padding:10px 14px;font-size:12px;letter-spacing:.08em;border-radius:999px;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--surface) 92%,#0b0f14 8%);box-shadow:var(--shadow-soft);justify-content:center}.lightbox-shell{width:100%;height:100%;max-width:none;max-height:none;border-radius:0}.modal-card{width:100%;height:100%;border-radius:0;padding:20px;margin:0}.chat-nav{right:calc(12px + env(safe-area-inset-right));bottom:calc(96px + env(safe-area-inset-bottom) + var(--keyboard-offset))}}.messages .msgContent{max-width:100%}.message .bubble.msgBubble{max-width:min(85%,760px);width:auto;min-width:min(140px,100%);padding:12px 14px;font-size:15.5px;line-height:1.45;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap}.message .bubble.msgBubble.me{max-width:min(80%,720px);border-radius:18px 18px 6px}.message .bubble.msgBubble.other{max-width:min(84%,760px);border-radius:18px 18px 18px 6px}.message .bubble.msgBubble .text{font-size:15.5px;line-height:1.45}.message-link{color:var(--accent);text-decoration:underline;text-underline-offset:3px;word-break:break-word}.message .bubble.msgBubble .msgMeta{margin-top:8px;display:flex;justify-content:flex-end;gap:8px;font-size:11px;opacity:.7;white-space:nowrap}.message .bubble.msgBubble .badgeMe{display:inline-flex;align-items:center;font-size:10px;letter-spacing:.2em;white-space:nowrap;line-height:1}@media (max-width: 720px){.message .bubble.msgBubble,.message .bubble.msgBubble.me,.message .bubble.msgBubble.other{max-width:var(--msg-bubble-maxw-mobile);min-width:0;padding:var(--msg-bubble-padding-y) var(--msg-bubble-padding-x);font-size:var(--msg-bubble-font);line-height:var(--msg-bubble-line)}.message .bubble.msgBubble .text{font-size:var(--msg-bubble-font);line-height:var(--msg-bubble-line)}}
