:root{--bg:#f4f4f6;--surface:#fff;--text:#1c1c22;--muted:#6b6b78;--accent:#5b5bd6;--accent-text:#4848c4;--border:#e4e4ea;--hover:#eaeaf0;--selected:#dedcfa;--error:#c62828;--hl-selected:#d9d4fb;--hl-selected-edge:#6656e0;--hl-parent:#fff1b8;--hl-child:#d4f3df;--hl-thread:#e3eefc;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#111114;--surface:#1b1b20;--text:#ececf1;--muted:#9a9aa8;--border:#2c2c34;--hover:#24242b;--selected:#2f2d5c;--error:#ef6b6b;--accent-text:#a5a5f5;--hl-selected:#3a3772;--hl-selected-edge:#a59bff;--hl-parent:#4d3d06;--hl-child:#14462c;--hl-thread:#1c2a3e}}*{box-sizing:border-box}body{margin:0}a{color:var(--accent-text);text-decoration:none}h1,h2{margin:0}h1{font-size:20px}h2{font-size:18px}button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:8px 14px}button:disabled{opacity:.5;cursor:default}input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;width:100%;padding:10px 12px;font-size:16px}label{color:var(--muted);font-size:13px;font-weight:600}.pad{padding:16px}.muted{color:var(--muted)}.error{color:var(--error)}.btn-quiet{color:var(--text);border:1px solid var(--border);background:0 0}.btn-quiet:hover:not(:disabled){background:var(--hover)}.btn-danger{background:var(--error)}svg.lucide{flex-shrink:0;width:20px;height:20px}.back{align-items:center;gap:2px;margin-left:-4px;display:inline-flex}.screen{flex-direction:column;min-height:100%;display:flex}.screen-header{border-bottom:1px solid var(--border);background:var(--surface);padding:14px 16px}.empty{text-align:center;padding:48px 24px}.mobile{background:var(--surface);flex-direction:column;height:100dvh;display:flex}.m-main{flex:1;overflow-y:auto}.m-tabs{border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);display:flex}.m-tabs a{color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;font-size:12px;font-weight:600;display:flex}.m-tabs svg.lucide{width:24px;height:24px}.m-tabs a.active{color:var(--accent-text)}.desktop{grid-template-columns:280px 1fr;height:100vh;display:grid}.desktop.collapsed{grid-template-columns:48px 1fr}.d-sidebar{border-right:1px solid var(--border);background:var(--bg);flex-direction:column;min-height:0;display:flex}.d-brand{align-items:center;gap:8px;padding:12px 12px 8px 16px;display:flex}.d-brand img{width:24px;height:24px}.d-brand h2{flex:1;font-size:16px}.d-fold{padding:4px;line-height:0}.d-scroll{flex-direction:column;flex:1;gap:2px;padding:4px 8px;display:flex;overflow-y:auto}.d-sidebar a{color:var(--text);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.d-sidebar a svg.lucide{color:var(--muted)}.d-sidebar a.active svg.lucide{color:var(--accent-text)}.d-sidebar a:hover{background:var(--hover)}.d-sidebar a.active{background:var(--selected)}.d-feed{font-weight:600}.d-you{border-top:1px solid var(--border);margin:8px;font-weight:600}.d-rail{border-right:1px solid var(--border);background:var(--bg);flex-direction:column;align-items:center;gap:8px;padding:12px 0;display:flex}.d-rail a{width:36px;height:36px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.d-rail a.active{color:var(--accent-text);background:var(--selected)}.d-rail-you{margin-top:auto}.d-main{background:var(--surface);overflow-y:auto}.section-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:14px 10px 4px;font-size:12px;font-weight:600}.ch-section-empty{margin:4px 10px;font-size:14px}.ch-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.ch-row{color:var(--text);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.ch-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ch-row-top,.ch-row-bottom{align-items:center;gap:8px;display:flex}.ch-row-top strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ch-preview{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.ch-row.unread strong{font-weight:800}.ch-time{font-size:12px}.badge{background:var(--accent);color:#fff;border-radius:999px;padding:1px 8px;font-size:12px}.ch-icon{border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;font-weight:700;display:inline-grid}.ch-icon-public{background:var(--selected);color:var(--accent-text)}.ch-icon-private,.ch-icon-group{background:var(--hover)}.ch-icon-person{background:var(--selected);color:var(--accent-text);border-radius:50%}.d-sidebar .ch-icon svg.lucide{color:inherit}.ch-header{align-items:center;gap:10px;display:flex}.mobile .ch-list{gap:0}.mobile .ch-row{border-bottom:1px solid var(--border);border-radius:0;padding:10px 16px}.mobile .ch-icon{border-radius:10px;width:40px;height:40px}.mobile .ch-icon-person{border-radius:50%}.mobile .section-label{margin:16px 16px 6px}.mobile .ch-section-empty{margin:4px 16px 12px}.solo{background:var(--surface);min-height:100dvh}@media (width>=768px){.solo{background:var(--bg);place-items:center;padding:24px;display:grid}.solo-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:420px;overflow:hidden}}.welcome-step{flex-direction:column;gap:12px;padding:32px 24px;display:flex}.welcome-logo{width:64px;height:64px}.welcome-tagline{color:var(--muted);margin:0 0 8px}.welcome-form{flex-direction:column;gap:8px;display:flex}.welcome-form p{margin:0;font-size:14px}.welcome-actions{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.welcome-progress{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.welcome-step>p{margin:0;line-height:1.45}.welcome-options{flex-direction:column;gap:8px;display:flex}.welcome-option{background:var(--surface);color:var(--text);border:1px solid var(--border);text-align:left;padding:14px;font-size:16px}.welcome-option:hover:not(:disabled){background:var(--hover)}.welcome-buttons{flex-direction:column;gap:10px;margin-top:8px;display:flex}.welcome-buttons button{padding:12px 18px;font-size:16px}.welcome-rules{border:1px solid var(--border);border-radius:10px;max-height:50vh;padding:12px 14px;overflow-y:auto}.welcome-agree{color:var(--text);align-items:flex-start;gap:10px;font-size:15px;font-weight:400;line-height:1.4;display:flex}.welcome-agree input{width:auto;margin:3px 0 0}.welcome-agree a{text-decoration:underline}.welcome-leave{flex-wrap:wrap;align-items:center;gap:8px 12px;padding:0 24px 24px;font-size:14px;display:flex}.welcome-leave p{margin:0}.welcome-leave .error{flex-basis:100%}.welcome-footer{flex-wrap:wrap;gap:6px 16px;margin:8px 0 0;font-size:14px;display:flex}.you{flex-direction:column;gap:20px;display:flex}.you-name{align-items:center;gap:12px;display:flex}.you-profile p{margin:6px 0 0}.you-rename{flex-direction:column;gap:8px;display:flex}.you-rename-buttons{gap:8px;display:flex}.you-actions{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.you-confirm{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.you-confirm p{flex-basis:100%;margin:0}.you-header{align-items:center;gap:12px;display:flex}.you-rows{border-top:1px solid var(--border);flex-direction:column;display:flex}.you-rows a{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:12px;padding:12px 16px;display:flex}.you-rows .you-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.you-rows svg.lucide,.you-list svg.lucide{color:var(--muted)}.you-rows .muted{font-size:13px}.you-pane{flex:1;grid-template-columns:240px 1fr;min-height:0;display:grid}.you-list{border-right:1px solid var(--border);flex-direction:column;gap:2px;padding:12px 8px;display:flex}.you-list a{color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.you-list .you-row-text{flex-direction:column;gap:2px;display:flex}.you-list a.active svg.lucide{color:var(--accent-text)}.you-list a:hover{background:var(--hover)}.you-list a.active{background:var(--selected)}.you-list .muted{font-size:12px}.you-content{overflow-y:auto}.you-content>h2.pad{padding-bottom:0;font-size:16px}.settings{flex-direction:column;padding:8px 0;display:flex}.settings-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:16px 16px 4px;font-size:12px;font-weight:600}.setting{align-items:center;gap:12px;padding:10px 16px;display:flex}.setting.off{opacity:.5}.setting-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.setting-text label{color:var(--text);cursor:pointer;font-size:15px;font-weight:600}.setting-text .muted{font-size:13px}.setting input[type=checkbox]{appearance:none;background:var(--border);cursor:pointer;border-radius:13px;flex-shrink:0;width:44px;height:26px;margin:0;padding:0;position:relative}.setting input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:left .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.setting input[type=checkbox]:checked{background:var(--accent)}.setting input[type=checkbox]:checked:after{left:21px}.setting input[type=radio]{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:0}fieldset.settings{border:0;min-width:0;margin:0}.help-links{border-top:1px solid var(--border);flex-direction:column;display:flex}.help-links a{border-bottom:1px solid var(--border);color:var(--text);flex-direction:column;gap:2px;padding:12px 16px;display:flex}.help-links a:hover{background:var(--hover)}.help-links .muted{font-size:13px}.legal-header{align-items:center;gap:12px;display:flex}.legal{line-height:1.5}.legal p,.markdown p{margin:0 0 12px}.markdown h2{margin:20px 0 8px;font-size:16px}.markdown ul{flex-direction:column;gap:6px;margin:0 0 12px;padding-left:20px;display:flex}.section-label{align-items:center;gap:6px;display:flex}.section-add{width:24px;height:24px;color:var(--muted);border-radius:6px;place-items:center;margin-left:auto;display:grid}.section-add:hover{background:var(--hover);color:var(--accent-text)}.d-sidebar .section-add{padding:0}.load-more{align-self:center;margin:8px}.new-form{flex-direction:column;gap:12px;max-width:560px;display:flex}.new-form>button{align-self:flex-start}.picker{flex-direction:column;gap:8px;display:flex}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip{background:var(--selected);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:14px;display:inline-flex}.chip-remove{border:0;border-radius:50%;padding:2px;line-height:0}.chip-remove svg.lucide{width:16px;height:16px}.picker-scroll{border:1px solid var(--border);border-radius:8px;flex-direction:column;max-height:min(50vh,420px);padding:0 8px;display:flex;overflow-y:auto}.picker-scroll li:last-child .picker-row{border-bottom:0}.picker-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.picker-row{color:var(--text);cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 4px;font-size:15px;font-weight:400;display:flex}.picker-row input{width:18px;height:18px;accent-color:var(--accent);margin:0}.new-link{border-radius:8px;align-items:center;gap:2px;padding:4px 8px;font-size:14px;font-weight:600;display:inline-flex}.new-link:hover{background:var(--hover)}.ch-header .new-link{margin-left:auto}.d-brand .new-link{padding:4px 6px}.new-kinds{flex-direction:column;gap:8px;max-width:560px;display:flex}.new-kind{border:1px solid var(--border);color:var(--text);border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.new-kind:hover{background:var(--hover)}.new-kind-text{flex-direction:column;flex:1;gap:2px;display:flex}.new-kind-text .muted{font-size:13px}.new-change{align-self:flex-start;align-items:center;gap:2px;font-weight:600;display:inline-flex}.new-form p{margin:0;font-size:14px}.new-invite{border:0;min-width:0;margin:0;padding:0}.new-invite legend{color:var(--muted);margin-bottom:8px;padding:0;font-size:13px;font-weight:600}.closable{position:relative}.row-close{background:var(--surface);opacity:0;border:0;padding:4px;line-height:0;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.closable:hover .row-close,.row-close:focus-visible{opacity:1}.header-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.header-action{color:var(--text);white-space:nowrap;align-items:center;gap:4px;padding:6px 10px;font-size:14px;display:inline-flex}.ch-header h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ch-crumbs{flex-wrap:wrap;flex:1;align-items:center;gap:2px 4px;min-width:0;display:flex}.ch-crumbs h1{max-width:100%;line-height:var(--ch-row)}.ch-pane>.ch-header{--ch-row:34px;align-items:flex-start}.mobile .ch-pane>.ch-header{--ch-row:40px}.ch-pane>.ch-header>*{min-height:var(--ch-row)}.ch-pane>.ch-header>.ch-icon{min-height:0;margin-block:calc((var(--ch-row) - 32px) / 2)}.mobile .ch-pane>.ch-header>.ch-icon{margin-block:0}.mobile .ch-pane>.ch-header{flex-wrap:wrap;row-gap:8px}.mobile .ch-crumbs{display:contents}.mobile .ch-crumbs h1{flex:1;min-width:0}.mobile .crumbs{flex-basis:100%;order:1}.mobile .crumb:first-child .crumb-sep{display:none}.ch-crumbs h1 a{color:inherit;text-decoration:none}.crumbs{flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.crumb{align-items:center;gap:4px;display:flex}.crumb-sep.lucide{width:16px;height:16px;color:var(--muted)}.pill{border:1px solid var(--border);background:var(--bg);white-space:nowrap;border-radius:999px;align-items:center;font-size:13px;line-height:1;display:inline-flex}.pill-label{color:var(--text);padding:4px 2px 4px 10px;text-decoration:none}a.pill-label:hover{text-decoration:underline}.pill-label[aria-current]{font-weight:600}.pill-remove{color:var(--muted);border-radius:999px;padding:3px 6px 3px 4px;display:inline-flex}.pill-remove:hover{color:var(--text)}.pill-remove .lucide{width:14px;height:14px}.ch-pane{container-type:inline-size}.header-action-short{display:none}@container (width<=360px){.header-action-text{display:none}.header-action-short{display:inline}}.swipe{position:relative;overflow:hidden}.swipe-action{background:var(--error);border-radius:0;width:88px;position:absolute;top:0;bottom:0;right:0}.swipe-content{background:var(--surface);touch-action:pan-y;transition:transform .2s;position:relative}.swipe-content.dragging{transition:none}.toast-area{pointer-events:none;z-index:10;justify-content:center;display:flex;position:fixed;bottom:72px;left:0;right:0}.toast{pointer-events:auto;background:var(--text);color:var(--surface);border-radius:12px;align-items:center;gap:12px;padding:8px 8px 8px 16px;display:flex;box-shadow:0 4px 16px #0003}.toast .btn-quiet{color:var(--surface);border-color:#0000;font-weight:600}@media (width>=768px){.toast-area{bottom:24px}}.channel{height:100%;display:flex}.channel>.screen{flex:1;min-width:0}.members-panel{border-left:1px solid var(--border);background:var(--surface);flex-shrink:0;width:clamp(240px,26vw,300px);overflow-y:auto}.members-panel-header{align-items:center;padding:14px 12px 8px 16px;display:flex}.members-panel-header h2{flex:1;font-size:16px}.members{flex-direction:column;padding:0 0 16px;display:flex}.members-count{margin:4px 16px 8px;font-size:13px}.member-list{margin:0;padding:0;list-style:none}.member{padding:6px 16px}.member-main{align-items:center;gap:10px;display:flex}.member .ch-icon{width:32px;height:32px}.member-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.member-role{color:var(--muted);font-size:12px;font-weight:600}.member-more{border:0;padding:4px;line-height:0}.member-menu,.member-confirm{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 4px 42px;display:flex}.member-confirm p{flex-basis:100%;margin:0;font-size:14px}.members-note{margin:12px 16px;font-size:13px}.members-add{align-self:flex-start;margin:12px 16px 0}.members-adding{flex-direction:column;gap:8px;margin:12px 16px 0;display:flex}.members-adding-buttons{gap:8px;display:flex}.banned{margin-top:8px}.invite-link{flex-direction:column;gap:8px;margin:12px 16px 0;display:flex}.invite-link>button{align-self:flex-start}.invite-link input{width:100%;min-width:0;font-family:ui-monospace,monospace;font-size:13px}.invite-link p{margin:0;font-size:13px}.invite-link-buttons{flex-wrap:wrap;gap:8px;display:flex}.invite-channel{align-items:center;gap:10px;display:flex}.invite-channel h1{overflow-wrap:anywhere;margin:0}.welcome-invite{margin:0;font-weight:600}.leave{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin:20px 16px 0;padding-top:16px;display:flex}.leave p{margin:0;font-size:14px}.leave>button{align-self:flex-start}.leave-button{color:var(--error)}.leave-buttons{gap:8px;display:flex}.ch-pane{height:100%;min-height:0}.msgs{overscroll-behavior:contain;overflow-anchor:none;flex-direction:column;flex:1;min-height:0;padding:4px 0 12px;display:flex;overflow-y:auto}.msg-list{margin:0;padding:0;list-style:none}.msgs>.msg-list:first-child,.msgs>.load-more:first-child{margin-top:auto}.msg:not(.continued){margin-top:10px}.msg-press{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;gap:10px;padding:3px 16px;display:flex;position:relative}.desktop .msg-press{border-radius:8px;gap:12px;margin:0 8px;padding:4px 8px}.msg-press:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (hover:hover){.msg:not(.hl-selected,.hl-parent,.hl-child,.hl-thread) .msg-press:hover{background:var(--bg)}}.msg-avatar{background:var(--selected);width:36px;height:36px;color:var(--accent-text);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.mobile .msg-avatar{width:32px;height:32px}.msg-main{flex:1;min-width:0}.msg-meta{align-items:baseline;gap:8px;display:flex}.msg-author{font-size:15px}.msg-time,.msg-end-time{color:var(--muted);white-space:nowrap;font-size:12px}.msg-body{align-items:baseline;gap:8px;display:flex}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;margin:2px 0 0;line-height:1.45}.mobile .msg-text{font-size:16px}.msg-gutter-time{text-align:right;width:36px;color:var(--muted);white-space:nowrap;visibility:hidden;flex-shrink:0;padding-top:4px;font-size:11px}.mobile .msg-gutter-time{width:32px}.desktop .msg-end-time,.mobile .msg-gutter-time{display:none}.mobile .msg-gutter-time{display:block}.mobile .msg-end-time{visibility:hidden}.desktop .msg.continued:hover .msg-gutter-time,.desktop .msg.hl-selected .msg-gutter-time,.mobile .msg.hl-selected .msg-end-time{visibility:visible}.mobile .msg.hl-selected .msg-gutter-time{visibility:hidden}@media (hover:hover){.mobile .msg.continued:hover .msg-end-time{visibility:visible}}.msg.hl-thread .msg-press{background:var(--hl-thread)}.msg.hl-child .msg-press{background:var(--hl-child)}.msg.hl-parent .msg-press{background:var(--hl-parent)}.msg.hl-selected .msg-press{background:var(--hl-selected);box-shadow:inset 0 0 0 2px var(--hl-selected-edge);padding-right:40px}.msg-reply-mark{color:var(--hl-selected-edge);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.composer{padding:8px 12px max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);flex-direction:column;gap:6px;display:flex}.desktop .composer{padding:12px 16px 16px}.composer-row{align-items:flex-end;gap:8px;display:flex}.composer textarea{field-sizing:content;resize:none;min-width:0;min-height:44px;max-height:40vh;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;flex:1;padding:10px 12px;font-size:16px;line-height:1.4}.composer textarea[aria-invalid=true]{border-color:var(--error)}.composer-send{align-items:center;gap:6px;min-height:44px;display:inline-flex}.mobile .composer-send{border-radius:50%;justify-content:center;width:44px;padding:0}.mobile .composer-send-text{display:none}.composer-note{margin:0;font-size:13px}.reply-bar{min-height:24px;color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.reply-bar strong{color:var(--text)}.reply-cancel{border:0;margin-left:auto;padding:4px;line-height:0}.reply-cancel svg.lucide{width:16px;height:16px}
