:root{color-scheme:dark;--bg-main: #0c1022;--bg-secondary: #131a35;--card: rgba(20, 28, 55, .8);--card-soft: rgba(30, 40, 76, .72);--line: rgba(176, 195, 255, .16);--text-main: #f2f6ff;--text-subtle: #9fb0da;--accent: #4de0bd;--accent-strong: #2bffce;--danger: #ff7c9f;--shadow: 0 24px 44px rgba(4, 7, 18, .48);--app-background: radial-gradient(circle at 10% 20%, #1d2d5f 0%, transparent 36%), radial-gradient(circle at 90% 10%, #5d2258 0%, transparent 32%), linear-gradient(160deg, #090d1d 10%, #0d1430 50%, #0f1a3f 100%)}:root[data-theme=light]{color-scheme:light;--bg-main: #f3f6ff;--bg-secondary: #e6ecff;--card: rgba(255, 255, 255, .82);--card-soft: rgba(247, 250, 255, .9);--line: rgba(86, 106, 162, .22);--text-main: #1b274d;--text-subtle: #4f5f8f;--accent: #1dbf99;--accent-strong: #14d9ad;--danger: #dc4d77;--shadow: 0 24px 44px rgba(35, 58, 115, .18);--app-background: radial-gradient(circle at 12% 18%, #b9d3ff 0%, transparent 34%), radial-gradient(circle at 86% 12%, #ffd0dc 0%, transparent 32%), linear-gradient(170deg, #eef4ff 0%, #edf7ff 48%, #f6f7ff 100%)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font-family:Trebuchet MS,Avenir Next,Segoe UI,sans-serif;color:var(--text-main);background:var(--app-background)}button,input,textarea{font:inherit}.session-loader{min-height:100vh;display:grid;place-items:center;color:var(--text-main);font-size:1.1rem}.auth-layout{min-height:100vh;padding:24px;display:grid;place-items:center;position:relative;overflow:hidden}.ambient-shape{position:absolute;width:420px;height:420px;border-radius:50%;filter:blur(14px);opacity:.55;pointer-events:none}.ambient-left{top:-140px;left:-120px;background:radial-gradient(circle,#4de0bd,#4de0bd00 70%)}.ambient-right{right:-140px;bottom:-180px;background:radial-gradient(circle,#ff7c9f,#ff7c9f00 70%)}.auth-card{width:min(560px,100%);padding:32px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(160deg,#141c37eb,#0f152ceb);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:rise-in .4s ease}.auth-title-block h1{margin:8px 0;font-size:clamp(1.5rem,4vw,2.2rem)}.auth-title-block .subtitle{margin:0 0 20px;color:var(--text-subtle)}.eyebrow{margin:0;text-transform:uppercase;font-size:.74rem;letter-spacing:.14em;color:var(--accent)}.auth-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.auth-switch button{border:1px solid var(--line);background:#101730db;color:var(--text-subtle);border-radius:12px;padding:10px 14px;cursor:pointer}.auth-switch button.active{border-color:#4de0bd7a;color:var(--text-main);background:linear-gradient(120deg,#4de0bd38,#4de0bd0f)}.auth-form{display:grid;gap:14px}.security-notice{margin-bottom:16px;border:1px solid rgba(255,124,159,.38);border-radius:12px;background:#3a13238f;padding:12px}.security-notice-title{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffd8e4}.security-notice p{margin:6px 0 0;color:#ffdfe8;line-height:1.4;font-size:.9rem}.auth-form label{display:grid;gap:6px;font-size:.94rem;color:var(--text-subtle)}.auth-form input:not([type=checkbox]){border:1px solid var(--line);border-radius:12px;background:#0a1023cc;color:var(--text-main);padding:12px 14px}.password-warning{font-size:.8rem;color:#ffcfdb}.consent-row{display:flex;align-items:flex-start;gap:10px;font-size:.86rem;line-height:1.35;color:#ffdfe8}.consent-row input[type=checkbox]{margin-top:2px;inline-size:16px;block-size:16px;accent-color:var(--accent);cursor:pointer}.consent-row span{display:block}.form-error{color:var(--danger);margin:0}.submit-button{border:0;border-radius:12px;padding:12px 16px;cursor:pointer;color:#031417;background:linear-gradient(110deg,var(--accent) 0%,var(--accent-strong) 100%);font-weight:700}.submit-button:disabled{opacity:.8;cursor:not-allowed}.chat-layout{min-height:100vh;padding:18px;display:grid;gap:14px;grid-template-columns:minmax(280px,360px) 1fr}.left-panel,.chat-panel{border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);background:linear-gradient(160deg,#101730e6,#0a0e1eeb);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.left-panel{padding:16px;display:grid;gap:12px;align-content:start;max-height:calc(100vh - 36px);overflow:auto}.profile-card,.search-card,.dm-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--card-soft)}.profile-title,.search-card p,.dm-card p{margin:0 0 6px;color:var(--text-subtle)}.profile-card h2{margin:0}.profile-tag{margin:4px 0 10px;color:var(--accent)}.profile-actions{display:flex;gap:8px;flex-wrap:wrap}.profile-editor{margin-top:10px;border-top:1px solid var(--line);padding-top:10px;display:grid;gap:8px}.profile-editor label{display:grid;gap:4px;color:var(--text-subtle);font-size:.84rem}.profile-editor input{border:1px solid var(--line);border-radius:10px;background:#0a1023cc;color:var(--text-main);padding:8px 10px}.profile-editor small{color:var(--text-subtle)}.profile-editor .submit-button{justify-self:start;padding:8px 12px}.ghost-button{border:1px solid var(--line);background:#0c1123cc;color:var(--text-main);border-radius:10px;padding:8px 12px;cursor:pointer}.danger-ghost{border:1px solid rgba(255,124,159,.45);background:#451322b3;color:#ffd9e4;border-radius:10px;padding:8px 12px;cursor:pointer}.search-form{display:grid;grid-template-columns:1fr auto;gap:8px}.search-form input,.composer textarea{border:1px solid var(--line);border-radius:10px;background:#0a1023cc;color:var(--text-main);padding:10px 12px}.search-form button{border:0;border-radius:10px;cursor:pointer;padding:10px 12px;background:linear-gradient(120deg,var(--accent),var(--accent-strong));color:#031417;font-weight:700}.search-results,.dm-list{margin-top:10px;display:grid;gap:8px}.search-result-item,.dm-list-item{text-align:left;border:1px solid var(--line);background:#0a0f1ee0;color:var(--text-main);border-radius:10px;padding:10px;display:grid;gap:2px;cursor:pointer}.search-result-item small,.dm-list-item small{color:var(--text-subtle)}.dm-list-item em{color:var(--text-subtle);font-style:normal;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-list-item.active{border-color:#4de0bd7a;background:#273f5785}.dm-peer-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.dm-peer-main{display:inline-flex;align-items:center;gap:8px;min-width:0}.dm-unread-badge{min-inline-size:24px;block-size:20px;border-radius:999px;background:linear-gradient(120deg,var(--accent),var(--accent-strong));color:#042018;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;opacity:0;transform:scale(.9);transition:opacity .18s ease,transform .18s ease}.dm-unread-badge.visible{opacity:1;transform:scale(1)}.presence-dot{inline-size:8px;block-size:8px;border-radius:999px;display:inline-block;background:#8093c7}.presence-dot.online{background:#32e39d;box-shadow:0 0 8px #32e39d99}.presence-dot.offline{background:#6e7ba2}.chat-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;padding:16px;position:relative;max-height:calc(100vh - 36px)}.chat-header{border-bottom:1px solid var(--line);padding-bottom:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.chat-header h3{margin:0}.chat-header-main{display:flex;align-items:center;gap:10px;min-width:0}.mobile-back-button{display:none;white-space:nowrap}.chat-header p{margin:4px 0 0;color:var(--text-subtle);display:inline-flex;align-items:center;gap:6px}.typing-indicator{margin-top:4px;color:var(--accent);display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600}.chat-header-actions{display:flex;gap:8px}.message-search-section{margin-top:10px;display:grid;gap:8px;padding-bottom:6px}.message-search-form{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.message-search-form input{border:1px solid var(--line);border-radius:10px;background:#0a1023cc;color:var(--text-main);padding:9px 12px;min-height:42px}.message-search-form button{border:1px solid var(--line);border-radius:10px;background:#0f182ee6;color:var(--text-main);padding:8px 12px;cursor:pointer}.message-search-form button[type=submit]{border:0;background:linear-gradient(120deg,var(--accent),var(--accent-strong));color:#031417;font-weight:700}.message-search-results{border:1px solid var(--line);border-radius:12px;background:#0a1023b3;padding:8px;display:grid;gap:6px;max-height:180px;overflow:auto}.message-search-item{border:1px solid var(--line);border-radius:10px;background:#151e3adb;color:var(--text-main);text-align:left;padding:8px;cursor:pointer;display:grid;gap:4px}.message-search-meta{display:inline-flex;align-items:baseline;justify-content:space-between;gap:8px}.message-search-meta small{color:var(--text-subtle)}.message-search-item p{margin:0;color:var(--text-subtle);overflow-wrap:anywhere;word-break:break-word}.message-search-loader{color:var(--text-subtle);font-size:.78rem;text-align:center;padding:6px 0 2px}.messages-zone{min-height:0;overflow:auto;padding:14px 0;display:grid;align-content:start;gap:10px}.messages-history-loader{display:flex;justify-content:center}.messages-history-loader small{color:var(--text-subtle);font-size:.78rem}.message-item{border:1px solid var(--line);background:#0a1023b8;border-radius:12px;padding:10px;inline-size:fit-content;max-inline-size:min(78%,620px);position:relative;z-index:0;touch-action:pan-y;transition:transform .18s ease;transform:translate(var(--swipe-offset, 0px))}.message-item.mine{margin-left:auto;background:#1e4042b3;border-color:#4de0bd6b}.message-item.highlighted{box-shadow:0 0 0 2px #4de0bd8c}.message-item.is-message-menu-open,.message-item.is-reaction-picker-open{z-index:24}.message-item .message-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.message-meta-left{display:inline-flex;align-items:baseline;gap:8px}.message-item strong{font-size:.86rem}.message-meta-left span{color:var(--text-subtle);font-size:.74rem}.message-item p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.message-swipe-hint{position:absolute;left:-18px;top:50%;transform:translateY(-50%);color:var(--text-subtle);font-size:.82rem;opacity:0;transition:opacity .18s ease}.message-item.swiping .message-swipe-hint{opacity:1}.message-reply-context{margin-top:6px;border:1px solid var(--line);border-radius:8px;background:#182240c7;color:var(--text-main);text-align:left;padding:6px 8px;display:grid;gap:2px;cursor:pointer}.message-reply-context small{color:var(--text-subtle);font-size:.74rem}.message-reply-context span{font-size:.84rem;overflow-wrap:anywhere;word-break:break-word}.message-delete{border:1px solid rgba(255,124,159,.45);border-radius:8px;background:#451322b3;color:#ffd9e4;cursor:pointer;font-size:.72rem;padding:3px 8px}.message-menu-wrap{position:relative}.message-menu-trigger{border:1px solid var(--line);border-radius:8px;background:#151e3ae6;color:var(--text-main);inline-size:28px;block-size:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .18s ease,background .18s ease}.message-item:hover .message-menu-trigger,.message-menu-wrap.open .message-menu-trigger{opacity:1}.message-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:90;min-inline-size:148px;border:1px solid var(--line);border-radius:10px;background:#0a1023f5;box-shadow:var(--shadow);padding:6px;display:grid;gap:4px}.message-menu-item{border:1px solid transparent;border-radius:8px;background:#141d38eb;color:var(--text-main);padding:7px 9px;text-align:left;cursor:pointer}.message-menu-item.danger{color:#ffd9e4;background:#451322b3;border-color:#ff7c9f73}.message-edit-wrap{margin-top:8px;display:grid;gap:8px}.message-edit-wrap textarea{border:1px solid var(--line);border-radius:10px;background:#0a1023cc;color:var(--text-main);padding:8px 10px;resize:vertical;min-height:72px;max-height:220px}.message-edit-actions{display:inline-flex;gap:8px;justify-content:flex-end}.message-edit-actions .submit-button{padding:8px 12px}.message-delete:disabled{opacity:.6;cursor:not-allowed}.message-reactions-wrap{--reaction-gap: 6px;--reaction-per-row: 5;--reaction-chip-slot: 40px;--reaction-add-size: 28px;--reaction-list-max: calc( (var(--reaction-chip-slot) * var(--reaction-per-row)) + (var(--reaction-gap) * (var(--reaction-per-row) - 1)) );margin-top:8px;display:inline-flex;align-items:flex-start;position:relative;max-inline-size:min(100%,calc(var(--reaction-list-max) + var(--reaction-add-size) + var(--reaction-gap)));padding-inline-end:calc(var(--reaction-add-size) + var(--reaction-gap));min-block-size:var(--reaction-add-size);z-index:2}.message-reactions-list{display:flex;align-items:center;align-content:flex-start;gap:var(--reaction-gap);flex-wrap:wrap;max-inline-size:min(100%,var(--reaction-list-max))}.message-reaction-chip{border:1px solid var(--line);border-radius:999px;background:#151e3ae0;color:var(--text-main);cursor:pointer;padding:3px 8px;display:inline-flex;align-items:center;gap:6px;min-block-size:28px;min-inline-size:var(--reaction-chip-slot);justify-content:center}.message-reaction-chip.mine{border-color:#4de0bd80;background:#254b48b8}.message-reaction-chip span,.message-reaction-option,.emoji-button{line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.message-reaction-chip small{color:var(--text-subtle);font-size:.75rem}.message-reaction-add{border:1px solid var(--line);border-radius:999px;background:#151e3ae6;color:var(--text-main);inline-size:28px;block-size:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;position:absolute;top:0;right:0;opacity:0;pointer-events:none;transition:opacity .18s ease,background .18s ease}.message-item:hover .message-reaction-add,.message-reactions-wrap.open .message-reaction-add{opacity:1;pointer-events:auto}.message-reaction-picker{border:1px solid var(--line);border-radius:10px;background:#101a36;box-shadow:var(--shadow);padding:6px;display:grid;grid-template-columns:repeat(5,34px);gap:6px;max-block-size:172px;overflow-y:auto;overflow-x:hidden}.floating-reaction-picker{position:fixed;top:0;left:0;z-index:320}.message-reaction-option{border:1px solid var(--line);border-radius:8px;background:#141d38eb;cursor:pointer;font-size:1.12rem;inline-size:34px;block-size:34px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.message-media{margin-top:8px;display:grid;gap:8px}.message-media img{max-inline-size:min(100%,320px);border-radius:10px;border:1px solid var(--line)}.uploaded-image{justify-items:start}.message-image-button{border:0;padding:0;margin:0;background:transparent;cursor:zoom-in}.message-image-button img{max-inline-size:min(100%,460px);max-block-size:320px;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block}.attachment-card{margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:4px;text-decoration:none;color:var(--text-main);background:#111a30b3;text-align:left;cursor:pointer;overflow-wrap:anywhere;word-break:break-word}.attachment-card small{color:var(--text-subtle)}.audio-attachment,.video-attachment,.voice-message,.video-note-wrap,.video-note-player{margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#111a30b8;display:grid;gap:8px}.audio-attachment audio,.video-attachment video{inline-size:min(100%,420px)}.video-note-wrap{justify-items:start}.video-note-player{display:inline-flex;align-items:center;gap:10px;justify-items:start}.video-note-surface{position:relative;inline-size:180px;block-size:180px;border-radius:999px;overflow:hidden;background:#000}.video-note{inline-size:100%;block-size:100%;border-radius:999px;object-fit:cover;display:block;border:0;background:#000}.video-note-progress-ring{position:absolute;top:0;right:0;bottom:0;left:0;inline-size:100%;block-size:100%;cursor:pointer}.video-note-track{fill:none;stroke:#adbbe459;stroke-width:5}.video-note-progress{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;transform:rotate(-90deg);transform-origin:90px 90px}.video-note-handle{fill:var(--accent-strong);stroke:#070e22e6;stroke-width:2}.video-note-flash-control{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:1.9rem;color:#fff;pointer-events:none;opacity:0;background:#00000029}.video-note-flash-control.visible{animation:video-note-flash .42s ease forwards}.video-note-time{white-space:nowrap;color:var(--text-subtle);font-size:.82rem;min-inline-size:86px}@keyframes video-note-flash{0%{opacity:0;transform:scale(.9)}20%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.03)}}.voice-bars{display:flex;align-items:end;gap:3px;min-height:34px}.voice-bars span{inline-size:4px;border-radius:2px;background:linear-gradient(180deg,#4de0bd,#2e7d73);opacity:.34}.voice-bars span.active{opacity:1}.voice-player{grid-template-columns:auto minmax(120px,1fr) auto;align-items:center}.voice-player audio{display:none}.voice-play-button{border:1px solid var(--line);border-radius:999px;inline-size:36px;block-size:36px;display:inline-flex;align-items:center;justify-content:center;background:#151e3aeb;color:var(--text-main);cursor:pointer}.voice-player-main{min-width:0;display:grid;gap:6px}.voice-progress{inline-size:100%;accent-color:var(--accent)}.voice-time{white-space:nowrap}.read-receipt{margin-top:8px;display:inline-block;color:var(--text-subtle);font-size:.76rem}.link-preview-list{margin-top:8px;display:grid;gap:8px}.link-chip{display:inline-flex;align-items:center;gap:6px;color:#b5d6ff;font-size:.84rem;text-decoration:none;overflow-wrap:anywhere;word-break:break-word}.link-preview{border:1px solid var(--line);border-radius:10px;padding:8px;background:#121c35c2;display:grid;grid-template-columns:auto 1fr;gap:8px;text-decoration:none;color:var(--text-main);overflow-wrap:anywhere;word-break:break-word}.link-preview img{inline-size:84px;block-size:84px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.link-preview p{margin:4px 0;color:var(--text-subtle);font-size:.82rem}.link-preview small{color:var(--text-subtle)}.empty-chat,.chat-placeholder{display:grid;place-items:center;text-align:center;color:var(--text-subtle);padding:20px}.composer{border-top:1px solid var(--line);padding-top:12px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.composer-main{display:grid;gap:8px;min-width:0}.composer-field{min-width:0;position:relative;border:1px solid var(--line);border-radius:12px;background:#0a1023cc;display:flex;align-items:center;gap:6px;padding:6px 8px;min-height:50px;transition:border-color .18s ease,box-shadow .18s ease}.composer-field.drag-over{border-color:#4de0bda6;box-shadow:0 0 0 2px #4de0bd3d}.composer-field textarea{flex:1;border:0;background:transparent;color:var(--text-main);outline:none;min-width:0;resize:none;line-height:1.35;min-height:36px;max-height:160px;overflow-y:auto;padding:8px 0;margin:0;align-self:center}.icon-tool{border:1px solid var(--line);border-radius:8px;background:#151e3adb;color:var(--text-main);cursor:pointer;min-inline-size:34px;block-size:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;font-size:.85rem;align-self:center}.icon-tool.active{border-color:#4de0bd85;background:#296157b3}.icon-tool:disabled{opacity:.55;cursor:not-allowed}.composer>button{border:0;border-radius:10px;cursor:pointer;padding:0 14px;min-block-size:46px;background:linear-gradient(120deg,var(--accent),var(--accent-strong));color:#031417;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;align-self:center}.composer>button:disabled{opacity:.8;cursor:not-allowed}.hidden-file-input{display:none}.emoji-picker{position:absolute;bottom:calc(100% + 8px);left:6px;width:min(296px,calc(100vw - 40px));border:1px solid var(--line);border-radius:12px;background:#0a1023f2;box-shadow:var(--shadow);padding:8px}.emoji-grid{display:grid;gap:6px;grid-template-columns:repeat(5,minmax(0,1fr));max-height:220px;overflow-y:auto;overflow-x:hidden}.emoji-button{border:1px solid var(--line);border-radius:8px;background:#141d38eb;cursor:pointer;font-size:1.12rem;inline-size:100%;block-size:34px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.reply-banner{border:1px solid var(--line);border-radius:10px;background:#111a30b8;padding:8px 10px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.reply-banner small{color:var(--text-subtle);font-size:.75rem}.reply-banner p{margin:2px 0 0;font-size:.86rem;overflow-wrap:anywhere;word-break:break-word}.recording-banner,.blocked-banner{border:1px solid var(--line);border-radius:10px;background:#111a30b8;padding:8px 10px;display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--text-subtle)}.recording-banner .danger-ghost,.blocked-banner .danger-ghost{white-space:nowrap}.recording-self-preview{inline-size:72px;block-size:72px;border-radius:999px;border:1px solid var(--line);object-fit:cover;background:#000}.pending-uploads{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.pending-upload-item{position:relative;min-inline-size:190px;max-inline-size:320px;border:1px solid var(--line);border-radius:10px;background:#111a30b8;padding:8px;display:grid;gap:6px}.pending-upload-remove{position:absolute;top:6px;right:6px;border:1px solid rgba(255,124,159,.45);border-radius:999px;background:#451322c7;color:#ffd9e4;inline-size:26px;block-size:26px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.pending-upload-item img{max-inline-size:220px;max-block-size:150px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.pending-video-note{inline-size:120px;block-size:120px;border-radius:999px;object-fit:cover;border:1px solid var(--line);background:#000}.pending-voice-preview{min-inline-size:180px;display:grid;gap:6px;align-content:start}.pending-file-preview{display:grid;gap:6px;min-inline-size:190px}.pending-file-preview strong,.pending-media-meta{padding-right:24px;overflow-wrap:anywhere;word-break:break-word}.pending-file-preview small,.pending-media-meta,.pending-voice-preview small{color:var(--text-subtle);font-size:.8rem}.pending-file-preview audio,.pending-video-preview{inline-size:min(100%,260px)}.composer-preview{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.composer-preview img{inline-size:96px;block-size:72px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.panel-error{position:absolute;right:16px;bottom:16px;border:1px solid rgba(255,124,159,.4);background:#3a1323eb;color:#ffdce5;border-radius:10px;padding:8px 10px;max-width:420px}.image-fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#060a16e6;z-index:100;display:grid;place-items:center;padding:20px}.image-fullscreen-content{max-inline-size:min(96vw,1400px);max-block-size:92vh;border-radius:12px;border:1px solid rgba(255,255,255,.2);box-shadow:0 18px 40px #0000008c}.image-fullscreen-close{position:fixed;top:16px;right:16px;inline-size:42px;block-size:42px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:#141a30e0;color:#f4f7ff;font-size:1.2rem;cursor:pointer}:root[data-theme=light] .auth-card,:root[data-theme=light] .left-panel,:root[data-theme=light] .chat-panel{background:linear-gradient(160deg,#ffffffeb,#f0f5ffe6)}:root[data-theme=light] .search-result-item,:root[data-theme=light] .dm-list-item,:root[data-theme=light] .message-item,:root[data-theme=light] .message-search-results,:root[data-theme=light] .message-search-item,:root[data-theme=light] .composer-field,:root[data-theme=light] .ghost-button,:root[data-theme=light] .icon-tool,:root[data-theme=light] .attachment-card,:root[data-theme=light] .audio-attachment,:root[data-theme=light] .video-attachment,:root[data-theme=light] .voice-message,:root[data-theme=light] .video-note-wrap,:root[data-theme=light] .pending-upload-item,:root[data-theme=light] .message-search-form input,:root[data-theme=light] .message-edit-wrap textarea,:root[data-theme=light] .search-form input,:root[data-theme=light] .profile-editor input,:root[data-theme=light] .composer textarea{background:#ffffffd6}:root[data-theme=light] .message-item.mine{background:#c7f8ebe6}:root[data-theme=light] .emoji-picker{background:#fffffff7}:root[data-theme=light] .message-search-form button{background:#ffffffe6}:root[data-theme=light] .message-search-form button[type=submit]{background:linear-gradient(120deg,var(--accent),var(--accent-strong));color:#04241f}:root[data-theme=light] .message-menu-dropdown,:root[data-theme=light] .message-reaction-picker{background:#fff}:root[data-theme=light] .message-menu-item,:root[data-theme=light] .message-reaction-option,:root[data-theme=light] .message-reaction-chip,:root[data-theme=light] .message-reaction-add,:root[data-theme=light] .message-menu-trigger,:root[data-theme=light] .message-reply-context,:root[data-theme=light] .reply-banner{background:#ffffffe6}@media(hover:none){.message-menu-trigger{opacity:1}.message-reaction-add{opacity:1;pointer-events:auto}}@keyframes rise-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:980px){.chat-layout{grid-template-columns:1fr;min-height:auto;padding:10px;gap:10px}.chat-layout.show-sidebar .chat-panel,.chat-layout.has-selected-chat .left-panel{display:none}.chat-layout.has-selected-chat .chat-panel{display:grid}.left-panel,.chat-panel{max-height:calc(100vh - 20px);border-radius:16px}.chat-panel{min-height:calc(100vh - 20px);padding:12px}.left-panel{padding:12px}.message-item{max-inline-size:94%}.mobile-back-button{display:inline-flex}.chat-header{flex-direction:column;align-items:stretch}.chat-header-main{width:100%}.chat-header-actions{inline-size:100%;display:grid;grid-template-columns:1fr 1fr}.message-search-form,.composer{grid-template-columns:1fr}.composer-field{flex-wrap:wrap;align-items:center}.composer-field textarea{order:2;flex-basis:100%;min-height:56px}.composer>button{inline-size:100%}.recording-banner,.reply-banner,.blocked-banner{flex-wrap:wrap}.recording-self-preview{inline-size:64px;block-size:64px}.pending-upload-item{min-inline-size:170px;max-inline-size:260px}.pending-upload-item img{max-inline-size:180px;max-block-size:130px}.video-note-surface{inline-size:150px;block-size:150px}.video-note-time{min-inline-size:72px}.message-image-button img{max-inline-size:min(100%,280px);max-block-size:240px}.message-menu-trigger{opacity:1}.message-swipe-hint{display:none}.panel-error{left:12px;right:12px;bottom:12px;max-width:none}}
