:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font:Roboto, "Google Sans", system-ui, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--page:#eceff2;--panel:#fff;--field:#e6eaee;--text:#1b1f23;--muted:#667280;--border:#d5dbe1;--hover:#19232c0f;--selected:#0a6ac61f;--selected-text:var(--text);--selected-muted:var(--muted);--link:#0a6ac6;--button:#0078d4;--on-button:#fff;--error:#c9432c;--chat-base:#e9edf0;--wallpaper-opacity:.1;--wallpaper-filter:invert(1);--incoming:#fff;--incoming-text:var(--text);--outgoing:#d4e8f7;--outgoing-text:#0d2233;--outgoing-muted:#5d7a92;--outgoing-read:#0a6ac6;--outgoing-error:#b8341d;--search-bg:#e1e8ee;--composer-bg:var(--page);--on-avatar:#e4e4e4;--glass:var(--panel);--glass-solid:var(--panel);--glass-border:var(--border);--glass-shadow:none;--glass-rim:none;--blur:0px;--sheen:0;--bubble-shadow:none;--backdrop-display:none;--glow-a:transparent;--glow-b:transparent;--glow-c:transparent;--app-pad:0px;--app-gap:0px;--sidebar-w:clamp(320px, 31vw, 420px);--radius-panel:0px;--sidebar-border-w:0 1px 0 0;--chat-border-w:0;--head-inset:0px;--head-radius:0px;--head-border-w:0 0 1px;--head-pad:8px 12px 8px 12px;--head-space:72px;--day-top:64px;--slot-bg:var(--panel);--slot-border-w:1px 0 0;--slot-pad:8px 12px calc(8px + env(safe-area-inset-bottom));--composer-r:28px;--composer-border:1px solid var(--border);--radius-row:0px;--radius-bubble:16px;--radius-joined:6px;--bubble-max:320px;--search-r:20px;--search-h:48px;--radius-btn:12px;--radius-card:16px;--brand-tile-shadow:none}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#1e1e1e;--panel:#252526;--field:#313134;--text:#e4e4e4;--muted:#a6a6a6;--border:#3c3c3c;--hover:#ffffff0f;--selected:#75beff29;--link:#75beff;--button:#0078d4;--error:#f48771;--chat-base:#1b1c1f;--wallpaper-opacity:.32;--wallpaper-filter:none;--incoming:#2d2d30;--outgoing:#26485f;--outgoing-text:var(--text);--outgoing-muted:#b0bdc8;--outgoing-read:#75beff;--outgoing-error:#ffa592;--search-bg:#19232c}:root[data-platform=desktop]{--font:"Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--page:#fff;--panel:#fff;--field:#f1f3f4;--text:#000;--muted:#707579;--border:#dfe1e5;--hover:#f4f4f5;--selected:#3390ec;--selected-text:#fff;--selected-muted:#fffc;--link:#3390ec;--button:#3390ec;--error:#df3f40;--chat-base:#d9e4cf;--wallpaper-opacity:.12;--wallpaper-filter:invert(1);--incoming:#fff;--incoming-text:#000;--outgoing:#eeffde;--outgoing-text:#000;--outgoing-muted:#5ca853;--outgoing-read:#3390ec;--outgoing-error:#df3f40;--search-bg:#f1f3f4;--composer-bg:#fff;--sidebar-w:380px;--radius-row:10px;--radius-bubble:12px;--radius-joined:4px;--bubble-max:480px;--search-r:22px;--search-h:42px;--radius-btn:10px;--composer-r:16px;--head-pad:6px 16px 6px 12px;--head-space:66px;--day-top:58px;--bubble-shadow:0 1px 1px #10232f1f}:root[data-platform=desktop][data-theme=dark]{--page:#212121;--panel:#212121;--field:#181818;--text:#fff;--muted:#aaa;--border:#303030;--hover:#2c2c2c;--selected:#766ac8;--link:#8774e1;--button:#8774e1;--error:#ff595a;--chat-base:#0f0f0f;--wallpaper-opacity:.3;--wallpaper-filter:none;--incoming:#212121;--incoming-text:#fff;--outgoing:#766ac8;--outgoing-text:#fff;--outgoing-muted:#ffffffb8;--outgoing-read:#fff;--outgoing-error:#ffb3b3;--search-bg:#2c2c2c;--composer-bg:#212121}:root[data-platform=ios]{--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--page:#eef0f6;--panel:#fff;--field:#78788024;--text:#000;--muted:#6b6b73;--border:#3c3c4329;--hover:#ffffff8c;--selected:#007aff24;--link:#007aff;--button:#007aff;--error:#ff3b30;--chat-base:#e8ebf2;--wallpaper-opacity:.09;--wallpaper-filter:invert(1);--incoming:#fffffff2;--incoming-text:#000;--outgoing:#007aff;--outgoing-text:#fff;--outgoing-muted:#ffffffbf;--outgoing-read:#fff;--outgoing-error:#ffd0cc;--search-bg:#78788024;--composer-bg:var(--glass);--glass:#ffffff8c;--glass-solid:#fafafded;--glass-border:#fffc;--glass-shadow:0 18px 50px #1e285024, 0 2px 6px #1e285014;--glass-rim:inset 0 1.5px 0 #fffffff2, inset 0 -1px 0 #6e789633, inset 1px 0 0 #ffffff1a;--blur:30px;--sheen:.5;--bubble-shadow:0 1px 2px #141e3c1a;--backdrop-display:block;--glow-a:#0a84ff47;--glow-b:#af82ff42;--glow-c:#4ec9b038;--app-pad:12px;--app-gap:12px;--sidebar-w:clamp(320px, 31vw, 440px);--radius-panel:30px;--sidebar-border-w:1px;--chat-border-w:1px;--head-inset:10px;--head-radius:26px;--head-border-w:1px;--head-pad:7px 8px;--head-space:84px;--day-top:74px;--slot-bg:transparent;--slot-border-w:0;--slot-pad:0 12px 12px;--composer-r:26px;--composer-border:1px solid var(--glass-border);--radius-row:20px;--radius-bubble:19px;--bubble-max:420px;--search-r:14px;--search-h:40px;--radius-btn:14px;--radius-card:36px;--brand-tile-shadow:0 10px 26px #19232c4d}:root[data-platform=ios][data-theme=dark]{--page:#000;--panel:#1c1c1e;--field:#7676803d;--text:#fff;--muted:#98989f;--border:#ffffff24;--hover:#ffffff12;--selected:#0a84ff3d;--link:#0a84ff;--button:#0a84ff;--error:#ff453a;--chat-base:#0a0a0c;--wallpaper-opacity:.2;--wallpaper-filter:none;--incoming:#2c2c30f2;--incoming-text:#fff;--outgoing:#0a84ff;--outgoing-text:#fff;--outgoing-muted:#ffffffb8;--outgoing-read:#fff;--outgoing-error:#ffc9c4;--search-bg:#7676803d;--glass:#2222268c;--glass-solid:#202024f2;--glass-border:#ffffff1f;--glass-shadow:0 18px 50px #0000008c, 0 2px 6px #0000004d;--glass-rim:inset 0 1.5px 0 #fff3, inset 0 -1px 0 #0006, inset 1px 0 0 #ffffff0f;--sheen:.14;--bubble-shadow:0 1px 2px #00000059;--glow-a:#0a84ff47;--glow-b:#7846dc42;--glow-c:#0e968233}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%;overflow:clip}body{width:100%;position:fixed;inset:0}@media (display-mode:standalone){@supports (height:100lvh){html,body,#root,.app,.sheet-backdrop,.lightbox{height:100lvh}}}body{font-family:var(--font);color:var(--text);background:var(--page);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.35;overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}h1,h2,p{margin:0}:focus-visible{outline:2px solid var(--link);outline-offset:2px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:#808a9c59 padding-box content-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-track{background:0 0}.backdrop{display:var(--backdrop-display);z-index:0;background:var(--page);position:fixed;inset:0;overflow:hidden}.backdrop:before{content:"";background:radial-gradient(34% 38% at 16% 22%, var(--glow-a), transparent 70%), radial-gradient(30% 34% at 84% 16%, var(--glow-b), transparent 70%), radial-gradient(34% 38% at 72% 88%, var(--glow-c), transparent 70%), radial-gradient(26% 30% at 10% 86%, var(--glow-b), transparent 70%);animation:45s ease-in-out infinite alternate drift;position:absolute;inset:-20%}@keyframes drift{to{transform:translate(4%,-3%)rotate(8deg)scale(1.08)}}.glass,.glass-pill{background:var(--glass);-webkit-backdrop-filter:blur(var(--blur)) saturate(180%);backdrop-filter:blur(var(--blur)) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), var(--glass-rim);position:relative}.glass:before,.glass-pill:before{content:"";border-radius:inherit;pointer-events:none;opacity:var(--sheen);background:linear-gradient(135deg,#ffffff47,#fff0 38%);position:absolute;inset:0}.glass-pill{border-radius:999px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root[data-platform=ios] .glass,:root[data-platform=ios] .glass-pill{background:var(--glass-solid)}}.avatar{color:var(--on-avatar);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:500;display:inline-grid;position:relative}.avatar[data-online]:after{content:"";border:2px solid var(--panel);box-sizing:content-box;background:#3fb950;border-radius:50%;width:28%;min-width:10px;height:28%;min-height:10px;position:absolute;bottom:-1px;right:-1px;transform:translate(15%,15%)}:root[data-platform=ios] .avatar{box-shadow:inset 0 1px #ffffff47,0 2px 6px #0000002e}.brand-tile{box-shadow:var(--brand-tile-shadow);background:#19232c;border-radius:26%;flex:none;place-items:center;display:inline-grid}:root[data-platform=ios] .brand-tile{box-shadow:var(--brand-tile-shadow), inset 0 1.5px 0 #ffffff38, inset 0 0 0 1px #ffffff0f}.icon-button{width:40px;height:40px;color:var(--muted);border-radius:50%;flex:none;place-items:center;text-decoration:none;transition:background .15s,color .15s;display:inline-grid}.icon-button:hover{background:var(--hover);color:var(--text)}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);gap:var(--app-gap);padding:var(--app-pad);display:grid;position:fixed;inset:0}.app>:not(.backdrop){z-index:1;min-width:0;min-height:0;position:relative}.splash,.login-screen{grid-template-columns:1fr;place-items:center;display:grid}.splash-body{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.splash-body h1{margin-top:8px;font-size:30px;font-weight:600}.splash-body p,.splash-status{color:var(--muted)}.splash-status{margin-top:22px;font-size:14px}.sidebar{border-radius:var(--radius-panel);border-width:var(--sidebar-border-w);flex-direction:column;display:flex;overflow:hidden}.sidebar-head{z-index:3;flex-direction:column;gap:14px;padding:16px 16px 10px;display:flex;position:relative}.sidebar-top{align-items:center;gap:12px;display:flex}.sidebar-title{flex:1;min-width:0}.sidebar-title h1{font-size:22px;font-weight:600;line-height:1.15}.sidebar-title p{color:var(--muted);font-size:13px}.account{align-items:center;gap:2px;display:flex;position:relative}.avatar-button{border-radius:50%;display:grid}.popover{z-index:10;background:var(--glass-solid);min-width:260px;-webkit-backdrop-filter:blur(var(--blur)) saturate(180%);backdrop-filter:blur(var(--blur)) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), var(--glass-rim);border-radius:20px;padding:8px;animation:.14s ease-out pop;position:absolute;top:48px;right:0}:root:not([data-platform=ios]) .popover{border-radius:12px;box-shadow:0 8px 28px #00000047}@keyframes pop{0%{opacity:0;transform:translateY(-4px)scale(.97)}}.popover-user{border-bottom:1px solid var(--border);flex-direction:column;margin-bottom:6px;padding:8px 10px 10px;display:flex}.popover-user span{color:var(--muted);font-size:13px}.popover-item{width:100%;color:var(--text);text-align:left;border-radius:10px;justify-content:flex-start;align-items:center;gap:10px;padding:9px 10px;display:flex}.popover-item[data-danger=true]{color:var(--error)}.popover-label{text-align:left;white-space:nowrap;flex:1;min-width:0}.popover-item:hover{background:var(--hover)}.search{height:var(--search-h);border-radius:var(--search-r);color:var(--text);background:var(--search-bg);align-items:center;gap:12px;padding:0 10px 0 16px;transition:box-shadow .15s;display:flex;box-shadow:inset 0 0 0 1px #0000}:root[data-platform=android] .search,:root:not([data-platform]) .search{box-shadow:inset 0 0 0 1px var(--border)}:root[data-platform=ios] .search{box-shadow:inset 0 1px 2px #0000001f}.search:focus-within{box-shadow:0 0 0 2px color-mix(in srgb, var(--link) 65%, transparent)}.search input{background:0 0;border:0;outline:0;flex:1;min-width:0}.search input::placeholder{color:var(--muted)}.clear{width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.clear:hover{background:var(--hover)}.connection-note{text-align:center;color:var(--muted);background:var(--hover);border-radius:999px;margin:0 16px 4px;padding:5px 12px;font-size:13px}.list{flex:1;padding:4px 8px 12px;overflow-y:auto}.list-title{color:var(--link);padding:12px 12px 4px;font-size:13px;font-weight:600}.list-note{text-align:center;color:var(--muted);padding:12px;font-size:14px}.list-note.error{color:var(--error)}.empty-list{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:56px 28px;display:flex}.empty-list strong{color:var(--text);font-size:17px;font-weight:500}.dialog{border-radius:var(--radius-row);text-align:left;align-items:center;gap:12px;width:100%;padding:9px 10px;transition:background .12s;display:flex}.dialog:hover{background:var(--hover)}.dialog[data-active=true]{background:var(--selected);color:var(--selected-text)}:root[data-platform=ios] .dialog[data-active=true]{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--link) 35%, transparent), inset 0 1px 0 #ffffff1f}.dialog-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.dialog-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.dialog-name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:500;overflow:hidden}.dialog-meta{color:var(--muted);flex:none;align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.dialog-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:14px;overflow:hidden}.dialog-preview[data-typing=true]{color:var(--link)}.typing-label{align-items:baseline;gap:2px;animation:.25s ease-out typing-fade-in;display:inline-flex}.typing-dots{align-items:center;gap:3px;height:1em;margin-left:3px;display:inline-flex}.typing-dots i{opacity:.35;background:currentColor;border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes typing-fade-in{0%{opacity:0;transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){.typing-label,.typing-dots i{animation:none}.typing-dots i{opacity:.7}}.dialog-you{color:var(--text);opacity:.75}.dialog[data-active=true] .dialog-meta,.dialog[data-active=true] .dialog-preview,.dialog[data-active=true] .dialog-you,.dialog[data-active=true] .ticks{color:var(--selected-muted)}.dialog[data-active=true] .dialog-preview[data-typing=true]{color:var(--selected-text)}.dialog[data-active=true] .badge{background:var(--selected-text);color:var(--selected)}:root:not([data-platform=desktop]) .dialog[data-active=true] .dialog-meta,:root:not([data-platform=desktop]) .dialog[data-active=true] .dialog-preview,:root:not([data-platform=desktop]) .dialog[data-active=true] .ticks{color:var(--muted)}:root:not([data-platform=desktop]) .dialog[data-active=true] .dialog-preview[data-typing=true]{color:var(--link)}:root:not([data-platform=desktop]) .dialog[data-active=true] .badge{background:var(--button);color:var(--on-button)}.badge{min-width:22px;height:22px;color:var(--on-button);background:var(--button);border-radius:11px;flex:none;place-items:center;padding:0 7px;font-size:12.5px;font-weight:600;display:grid}.dialog.skeleton{pointer-events:none}.sk{background:linear-gradient(90deg,#808a9c29 25%,#808a9c4d 50%,#808a9c29 75%) 0 0/200% 100%;animation:1.4s linear infinite shimmer;display:block}.sk.line{border-radius:6px;height:12px;margin:3px 0}.sk.line.short{width:70%}.avatar.sk{width:52px;height:52px}@keyframes shimmer{to{background-position:-200% 0}}.chat{border-radius:var(--radius-panel);background:var(--chat-base);border:0 solid var(--glass-border);border-width:var(--chat-border-w);--composer-h:64px;position:relative;overflow:hidden}:root[data-platform=ios] .chat{box-shadow:var(--glass-shadow), inset 0 1.5px 0 #ffffff80}.chat:before{content:"";opacity:var(--wallpaper-opacity);filter:var(--wallpaper-filter);pointer-events:none;background:url(/chat-wallpaper.png) top/min(100%,460px);position:absolute;inset:0}.chat.placeholder{place-items:center;display:grid}.welcome{border-radius:var(--radius-card);text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:340px;padding:32px 30px 28px;display:flex}.welcome h1{margin-top:8px;font-size:26px;font-weight:600}.welcome p{color:var(--muted)}.welcome-hint{color:var(--muted);margin-top:10px;font-size:13.5px}.chat-head{z-index:3;top:var(--head-inset);left:var(--head-inset);right:var(--head-inset);padding:var(--head-pad);border-radius:var(--head-radius);border-width:var(--head-border-w);align-items:center;gap:12px;display:flex;position:absolute}.chat-head .back{display:none}.chat-title{flex:1;min-width:0}.chat-title h1{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:500;overflow:hidden}.chat-title p{color:var(--muted);font-size:13px}.chat-title p[data-typing=true]{color:var(--link)}.messages{padding:var(--head-space) 12px calc(var(--composer-h) + 8px);overscroll-behavior:contain;position:absolute;inset:0;overflow:hidden auto}.messages-inner{flex-direction:column;justify-content:flex-end;max-width:780px;min-height:100%;margin:0 auto;display:flex}.history-note{color:var(--muted);background:var(--glass);-webkit-backdrop-filter:blur(var(--blur)) saturate(180%);backdrop-filter:blur(var(--blur)) saturate(180%);border:1px solid var(--glass-border);border-radius:999px;align-self:center;margin:12px 0;padding:5px 14px;font-size:13px}.history-note.action{color:var(--link);font-weight:500}.day-group{flex-direction:column;display:flex}.camera-backdrop{z-index:100;background:#0009;place-items:center;display:grid;position:fixed;inset:0}.camera{color:#fff;background:#111;border-radius:20px;flex-direction:column;align-items:center;gap:12px;width:min(92vw,640px);padding:12px;display:flex;position:relative}.camera video{object-fit:cover;background:#000;border-radius:12px;width:100%;max-height:70vh}.camera video[data-mirrored=true]{transform:scaleX(-1)}.camera-close{z-index:1;color:#fff;position:absolute;top:18px;right:18px}.camera-error{text-align:center;margin:40px 20px}.camera-actions{justify-content:center;width:100%;display:flex;position:relative}.camera-flip{color:#fff;font-size:14px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.camera-shutter{background:#ffffffd9;border:4px solid #fff;border-radius:50%;width:60px;height:60px}.camera-shutter:disabled{opacity:.4}.day,.day-float{pointer-events:none;justify-content:center;display:flex}.day{visibility:hidden;margin:12px 0 6px}.day-float{z-index:2;top:var(--day-top);opacity:0;transition:opacity .25s;position:absolute;left:0;right:0}.day-float[data-shown=true]{opacity:1}.day span,.day-float span{color:var(--muted);background:var(--glass);-webkit-backdrop-filter:blur(var(--blur)) saturate(180%);backdrop-filter:blur(var(--blur)) saturate(180%);border:1px solid var(--glass-border);border-radius:20px;padding:5px 12px;font-size:12px}:root[data-platform=desktop] .day-float span{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3c463c73;border:0}.row{margin-top:4px;animation:.16s ease-out rise;display:flex}.row[data-first=true]{margin-top:12px}.row[data-mine=true]{justify-content:flex-end}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.bubble{max-width:min(78%, var(--bubble-max));border-radius:var(--radius-bubble);background:var(--incoming);color:var(--incoming-text);box-shadow:var(--bubble-shadow);padding:9px 12px 7px;display:flow-root}.row[data-mine=true] .bubble{background:var(--outgoing);color:var(--outgoing-text)}:root:not([data-platform=ios]) .row[data-first=false] .bubble{border-top-left-radius:var(--radius-joined)}:root:not([data-platform=ios]) .row[data-mine=true][data-first=false] .bubble{border-top-left-radius:var(--radius-bubble);border-top-right-radius:var(--radius-joined)}:root[data-platform=ios] .row[data-last=true] .bubble{border-bottom-left-radius:6px}:root[data-platform=ios] .row[data-mine=true][data-last=true] .bubble{border-bottom-left-radius:var(--radius-bubble);border-bottom-right-radius:6px}.row[data-failed=true] .bubble{outline:1.5px solid var(--outgoing-error)}.text{white-space:pre-wrap;overflow-wrap:anywhere}.stamp{float:right;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin:6px 0 -2px 12px;font-size:11.5px;line-height:16px;display:inline-flex}.row[data-mine=true] .stamp{color:var(--outgoing-muted)}.ticks{color:var(--muted);flex:none;display:inline-grid}.row[data-mine=true] .ticks{color:var(--outgoing-muted)}.ticks.read{color:var(--link)}.row[data-mine=true] .ticks.read{color:var(--outgoing-read)}.ticks.failed{color:var(--error)}.row[data-mine=true] .ticks.failed{color:var(--outgoing-error)}.failure{clear:both;color:var(--outgoing-error);flex-wrap:wrap;align-items:center;gap:2px 12px;padding-top:6px;font-size:12.5px;display:flex}.failure>span{flex-basis:100%}.failure button{color:inherit;font-weight:500;text-decoration:underline}.file{align-items:center;gap:8px;min-width:220px;margin-bottom:4px;display:flex}.file-badge{width:40px;height:44px;color:var(--link);background:color-mix(in srgb, currentColor 14%, transparent);border-radius:10px;flex:none;place-items:center;display:grid}.row[data-mine=true] .file-badge{color:var(--outgoing-text)}.file-info{flex-direction:column;flex:1;min-width:0;display:flex}.file-name{overflow-wrap:anywhere;font-weight:500}.file-size{color:var(--muted);font-size:12px}.row[data-mine=true] .file-size{color:var(--outgoing-muted)}.file .icon-button{color:var(--link)}.bubble[data-media=true]{width:min-content;min-width:0;position:relative;overflow:hidden}.image{width:min(300px,72vw);aspect-ratio:var(--ratio);background:color-mix(in srgb, currentColor 10%, transparent);margin:-9px -12px 6px;display:block;overflow:hidden}.image>a,.image>.image-open{width:100%;height:100%;display:block}.image img{object-fit:cover;width:100%;height:100%;transition:opacity .2s;display:block}.image[data-loaded=false] img{opacity:0}.bubble[data-photo=true]{padding:0}.bubble[data-photo=true] .image,.bubble[data-photo=true] .album{margin:0}.bubble[data-photo=true] .stamp,.row[data-mine=true] .bubble[data-photo=true] .stamp{float:none;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000073;border-radius:11px;margin:0;padding:1px 8px;position:absolute;bottom:8px;right:8px}.bubble[data-photo=true] .ticks,.row[data-mine=true] .bubble[data-photo=true] .ticks,.row[data-mine=true] .bubble[data-photo=true] .ticks.read{color:#fff}.album{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;width:min(320px,72vw);margin:-9px -12px 6px;display:grid}.album[data-count="3"]{aspect-ratio:1;grid-template-rows:repeat(2,minmax(0,1fr))}.album[data-count="3"] .album-tile{aspect-ratio:auto}.album[data-count="3"] .album-tile:first-child{grid-row:span 2}.album[data-count="2"] .album-tile{aspect-ratio:4/5}.album[data-count="5"],.album[data-count="6"],.album[data-count="7"],.album[data-count="8"],.album[data-count="9"],.album[data-count="10"]{grid-template-columns:repeat(6,minmax(0,1fr))}.album-tile{aspect-ratio:1;min-width:0;position:relative;overflow:hidden}.album-tile .image{aspect-ratio:auto;width:auto;margin:0;position:absolute;inset:0}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}.row[data-mine=true] .file .icon-button{color:var(--outgoing-text)}.composer-slot{z-index:3;padding:var(--slot-pad);background:var(--slot-bg);border:0 solid var(--border);border-width:var(--slot-border-w);pointer-events:none;position:absolute;bottom:0;left:0;right:0}.composer-wrap{pointer-events:auto;max-width:780px;margin:0 auto}.composer-hint{color:var(--muted);margin:0 16px 6px;font-size:12.5px}.composer-hint[data-error=true]{color:var(--error)}.composer{border-radius:var(--composer-r);background:var(--composer-bg);border:var(--composer-border);box-shadow:none;align-items:flex-end;gap:4px;padding:4px 4px 4px 20px;display:flex}:root[data-platform=ios] .composer{box-shadow:var(--glass-shadow), var(--glass-rim)}.composer-file{border-radius:var(--composer-r);background:var(--composer-bg);border:var(--composer-border);align-items:center;gap:10px;margin-bottom:6px;padding:8px 8px 8px 12px;display:flex}.composer-file .file-badge{background:var(--button);color:var(--on-button)}.attach{width:46px;height:46px;color:var(--muted);border-radius:50%;flex:none;place-items:center;margin-left:-16px;transition:background .15s,color .15s;display:grid}.attach.camera-button{margin-left:-8px}.attach:hover{background:var(--hover);color:var(--link)}.composer textarea{resize:none;background:0 0;border:0;outline:0;flex:1;min-width:0;max-height:150px;padding:11px 0;line-height:1.35}.composer textarea::placeholder{color:var(--muted)}.send{width:46px;height:46px;color:var(--link);border-radius:50%;flex:none;place-items:center;transition:transform .12s,background .15s,opacity .15s;display:grid}.send:hover:not(:disabled){background:var(--hover)}.send:active:not(:disabled){transform:scale(.9)}.send:disabled{color:var(--muted);opacity:.45;cursor:default}:root[data-platform=ios] .send{color:#fff;background:var(--button);width:36px;height:36px;margin:5px 5px 5px 0}:root[data-platform=ios] .send svg{width:20px;height:20px}:root[data-platform=ios] .send:hover:not(:disabled){background:var(--button);filter:brightness(1.08)}:root[data-platform=ios] .send:disabled{color:#fff;background:var(--muted);opacity:.4}.login-theme{place-items:center;width:44px;height:44px;display:grid;top:16px;right:16px;position:absolute!important}.login{border-radius:var(--radius-card);text-align:center;flex-direction:column;align-items:stretch;gap:12px;width:min(400px,100%);padding:36px 30px 30px;display:flex}:root:not([data-platform=ios]) .login{box-shadow:0 6px 30px #00000029}.login .brand-tile{align-self:center}.login h1{margin-top:6px;font-size:28px;font-weight:600}.login>p{color:var(--muted);margin-top:-6px;margin-bottom:8px}.login input{border-radius:var(--radius-btn);background:var(--search-bg);height:52px;box-shadow:inset 0 0 0 1px var(--border);border:0;outline:0;padding:0 18px;transition:box-shadow .15s}.login input:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--link) 65%, transparent)}.login input::placeholder{color:var(--muted)}.primary{border-radius:var(--radius-btn);height:52px;color:var(--on-button);background:var(--button);margin-top:6px;font-weight:500;transition:transform .12s,filter .15s}:root[data-platform=ios] .primary{box-shadow:0 8px 20px color-mix(in srgb, var(--button) 40%, transparent), inset 0 1px 0 #ffffff59}.primary:hover:not(:disabled){filter:brightness(1.08)}.primary:active:not(:disabled){transform:scale(.98)}.primary:disabled{opacity:.6;cursor:default}.login .login-error{color:var(--error);margin:0;font-size:14px}:root[data-platform=ios] input,:root[data-platform=ios] textarea{font-size:16px}@media (width<=820px){:root:root{--app-pad:0px;--app-gap:0px;--radius-panel:0px;--sidebar-border-w:0;--chat-border-w:0;--head-inset:0px;--head-radius:0px;--head-border-w:0 0 1px;--head-space:68px;--day-top:60px;--slot-pad:8px 10px calc(8px + env(safe-area-inset-bottom))}:root[data-platform=ios]{--head-space:72px;--day-top:62px;--slot-bg:transparent;--slot-border-w:0;--slot-pad:0 10px calc(10px + env(safe-area-inset-bottom))}.app{grid-template-columns:minmax(0,1fr)}.app[data-view=list]>.chat,.app[data-view=chat]>.sidebar{display:none}.sidebar-head{padding-top:calc(16px + env(safe-area-inset-top))}.chat-head{padding-top:calc(7px + env(safe-area-inset-top))}.chat-head .back{margin-right:-6px;display:inline-grid}.messages{padding-top:calc(var(--head-space) + env(safe-area-inset-top))}.day-float{top:calc(var(--day-top) + env(safe-area-inset-top))}.bubble{max-width:86%}.login-screen{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.popover-hint{color:var(--muted);margin:0;padding:0 14px 8px;font-size:12px;line-height:1.35}.popover-item:disabled{opacity:.55}.image-open{cursor:zoom-in;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:100%;padding:0;display:block}.lightbox{z-index:100;padding:calc(56px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));background:#000000f0;place-items:center;animation:.16s ease-out rise;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:6px;max-width:100%;max-height:100%}.lightbox-bar{top:env(safe-area-inset-top);color:#fff;align-items:center;gap:4px;padding:8px 12px;display:flex;position:absolute;left:0;right:0}.lightbox-bar .icon-button{color:#fff}.lightbox-name{text-overflow:ellipsis;white-space:nowrap;opacity:.8;flex:1;min-width:0;font-size:14px;overflow:hidden}@media (pointer:coarse){.bubble{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}.sheet-backdrop{z-index:90;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#00000061;justify-content:center;align-items:flex-end;animation:.16s ease-out rise;display:flex;position:fixed;inset:0}.sheet{background:var(--glass-solid);width:min(100%,360px);-webkit-backdrop-filter:blur(var(--blur)) saturate(180%);backdrop-filter:blur(var(--blur)) saturate(180%);border:1px solid var(--glass-border);border-radius:20px;flex-direction:column;gap:2px;padding:8px;display:flex;box-shadow:0 8px 28px #00000047}@media (width>=640px){.sheet-backdrop{align-items:center}}.sheet-title{color:var(--muted);text-align:center;margin:0;padding:8px 12px 4px;font-size:13px}.sheet-error{color:var(--error);text-align:center;margin:0;padding:4px 12px 6px;font-size:13px}.sheet-item{width:100%;font:inherit;color:var(--text);text-align:center;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:13px 12px;font-size:16px}.sheet-item:hover:not(:disabled){background:var(--hover)}.sheet-item:disabled{opacity:.5}.sheet-item[data-danger=true]{color:var(--error)}.sheet-cancel{border-top:1px solid var(--border);border-radius:0 0 12px 12px;margin-top:4px;font-weight:600}.row{position:relative}.select-mark{border:2px solid color-mix(in srgb, var(--muted) 65%, transparent);background:color-mix(in srgb, var(--panel) 55%, transparent);color:#0000;border-radius:50%;place-items:center;width:24px;height:24px;margin-top:-12px;transition:background .12s,border-color .12s,color .12s,transform .12s;display:none;position:absolute;top:50%;right:12px}.row[data-selecting=true]{cursor:pointer;margin:0 -12px;padding:2px 12px}.row[data-selecting=true][data-mine=true] .bubble{transform:translate(-36px)}.row .bubble{transition:transform .3s cubic-bezier(.32,.72,0,1)}.row[data-selecting=true][data-first=true]{padding-top:10px}.row[data-selecting=true] .select-mark{display:grid}.row[data-selected=true] .select-mark{border-color:var(--button);background:var(--button);color:var(--on-button);transform:scale(1.04)}.row[data-selecting=true] .bubble{pointer-events:none}.chat-head .icon-button.danger:hover{color:var(--error)}.lightbox,.lightbox-stage{touch-action:none}.lightbox-stage{padding:calc(56px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.lightbox-stage img{object-fit:contain;transform-origin:50%;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:zoom-in;border-radius:6px;max-width:100%;max-height:100%}.lightbox-stage img[data-zoomed=true]{cursor:grab}.lightbox-bar{z-index:1}:root{--spring:cubic-bezier(.32, .72, 0, 1);--spring-bounce:cubic-bezier(.2, .9, .25, 1.15)}:root[data-nav]::view-transition-old(root){animation-duration:.44s;animation-timing-function:var(--spring);animation-fill-mode:both}:root[data-nav]::view-transition-new(root){animation-duration:.44s;animation-timing-function:var(--spring);animation-fill-mode:both}:root[data-nav=forward]::view-transition-old(root){animation-name:nav-cover}:root[data-nav=forward]::view-transition-new(root){z-index:2;animation-name:nav-enter-right}:root[data-nav=back]::view-transition-old(root){z-index:2;animation-name:nav-leave-right}:root[data-nav=back]::view-transition-new(root){animation-name:nav-uncover}@keyframes nav-enter-right{0%{transform:translate(100%);box-shadow:-10px 0 28px #0000004d}to{transform:translate(0);box-shadow:-10px 0 28px #0000}}@keyframes nav-cover{to{filter:brightness(.82);transform:translate(-28%)}}@keyframes nav-leave-right{0%{transform:translate(0);box-shadow:-10px 0 28px #0000004d}to{transform:translate(100%);box-shadow:-10px 0 28px #0000}}@keyframes nav-uncover{0%{filter:brightness(.82);transform:translate(-28%)}}@keyframes bubble-in{0%{opacity:0;transform:translateY(10px)scale(.9)}}:root[data-platform=ios] .row{animation:none}:root[data-platform=ios] .row .bubble{transform-origin:0 100%;animation:bubble-in .36s var(--spring-bounce) both}:root[data-platform=ios] .row[data-mine=true] .bubble{transform-origin:100% 100%}@keyframes sheet-up{0%{opacity:0;transform:translateY(48px)scale(.98)}}@keyframes fade-in{0%{opacity:0}}@keyframes pop-ios{0%{opacity:0;transform:scale(.6)}}@keyframes zoom-in{0%{opacity:0;transform:scale(.92)}}:root[data-platform=ios] .sheet-backdrop{animation:.22s ease-out fade-in}:root[data-platform=ios] .sheet{animation:sheet-up .42s var(--spring) both}:root[data-platform=ios] .popover{transform-origin:100% 0;animation:pop-ios .32s var(--spring-bounce) both}:root[data-platform=ios] .lightbox{animation:.2s ease-out fade-in}:root[data-platform=ios] .lightbox-stage{animation:zoom-in .34s var(--spring) both}@keyframes mark-in{0%{opacity:0;transform:scale(.7)}}@keyframes mark-pop{0%{transform:scale(.7)}55%{transform:scale(1.22)}to{transform:scale(1.04)}}:root[data-platform=ios] .row[data-selecting=true] .select-mark{animation:mark-in .3s var(--spring) both}:root[data-platform=ios] .row[data-selected=true] .select-mark{animation:mark-pop .34s var(--spring-bounce) both}:root[data-platform=ios] .login,:root[data-platform=ios] .welcome{animation:sheet-up .55s var(--spring) both}:root[data-platform=ios] :is(.icon-button,.avatar-button,.attach,.send,.primary,.popover-item,.sheet-item,.history-note.action){transition:transform .34s var(--spring-bounce), background .15s, color .15s, opacity .15s}:root[data-platform=ios] :is(.icon-button,.avatar-button,.attach,.send,.primary):active:not(:disabled){transition-duration:80ms;transform:scale(.88)}:root[data-platform=ios] :is(.popover-item,.sheet-item,.history-note.action):active:not(:disabled){transition-duration:80ms;transform:scale(.97)}:root[data-platform=ios] .dialog{transition:transform .34s var(--spring-bounce), background .12s}:root[data-platform=ios] .dialog:active{background:var(--hover);transition-duration:80ms;transform:scale(.985)}@keyframes send-wake{0%{transform:scale(.78)}}:root[data-platform=ios] .send:not(:disabled){animation:send-wake .38s var(--spring-bounce)}.text a.link{color:inherit;text-underline-offset:2px;overflow-wrap:anywhere;text-decoration:underline}.to-bottom{z-index:3;right:16px;bottom:calc(var(--composer-h) + 16px);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;animation:.15s ease-out fade-in;display:grid;position:absolute}.to-bottom .badge{position:absolute;top:-10px;left:50%;transform:translate(-50%)}.drop-hint{z-index:20;border:2px dashed var(--button);background:color-mix(in srgb, var(--panel) 80%, transparent);color:var(--text);pointer-events:none;border-radius:20px;place-items:center;margin:8px;font-size:16px;font-weight:500;display:grid;position:absolute;inset:0}.text code,.text .code-block{background:#808a9c33;border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.text code{padding:1px 5px}.text .code-block{white-space:pre;margin:4px 0;padding:8px 10px;display:block;overflow-x:auto}.text mark{color:inherit;background:#ffc8008c;border-radius:3px;padding:0 1px}.row[data-current=true] .bubble{outline:2px solid var(--button);outline-offset:1px}.spoiler{cursor:pointer;border-radius:4px;transition:background .2s,color .2s}.spoiler[data-shown=false]{color:#0000;-webkit-user-select:none;user-select:none;background:#808a9c8c}.spoiler[data-shown=false] *{color:#0000}.bubble[data-emoji=true]{box-shadow:none;background:0 0;padding:0 4px;font-size:54px;line-height:1.15}.row[data-mine=true] .bubble[data-emoji=true]{background:0 0}.bubble[data-emoji=true] .stamp{color:#fff;background:#00000047;border-radius:10px;margin-top:0;padding:2px 8px;font-size:12px}.bubble[data-emoji=true] .ticks{color:#fff}.composer-files{max-height:34vh;overflow-y:auto}.composer-wrap{position:relative}.emoji-button[data-active=true]{color:var(--button)}.emoji-panel{z-index:5;border-radius:18px;width:min(340px,100% - 16px);padding:8px;position:absolute;bottom:calc(100% + 8px);left:8px}.emoji-tabs{border-bottom:1px solid var(--border);gap:2px;padding-bottom:6px;display:flex}.emoji-tabs button{opacity:.55;cursor:pointer;border-radius:10px;flex:1;height:34px;font-size:19px}.emoji-tabs button[data-active=true]{opacity:1;background:var(--hover)}.emoji-grid{grid-template-columns:repeat(8,1fr);max-height:210px;margin-top:6px;display:grid;overflow-y:auto}.emoji-grid button{cursor:pointer;border-radius:8px;height:38px;font-size:23px}.emoji-grid button:hover{background:var(--hover)}.lightbox-count{opacity:.8;white-space:nowrap;font-size:13px}.lightbox-nav{z-index:1;color:#fff;cursor:pointer;background:#00000073;border-radius:50%;place-items:center;width:44px;height:44px;margin-top:-22px;display:grid;position:absolute;top:50%}.lightbox-nav.prev{left:12px}.lightbox-nav.next{right:12px}@media (pointer:coarse){.lightbox-nav{display:none}}.chat-search{min-width:0;height:36px;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:0 4px}.chat-search-count{color:var(--muted);white-space:nowrap;flex:none;font-size:13px}.messages-skeleton{flex-direction:column;gap:8px;padding:8px 0;display:flex}.row.skeleton{animation:none}.sk.bubble-sk{border-radius:var(--radius-bubble);max-width:78%}@keyframes send-pop{0%{opacity:0;transform:translateY(10px)scale(.92)}}.row[data-pending=true]{transform-origin:100% 100%;animation:.28s cubic-bezier(.32,.72,0,1) send-pop}.row[data-pending=true] .bubble{opacity:.85;transition:opacity .3s}.row[data-pending=true][data-failed=true] .bubble{opacity:1}.ctx-menu{z-index:95;min-width:200px;position:fixed;bottom:auto;right:auto}.badge[data-muted=true]{background:var(--muted);color:var(--page)}.dialog-meta svg{vertical-align:-2px;margin-right:2px}.settings{gap:4px}.setting{text-align:left;flex-direction:column;gap:6px;padding:8px 12px;display:flex}.setting-toggle{cursor:pointer;border-radius:12px;flex-direction:row;justify-content:space-between;align-items:center}.setting-toggle:hover{background:var(--hover)}.setting-text{flex-direction:column;gap:2px;display:flex}.setting-label{font-size:15px}.setting-hint{color:var(--muted);font-size:12.5px}.segmented{background:var(--hover);border-radius:10px;padding:2px;display:flex}.segmented button{cursor:pointer;border-radius:8px;flex:1;height:32px;font-size:13.5px}.segmented button[data-active=true]{background:var(--button);color:var(--on-button)}.switch{background:#808a9c73;border-radius:13px;flex:none;width:44px;height:26px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s cubic-bezier(.32,.72,0,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch[data-on=true]{background:var(--button)}.switch[data-on=true]:after{transform:translate(18px)}:root[data-font=small] .text{font-size:13.5px}:root[data-font=large] .text{font-size:17.5px}html:root[data-bubbles=square]{--radius-bubble:6px;--radius-joined:3px}html:root[data-bubbles=round]{--radius-bubble:24px;--radius-joined:12px}:root[data-wallpaper=plain] .chat:before{background:0 0}:root[data-wallpaper=dusk] .chat:before{opacity:.3;filter:none;background:linear-gradient(160deg,#f4b9a0,#8d80d8)}:root[data-wallpaper=mint] .chat:before{opacity:.3;filter:none;background:linear-gradient(160deg,#a4e8cf,#4aa3b8)}:root[data-theme=dark][data-wallpaper=dusk] .chat:before,:root[data-theme=dark][data-wallpaper=mint] .chat:before{opacity:.2}.dialog-draft{color:var(--error)}.dialog[data-active=true] .dialog-draft{color:var(--selected-text);opacity:.9}.search-results{z-index:2;padding:var(--head-space) 0 calc(var(--composer-h) + 8px);overscroll-behavior:contain;background:var(--chat-base,var(--page));position:absolute;inset:0;overflow-y:auto}.search-hit{text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;max-width:780px;margin:0 auto;padding:8px 16px;display:flex}.search-hit:hover,.search-hit[data-current=true]{background:var(--hover)}.search-hit-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.search-hit-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.search-hit-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.search-hit-time{color:var(--muted);flex:none;font-size:12.5px}.search-hit-text{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.search-hit-text mark{color:var(--text);background:#ffc8008c;border-radius:3px;padding:0 1px}.search-empty{text-align:center;color:var(--muted);margin:0;padding:18px 16px;font-size:14px}.upload-backdrop{z-index:90;background:#00000073;justify-content:center;align-items:center;padding:12px;animation:.16s ease-out fade-in;display:flex;position:fixed;inset:0}.upload-modal{background:var(--glass-solid);width:min(100%,480px);max-height:min(100%,760px);color:var(--text);border-radius:24px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000059}.upload-head{align-items:center;gap:8px;padding:10px 10px 6px;display:flex}.upload-head h2{text-align:center;flex:1;margin:0;font-size:17px;font-weight:600}.upload-body{flex:1;min-height:0;padding:6px 12px;overflow-y:auto}.upload-grid{border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;display:grid;position:relative;overflow:hidden}.upload-grid[data-count="1"]{grid-template-columns:minmax(0,1fr)}.upload-grid[data-count="3"] .upload-tile:first-child{aspect-ratio:auto;grid-row:span 2}.upload-grid[data-count="5"]{grid-template-columns:repeat(6,minmax(0,1fr))}.upload-grid[data-count="5"] .upload-tile:nth-child(-n+2){grid-column:span 3}.upload-grid[data-count="5"] .upload-tile:nth-child(n+3){grid-column:span 2}.upload-tile{aspect-ratio:1;background:var(--hover);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;min-width:0;transition:transform .18s cubic-bezier(.32,.72,0,1),box-shadow .18s;position:relative;overflow:hidden}.upload-tile[data-single=true]{aspect-ratio:auto;border-radius:16px}.upload-grid:not([data-count="1"]) .upload-tile{touch-action:none;cursor:grab}.upload-tile img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.upload-tile[data-single=true] img{object-fit:contain;background:#0000001f;height:auto;max-height:52vh}.upload-tile[data-dragging=true]{z-index:2;cursor:grabbing;transition:box-shadow .18s;box-shadow:0 10px 28px #0006}.upload-file{align-items:center;gap:10px;height:100%;padding:12px;display:flex}.upload-file .file-badge{background:var(--button);color:var(--on-button)}.upload-number{min-width:24px;height:24px;color:var(--on-button);background:var(--button);pointer-events:none;border-radius:12px;place-items:center;padding:0 6px;font-size:13px;font-weight:600;display:grid;position:absolute;top:6px;right:6px}.upload-tools{gap:4px;display:flex;position:absolute;top:6px;left:6px}.upload-tools button{color:#fff;cursor:pointer;background:#00000080;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.upload-hint{text-align:center;color:var(--muted);margin:8px 0 2px;font-size:13px}.upload-error{color:var(--error);margin:0;padding:4px 16px;font-size:13px}.upload-caption{background:var(--composer-bg,var(--hover));border:1px solid var(--border);border-radius:26px;align-items:flex-end;gap:4px;margin:6px 10px 10px;padding:4px 4px 4px 14px;display:flex;position:relative}.upload-caption textarea{resize:none;min-width:0;max-height:120px;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:10px 0}.upload-caption .attach{flex:none;margin-left:0}.upload-caption .emoji-panel{left:auto;right:0}.upload-confirm{z-index:3;background:#00000059;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.upload-confirm-card{background:var(--glass-solid);text-align:center;border-radius:20px;width:min(100%,300px);padding:16px}.upload-confirm-card p{margin:4px 0 14px;font-size:16px}.upload-confirm-card div{gap:8px;display:flex}.upload-confirm-card button{background:var(--hover);height:42px;color:var(--text);cursor:pointer;border-radius:21px;flex:1;font-weight:600}.upload-confirm-card button[data-primary=true]{background:var(--button);color:var(--on-button)}@media (width<=640px){.upload-backdrop{padding:8px 8px calc(8px + env(safe-area-inset-bottom));align-items:flex-end}.upload-modal{width:100%;max-height:94%}}.cropper{z-index:100;color:#fff;background:#101114;flex-direction:column;animation:.16s ease-out fade-in;display:flex;position:fixed;inset:0}.cropper-bar{padding:calc(8px + env(safe-area-inset-top)) 12px 8px;align-items:center;gap:4px;display:flex}.cropper-bar .icon-button{color:#fff}.cropper-bar .icon-button.apply{color:var(--button)}.cropper-title{text-align:center;flex:1;font-size:17px;font-weight:600}.cropper-stage{flex:1;place-items:center;min-height:0;padding:12px 20px;display:grid}.cropper-error{color:#ffb4ab}.cropper-frame{touch-action:none;-webkit-user-select:none;user-select:none;line-height:0;position:relative;overflow:hidden}.cropper-frame img{-webkit-touch-callout:none;max-width:calc(100vw - 40px);max-height:calc(100dvh - 190px);display:block}.crop-rect{cursor:move;touch-action:none;background-image:linear-gradient(#ffffff59 1px,#0000 1px),linear-gradient(90deg,#ffffff59 1px,#0000 1px);background-position:-1px -1px;background-size:33.333% 33.333%;border:2px solid #fff;position:absolute;box-shadow:0 0 0 9999px #0000009e}.crop-handle{touch-action:none;width:28px;height:28px;position:absolute}.crop-handle:after{content:"";border:0 solid #fff;width:16px;height:16px;position:absolute}.crop-handle[data-handle=nw]{cursor:nwse-resize;top:-14px;left:-14px}.crop-handle[data-handle=nw]:after{border-width:4px 0 0 4px;top:11px;left:11px}.crop-handle[data-handle=ne]{cursor:nesw-resize;top:-14px;right:-14px}.crop-handle[data-handle=ne]:after{border-width:4px 4px 0 0;top:11px;right:11px}.crop-handle[data-handle=sw]{cursor:nesw-resize;bottom:-14px;left:-14px}.crop-handle[data-handle=sw]:after{border-width:0 0 4px 4px;bottom:11px;left:11px}.crop-handle[data-handle=se]{cursor:nwse-resize;bottom:-14px;right:-14px}.crop-handle[data-handle=se]:after{border-width:0 4px 4px 0;bottom:11px;right:11px}.cropper-presets{padding:8px 12px calc(14px + env(safe-area-inset-bottom));gap:8px;display:flex;overflow-x:auto}.cropper-presets button{color:#fff;cursor:pointer;background:#ffffff1f;border-radius:17px;flex:none;height:34px;padding:0 14px;font-size:14px}.cropper-presets button[data-active=true]{background:var(--button);color:var(--on-button)}@keyframes backdrop-in{0%{opacity:0}}@keyframes backdrop-out{to{opacity:0}}@keyframes window-in{0%{opacity:0;transform:translateY(24px)scale(.93)}}@keyframes window-out{to{opacity:0;transform:translateY(16px)scale(.96)}}@keyframes window-in-bottom{0%{transform:translateY(100%)}}@keyframes window-out-bottom{to{transform:translateY(100%)}}@keyframes pop-in{0%{opacity:0;transform:scale(.86)}}@keyframes slide-down-in{0%{opacity:0;transform:translateY(-8px)}}@keyframes item-in{0%{opacity:0;transform:translateY(10px)}}@keyframes tile-in{0%{opacity:0;transform:scale(.82)}}@keyframes hit-flash{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--button) 55%, transparent)}to{box-shadow:0 0 0 14px #0000}}@keyframes emoji-pop{0%{opacity:0;transform:scale(.4)rotate(-12deg)}60%{transform:scale(1.14)rotate(4deg)}}@keyframes badge-pop{0%{transform:translate(-50%)scale(.4)}60%{transform:translate(-50%)scale(1.25)}}.upload-backdrop{animation:.22s ease-out backdrop-in}.upload-modal{animation:window-in .45s var(--spring) both}.upload-backdrop[data-leaving=true]{animation:.18s ease-in forwards backdrop-out}.upload-backdrop[data-leaving=true] .upload-modal{animation:.18s ease-in forwards window-out}.upload-tile[data-entered=false]{animation:tile-in .5s var(--spring) backwards;animation-delay:calc(var(--i,0) * 55ms + .12s)}.upload-tools button{transition:transform .2s var(--spring-bounce), background .15s}.upload-tools button:hover{background:#000000b3;transform:scale(1.12)}.upload-tools button:active{transform:scale(.9)}.upload-tile[data-entered=false] .upload-number{animation:pop-in .4s var(--spring-bounce) backwards;animation-delay:calc(var(--i,0) * 55ms + .3s)}.upload-hint{animation:item-in .4s var(--spring) backwards;animation-delay:.35s}.upload-caption{animation:item-in .45s var(--spring) backwards;transition:border-color .2s,box-shadow .2s;animation-delay:.2s}.upload-caption:focus-within{border-color:var(--button);box-shadow:0 0 0 3px color-mix(in srgb, var(--button) 22%, transparent)}.upload-confirm{animation:.18s ease-out backdrop-in}.upload-confirm-card{animation:pop-in .34s var(--spring-bounce)}.upload-confirm-card button{transition:transform .15s var(--spring-bounce), filter .15s}.upload-confirm-card button:active{transform:scale(.94)}@media (width<=640px){.upload-modal{animation-name:window-in-bottom;animation-duration:.5s}.upload-backdrop[data-leaving=true] .upload-modal{animation-name:window-out-bottom}}.cropper{animation:.25s ease-out backdrop-in}.cropper-frame{animation:tile-in .5s var(--spring) backwards;animation-delay:80ms}.cropper-bar{animation:slide-down-in .4s var(--spring) backwards}.cropper-presets{animation:item-in .45s var(--spring) backwards;animation-delay:.12s}.cropper-presets button{transition:background .2s, color .2s, transform .2s var(--spring-bounce)}.cropper-presets button:active{transform:scale(.92)}.crop-rect{transition:box-shadow .2s}.emoji-panel{transform-origin:0 100%;animation:pop-in .3s var(--spring-bounce)}.upload-caption .emoji-panel{transform-origin:100% 100%}.emoji-grid{animation:item-in .28s var(--spring)}.emoji-grid button{transition:transform .15s var(--spring-bounce), background .12s}.emoji-grid button:hover{transform:scale(1.28)}.emoji-grid button:active{transform:scale(.9)}.emoji-tabs button{transition:opacity .2s, background .2s, transform .2s var(--spring-bounce)}.emoji-tabs button:active{transform:scale(.88)}.emoji-button{transition:color .2s, transform .25s var(--spring-bounce)}.emoji-button[data-active=true]{transform:rotate(-14deg)scale(1.1)}.bubble[data-emoji=true]{animation:emoji-pop .55s var(--spring-bounce) backwards}.chat-search,.chat-search-count{animation:slide-down-in .35s var(--spring) backwards}.chat-search-count{animation-delay:50ms}.search-results{animation:item-in .3s var(--spring)}.search-hit{animation:item-in .4s var(--spring) backwards;animation-delay:calc(var(--i,0) * 32ms);transition:background .15s}.search-empty{animation:item-in .3s var(--spring)}.row[data-current=true] .bubble{animation:1.3s ease-out hit-flash}.search-hit-text mark,.text mark{animation:pop-in .35s var(--spring-bounce) backwards}.ctx-menu{transform-origin:0 0;animation:pop-in .26s var(--spring-bounce)}.sheet.settings{animation:window-in .45s var(--spring) both}@media (width<=640px){.sheet.settings{animation-name:window-in-bottom}}.segmented button{transition:background .22s, color .22s, transform .2s var(--spring-bounce)}.segmented button:active{transform:scale(.95)}.dialog-draft{animation:slide-down-in .3s var(--spring) backwards}.dialog-name,.dialog-preview{transition:color .2s}.to-bottom{animation:pop-in .35s var(--spring-bounce);transition:transform .2s var(--spring-bounce)}.to-bottom:hover{transform:scale(1.1)}.to-bottom:active{transform:scale(.92)}.to-bottom .badge{animation:badge-pop .4s var(--spring-bounce)}.day-float span{transition:transform .35s var(--spring)}.day-float[data-shown=false] span{transform:translateY(-8px)scale(.96)}.album-tile .image img{transition:opacity .3s, transform .5s var(--spring)}@media (hover:hover){.album-tile:hover .image img,.bubble[data-photo=true] .image:hover img{transform:scale(1.04)}}.lightbox-stage img{animation:tile-in .34s var(--spring) backwards}.lightbox-nav{transition:transform .2s var(--spring-bounce), background .15s}.lightbox-nav:hover{background:#000000a6;transform:scale(1.12)}.lightbox-nav:active{transform:scale(.92)}.spoiler{transition:background .3s,color .3s}.upload-modal.glass,.upload-confirm-card.glass,.emoji-panel.glass,.cropper{-webkit-backdrop-filter:none;backdrop-filter:none}.upload-modal.glass,.upload-confirm-card.glass,.emoji-panel.glass{background:var(--glass-solid)}.upload-modal,.upload-confirm-card,.emoji-panel{will-change:transform, opacity;backface-visibility:hidden}.upload-grid{isolation:isolate;transform:translateZ(0)}.upload-backdrop{overscroll-behavior:contain}:root[data-platform=ios] .upload-modal{animation-name:window-in-soft;animation-duration:.42s}:root[data-platform=ios] .upload-backdrop[data-leaving=true] .upload-modal{animation-name:window-out-soft}@keyframes window-in-soft{0%{opacity:0;transform:translateY(28px)}}@keyframes window-out-soft{to{opacity:0;transform:translateY(20px)}}@keyframes tile-fade{0%{opacity:0}}:root[data-platform=ios] .upload-tile[data-entered=false]{animation-name:tile-fade;animation-duration:.35s;animation-delay:calc(var(--i,0) * 40ms + .15s)}:root[data-platform=ios] .upload-tile[data-entered=false] .upload-number,:root[data-platform=ios] .upload-hint,:root[data-platform=ios] .upload-caption{animation:none}.chat-head .icon-button,.search .clear{transition:transform .25s var(--spring-bounce), background .15s, color .15s}.chat-head .icon-button:active:not(:disabled),.search .clear:active{transition-duration:80ms;transform:scale(.86)}.chat-head .icon-button svg{transition:transform .3s var(--spring-bounce)}@media (hover:hover){.chat-head .icon-button[aria-label="Поиск в чате"]:hover svg{transform:scale(1.14)rotate(-10deg)}}.chat-head .icon-button[aria-label="Поиск в чате"]:active svg{transform:scale(.9)rotate(-14deg)}@keyframes search-in{0%{opacity:0;transform:translate(14px)scale(.92)}}.chat-head[data-searching=true]>.icon-button{animation:search-in .42s var(--spring) backwards}.chat-head[data-searching=true]>.icon-button:first-child{animation-delay:0s}.chat-head[data-searching=true]>.chat-search{animation:search-in .45s var(--spring) backwards;animation-delay:40ms}.chat-head[data-searching=true]>.chat-search-count{animation:search-in .45s var(--spring) backwards;animation-delay:.1s}.chat-head[data-searching=true]>.icon-button:nth-last-child(2){animation-delay:.12s}.chat-head[data-searching=true]>.icon-button:last-child{animation-delay:.16s}@keyframes search-out{to{opacity:0;transform:translate(14px)scale(.92)}}@keyframes return-in{0%{opacity:0;transform:translate(-14px)scale(.92)}}@keyframes results-out{to{opacity:0;transform:translateY(8px)}}.chat-head[data-searching=true][data-closing=true]>*{animation:.2s ease-in forwards search-out!important}.search-results[data-closing=true]{animation:.2s ease-in forwards results-out}.chat-head[data-returning=true]>*{animation:return-in .45s var(--spring) backwards}.chat-head[data-returning=true]>:nth-child(2){animation-delay:40ms}.chat-head[data-returning=true]>:nth-child(3){animation-delay:80ms}.chat-head[data-returning=true]>:nth-child(n+4){animation-delay:.12s}@keyframes count-tick{0%{opacity:0;transform:translateY(6px)}}.chat-head[data-searching=true]>.chat-search-count{animation-name:search-in,count-tick;animation-duration:.45s,.25s;animation-delay:.1s,0s}.search{transition:box-shadow .25s, background .25s, transform .3s var(--spring)}.search:focus-within{transform:scale(1.015)}.search svg{transition:transform .35s var(--spring-bounce), color .2s}.search:focus-within svg{transform:scale(1.15)rotate(-8deg)}.search .clear{animation:pop-in .3s var(--spring-bounce)}@media (prefers-reduced-motion:reduce){.upload-backdrop,.upload-modal,.upload-tile,.upload-tile .upload-number,.upload-hint,.upload-caption,.upload-confirm,.upload-confirm-card,.cropper,.cropper-frame,.cropper-bar,.cropper-presets,.emoji-panel,.emoji-grid,.bubble[data-emoji=true],.chat-search,.chat-search-count,.search-results,.search-hit,.search-empty,.row[data-current=true] .bubble,.text mark,.ctx-menu,.sheet.settings,.dialog-draft,.to-bottom,.to-bottom .badge,.lightbox-stage img,.chat-head[data-searching=true]>*,.chat-head[data-returning=true]>*,.search-results[data-closing=true],.search .clear{animation:none!important}.upload-tools button,.emoji-grid button,.emoji-tabs button,.emoji-button,.segmented button,.day-float span,.album-tile .image img,.lightbox-nav,.chat-head .icon-button,.chat-head .icon-button svg,.search,.search svg{transition:none!important}}.composer-field{display:contents}:root[data-platform=ios]{--tg-glass:#ffffff9e;--tg-glass-border:#ffffffbf;--tg-shadow:0 6px 20px #1e285a29, 0 1px 3px #1e285a1a;--tg-icon:#2c2c31;--tg-out-a:#4a9bff;--tg-out-b:#1f6fee;--tg-pill-h:44px}:root[data-platform=ios][data-theme=dark]{--tg-glass:#1c1c228c;--tg-glass-border:#ffffff24;--tg-shadow:0 6px 22px #00000073, 0 1px 3px #0000004d;--tg-icon:#f2f2f7}:root[data-platform=ios][data-wallpaper=pattern] .chat{background:linear-gradient(165deg,#a9dcff 0%,#cdb9ff 48%,#ffbcd6 100%)}:root[data-platform=ios][data-wallpaper=pattern][data-theme=dark] .chat{background:linear-gradient(165deg,#07122e 0%,#2f1a63 50%,#7c2a74 100%)}:root[data-platform=ios][data-wallpaper=pattern] .chat:before{opacity:.2;filter:invert();mix-blend-mode:soft-light}:root[data-platform=ios][data-wallpaper=pattern][data-theme=dark] .chat:before{opacity:.32;filter:none;mix-blend-mode:normal}:root[data-platform=ios] .chat-head.glass{top:calc(env(safe-area-inset-top) + 8px);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;border:0;border-radius:0;gap:8px;padding:0;left:10px;right:10px}:root[data-platform=ios] .chat-head.glass:before{display:none}:root[data-platform=ios] .chat-head>*{pointer-events:auto}:root[data-platform=ios] .chat-head>.icon-button{width:var(--tg-pill-h);height:var(--tg-pill-h);color:var(--tg-icon);background:var(--tg-glass);border:1px solid var(--tg-glass-border);box-shadow:var(--tg-shadow);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);position:relative}:root[data-platform=ios] .chat-head>.icon-button:hover{color:var(--tg-icon)}:root[data-platform=ios] .chat-head>.icon-button.danger:hover{color:var(--error)}:root[data-platform=ios] .chat-head .back{width:auto;min-width:var(--tg-pill-h);border-radius:22px;grid-auto-flow:column;gap:6px;margin:0;padding:0 12px;display:inline-grid}.back-badge{min-width:22px;height:22px;color:var(--on-button);background:var(--button);border-radius:11px;place-items:center;padding:0 6px;font-size:13px;font-weight:600;display:grid}:root[data-platform=ios] .chat-head>.chat-title{height:var(--tg-pill-h);text-align:center;background:var(--tg-glass);border:1px solid var(--tg-glass-border);box-shadow:var(--tg-shadow);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);border-radius:22px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:0 16px;display:flex}:root[data-platform=ios] .chat-head .chat-title h1{max-width:100%;color:var(--text);font-size:16.5px;font-weight:600;line-height:1.15}:root[data-platform=ios] .chat-head .chat-title p{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12.5px;line-height:1.2;overflow:hidden}:root[data-platform=ios] .chat-head>.avatar{border:1px solid var(--tg-glass-border);box-shadow:var(--tg-shadow);flex:none;order:9;width:var(--tg-pill-h)!important;height:var(--tg-pill-h)!important}:root[data-platform=ios] .chat-head>.icon-button.refresh{display:none}:root[data-platform=ios] .chat-head>.chat-search{height:var(--tg-pill-h);background:var(--tg-glass);border:1px solid var(--tg-glass-border);box-shadow:var(--tg-shadow);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);border-radius:22px;padding:0 16px}:root[data-platform=ios] .chat-head>.chat-search-count{background:var(--tg-glass);border:1px solid var(--tg-glass-border);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);border-radius:16px;place-items:center;height:32px;padding:0 10px;display:grid}:root[data-platform=ios] .messages,:root[data-platform=ios] .search-results{padding-top:calc(env(safe-area-inset-top) + 64px)}:root[data-platform=ios] .day-float{top:calc(env(safe-area-inset-top) + 58px)}:root[data-platform=ios] .day span,:root[data-platform=ios] .day-float span{color:#fff;-webkit-backdrop-filter:blur(14px)saturate(160%);backdrop-filter:blur(14px)saturate(160%);background:#281e3c6b;border:0;padding:4px 12px;font-size:13px;font-weight:500}:root[data-platform=ios] .bubble{box-shadow:0 1px 1.5px #0000001f}:root[data-platform=ios] .row[data-mine=true] .bubble:not([data-emoji=true]){background:linear-gradient(160deg, var(--tg-out-a), var(--tg-out-b))}:root[data-platform=ios][data-theme=dark] .row[data-mine=false] .bubble:not([data-emoji=true]){background:#26262eeb}:root[data-platform=ios] .composer-slot{padding:0 10px calc(10px + env(safe-area-inset-bottom))}:root[data-platform=ios] .composer.glass-pill{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;align-items:flex-end;gap:8px;padding:0}:root[data-platform=ios] .composer.glass-pill:before{display:none}:root[data-platform=ios] .composer>.attach,:root[data-platform=ios] .composer>.send{width:var(--tg-pill-h);height:var(--tg-pill-h);color:var(--tg-icon);background:var(--tg-glass);border:1px solid var(--tg-glass-border);box-shadow:var(--tg-shadow);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);margin:0}:root[data-platform=ios] .composer>.attach:hover{color:var(--tg-icon);background:var(--tg-glass)}:root[data-platform=ios] .composer>.attach{order:1}:root[data-platform=ios] .composer-field{min-width:0;min-height:var(--tg-pill-h);background:var(--tg-glass);border:1px solid var(--tg-glass-border);box-shadow:var(--tg-shadow);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);border-radius:22px;flex:1;order:2;align-items:flex-end;padding:0 4px 0 16px;display:flex}:root[data-platform=ios] .composer-field textarea{color:var(--text);padding:11px 0;font-size:16px}:root[data-platform=ios] .composer-field .emoji-button{width:38px;height:38px;color:var(--tg-icon);opacity:.7;margin:3px 0}:root[data-platform=ios] .composer>.camera-button,:root[data-platform=ios] .composer>.send{order:3}:root[data-platform=ios] .composer[data-empty=true]>.send,:root[data-platform=ios] .composer[data-empty=false]>.camera-button{display:none}:root[data-platform=ios] .composer>.send{color:#fff;background:var(--button);opacity:1;border-color:#0000}:root[data-platform=ios] .composer>.send:disabled{opacity:.45;background:var(--button)}:root[data-platform=ios] .composer>.send svg{width:22px;height:22px}:root[data-platform=ios] .composer>.send,:root[data-platform=ios] .composer>.camera-button{animation:pop-in .3s var(--spring-bounce)}:root[data-platform=ios] .to-bottom{bottom:calc(var(--composer-h) + 14px)}@media (prefers-reduced-motion:reduce){:root[data-platform=ios] .composer>.send,:root[data-platform=ios] .composer>.camera-button{animation:none}}
