:root{--bg-deep: #0b0c0f;--bg-rail: #101116;--bg-side: #15161c;--bg-main: #1a1b21;--bg-raised: #212329;--bg-hover: #282a32;--line: #2c2e38;--text: #e8e9ec;--text-dim: #9b9eac;--text-faint: #82869a;--accent: #6ee7a8;--accent-deep: #2c6b4f;--on-accent: #eafff3;--accent-soft: color-mix(in srgb, var(--accent) 12%, transparent);--danger: #e5534b;--on-danger: #fff5f4;--warning: #e0b341;--ok: var(--accent);--space-1: 2px;--space-2: 4px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 24px;--space-7: 32px;--font-xs: 11px;--font-sm: 12px;--font-base: 14px;--font-md: 15px;--font-lg: 18px;--font-xl: 22px;--font-mono: ui-monospace, "Cascadia Mono", monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 999px;--radius: var(--radius-md);--dur-fast: .12s;--dur: .2s;--ease: cubic-bezier(.2, .8, .3, 1);--z-panel: 10;--z-overlay: 100;--z-modal: 110;--z-menu: 120;--z-toast: 130;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:var(--font-base);color:var(--text);background:var(--bg-deep);height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased}#root,.app{height:100vh}button,input,textarea,select{font-family:inherit;font-size:inherit}:where(button,[href],input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-deep);color:var(--text)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}html{scrollbar-width:thin;scrollbar-color:var(--bg-raised) transparent}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:var(--bg-raised);border-radius:var(--radius-full);border:3px solid transparent;background-clip:content-box}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0s!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.dot.connecting,.dot.reconnecting,.call-dot,.live.ringing{animation:none}}.action{display:inline-flex;align-items:center;gap:var(--space-3);border:1px solid var(--line);background:var(--bg-raised);color:var(--text);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--font-base);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.action:hover{border-color:var(--accent-deep)}.primary{border:none;border-radius:var(--radius-md);background:var(--accent-deep);color:var(--on-accent);padding:var(--space-3) var(--space-5);font-weight:600;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 53%,black)}.primary:disabled,.ghost:disabled{opacity:.42;cursor:not-allowed}.ghost{display:inline-flex;align-items:center;gap:var(--space-3);justify-content:center;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--font-base);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.ghost:hover:not(:disabled){border-color:var(--accent-deep)}.ghost.wide{width:100%}.ghost.danger{color:var(--danger)}.ghost.danger:hover:not(:disabled){border-color:var(--danger)}.danger:not(.ghost){display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);border:none;border-radius:var(--radius-md);background:color-mix(in srgb,var(--danger) 80%,black);color:var(--on-danger);padding:var(--space-3) var(--space-5);font-weight:600;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.danger:not(.ghost):hover:not(:disabled){background:color-mix(in srgb,var(--danger) 65%,black)}.danger:disabled{opacity:.42;cursor:not-allowed}.ghost.file{position:relative;overflow:hidden}.ghost.file input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ghost.file:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.header-add{border:none;background:transparent;color:var(--accent);cursor:pointer;display:grid;place-items:center;padding:var(--space-1);border-radius:var(--radius-sm);transition:background-color var(--dur-fast) var(--ease)}.header-add:hover{background:var(--bg-hover)}.chip{border:1px solid var(--line);background:transparent;color:var(--text-dim);border-radius:var(--radius-full);padding:var(--space-3) var(--space-4);font-size:var(--font-base);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.chip:hover{color:var(--text);border-color:var(--accent-deep)}.chip.on{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--on-accent)}.live{margin-left:auto;font-size:var(--font-xs);color:var(--accent);border:1px solid var(--accent-deep);border-radius:var(--radius-full);padding:0 var(--space-3)}.live.ringing{min-width:20px;text-align:center;background:var(--accent-deep);color:var(--on-accent);border-color:transparent;animation:pulse 1.6s ease-in-out infinite}.badge{margin-left:auto;min-width:18px;text-align:center;background:var(--accent-deep);color:var(--on-accent);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:600;line-height:1.6;padding:0 var(--space-2);flex:none}.live+.badge,.live.ringing+.badge{margin-left:var(--space-2)}.rail-dot{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-rail);box-sizing:content-box}.sealed{display:inline-flex;align-items:center;gap:var(--space-2);margin-left:auto;font-size:var(--font-xs);color:var(--accent);border:1px solid var(--accent-deep);border-radius:var(--radius-full);padding:var(--space-1) var(--space-4);cursor:help}.avatar,.message-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-deep);color:var(--on-accent);display:grid;place-items:center;font-weight:600;flex:none;overflow:hidden}.avatar img,.message-avatar img,.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-row{display:flex;align-items:center;gap:var(--space-5)}.avatar-preview{width:72px;height:72px;border-radius:50%;background:var(--accent-deep);display:grid;place-items:center;font-size:26px;font-weight:600;overflow:hidden;flex:none}.avatar-actions{display:flex;gap:var(--space-3)}.dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--text-faint)}.dot.online{background:var(--ok)}.dot.connecting,.dot.reconnecting{background:var(--warning);animation:pulse 1.2s ease-in-out infinite}.dot.offline{background:var(--danger)}@keyframes pulse{50%{opacity:.3}}.sep,.you{color:var(--text-faint);margin:0 var(--space-1)}label{display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--font-sm);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}label.checkbox{flex-direction:row;align-items:center;gap:var(--space-3);text-transform:none;letter-spacing:0;font-size:var(--font-base);color:var(--text)}.sheet-body input,.sheet-body textarea,.prompt input,.gate-card input{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text);text-transform:none;letter-spacing:0}select{appearance:none;background-color:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3) calc(var(--space-4) + 16px) var(--space-3) var(--space-4);color:var(--text);text-transform:none;letter-spacing:0;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239b9eac' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:14px;transition:border-color var(--dur-fast) var(--ease)}select option{background:var(--bg-raised);color:var(--text)}input[type=checkbox]{appearance:none;width:17px;height:17px;flex:none;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-raised);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}input[type=checkbox]:before{content:"";width:11px;height:11px;clip-path:polygon(13% 47%,33% 67%,87% 13%,100% 26%,33% 93%,0 60%);background:var(--on-accent);transform:scale(0);transition:transform var(--dur-fast) var(--ease)}input[type=checkbox]:checked{background:var(--accent-deep);border-color:var(--accent-deep)}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:disabled{opacity:.42;cursor:not-allowed}.prompt input:focus,.gate-card input:focus,.sheet-body input:focus,textarea:focus,select:focus{border-color:var(--accent-deep)}.optional{text-transform:none;letter-spacing:0;color:var(--text-faint);font-size:var(--font-xs)}.field-note{font-size:var(--font-xs);line-height:1.6;color:var(--text-faint);margin-top:-4px}.field-note.warn{color:var(--danger)}.error{font-size:var(--font-base);color:var(--danger);padding:0 var(--space-6)}.toast-stack{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3);max-width:min(360px,calc(100vw - 2 * var(--space-5)))}.toast{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--bg-raised);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--font-sm);line-height:1.5;color:var(--text);box-shadow:0 10px 28px #0006;animation:toast-in var(--dur) var(--ease)}.toast.error{border-left-color:var(--danger)}.toast p{overflow-wrap:anywhere}.toast-dismiss{border:none;background:transparent;color:var(--text-dim);cursor:pointer;padding:0 var(--space-1);font-size:var(--font-md);line-height:1.3;border-radius:var(--radius-sm);flex:none;transition:color var(--dur-fast) var(--ease)}.toast-dismiss:hover{color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.connection-banner{grid-area:banner;display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-2) var(--space-5);font-size:var(--font-sm);color:var(--text);background:color-mix(in srgb,var(--danger) 16%,var(--bg-main));border-bottom:1px solid color-mix(in srgb,var(--danger) 32%,var(--bg-main))}.connection-banner .detail{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skeleton{display:block;background:var(--bg-raised);border-radius:var(--radius-sm);animation:skeleton-pulse 1.6s var(--ease) infinite}@keyframes skeleton-pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.skeleton-avatar{width:32px;height:32px;border-radius:50%;flex:none}.skeleton-line{width:96px;height:10px}.skeleton-line.short{width:64px}.app{display:grid;grid-template-columns:60px 236px 1fr}.rail{background:var(--bg-rail);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-4) 0}.rail-spacer{flex:1}.rail-btn{width:40px;height:40px;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-dim);display:grid;place-items:center;cursor:pointer;position:relative;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.rail-btn:hover{background:var(--bg-hover);color:var(--text)}.rail-btn.active{background:var(--accent-deep);color:var(--on-accent)}.rail-btn.active:before{content:"";position:absolute;left:-10px;width:3px;height:22px;border-radius:0 3px 3px 0;background:var(--accent)}.rail-btn.add{color:var(--accent)}.sidebar{background:var(--bg-side);display:flex;flex-direction:column;border-right:1px solid var(--line);min-width:0}.sidebar-header{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-5);border-bottom:1px solid var(--line);font-weight:600}.sidebar-body{flex:1;overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-4)}.channel-list{list-style:none;display:flex;flex-direction:column;gap:1px}.channel{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-dim);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.channel:hover{background:var(--bg-hover);color:var(--text)}.channel.current{background:var(--bg-raised);color:var(--text)}.hash{color:var(--text-faint);font-weight:600}.sidebar-note{font-size:var(--font-sm);line-height:1.6;color:var(--text-dim);padding:var(--space-2) var(--space-3)}.sidebar-note.dim{color:var(--text-faint);border-left:2px solid var(--line);padding-left:var(--space-4)}.me{display:flex;align-items:center;border-top:1px solid var(--line);background:var(--bg-rail)}.me-identity{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);border:none;background:transparent;color:inherit;cursor:pointer;text-align:left;transition:background-color var(--dur-fast) var(--ease)}.me-identity:hover{background:var(--bg-hover)}.me-copy{width:34px;align-self:stretch;border:none;background:transparent;color:var(--text-faint);cursor:pointer;display:grid;place-items:center;flex:none;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.me-copy:hover:not(:disabled){background:var(--bg-hover);color:var(--accent)}.me-copy:disabled{opacity:.35;cursor:default}.me-labels{display:flex;flex-direction:column;gap:1px;min-width:0}.me-name{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-address{font-family:var(--font-mono);font-size:var(--font-xs);color:var(--text-faint);direction:rtl;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-line,.status-input{width:100%;border:none;border-top:1px solid var(--line);background:var(--bg-rail);color:var(--text-dim);padding:var(--space-3) var(--space-4) var(--space-4);font-size:var(--font-sm);text-align:left;cursor:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.status-line:hover{background:var(--bg-hover);color:var(--text)}.status-line .placeholder{color:var(--text-faint);font-style:italic}.status-input:focus{background:var(--bg-raised);color:var(--text)}.post-meta{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--font-xs);color:var(--text-faint)}.post-status{color:var(--text-dim);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{background:var(--bg-main);display:grid;grid-template-columns:1fr;grid-template-rows:auto 46px auto minmax(0,1fr) auto auto;grid-template-areas:"banner" "topbar" "call" "timeline" "composer" "status";min-width:0}.main.with-members{grid-template-columns:minmax(0,1fr) 224px;grid-template-areas:"banner   banner" "topbar   topbar" "call     call" "timeline members" "composer composer" "status   status"}.topbar{grid-area:topbar;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--line)}.topbar h1{font-size:var(--font-md);font-weight:600}.topbar h1.muted{color:var(--text-faint);font-weight:500}.members{grid-area:members;border-left:1px solid var(--line);background:var(--bg-side);display:flex;flex-direction:column;min-height:0}.members-header{padding:var(--space-4) var(--space-4) var(--space-3);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.member-list{list-style:none;flex:1;overflow-y:auto;padding:0 var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.member-list li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);min-width:0;transition:background-color var(--dur-fast) var(--ease)}.member-list li:hover{background:var(--bg-hover)}.member-list li:has(.member-row){padding:0}.member-row{display:flex;align-items:center;gap:var(--space-3);width:100%;min-width:0;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.member-labels{display:flex;flex-direction:column;gap:1px;min-width:0}.member-name{font-size:var(--font-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-sub{font-size:var(--font-xs);color:var(--text-faint);direction:rtl;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-empty{color:var(--text-faint);font-size:var(--font-sm);padding:var(--space-3)}.member-error{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);padding:var(--space-3);font-size:var(--font-sm);color:var(--text-dim)}.member-error:hover{background:transparent}.members-footer{padding:var(--space-4);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-3)}.timeline{grid-area:timeline;min-height:0;overflow-y:auto;padding:var(--space-5) var(--space-5) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.timeline-empty{margin:auto;color:var(--text-faint);font-size:var(--font-base)}.timeline-divider{display:flex;align-items:center;gap:var(--space-4);flex:none;color:var(--text-faint);font-size:var(--font-xs);text-align:center;margin:var(--space-2) 0}.timeline-divider:before,.timeline-divider:after{content:"";flex:1;border-top:1px solid var(--line)}.timeline-load-older{align-self:center;flex:none;border:1px solid var(--line);border-radius:var(--radius-full);background:none;color:var(--text-dim);font-size:var(--font-xs);padding:var(--space-1) var(--space-4);cursor:pointer;transition:background-color var(--dur-fast) var(--ease)}.timeline-load-older:hover{background:var(--bg-hover);color:var(--text)}.media-evicted{display:flex;align-items:center;justify-content:center;min-height:72px;padding:var(--space-3) var(--space-4);border:1px dashed var(--line);border-radius:var(--radius-sm);background:#ffffff05;color:var(--text-faint);font-size:var(--font-xs);font-style:italic;text-align:center}.message{display:flex;gap:var(--space-4);padding:var(--space-2) 0;border-radius:var(--radius-sm);transition:background-color var(--dur-fast) var(--ease)}.message:hover{background:#ffffff05}.message.grouped{margin-top:0}.message-gutter{width:32px;flex:none;font-size:var(--font-xs);color:var(--text-faint);text-align:right;padding-top:3px;opacity:0;transition:opacity var(--dur-fast) var(--ease)}.message:hover .message-gutter,.message.outbox .message-gutter{opacity:1}.message.outbox.sending{opacity:.65}.message.outbox.failed .message-gutter{color:var(--danger);font-weight:700}.outbox-actions{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-1)}.outbox-actions button{border:none;background:none;padding:0;font-size:var(--font-xs);color:var(--text-dim);text-decoration:underline;cursor:pointer;transition:color var(--dur-fast) var(--ease)}.outbox-actions button:hover{color:var(--text)}.outbox-actions button.retry{color:var(--danger)}.timeline-jump{position:sticky;bottom:var(--space-2);align-self:center;flex:none;border:1px solid var(--line);border-radius:var(--radius-full);background:var(--bg-raised);color:var(--text);font-size:var(--font-sm);padding:var(--space-2) var(--space-4);cursor:pointer;box-shadow:0 4px 14px #00000059;transition:background-color var(--dur-fast) var(--ease)}.timeline-jump:hover{background:var(--bg-hover)}.message-body{min-width:0;flex:1}.message-body header{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:1px}.author{font-weight:600;font-size:var(--font-base)}.message-body time,.post-who time{font-size:var(--font-xs);color:var(--text-faint)}.message-body p{line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.chat-composer{grid-area:composer;display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-5) var(--space-4)}.chat-composer input{flex:1;min-width:0;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);color:var(--text)}.chat-composer input:focus{border-color:var(--accent-deep)}.statusbar{grid-area:status;padding:var(--space-2) var(--space-5) var(--space-3);font-size:var(--font-xs);color:var(--text-faint);min-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{grid-area:timeline;margin:auto;max-width:420px;text-align:center;display:flex;flex-direction:column;gap:var(--space-4);align-items:center}.empty-state h2{font-size:var(--font-lg)}.empty-state p{font-size:var(--font-base);line-height:1.6;color:var(--text-dim)}.call{grid-area:call;margin:var(--space-4) var(--space-4) 0;padding:var(--space-4);border:1px solid var(--accent-deep);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--accent) 8%,var(--bg-deep));display:flex;flex-direction:column;gap:var(--space-4)}.call-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);font-size:var(--font-base)}.call-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none;animation:pulse 1.8s ease-in-out infinite}.call-meta{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--font-sm);color:var(--text-dim)}.call-meta time{font-variant-numeric:tabular-nums}.call-controls{margin-left:auto;display:flex;gap:var(--space-3)}.call-people{display:flex;flex-wrap:wrap;gap:var(--space-3)}.call-chip{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-2);border:1px solid var(--line);border-radius:var(--radius-full);background:var(--bg-raised)}.call-chip.pending{border-style:dashed;opacity:.75}.call-chip .message-avatar{width:26px;height:26px;font-size:var(--font-sm)}.call-chip-labels{display:flex;flex-direction:column;gap:0}.call-chip-name{font-size:var(--font-base);font-weight:600;line-height:1.25}.chip-volume{display:flex;align-items:center;margin-left:var(--space-1)}.chip-volume input[type=range]{width:62px;height:3px;appearance:none;background:var(--line);border-radius:var(--radius-full);cursor:pointer}.chip-volume input[type=range]::-webkit-slider-thumb{appearance:none;width:11px;height:11px;border-radius:50%;background:var(--accent);cursor:pointer}.chip-volume input[type=range]::-moz-range-thumb{width:11px;height:11px;border:none;border-radius:50%;background:var(--accent);cursor:pointer}.call-chip-state{font-size:var(--font-xs);color:var(--text-faint);line-height:1.25}.call-video{display:flex;gap:var(--space-3);overflow-x:auto}.call-video.hidden{height:0;overflow:hidden}.tile{position:relative;width:190px;height:128px;flex:none;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;display:grid;place-items:center}.call-video.hidden .tile{height:0;border:none}.tile.pending{border-style:dashed;opacity:.7}.tile video{width:100%;height:100%;object-fit:cover}.tile video.audio-only{position:absolute;width:1px;height:1px;opacity:.01;pointer-events:none}.tile-initial{font-size:30px;font-weight:600;color:var(--text-dim)}.tile-label{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:linear-gradient(transparent,#000000c7);font-size:var(--font-sm)}.tile-state{color:var(--text-faint);font-size:var(--font-xs)}.call-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:var(--bg-raised);color:var(--text);border-radius:50%;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.call-btn:hover{border-color:var(--accent-deep)}.call-btn.off{border-color:var(--danger);color:var(--danger)}.call-btn.hangup{background:color-mix(in srgb,var(--danger) 25%,var(--bg-deep));border-color:var(--danger);color:var(--danger)}.call-note{font-size:var(--font-xs);color:var(--text-faint);margin:0}.call-invite{grid-area:call;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 9%,var(--bg-deep));color:var(--text);font-size:var(--font-base)}.call-invite>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-invite button{padding:var(--space-3) var(--space-5)}.feed{grid-row:call-start / composer-end;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);align-items:center}.card{width:100%;max-width:600px;background:var(--bg-side);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5)}.composer-card textarea{width:100%;min-height:76px;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);color:var(--text);resize:vertical;line-height:1.5}.composer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.composer-actions .hint{margin-left:auto;font-size:var(--font-xs);color:var(--text-faint)}.draft-images{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4)}.draft-image{position:relative;width:96px;height:96px;border-radius:var(--radius-md);overflow:hidden}.draft-image img{width:100%;height:100%;object-fit:cover}.draft-image button{position:absolute;top:3px;right:3px;width:20px;height:20px;border:none;border-radius:50%;background:#000000b3;color:#fff;cursor:pointer;line-height:1}.link-draft{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-3)}.link-draft-row{display:grid;grid-template-columns:120px minmax(0,1fr) 32px;gap:var(--space-3)}.link-draft input{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-3);color:var(--text);min-width:0}.card.post{transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.card.post:hover{background:color-mix(in srgb,white 3%,var(--bg-side))}.post header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.post-who{display:flex;flex-direction:column;align-items:flex-start;gap:0}.post-who .author{border:none;background:none;padding:0;color:inherit;font:inherit;font-weight:600;font-size:var(--font-base);cursor:copy;transition:color var(--dur-fast) var(--ease)}.post-who .author:hover{color:var(--accent)}.post-caption{line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.post-images{display:grid;gap:var(--space-2);margin-top:var(--space-4);border-radius:var(--radius-lg);overflow:hidden}.post-images.n1{grid-template-columns:1fr}.post-images.n2,.post-images.n4{grid-template-columns:1fr 1fr}.post-images.n3{grid-template-columns:1fr 1fr 1fr}.post-images img{width:100%;height:100%;max-height:380px;object-fit:cover;display:block}.post-images .image-open{display:block;border:none;padding:0;background:none;cursor:zoom-in;overflow:hidden}.link-card{display:flex;gap:var(--space-4);margin-top:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--bg-raised)}.link-card.video{border-left:3px solid var(--accent-deep)}.link-card.image{border-left:3px solid var(--text-faint)}.link-card.post{border-left:3px solid var(--accent)}.link-thumb{width:88px;height:88px;object-fit:cover;border-radius:var(--radius-sm);flex:none}.link-body{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.link-site{font-size:var(--font-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.link-title{font-weight:600;line-height:1.4}.link-desc{font-size:var(--font-base);color:var(--text-dim);line-height:1.5}.link-url{font-family:var(--font-mono);font-size:var(--font-xs);color:var(--text-faint);overflow-wrap:anywhere;user-select:all}.tags{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.tag-pill{display:inline-block;border:none;font-size:var(--font-sm);color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3)}button.tag-pill{cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}button.tag-pill:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}button.tag-pill[aria-pressed=true]{background:var(--accent-deep);color:var(--on-accent)}.tag-preview{margin-top:var(--space-3)}.tag-preview .tag-pill{background:transparent;border:1px dashed var(--line);color:var(--text-dim)}.tag-preview-label{font-size:var(--font-xs);color:var(--text-faint)}.feed-filter{width:100%;max-width:600px;display:flex}.filter-chip{display:inline-flex;align-items:center;gap:var(--space-3);border:1px solid var(--accent-deep);background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);font-size:var(--font-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.filter-chip:hover{background:var(--accent-deep);color:var(--on-accent)}.support{margin-top:var(--space-4);border-top:1px solid var(--line);padding-top:var(--space-3)}.support summary{cursor:pointer;font-size:var(--font-sm);color:var(--accent)}.support ul{list-style:none;margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.support li{display:flex;align-items:baseline;gap:var(--space-3);font-size:var(--font-sm)}.donation-kind{color:var(--text-faint);text-transform:uppercase;font-size:var(--font-xs);letter-spacing:.05em;min-width:60px}.donation-label{color:var(--text-dim)}.support code{font-family:var(--font-mono);user-select:all;overflow-wrap:anywhere}.feed .empty-state,.profile-scroll .empty-state{grid-area:auto;margin:0 auto;padding:var(--space-7) 0}.lightbox{position:relative;max-width:min(92vw,960px);max-height:88vh}.lightbox img{display:block;max-width:100%;max-height:88vh;object-fit:contain;border-radius:var(--radius-lg)}.lightbox-close{position:absolute;top:var(--space-3);right:var(--space-3);width:28px;height:28px;border:none;border-radius:50%;background:#000000a6;color:#fff;font-size:var(--font-md);line-height:1;cursor:pointer;transition:background-color var(--dur-fast) var(--ease)}.lightbox-close:hover{background:#000000d9}.profile-scroll,.settings-scroll{grid-area:timeline;overflow-y:auto;min-height:0;padding:var(--space-6)}.settings-scroll{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.settings-card{display:flex;flex-direction:column;gap:var(--space-4)}.settings-card h2{font-size:var(--font-base)}.profile-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);max-width:640px;margin:0 auto var(--space-6)}.profile-avatar{width:120px;height:120px;border-radius:50%;background:var(--accent-deep);color:var(--on-accent);display:grid;place-items:center;font-size:44px;font-weight:600;overflow:hidden;flex:none;box-shadow:0 0 0 4px var(--accent-soft)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-facts{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);min-width:0}.profile-name-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-4)}.profile-name-row h2{font-size:var(--font-lg);font-weight:500}.profile-count strong{font-weight:600}.profile-status{color:var(--text-dim)}.profile-bio{line-height:1.6;max-width:52ch;white-space:pre-wrap}.profile-contact{font-size:var(--font-base);color:var(--text-dim)}.profile-address{border:none;background:none;padding:0;font-family:var(--font-mono);font-size:var(--font-xs);color:var(--text-faint);overflow-wrap:anywhere;max-width:100%;cursor:copy;transition:color var(--dur-fast) var(--ease)}.profile-address:hover{color:var(--accent)}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);max-width:640px;margin:0 auto}.grid-cell{aspect-ratio:1;border:none;padding:0;background:var(--bg-raised);cursor:pointer;overflow:hidden;position:relative}.grid-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity var(--dur-fast) var(--ease)}.grid-cell:hover img{opacity:.82}.grid-text{display:block;padding:var(--space-4);font-size:var(--font-sm);line-height:1.5;color:var(--text-dim);text-align:left;overflow:hidden}.grid-more{position:absolute;top:var(--space-3);right:var(--space-3);width:11px;height:11px;border:1.5px solid #fff;border-radius:3px;background:#00000073;box-shadow:3px -3px 0 -1px #0009;pointer-events:none}.people-scroll{grid-area:timeline;overflow-y:auto;min-height:0;padding:var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.people-search{width:100%;max-width:600px;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text)}.people-search:focus{border-color:var(--accent-deep)}.people-list{list-style:none;width:100%;max-width:600px;display:flex;flex-direction:column;gap:var(--space-2)}.person-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-side);transition:background-color var(--dur-fast) var(--ease)}.person-row:hover{background:color-mix(in srgb,white 3%,var(--bg-side))}.person-labels{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.person-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-status{font-size:var(--font-sm);color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-address{font-family:var(--font-mono);font-size:var(--font-xs);color:var(--text-faint);direction:rtl;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-copy{width:32px;height:32px;flex:none;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-faint);display:grid;place-items:center;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.person-copy:hover{background:var(--bg-hover);color:var(--accent)}.swatch{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:border-color var(--dur-fast) var(--ease)}.swatch.on{border-color:var(--text);box-shadow:0 0 0 2px var(--bg-side) inset}[data-density=compacta] .timeline{gap:0;padding:var(--space-3) var(--space-5) var(--space-2)}[data-density=compacta] .message{padding:1px 0}[data-density=compacta] .feed,[data-density=compacta] .profile-scroll,[data-density=compacta] .people-scroll,[data-density=compacta] .settings-scroll{padding:var(--space-4);gap:var(--space-3)}[data-density=compacta] .person-row{padding:var(--space-2) var(--space-3)}[data-density=compacta] .card{padding:var(--space-4)}[data-density=compacta] .channel{padding:var(--space-2) var(--space-3)}[data-density=compacta] .member-list li,[data-density=compacta] .member-row{padding:var(--space-1) var(--space-3)}[data-density=compacta] .invite-row{padding:var(--space-2) var(--space-3)}[data-density=compacta] .members-footer{padding:var(--space-3)}[data-density=compacta] .chat-composer{padding:var(--space-2) var(--space-5) var(--space-3)}[data-density=compacta] .chat-composer input{padding:var(--space-3) var(--space-4)}.gate{height:100vh;display:grid;place-items:center;background:radial-gradient(900px 520px at 50% -8%,color-mix(in srgb,var(--accent) 11%,var(--bg-deep)) 0%,var(--bg-deep) 62%)}.gate-card{width:min(430px,calc(100vw - 2 * var(--space-5)));background:var(--bg-side);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:var(--space-4)}.gate-card h1{font-size:var(--font-xl)}.gate-lead,.gate-warning{font-size:var(--font-base);line-height:1.6;color:var(--text-dim)}.gate-warning{border-left:2px solid var(--accent-deep);padding-left:var(--space-4);color:var(--text-faint)}.gate-card .error{padding:0}.pass-row{display:flex;gap:var(--space-3)}.pass-row input{flex:1;min-width:0}.reveal-toggle{flex:none;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-raised);color:var(--text-dim);font-size:var(--font-sm);padding:0 var(--space-4);cursor:pointer;transition:color var(--dur-fast) var(--ease)}.reveal-toggle:hover,.reveal-toggle[aria-pressed=true]{color:var(--text)}.setup-steps{list-style:none;display:flex;gap:var(--space-4);font-size:var(--font-sm);color:var(--text-faint)}.setup-steps li:before{content:"· "}.setup-steps li.done{color:var(--text-dim)}.setup-steps li.done:before{content:"✓ ";color:var(--ok)}.setup-steps li.current{color:var(--text)}.setup-steps li.current:before{content:"… ";color:var(--accent)}.splash{text-align:center;color:var(--text-dim);align-items:center}.members-toggle{display:none;margin-left:auto;width:34px;height:34px;flex:none;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-raised);color:var(--text-dim);place-items:center;cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.members-toggle:hover{color:var(--text);border-color:var(--accent-deep)}.members-toggle[aria-expanded=true]{color:var(--accent);border-color:var(--accent-deep)}.rail-btn.rail-menu,.drawer-scrim{display:none}@media(max-width:1100px){.members-toggle{display:grid}.main.with-members{grid-template-columns:1fr;grid-template-areas:"banner" "topbar" "call" "timeline" "composer" "status"}.members{position:fixed;top:0;right:0;bottom:0;width:min(280px,calc(100vw - 60px));z-index:var(--z-panel);border-left:1px solid var(--line);box-shadow:-14px 0 34px #00000073;transform:translate(105%);visibility:hidden;transition:transform var(--dur) var(--ease),visibility 0s var(--dur)}.members.open{transform:none;visibility:visible;transition:transform var(--dur) var(--ease)}}@media(max-width:840px){.app{grid-template-columns:60px 1fr}.rail-btn.rail-menu{display:grid}.sidebar{position:fixed;top:0;bottom:0;left:60px;width:min(280px,calc(100vw - 60px - var(--space-6)));z-index:var(--z-panel);box-shadow:14px 0 34px #00000073;transform:translate(calc(-100% - 34px));visibility:hidden;transition:transform var(--dur) var(--ease),visibility 0s var(--dur)}.sidebar.open{transform:none;visibility:visible;transition:transform var(--dur) var(--ease)}.drawer-scrim{display:block;position:fixed;inset:0 0 0 60px;z-index:calc(var(--z-panel) - 1);background:#00000073}.main{grid-template-rows:auto auto auto minmax(0,1fr) auto auto}.topbar{flex-wrap:wrap;row-gap:var(--space-2);min-height:46px;padding:var(--space-2) var(--space-4)}.timeline{padding:var(--space-4) var(--space-4) var(--space-3)}.chat-composer{padding:var(--space-3) var(--space-4) var(--space-4)}}.context-menu{position:fixed;z-index:var(--z-menu);min-width:190px;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-2);box-shadow:0 12px 30px #00000080;display:flex;flex-direction:column}.context-menu button{display:block;width:100%;border:none;background:transparent;color:var(--text);text-align:left;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-base);cursor:pointer;transition:background-color var(--dur-fast) var(--ease)}.context-menu button:hover{background:var(--bg-hover)}.context-menu button.destructive{color:var(--danger)}.context-menu hr{border:none;border-top:1px solid var(--line);margin:var(--space-2) 0}.overlay{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;z-index:var(--z-overlay)}.prompt,.sheet{background:var(--bg-side);border:1px solid var(--line);border-radius:var(--radius-lg)}.prompt{width:min(400px,calc(100vw - 2 * var(--space-5)));padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.prompt h2,.sheet-header h2{font-size:var(--font-md)}.prompt-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.choice{display:flex;flex-direction:column;gap:var(--space-3)}.choice-label{font-size:var(--font-sm);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.choice-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.join-link{margin-bottom:var(--space-2)}.sheet.narrow{width:min(460px,calc(100vw - 2 * var(--space-5)))}.sheet{width:min(580px,calc(100vw - 2 * var(--space-5)));max-height:88vh;display:flex;flex-direction:column}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6) var(--space-4)}.sheet-lead{padding:0 var(--space-6) var(--space-4);font-size:var(--font-sm);line-height:1.6;color:var(--text-dim)}.sheet-body{overflow-y:auto;padding:0 var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.donations{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.donations legend{font-size:var(--font-sm);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;padding:0 var(--space-3)}.donation-row{display:grid;grid-template-columns:108px 1fr 1.4fr 32px;gap:var(--space-3)}.sheet-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6) var(--space-5);border-top:1px solid var(--line)}.sheet-address{font-family:var(--font-mono);font-size:var(--font-xs);color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.invite-row{display:flex;align-items:center;gap:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.invite-row-labels{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.invite-row-main{font-size:var(--font-base)}.invite-row-sub{font-family:var(--font-mono);font-size:var(--font-xs);color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.safety-number{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4);justify-content:center;font-family:var(--font-mono);font-size:var(--font-lg);letter-spacing:.1em;color:var(--text);background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-5);user-select:text}.verify-who{display:flex;align-items:center;gap:var(--space-4);min-width:0}
