:root{--sb-bg: #0b5c4e;--sb-ink: #eaf6f2;--sb-muted: #a7d3c8;--sb-field: #0e6f5e;--sb-hover: rgba(255, 255, 255, .07);--sb-active: rgba(255, 255, 255, .14);--head-bg: #128c7e;--head-ink: #ffffff;--head-muted: #cfeee6;--chat-bg: #e7efe9;--ink: #111b21;--muted: #667781;--line: #cfe3da;--surface: #ffffff;--link: #0b7a5e;--accent: #128c7e;--accent-deep: #0b5c4e;--primary: #25d366;--primary-ink: #062a1f;--badge: #25d366;--hover: rgba(18, 140, 126, .08);--radius-pill: 999px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{color:var(--ink);background:var(--sb-bg);overscroll-behavior-y:none;font-size:14px}input,button{font-family:inherit}.shell{height:100dvh;display:grid;grid-template-columns:320px 1fr}.pane{height:100dvh;min-width:0;position:relative;overflow:hidden}.pane-list{background:var(--sb-bg)}.pane-room{background:var(--chat-bg)}.back-btn{display:none}@media(max-width:759px){.shell{display:block}.shell:not(.shell--room) .pane-room{display:none}.shell--room .pane-list{display:none}.back-btn{display:grid}}.screen,.login,.splash{width:100%;height:100%;background:var(--surface);display:flex;flex-direction:column;position:relative;overflow:hidden}.login,.splash{height:100dvh}.empty-room{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);text-align:center;padding:24px;background-image:radial-gradient(circle at 1px 1px,rgba(11,92,78,.09) 1px,transparent 0);background-size:14px 14px}.empty-mark{font-size:34px;font-weight:800;color:var(--accent-deep);letter-spacing:-.5px}.empty-room p{margin:0;max-width:32ch}.splash{align-items:center;justify-content:center;background:var(--sb-bg);color:#fff;font-size:30px;font-weight:700;letter-spacing:.5px}.screen.sb{background:var(--sb-bg);color:var(--sb-ink)}.sb-head{display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 12px 8px;flex-shrink:0}.sb-me{flex:1;min-width:0;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-search{margin:4px 12px 8px;background:var(--sb-field);border-radius:8px;display:flex;align-items:center;gap:8px;padding:8px 12px;flex-shrink:0}.sb-search svg{width:16px;height:16px;fill:var(--sb-muted);flex-shrink:0}.sb-search input{border:0;background:transparent;outline:none;flex:1;font-size:14px;color:var(--sb-ink);min-width:0}.sb-search input::placeholder{color:var(--sb-muted)}.sb-list{overflow-y:auto;flex:1;padding-bottom:12px}.sb-sec{display:flex;align-items:center;gap:6px;width:100%;border:0;background:transparent;color:var(--sb-muted);padding:12px 14px 4px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;cursor:pointer;text-align:left}.sb-sec svg{width:14px;height:14px;fill:currentColor;transition:transform .15s}.sb-sec.closed svg{transform:rotate(-90deg)}.sb-sec .badge{margin-left:auto}.sb-list .row{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .12s}.sb-list .row:hover{background:var(--sb-hover)}.sb-list .row--active{background:var(--sb-active)}.sb-list .row-mid{flex:1;min-width:0}.row-top,.row-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.sb-list .row-name{font-size:14.5px;font-weight:600;color:var(--sb-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-list .row-time{font-size:11.5px;color:var(--sb-muted);flex-shrink:0}.sb-list .row-prev{font-size:12.5px;color:var(--sb-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sb-list .row-prev b,.sb-list .row.unread .row-prev,.sb-list .row.unread .row-time{color:var(--sb-ink);font-weight:600}.sb .hint{color:var(--sb-muted)}.bar{background:var(--head-bg);color:var(--head-ink);display:flex;align-items:center;gap:10px;flex-shrink:0;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;min-height:56px}.bar-title{font-size:20px;font-weight:700;flex:1;letter-spacing:-.2px}.icon-btn{width:36px;height:36px;border-radius:8px;border:0;cursor:pointer;background:transparent;color:#fff;display:grid;place-items:center;flex-shrink:0;transition:background .15s}.icon-btn:hover{background:#ffffff24}.icon-btn svg{width:20px;height:20px;fill:currentColor}.chat-head .chat-id{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.chat-head .chat-who{flex:1;min-width:0}.chat-name{font-size:15.5px;font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-status{font-size:12px;color:var(--head-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-status.typing{color:#d3f5e8;font-style:italic}.avatar{border-radius:50%;flex-shrink:0;display:grid;place-items:center;color:#fff;font-weight:700;position:relative;overflow:hidden}.avatar-img{width:100%;height:100%;object-fit:cover;display:block}.avatar-on{position:absolute;right:1px;bottom:1px;width:11px;height:11px;border-radius:50%;background:var(--badge);border:2px solid #fff}.search{padding:8px 12px;background:var(--surface);flex-shrink:0}.search-field{display:flex;align-items:center;gap:8px;background:#eef3f0;border-radius:var(--radius-pill);padding:8px 14px}.search-field svg{width:16px;height:16px;fill:var(--muted);flex-shrink:0}.search-field input{border:0;background:transparent;outline:none;flex:1;font-size:14px;color:var(--ink);min-width:0}.list{overflow-y:auto;flex:1;background:var(--surface)}.row{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--line);transition:background .12s}.row:hover{background:var(--hover)}.row-mid{flex:1;min-width:0}.row-name{font-size:15px;font-weight:600;margin-bottom:2px}.row-prev{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-prev b{color:#3b4a52;font-weight:600}.row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.row-time{font-size:11.5px;color:var(--muted)}.row-time.unread{color:var(--accent-deep);font-weight:700}.badge{min-width:19px;height:19px;padding:0 6px;border-radius:var(--radius-pill);background:var(--badge);color:var(--primary-ink);font-size:11.5px;font-weight:700;display:grid;place-items:center;flex-shrink:0}.thread{flex:1;overflow-y:auto;background-color:var(--chat-bg);background-image:radial-gradient(circle at 1px 1px,rgba(11,92,78,.09) 1px,transparent 0);background-size:14px 14px;padding:10px 0 12px;display:flex;flex-direction:column}.daychip{display:flex;align-items:center;gap:10px;margin:10px 16px;color:var(--muted);font-size:12px;font-weight:600;text-transform:capitalize}.daychip:before,.daychip:after{content:"";flex:1;height:1px;background:#6677814d}.m{display:flex;gap:10px;padding:5px 16px;transition:background .12s}.m:hover{background:var(--hover)}.m.seq{padding-top:1px;padding-bottom:1px}.m-av{width:34px;flex-shrink:0;display:flex;align-items:flex-start;justify-content:center;padding-top:1px}.m-hovertime{font-size:10.5px;color:var(--muted);visibility:hidden;padding-top:3px}.m:hover .m-hovertime{visibility:visible}.m-body{flex:1;min-width:0;cursor:pointer}.m-who{display:flex;align-items:baseline;gap:8px}.m-who b{font-weight:700;font-size:14px}.m-who small{color:var(--muted);font-size:11.5px}.m-txt{margin-top:1px;font-size:14.5px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.m-txt a{color:var(--link)}.edited{font-size:10.5px;color:var(--muted);margin-left:6px;font-style:italic}.quote{border-left:3px solid var(--accent);background:#128c7e14;border-radius:6px;padding:4px 8px;margin:3px 0 4px;max-width:480px}.quote-author{font-size:12px;font-weight:700;margin-bottom:1px}.quote-text{font-size:12.5px;color:#54656f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention{color:var(--accent-deep);font-weight:600;background:#25d3662e;border-radius:4px;padding:0 3px}.reactions{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.reaction{display:inline-flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);padding:1px 8px;font-size:12px;cursor:pointer;color:#54656f}.reaction.on{border-color:var(--accent);color:var(--accent-deep);background:#e9f7f2}.r-emoji{font-size:14px}.thread-ind{display:inline-flex;align-items:center;gap:6px;margin-top:6px;border:0;background:transparent;padding:0;color:var(--link);font-size:12.5px;font-weight:600;cursor:pointer}.thread-ind svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.att-image-wrap{display:block;margin-top:6px}.att-image{max-width:280px;max-height:300px;width:auto;border-radius:8px;display:block}.att-file{display:flex;align-items:center;gap:10px;margin-top:6px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;max-width:360px;text-decoration:none;color:var(--ink)}.att-ft{width:34px;height:34px;border-radius:6px;background:var(--primary);color:var(--primary-ink);display:grid;place-items:center;font-size:9.5px;font-weight:800;letter-spacing:.04em;flex-shrink:0}.att-info{min-width:0}.att-info b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-info small{color:var(--muted)}.sheet-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:flex-end;justify-content:center;z-index:50;animation:fade .15s ease}.sheet{width:100%;max-width:480px;background:#fff;border-radius:18px 18px 0 0;padding:10px 12px calc(12px + env(safe-area-inset-bottom));animation:slideup .18s ease}@media(min-width:760px){.sheet-backdrop{align-items:center}.sheet{max-width:380px;border-radius:16px;animation:fade .15s ease}}.sheet-emojis{display:flex;justify-content:space-between;gap:4px;padding:6px 4px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.sheet-emoji{border:0;background:transparent;font-size:26px;cursor:pointer;padding:4px;border-radius:10px;transition:transform .1s,background .1s}.sheet-emoji:hover{transform:scale(1.15);background:#eef3f0}.sheet-action{display:block;width:100%;text-align:left;border:0;background:transparent;font-size:15px;padding:13px 8px;cursor:pointer;border-radius:10px;color:var(--ink)}.sheet-action:hover{background:#eef3f0}.sheet-action.cancel{text-align:center;color:var(--muted);font-weight:600}.sheet-action.danger{color:#c0392b}@keyframes fade{0%{opacity:0}}@keyframes slideup{0%{transform:translateY(100%)}}.composer-wrap{flex-shrink:0;padding:0 14px calc(12px + env(safe-area-inset-bottom));background:var(--chat-bg)}.reply-bar{display:flex;align-items:center;gap:8px;background:#e9f5f1;border-left:3px solid var(--accent);padding:7px 12px;border-radius:8px 8px 0 0}.reply-info{flex:1;min-width:0}.reply-to{font-size:12.5px;font-weight:700;color:var(--accent-deep)}.reply-snippet{font-size:12.5px;color:#54656f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-cancel{border:0;background:transparent;font-size:16px;color:var(--muted);cursor:pointer;padding:4px}.reply-bar.editbar{background:#fff7e6;border-left-color:#e0a106}.reply-bar.editbar .reply-to{color:#b7791f}.mention-list{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:6px;overflow:hidden;box-shadow:0 -2px 10px #00000014;max-height:210px;overflow-y:auto}.mention-item{display:flex;align-items:baseline;gap:8px;width:100%;border:0;background:transparent;padding:10px 14px;cursor:pointer;text-align:left;border-bottom:1px solid var(--line)}.mention-item:hover{background:#eef3f0}.mention-u{font-weight:700;color:var(--accent-deep);font-size:14px}.mention-n{font-size:13px;color:var(--muted)}.emoji-pop{display:flex;flex-wrap:wrap;gap:2px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;margin-bottom:6px;box-shadow:0 -2px 10px #00000014}.emoji-btn{border:0;background:transparent;font-size:22px;width:38px;height:38px;border-radius:8px;cursor:pointer}.emoji-btn:hover{background:#eef3f0}.composer{background:var(--surface);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column}.composer-field{display:flex;align-items:center;padding:12px 14px 8px}.composer-field input{border:0;outline:none;background:transparent;flex:1;font-size:15px;color:var(--ink);min-width:0}.fmt{display:flex;align-items:center;gap:2px;padding:4px 8px 6px;border-top:1px solid var(--line);color:#54655e}.fmt-btn{border:0;background:transparent;color:inherit;width:30px;height:30px;border-radius:6px;display:grid;place-items:center;cursor:pointer;font-size:13px;font-weight:700}.fmt-btn:hover,.fmt-btn.on{background:#eef3f0}.fmt-btn.i{font-style:italic;font-weight:500}.fmt-btn.s{text-decoration:line-through;font-weight:500}.fmt-btn.c{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.fmt-btn.icon svg{width:20px;height:20px;fill:currentColor}.fmt-sep{width:1px;height:18px;background:var(--line);margin:0 4px}.fmt-spacer{flex:1}.send{background:var(--primary);color:var(--primary-ink);border:0;border-radius:6px;padding:0 12px;height:30px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:background .15s,opacity .15s}.send:hover:not(:disabled){background:#1fc45b}.send:disabled{opacity:.45;cursor:default}.send svg{width:16px;height:16px;fill:currentColor}@media(max-width:420px){.send span{display:none}.send{padding:0 10px}}.thread-overlay{position:absolute;inset:0;background:var(--surface);display:flex;flex-direction:column;z-index:40;animation:slidein .18s ease}@keyframes slidein{0%{transform:translate(100%)}}@media(min-width:760px){.pane-room .thread-overlay{left:auto;width:min(440px,100%);border-left:1px solid var(--line);box-shadow:-8px 0 24px #00000014}.thread-overlay .thread{background-image:none;background-color:var(--surface)}}.thread-parent{border-bottom:1px dashed var(--line);padding-bottom:8px;margin-bottom:4px}.thread-sep{align-self:center;font-size:11.5px;color:var(--muted);font-weight:600;margin:4px 0 8px}.thread-overlay .composer-wrap{background:var(--surface)}.hint{text-align:center;color:var(--muted);font-size:14px;padding:24px 16px}.hint-error{color:#ffb4a8}.list .hint-error{color:#c0392b}.chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 12px 8px;background:var(--surface)}.chip{border:0;background:#d6f3ea;color:var(--accent-deep);font-size:13px;font-weight:600;padding:6px 12px;border-radius:var(--radius-pill);cursor:pointer}.check{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;color:#fff;font-size:14px;font-weight:700}.check.on{background:var(--accent);border-color:var(--accent)}.settings{flex:1;overflow-y:auto;background:#f0f4f1}.settings-profile{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;background:#fff;border-bottom:1px solid var(--line)}.settings-username{font-size:16px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:6px}.avatar-edit{position:relative;cursor:pointer}.avatar-edit.nopointer{cursor:default}.avatar-edit-badge{position:absolute;right:-2px;bottom:-2px;width:28px;height:28px;border-radius:50%;background:var(--accent);border:2px solid #fff;display:grid;place-items:center;font-size:13px}.link-btn{border:0;background:transparent;color:var(--accent-deep);font-size:14px;font-weight:600;cursor:pointer;padding:2px 4px}.name-edit{display:flex;align-items:center;gap:8px;width:100%;max-width:320px}.name-edit .login-input{margin-bottom:0}.settings-section{margin-top:12px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.settings-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 18px;font-size:15px;color:var(--ink);background:transparent;border:0;cursor:pointer;text-align:left}.settings-row:hover{background:#f4f7f5}.settings-row.danger{color:#c0392b;font-weight:600}.settings-row.danger svg{fill:#c0392b}.settings .row{cursor:default}.settings .row .icon-btn{color:var(--muted)}.settings .row .icon-btn:hover{background:#eef3f0}.switch{width:44px;height:26px;border-radius:var(--radius-pill);background:#c9d2d8;position:relative;transition:background .18s;flex-shrink:0}.switch.on{background:var(--primary)}.switch .knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .18s}.switch.on .knob{transform:translate(18px)}.install-banner{display:flex;align-items:center;gap:8px;background:var(--sb-field);padding:9px 12px;margin:0 12px 6px;border-radius:8px}.install-text{flex:1;font-size:13px;color:var(--sb-ink)}.install-btn{border:0;background:var(--primary);color:var(--primary-ink);font-weight:700;font-size:13px;padding:7px 14px;border-radius:var(--radius-pill);cursor:pointer}.install-x{border:0;background:transparent;color:var(--sb-muted);font-size:15px;cursor:pointer;padding:4px}.login{align-items:center;justify-content:center;background:linear-gradient(180deg,#0b5c4e,#128c7e);padding:24px}.login-card{width:100%;max-width:360px;background:#fff;border-radius:20px;padding:32px 24px;box-shadow:0 18px 50px -16px #0006}.login-logo{font-size:28px;font-weight:800;color:var(--accent-deep);text-align:center;letter-spacing:-.5px}.login-sub{text-align:center;color:var(--muted);font-size:14px;margin:6px 0 22px}.login-input{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;font-size:15px;margin-bottom:12px;outline:none;transition:border-color .15s}.login-input:focus{border-color:var(--accent)}.login-error{background:#fdecea;color:#c0392b;font-size:13px;border-radius:8px;padding:9px 12px;margin-bottom:12px}.login-btn{width:100%;border:0;border-radius:12px;background:var(--accent);color:#fff;font-size:15.5px;font-weight:700;padding:13px;cursor:pointer;transition:background .15s}.login-btn:hover:not(:disabled){background:var(--accent-deep)}.login-btn:disabled{opacity:.6;cursor:default}.invite-box{padding:4px 18px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.invite-url{font-size:12.5px;color:var(--ink);background:#eef3f0;border-radius:8px;padding:8px 10px;width:100%;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.form-box{padding:4px 18px 14px;display:flex;flex-direction:column;gap:4px}.form-box .login-input{margin-bottom:8px;font-size:14px;padding:11px 12px}.form-label{font-size:12px;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:6px;margin-bottom:4px}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.form-msg{font-size:13px;color:var(--accent-deep);margin-top:8px}.tag{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 7px;border-radius:var(--radius-pill);background:#dcece4;color:var(--accent-deep);margin-left:6px;vertical-align:middle}.tag.ok{background:#d3f5e8}.tag.warn{background:#fff1d6;color:#9a6700}.muted{color:var(--muted);font-weight:400;font-size:13px}.link-btn.danger{color:#c0392b}.login-links{text-align:center;margin:16px 0 0;font-size:13.5px}.login-links a{color:var(--accent-deep);font-weight:600;text-decoration:none}.poll{margin-top:4px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;max-width:420px;cursor:default}.poll-q{font-weight:700;font-size:14.5px}.poll-hint{font-size:11.5px;color:var(--muted);margin:2px 0 8px}.poll-opt{position:relative;display:flex;align-items:center;gap:8px;width:100%;border:1px solid var(--line);background:#f4f8f6;border-radius:8px;padding:7px 10px;margin-bottom:6px;cursor:pointer;text-align:left;font:inherit;color:var(--ink);overflow:hidden}.poll-opt:disabled{cursor:default}.poll-opt.mine{border-color:var(--accent)}.poll-bar{position:absolute;inset:0 auto 0 0;background:#25d36638;transition:width .25s}.poll-opt>*:not(.poll-bar){position:relative}.poll-label{flex:1;min-width:0;font-size:14px}.poll-count{font-weight:700;font-size:13px;color:var(--accent-deep);flex-shrink:0}.poll-voters{display:block;width:100%;font-size:11.5px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}.poll-opt .poll-label,.poll-opt .poll-count{align-self:flex-start}.poll-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;flex-wrap:wrap}.poll-close{border:0;background:transparent;color:var(--muted);font-size:12.5px;cursor:pointer;padding:2px 0}.poll-form{display:flex;flex-direction:column;gap:2px;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.poll-form-title{font-weight:700;font-size:16px;margin-bottom:10px}.poll-form .login-input{margin-bottom:8px;padding:11px 12px;font-size:14px}.poll-form-switch{display:flex;align-items:center;justify-content:space-between;padding:6px 0 12px;font-size:14px;cursor:pointer}.sheet-emojis{flex-wrap:wrap;justify-content:center;gap:2px}.sheet-emoji{font-size:22px;padding:4px 3px}.emoji-picker{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 -2px 10px #00000014}.emoji-tabs{display:flex;gap:2px;padding:6px 6px 4px;border-bottom:1px solid var(--line);overflow-x:auto}.emoji-tab{border:0;background:transparent;font-size:18px;width:34px;height:32px;border-radius:8px;cursor:pointer;flex-shrink:0;opacity:.55}.emoji-tab.on,.emoji-tab:hover{background:#eef3f0;opacity:1}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:2px;padding:6px;max-height:230px;overflow-y:auto}.emoji-pop{margin-bottom:6px}.sheet .emoji-picker{box-shadow:none;border-radius:10px;margin:0 4px 8px}.sheet-more{border:0;background:#eef3f0;color:var(--accent-deep);font-weight:700;font-size:18px;width:36px;height:36px;border-radius:10px;cursor:pointer}.att-image-wrap{border:0;background:transparent;padding:0;cursor:zoom-in;text-align:left}.att-video-wrap{position:relative;margin-top:6px;max-width:360px;border-radius:8px;overflow:hidden;background:#000}.att-video{display:block;width:100%;max-height:320px}.att-expand{position:absolute;top:6px;right:6px;border:0;border-radius:6px;background:#0000008c;color:#fff;font-size:16px;width:30px;height:30px;cursor:pointer}.att-audio-wrap{margin-top:6px;max-width:360px}.att-audio{width:100%;display:block}.lightbox{position:fixed;inset:0;background:#000000eb;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fade .15s ease}.lightbox-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;color:#fff;background:linear-gradient(rgba(0,0,0,.6),transparent)}.lightbox-title{flex:1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox-btn{border:0;background:#ffffff29;color:#fff;font:inherit;font-size:14px;padding:6px 12px;border-radius:var(--radius-pill);cursor:pointer;text-decoration:none}.lightbox-media{max-width:100vw;max-height:100dvh;object-fit:contain}.preview-sheet{display:flex;flex-direction:column;gap:10px;padding:14px 14px calc(14px + env(safe-area-inset-bottom))}.preview-media{width:100%;max-height:55vh;object-fit:contain;border-radius:10px;background:#0b1a15}.preview-file{display:flex;align-items:center;gap:10px;font-size:14px}.preview-sheet .login-input{margin-bottom:0}.att-missing{margin-top:6px;padding:8px 10px;border-radius:8px;background:#fff1d6;color:#9a6700;font-size:13px;max-width:360px}.icon-btn.off{opacity:.55}.seg-inline{width:100%;padding:6px 0 0;gap:4px}.seg-inline .seg-btn{padding:6px 4px;font-size:12.5px}.sheet-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:10px 8px 4px}.login-btn.device{margin-top:10px;background:#eef3f0;color:var(--accent-deep);display:flex;flex-direction:column;align-items:center;gap:2px}.login-btn.device:hover:not(:disabled){background:#dcece4}.login-btn.device small{font-weight:400;font-size:12px;color:var(--muted)}.pw-field{position:relative}.pw-field .login-input{padding-right:44px}.pw-toggle{position:absolute;right:6px;top:6px;border:0;background:transparent;font-size:18px;cursor:pointer;padding:6px}.login-hint{text-align:center;color:var(--muted);font-size:12.5px;margin:12px 0 0}.unread-divider{display:flex;align-items:center;gap:10px;margin:8px 16px;color:var(--accent-deep);font-size:12px;font-weight:700}.unread-divider:before,.unread-divider:after{content:"";flex:1;height:1px;background:var(--accent)}.jump-down{position:absolute;right:18px;bottom:118px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--accent-deep);font-size:20px;font-weight:700;box-shadow:0 4px 14px #0000002e;cursor:pointer;z-index:20}.jump-down .badge{position:absolute;top:-8px;right:-6px}.offline-bar{background:#fff1d6;color:#9a6700;font-size:13px;text-align:center;padding:6px 12px;flex-shrink:0}.load-more{align-self:center;margin:6px 0 10px;border:1px solid var(--line);background:var(--surface);color:var(--accent-deep);border-radius:var(--radius-pill);padding:5px 14px;font-size:12.5px;font-weight:600;cursor:pointer}.load-more:disabled{opacity:.6;cursor:default}.update-banner{position:fixed;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);background:#111b21;color:#fff;font-size:13.5px;padding:10px 14px;border-radius:12px;box-shadow:0 8px 24px #00000047;animation:fade .2s ease}.update-banner button{border:0;background:var(--primary);color:var(--primary-ink);font:inherit;font-weight:700;padding:6px 12px;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap}.thread-overlay{color:var(--ink)}.thread-overlay .hint{color:var(--muted)}.thread-overlay .hint-error{color:#c0392b}.seg{display:flex;gap:6px;flex-shrink:0}.seg-btn{flex:1;border:0;background:#eef3f0;color:var(--muted);font-size:13px;font-weight:600;padding:8px;border-radius:var(--radius-pill);cursor:pointer;transition:background .15s,color .15s}.seg-btn.active{background:var(--accent);color:#fff}.thread-ind{color:var(--muted);font-weight:600}.thread-ind.unread{color:var(--link);font-weight:700}.composer-field textarea{border:0;outline:none;background:transparent;flex:1;font:inherit;font-size:15px;line-height:1.4;color:var(--ink);min-width:0;resize:none;max-height:150px;overflow-y:auto;padding:0}html,body{overflow:hidden;height:100%}#root{height:100dvh}.pane,.screen{min-height:0;max-height:100dvh}.thread{min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.chat-head{position:sticky;top:0;z-index:5}.composer-wrap{position:sticky;bottom:0;z-index:5}.settings,.list,.sb-list{min-height:0;overscroll-behavior:contain}.m-txt a{color:var(--link);text-decoration:underline;overflow-wrap:anywhere}
