:root{color-scheme:light dark;--bg: #f2f1ec;--bg-raised: #ffffff;--bg-sunken: #f6f7f9;--bg-hover: rgba(33, 26, 17, .055);--sidebar-bg: #fbfaf7;--bubble-in: #edeff2;--bubble-in-text: #14181d;--text: #14181d;--text-muted: #5b6570;--text-faint: #8d949d;--text-brand: #f59e0b;--border: rgba(22, 24, 15, .09);--border-strong: rgba(33, 26, 17, .18);--accent: #0a8262;--accent-hover: #086f54;--accent-contrast: #ffffff;--accent-soft: #e7eeec;--accent-soft-strong: #d6e4e0;--own-bubble: var(--bubble-in);--own-bubble-text: var(--bubble-in-text);--own-bubble-hover: #e3e6ea;--warn: #b45309;--danger: #c0362c;--success: #0a8262;--radius-sm: 8px;--radius: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(22, 24, 15, .06);--shadow: 0 8px 24px rgba(33, 26, 17, .1);--shadow-lg: 0 24px 60px rgba(33, 26, 17, .22);--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--sidebar-w: 280px;--rail-w: 300px;--gutter: 16px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0d0f12;--bg-raised: #171a1f;--bg-sunken: #111419;--bg-hover: rgba(255, 255, 255, .06);--sidebar-bg: #111419;--bubble-in: #212530;--bubble-in-text: #e7e9ee;--text: #e9ebef;--text-muted: #a1a8b3;--text-faint: #6d747f;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .17);--accent: #3fd0a0;--accent-hover: #62dcb3;--accent-contrast: #032619;--accent-soft: rgba(120, 190, 175, .11);--accent-soft-strong: rgba(120, 190, 175, .19);--own-bubble: var(--bubble-in);--own-bubble-text: var(--bubble-in-text);--own-bubble-hover: #2a2f3a;--warn: #f5b041;--danger: #f2837a;--success: #3fd0a0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 8px 24px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .6)}}:root[data-theme=dark]{--bg: #0d0f12;--bg-raised: #171a1f;--bg-sunken: #111419;--bg-hover: rgba(255, 255, 255, .06);--sidebar-bg: #111419;--bubble-in: #212530;--bubble-in-text: #e7e9ee;--text: #e9ebef;--text-muted: #a1a8b3;--text-faint: #6d747f;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .17);--accent: #3fd0a0;--accent-hover: #62dcb3;--accent-contrast: #032619;--accent-soft: rgba(120, 190, 175, .11);--accent-soft-strong: rgba(120, 190, 175, .19);--own-bubble: var(--bubble-in);--own-bubble-text: var(--bubble-in-text);--own-bubble-hover: #2a2f3a;--warn: #f5b041;--danger: #f2837a;--success: #3fd0a0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 8px 24px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .6)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:15px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed}input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.icon{flex-shrink:0;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header-spacer{flex:1}.app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr) var(--rail-w);grid-template-rows:auto minmax(0,1fr);height:100dvh;background:var(--bg)}.app.is-bare{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center}.sidebar{grid-row:1 / 3;display:flex;flex-direction:column;min-height:0;padding:16px 12px;background:var(--sidebar-bg)}.header{grid-column:2;display:flex;align-items:center;gap:6px;min-width:0;margin:var(--gutter) 0 var(--gutter) var(--gutter);padding:10px 12px 10px 10px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-raised);box-shadow:var(--shadow-sm)}.main{grid-column:2;display:flex;flex-direction:column;min-width:0;min-height:0;margin:0 0 var(--gutter) var(--gutter);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-raised);box-shadow:var(--shadow-sm);overflow:hidden}.info-panel{grid-column:3;grid-row:1 / 3;min-height:0;display:flex;flex-direction:column;margin:var(--gutter);padding:20px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-raised);box-shadow:var(--shadow-sm)}.info-scroll{flex:1;min-height:0;overflow-y:auto}.topbar{display:none}.topbar-brand{display:flex;align-items:center;gap:8px;min-width:0;font-size:22px;font-weight:780;letter-spacing:-.035em}.topbar-brand .brand-mark{width:32px;height:32px}.brand{display:flex;align-items:center;gap:11px;padding:10px}.brand-mark{width:42px;height:42px;flex:none;object-fit:contain}.brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.15}.brand-name{font-size:24px;font-weight:780;letter-spacing:-.035em;color:var(--text)}.brand-name-accent{color:var(--accent)}.brand-tagline{margin-top:3px;font-size:13px;font-weight:500;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;margin:10px -4px;padding:0 4px}.sidebar-heading{margin:0;display:flex;align-items:center;gap:9px;min-height:30px;padding:0 12px 6px;font-size:13px;font-weight:650;color:var(--text-muted)}.sidebar-heading>.icon{color:var(--text-brand)}.sidebar-divider{height:1px;margin:14px 10px;background:var(--border)}.sidebar-footer{display:flex;align-items:center;gap:6px;margin-top:8px;padding:6px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-raised);box-shadow:var(--shadow-sm)}.sidebar-me{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 6px;border-radius:var(--radius);text-align:left;color:var(--text);transition:background .12s ease}.sidebar-me:hover{background:var(--bg-hover)}.sidebar-me:focus-visible,.sidebar-settings:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sidebar-me .avatar.is-small{width:40px;height:40px;font-size:14px}.sidebar-me .sidebar-thread-body{padding-left:2px}.sidebar-me .sidebar-thread-name{font-weight:700;letter-spacing:-.01em;font-size:15px;color:#dc8f09}.sidebar-me.is-guest .sidebar-thread-preview{margin-top:4px;font-size:13px}.sidebar-settings{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--radius);color:var(--text-muted);transition:background .12s ease,color .12s ease,border-color .12s ease}.sidebar-settings .icon{transition:transform .3s ease}.sidebar-settings:hover{color:var(--accent)}.sidebar-settings:hover .icon{transform:rotate(45deg)}@media(prefers-reduced-motion:reduce){.sidebar-settings .icon{transition:none}}.sidebar-toggle{display:none;position:relative;width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-sm);place-items:center;color:var(--text)}.sidebar-toggle:hover{background:var(--bg-hover)}.sidebar-scrim{display:none}.room-list{display:flex;flex-direction:column;gap:2px}.room-chip{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--radius);text-align:left;color:var(--text);transition:background .12s ease}.room-chip:hover:not(:disabled):not(.is-current){background:var(--bg-hover)}.room-chip.is-current{background:var(--accent-soft)}.room-chip:disabled{opacity:.4}.room-chip-radio{width:20px;height:20px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--border-strong);background:var(--bg-raised);transition:border-color .12s ease}.room-chip.is-current .room-chip-radio{border:2px solid var(--text-brand)}.room-chip.is-current .room-chip-radio:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--text-brand)}.room-chip-icon{width:30px;height:30px;flex-shrink:0;object-fit:contain}.room-chip-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}.room-chip-label{font-size:14px;font-weight:700;letter-spacing:-.01em}.room-chip-blurb{font-size:12px;color:var(--text-faint)}.room-chip.is-current .room-chip-blurb{color:var(--text-muted)}.tier-bar{display:none}.sidebar-threads{display:flex;flex-direction:column;gap:2px}.sidebar-thread{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px 7px 8px;border-radius:var(--radius);text-align:left;transition:background .12s ease}.sidebar-thread:hover{background:var(--bg-hover)}.sidebar-thread.is-current{background:var(--bg-raised);box-shadow:var(--shadow-sm),0 0 0 1px var(--border)}.sidebar-thread-body{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.sidebar-thread-top{display:flex;align-items:baseline;gap:8px}.sidebar-thread-name{flex:1;min-width:0;font-size:13px;font-weight:620;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-thread-when{flex-shrink:0;font-size:11.5px;color:var(--text-faint)}.sidebar-thread-preview{font-size:12.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.sidebar-empty{margin:0;padding:2px 10px 6px;font-size:12.5px;line-height:1.45;color:var(--text-faint)}.room-heading{display:flex;align-items:center;gap:12px;min-width:0}.room-heading-icon{width:46px;height:46px;flex-shrink:0;border-radius:var(--radius);display:grid;place-items:center;background:var(--accent-soft);transition:background .12s ease}.room-heading-icon:hover{background:var(--accent-soft-strong)}.room-heading-text{min-width:0;display:flex;flex-direction:column;gap:2px}.room-heading-label{margin:0;min-width:0;font-size:18px;font-weight:720;letter-spacing:-.02em;line-height:1.2}.room-heading-label button{display:block;max-width:100%;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.room-heading-label button:hover{color:var(--accent)}.room-heading-meta{display:flex;align-items:center;min-width:0;font-size:13px;line-height:1.3}.room-heading-blurb{min-width:0;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-heading-blurb.is-short{display:none}.presence{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;height:34px;margin-right:4px;padding:0 12px;border-radius:var(--radius-full);color:var(--accent);font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;transition:background .12s ease}.presence:hover:not(:disabled){background:var(--accent-soft)}.presence:disabled{cursor:default;opacity:.6}.presence-label{margin-left:-3px}.presence-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 22%,transparent)}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:38px;height:38px;flex-shrink:0;padding:0;border-radius:var(--radius-sm);color:var(--text-muted);font-size:16px;font-weight:550;transition:background .12s ease,color .12s ease;position:relative}.icon-button:hover{background:var(--bg-hover);color:var(--text)}.icon-button.is-active{background:var(--accent-soft);color:var(--accent)}.hot-button,.hot-button:hover,.hot-button.is-active{color:var(--text-brand)}.header-me{display:flex;align-items:center;gap:7px;flex-shrink:0;margin-left:10px;padding:3px}.header-me .icon-button:not(.account-button){border-radius:50%}.account-button{width:36px;height:36px;border-radius:50%;color:#fff;font-size:13px;font-weight:700;letter-spacing:.02em}.account-button:hover{color:#fff;filter:brightness(1.08)}.badge-dot{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--accent);color:var(--accent-contrast);font-size:10.5px;font-weight:700;line-height:14px;text-align:center;border:2px solid var(--bg)}.badge-dot.is-small{top:7px;right:7px;min-width:10px;height:10px;padding:0}.messages{flex:1;min-height:0;padding:12px 0 8px;display:flex;flex-direction:column}.messages-scroll{flex:1;min-height:0;overflow-y:auto;overflow-anchor:none;padding:0 22px;display:flex;flex-direction:column}.load-more-row{display:flex;justify-content:center;padding:2px 0 14px}.load-more{padding:6px 15px;border-radius:var(--radius-full);border:1px solid var(--border);font-size:13px;color:var(--text-muted);background:var(--bg-raised)}.load-more:hover{color:var(--text);border-color:var(--border-strong)}.day-divider{display:flex;align-items:center;gap:12px;margin:16px 0 6px;color:var(--text-faint);font-size:11.5px;font-weight:650;letter-spacing:.02em}.day-divider:before,.day-divider:after{content:"";flex:1;height:1px;background:var(--border)}.message-row{display:flex;gap:10px;padding:1px 0;margin-top:10px;position:relative}.message-row.is-own{flex-direction:row-reverse}.message-row.is-continuation{margin-top:0}.avatar{width:36px;height:36px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff;-webkit-user-select:none;user-select:none;border:none;letter-spacing:.02em;transition:transform .12s ease}.avatar.is-small{width:34px;height:34px;font-size:12px}.avatar.is-button:hover{transform:scale(1.06)}.avatar-spacer{width:36px;flex-shrink:0}.message-content{min-width:0;max-width:min(74%,560px);display:flex;flex-direction:column;align-items:flex-start}.is-own .message-content{align-items:flex-end}.message-meta{display:flex;align-items:baseline;gap:7px;margin:0 4px 3px;font-size:11.5px;color:var(--text-faint);flex-wrap:wrap;font-variant-numeric:tabular-nums}.message-author{font-size:13.5px;font-weight:650;color:var(--text);background:none;padding:0}button.message-author:hover{color:var(--accent)}.bubble{padding:8px 13px;border-radius:6px 18px 18px;background:var(--bubble-in);color:var(--bubble-in-text);line-height:1.42;word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap}.is-own .bubble{border-top-left-radius:18px;border-top-right-radius:6px;background:var(--own-bubble);color:var(--own-bubble-text)}.bubble.is-pending{opacity:.6}.bubble.is-failed,.is-own .bubble.is-failed{background:color-mix(in srgb,var(--danger) 10%,var(--bg-raised));box-shadow:inset 0 0 0 1px var(--danger);color:var(--danger)}.bubble.is-emoji-only,.is-own .bubble.is-emoji-only{background:none;border:none;box-shadow:none;padding:2px 0;font-family:var(--font-emoji);line-height:1.15}.bubble.is-emoji-only.size-jumbo{font-size:46px}.bubble.is-emoji-only.size-large{font-size:34px}.bubble.is-emoji-only.size-medium{font-size:26px}.reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction{display:inline-flex;align-items:center;gap:4px;padding:1px 9px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-raised);font-size:12.5px;font-weight:600;line-height:20px;color:var(--text-muted);font-variant-numeric:tabular-nums;transition:all .12s ease}.reaction:hover:not(:disabled){border-color:var(--border-strong)}.reaction.is-mine{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent);font-weight:700}.reaction-emoji{font-family:var(--font-emoji);font-size:13px}.message-actions{position:absolute;top:-16px;display:flex;gap:2px;padding:3px;border-radius:var(--radius-full);background:var(--bg-raised);border:1px solid var(--border);box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(2px);transition:opacity .11s ease,transform .11s ease;z-index:5}.message-row:hover .message-actions,.message-row:focus-within .message-actions{opacity:1;transform:none;pointer-events:auto}.is-own .message-actions{left:8px}.message-row:not(.is-own) .message-actions{right:8px}.quick-reaction{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-emoji);font-size:15px;transition:background .1s ease,transform .1s ease}.quick-reaction:hover{background:var(--bg-hover);transform:scale(1.18)}.message-actions:has(.message-menu.is-open){opacity:1;transform:none;pointer-events:auto}.message-actions-divider{align-self:center;width:1px;height:18px;margin:0 3px;background:var(--border)}.message-menu{position:relative;display:inline-flex}.quick-reaction.message-more{color:var(--text-muted)}.quick-reaction.message-more:hover,.message-menu.is-open .message-more{background:var(--bg-hover);color:var(--text);transform:none}.message-menu-list{position:absolute;right:0;z-index:6;display:flex;flex-direction:column;min-width:168px;padding:4px;border-radius:var(--radius-sm);background:var(--bg-raised);border:1px solid var(--border);box-shadow:var(--shadow)}.message-menu-list.is-down{top:calc(100% + 6px)}.message-menu-list.is-up{bottom:calc(100% + 6px)}.is-own .message-menu-list{right:auto;left:0}.message-menu-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:6px;font-size:13.5px;font-weight:560;color:var(--text);text-align:left;white-space:nowrap}.message-menu-item:hover,.message-menu-item:focus-visible{background:var(--bg-hover)}.message-menu-item .icon{color:var(--text-muted)}.message-menu-item.is-danger,.message-menu-item.is-danger .icon{color:var(--danger)}.system-card{display:flex;gap:12px;margin:12px 16px 0;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--accent-soft-strong);background:var(--accent-soft)}.system-card.is-muted{border-color:var(--border);background:var(--bg-sunken)}.system-card.is-muted .system-card-mark{background:var(--bg-raised);color:var(--text-muted);box-shadow:var(--shadow-sm)}.system-card-mark{width:30px;height:30px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-contrast)}.system-card h3{margin:0 0 2px;font-size:14px;font-weight:650}.system-card p{margin:0;font-size:13px;color:var(--text-muted)}.system-card p+p{margin-top:6px}.system-card .link-button{margin-top:4px;font-size:13px}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 24px;text-align:center;color:var(--text-muted)}.empty-mark{width:72px;height:72px;margin-bottom:6px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);font-size:36px}.empty-mark.is-logo img{width:42px;height:42px;object-fit:contain}.empty-mark.is-icon{width:60px;height:60px;color:var(--accent)}.empty-state h2{margin:0;font-size:16.5px;font-weight:680;letter-spacing:-.01em;color:var(--text)}.empty-state p{margin:0;max-width:36ch;font-size:13.5px}.app.is-bare.is-scroll{height:auto;min-height:100dvh}.app-intro{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:560px;padding:48px var(--gutter);text-align:center}.app-intro-mark{width:56px;height:56px;object-fit:contain}.app-intro h1{margin:0;font-size:clamp(24px,5vw,30px);font-weight:720;line-height:1.2;letter-spacing:-.02em}.app-intro-lede{margin:0;max-width:46ch;color:var(--text-muted)}.app-intro-status{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised);font-size:14px;color:var(--text-muted)}.app-intro-status p{margin:0}.app-intro-status strong{color:var(--text)}.app-intro-status .button-primary{width:auto}.app-intro-rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;width:100%;margin:4px 0 0;padding:0;list-style:none;text-align:left}.app-intro-rooms li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);background:var(--bg-raised);box-shadow:var(--shadow-sm)}.app-intro-rooms img{flex-shrink:0;width:28px;height:28px;object-fit:contain}.app-intro-rooms span{display:flex;flex-direction:column;min-width:0;line-height:1.3}.app-intro-rooms strong{font-size:14px;font-weight:640}.app-intro-rooms small{font-size:12.5px;color:var(--text-muted)}.app-intro-note{margin:0;max-width:46ch;font-size:13.5px;color:var(--text-muted)}.app-intro-links{justify-content:center}.typing-line{height:18px;padding:0 24px;font-size:12px;color:var(--text-faint);font-style:italic}.composer{padding:4px 14px calc(14px + env(safe-area-inset-bottom));background:var(--bg-raised)}.composer-inner{display:flex;align-items:flex-end;gap:2px;padding:4px;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-sunken);transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.composer-inner:focus-within{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:var(--bg-raised);box-shadow:0 0 0 3px var(--accent-soft)}.composer textarea{flex:1;min-width:0;border:none;background:none;resize:none;outline:none;padding:8px 6px;max-height:140px;line-height:1.45}.composer textarea::placeholder{color:var(--text-faint)}.composer-button{width:38px;height:38px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;color:var(--text-muted);transition:background .12s ease,color .12s ease,transform .12s ease}.composer-button:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.composer-button:disabled{opacity:.4}.send-button{background:var(--accent);color:var(--accent-contrast)}.send-button:hover:not(:disabled){background:var(--accent-hover);color:var(--accent-contrast)}.send-button:active:not(:disabled){transform:scale(.94)}.send-button:disabled{background:var(--border-strong);color:var(--bg-raised);opacity:1}.composer-hint{padding:6px 18px 0;margin:0;font-size:11.5px;color:var(--text-faint)}.info-panel h2{margin:0 0 16px;font-size:11.5px;font-weight:680;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.info-room{display:flex;align-items:center;gap:12px;margin-bottom:16px}.info-room-glyph{flex:0 1 56px;min-width:40px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft)}.info-room-glyph img{width:64%;height:auto}.info-room-text{flex:1 1 0;line-height:1.35}.info-room-label{display:block;white-space:nowrap;font-size:18px;font-weight:720;letter-spacing:-.02em}.info-room-blurb{display:block;margin-top:2px;font-size:13px;color:var(--text-muted)}.info-status{display:flex;gap:10px;padding:11px 12px;border-radius:var(--radius);background:var(--accent-soft);margin-bottom:16px;align-items:center}.info-status.is-off{background:var(--bg-sunken)}.info-status .info-status-mark{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;color:var(--text-brand)}.info-status.is-off .info-status-mark{background:var(--bg-raised);color:var(--text-muted);box-shadow:var(--shadow-sm)}.info-status strong{display:block;font-size:13.5px;font-weight:650}.info-status span{font-size:12.5px;line-height:1.45;color:var(--text-muted)}.info-status .info-status-help{display:block;margin-top:4px}.info-section{padding-top:14px;border-top:1px solid var(--border)}.info-section+.info-section{margin-top:14px}.info-title{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:13.5px;font-weight:660}.info-title .icon{color:var(--text-muted)}.rooms-illustration{display:block;width:100%;height:auto;margin-top:4px;font-family:var(--font)}.ri-land{fill:#eceef1}.ri-park{fill:#d7eedd}.ri-road{fill:none;stroke:#fff;stroke-width:9;stroke-linecap:round}.ri-road.is-minor{stroke-width:5}.ri-ring{stroke:var(--accent);stroke-opacity:.18}.ri-ring.is-4{fill:#1aa37a;fill-opacity:.1}.ri-ring.is-3{fill:#3b9ef5;fill-opacity:.16}.ri-ring.is-2{fill:#1aa37a;fill-opacity:.2}.ri-ring.is-1{fill:#1aa37a;fill-opacity:.3}.ri-person-ring{filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.18))}.ri-you{fill:var(--accent)}.ri-bubble{fill:var(--own-bubble);stroke:var(--border-strong);stroke-width:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.15))}.ri-bubble-text{fill:var(--own-bubble-text);font-size:15px;font-weight:400}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ri-land{fill:#1b1e24}:root:not([data-theme=light]) .ri-park{fill:#1f2e28}:root:not([data-theme=light]) .ri-road{stroke:#2b2f37}}:root[data-theme=dark] .ri-land{fill:#1b1e24}:root[data-theme=dark] .ri-park{fill:#1f2e28}:root[data-theme=dark] .ri-road{stroke:#2b2f37}.info-section p{margin:0 0 10px;font-size:13px;line-height:1.5;color:var(--text-muted)}.info-action{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 12px 10px 14px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);font-size:13.5px;font-weight:640;transition:background .12s ease}.info-action:hover{background:var(--accent-soft-strong)}.emoji-picker{position:absolute;bottom:calc(100% + 8px);right:0;width:min(340px,calc(100vw - 24px));max-height:340px;display:flex;flex-direction:column;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-raised);box-shadow:var(--shadow-lg);overflow:hidden;z-index:40}.emoji-search{margin:8px;padding:7px 11px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-sunken);outline:none}.emoji-search:focus{border-color:var(--accent)}.emoji-tabs{display:flex;gap:2px;padding:0 8px 6px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border)}.emoji-tabs::-webkit-scrollbar{display:none}.emoji-tab{flex-shrink:0;padding:4px 9px;border-radius:var(--radius-full);font-size:12px;color:var(--text-muted);white-space:nowrap}.emoji-tab.is-active{background:var(--accent-soft);color:var(--accent);font-weight:620}.emoji-grid{flex:1;overflow-y:auto;padding:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:2px}.emoji-cell{aspect-ratio:1;border-radius:var(--radius-sm);display:grid;place-items:center;font-family:var(--font-emoji);font-size:20px;transition:background 90ms ease,transform 90ms ease}.emoji-cell:hover{background:var(--bg-hover);transform:scale(1.15)}.emoji-empty{grid-column:1 / -1;padding:24px;text-align:center;color:var(--text-faint);font-size:13px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:#080a0e80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .14s ease}.modal{width:min(440px,100%);max-height:88dvh;overflow-y:auto;padding:26px;border-radius:var(--radius-xl);background:var(--bg-raised);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:sheet-up .18s cubic-bezier(.2,.8,.2,1);position:relative}.modal .modal-close{position:absolute;top:23px;right:18px;z-index:2;width:34px;height:34px;border-radius:var(--radius-full);background:var(--bg-sunken);color:var(--text-muted)}.modal .modal-close:hover{background:var(--bg-hover);color:var(--text)}.modal .modal-close+h2{padding-right:40px}@media(max-width:560px){.overlay{display:flex;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.modal,.modal.modal-wide{display:flex;flex-direction:column;width:100%;height:100%;max-height:none;padding:calc(20px + env(safe-area-inset-top)) 20px 0;border:none;border-radius:0;box-shadow:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal>*{flex-shrink:0}.modal .modal-close{top:calc(17px + env(safe-area-inset-top));right:12px}.modal-footer{position:sticky;bottom:0;z-index:1;margin:auto -20px 0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg-raised)}}.modal h2{margin:0 0 4px;font-size:20px;font-weight:720;letter-spacing:-.025em}.modal p.lede{margin:0 0 18px;color:var(--text-muted);font-size:13.5px}.modal p.lede strong{color:var(--text);font-weight:650}.field{display:block;margin-bottom:13px}.field span{display:block;margin-bottom:5px;font-size:12.5px;font-weight:600;color:var(--text-muted)}.field input{width:100%;padding:11px 13px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-raised);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:10px 16px;border-radius:var(--radius-sm);font-weight:640;font-size:14px;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.button-primary{background:var(--accent);color:var(--accent-contrast);width:100%}.button-primary:hover:not(:disabled){background:var(--accent-hover)}.button-primary:disabled{opacity:.5;cursor:not-allowed}.button-ghost{border-color:var(--border);color:var(--text-muted)}.button-ghost:hover{background:var(--bg-hover);color:var(--text)}.modal-footer{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--text-muted)}.link-button{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:2px;padding:0}.form-error{margin:0 0 12px;padding:9px 12px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);font-size:13px}.avatar,.account-button{overflow:hidden}.avatar-image{width:100%;height:100%;object-fit:cover;display:block}.avatar.is-bot{background:var(--accent-soft)}.avatar-image.is-bot{box-sizing:border-box;padding:5px;object-fit:contain}.bot-badge{flex-shrink:0;align-self:center;padding:1px 5px;border-radius:4px;background:var(--accent-soft-strong);color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.04em;line-height:1.4}.avatar.avatar-large{width:72px;height:72px;font-size:24px}.avatar-picker{display:flex;align-items:center;gap:16px}.avatar-picker-body{flex:1;min-width:0}.avatar-picker-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.avatar-picker .form-error{margin:8px 0 0}.modal.modal-wide{width:min(480px,100%)}.auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--text-faint);font-size:12.5px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.google-button{display:flex;justify-content:center;min-height:44px}.google-button.is-loading{border-radius:var(--radius-full);background:var(--bg-sunken)}.field .field-label-row{display:flex;justify-content:space-between;align-items:baseline}.field-label-row .link-button{font-size:12.5px}.field-optional{font-style:normal;font-weight:500;color:var(--text-faint)}.field .field-optional{display:inline}.field-hint{margin:6px 0 10px;font-size:12.5px;line-height:1.5;color:var(--text-muted)}.checkbox{display:flex;align-items:center;gap:9px;margin:2px 0 14px;font-size:13.5px;color:var(--text-muted);cursor:pointer}.checkbox input{width:16px;height:16px;accent-color:var(--accent)}.form-notice{margin:0 0 12px;padding:9px 12px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);font-size:13px}.email-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.email-address{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:580}.badge{flex-shrink:0;padding:2px 9px;border-radius:var(--radius-full);font-size:11.5px;font-weight:650}.badge.is-ok{background:var(--accent-soft);color:var(--accent)}.badge.is-warn{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn)}.button-row{display:flex;gap:8px}.button-row .button-primary{flex:1}.button-primary.button-inline{width:auto}.settings-section .button-ghost:only-child,.settings-section>.button-ghost{margin-top:2px}.welcome-verify{margin-top:16px}.button-danger{background:var(--danger);color:#fff}.button-danger:disabled{opacity:.5;cursor:not-allowed}.button-ghost.is-danger,.link-button.is-danger{color:var(--danger)}.report-quote{padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-hover);overflow-wrap:anywhere}.report-reasons{display:grid;gap:6px;margin:0 0 14px;padding:0;border:0}.report-reasons legend{padding:0}.report-reason{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;cursor:pointer}.report-reason.is-active{border-color:var(--accent);background:var(--accent-soft)}.report-reason input{width:16px;height:16px;accent-color:var(--accent)}.blocked-list{display:grid;gap:4px;margin:0 0 8px;padding:0;list-style:none}.settings-section{padding-top:4px;margin-bottom:18px}.settings-section .info-status{margin-bottom:10px}.settings-title{margin:0 0 8px;font-size:12.5px;font-weight:650;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;color:var(--text-faint)}.legal-links a,.auth-legal a{color:var(--text-muted);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:2px}.legal-links a:hover,.auth-legal a:hover{color:var(--accent);text-decoration-color:currentColor}.sidebar-legal{justify-content:center;margin-top:8px;font-size:12px}.auth-legal{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-faint);text-align:center}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:var(--radius);background:var(--bg-sunken);border:1px solid var(--border)}.segmented-option{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:580;color:var(--text-muted);transition:background .12s ease,color .12s ease}.segmented-option:hover{color:var(--text)}.segmented-option.is-active{background:var(--bg-raised);color:var(--text);box-shadow:var(--shadow-sm)}.people-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.people-row{display:flex;align-items:center;gap:11px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);text-align:left;transition:background .12s ease}button.people-row:hover{background:var(--bg-hover)}.people-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:580}.people-distance{flex-shrink:0;font-size:12.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.people-action{flex-shrink:0;font-size:14px;opacity:0;transition:opacity .12s ease}button.people-row:hover .people-action,button.people-row:focus-visible .people-action{opacity:1}.people-row.is-self{opacity:.7}.people-empty{margin:8px 0;color:var(--text-muted);font-size:13.5px}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);padding-top:env(safe-area-inset-top);animation:drawer-in .2s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;background:var(--bg-raised);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:90}@keyframes drawer-in{0%{transform:translate(24px);opacity:0}}.drawer-header{display:flex;align-items:center;gap:8px;padding:10px 12px;min-height:64px;border-bottom:1px solid var(--border)}.drawer .icon-button{width:36px;height:36px}.drawer-title{flex:1;min-width:0;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-subtitle{font-size:12px;font-weight:450;color:var(--text-muted)}.thread-list{flex:1;overflow-y:auto;padding:8px}.thread-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px;border-radius:var(--radius);text-align:left;transition:background .11s ease}.thread-item:hover{background:var(--bg-hover)}.thread-body{flex:1;min-width:0}.thread-name{flex:1;min-width:0;font-weight:620;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-preview{font-size:12.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-pill{min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:var(--accent);color:var(--accent-contrast);font-size:11px;font-weight:700;line-height:20px;text-align:center;flex-shrink:0}.business-pane{position:fixed;top:0;bottom:0;right:0;width:340px;display:flex;flex-direction:column;background:var(--bg-raised);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:89}@media(min-width:900px){.drawer.has-business-pane{right:340px}}@media(min-width:900px){.drawer.has-business-pane{clip-path:inset(0 0 0 -80px)}.business-pane{box-shadow:none;background:var(--bg-sunken)}}.business-pane-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 10px 18px;min-height:64px;border-bottom:1px solid var(--border)}.business-pane-kicker{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:650;color:var(--text-muted)}.business-pane-kicker .icon{color:var(--accent)}.business-pane .icon-button{width:36px;height:36px}.business-pane-scroll{flex:1;overflow-y:auto;padding:16px}.business-gallery{margin-bottom:16px}.business-gallery-main{position:relative;display:block;aspect-ratio:16 / 10;border-radius:var(--radius);overflow:hidden;background:var(--bg-hover)}.business-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}.business-gallery-count{position:absolute;right:8px;bottom:8px;padding:2px 8px;border-radius:var(--radius-full);background:#0000008c;color:#fff;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}.business-gallery-thumbs{display:flex;gap:6px;margin-top:8px;overflow-x:auto}.business-thumb{flex:0 0 48px;height:48px;padding:0;border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;opacity:.65;transition:opacity .11s ease,border-color .11s ease}.business-thumb:hover,.business-thumb.is-active{opacity:1}.business-thumb.is-active{border-color:var(--accent)}.business-thumb img{width:100%;height:100%;object-fit:cover;display:block}.business-body{padding:0 2px}.business-name{margin:0;font-size:20px;font-weight:720;line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere}.business-owner{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.business-section{margin-top:18px}.business-section-title{margin:0 0 8px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.business-description{margin:0;font-size:14px;line-height:1.55;color:var(--text);white-space:pre-line;overflow-wrap:anywhere}.business-contacts{margin:0;padding:0;list-style:none;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-raised);overflow:hidden}.business-contacts li+li{border-top:1px solid var(--border)}.business-contacts a{display:flex;align-items:center;gap:12px;padding:11px 12px;color:inherit;text-decoration:none;transition:background .12s ease}.business-contacts a:hover{background:var(--bg-hover)}.business-contact-icon{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.business-contact-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}.business-contact-label{font-size:11.5px;color:var(--text-faint)}.business-contact-value{font-size:14px;color:var(--text);overflow-wrap:anywhere}.business-contacts a:hover .business-contact-value{color:var(--accent)}.business-contact-go{flex-shrink:0;color:var(--text-faint)}.drawer .business-toggle.is-active{background:var(--accent-soft);color:var(--accent)}@media(max-width:899px){.business-pane{right:0;width:min(410px,100vw);z-index:91}}.field textarea{width:100%;padding:10px 13px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-raised);outline:none;resize:vertical;font:inherit;line-height:1.45}.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.business-form{margin-top:12px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:480px){.field-row{grid-template-columns:1fr}}.business-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.business-form-actions .link-button{flex-shrink:0;white-space:nowrap}.business-photos-editor{margin-bottom:14px}.business-photo-tile.is-pending img{opacity:.75}.business-photos-label{display:block;margin-bottom:6px;font-size:12.5px;font-weight:600;color:var(--text-muted)}.business-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:6px}.business-photo-tile,.business-photo-add{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden}.business-photo-tile img{width:100%;height:100%;object-fit:cover;display:block}.business-photo-cover{position:absolute;left:4px;bottom:4px;padding:1px 6px;border-radius:var(--radius-full);background:#0009;color:#fff;font-size:10.5px;font-weight:650}.business-photo-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#0009;color:#fff;font-size:11px;line-height:22px;text-align:center}.business-photo-add{border:1.5px dashed var(--border-strong);color:var(--text-muted);font-size:13px;font-weight:600}.business-photo-add:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}@media(max-width:1240px){.app{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}.info-panel{display:none}.header,.main{margin-right:var(--gutter)}}@media(max-width:860px){.app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);background:var(--bg-raised)}.topbar{display:flex;grid-column:1 / -1;align-items:center;gap:6px;padding:calc(10px + env(safe-area-inset-top)) 10px 10px 6px;border-bottom:1px solid var(--border)}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:95;width:min(300px,86vw);padding-top:calc(17px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-102%);transition:transform .2s cubic-bezier(.2,.8,.2,1)}.sidebar.is-open{transform:none;box-shadow:var(--shadow-lg)}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:94;background:#080a0e73;animation:fade-in .16s ease}.sidebar-toggle{display:grid}.header{grid-column:1 / -1;margin:0;padding:10px 10px 6px 12px;gap:2px;border:none;border-radius:0;box-shadow:none}.room-heading-blurb.is-long{display:none}.room-heading-blurb.is-short{display:block}.main{grid-column:1;margin:0;border:none;border-radius:0;box-shadow:none}.tier-bar{display:flex;flex-shrink:0;gap:6px;position:relative;padding:2px 12px 10px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border)}.tier-bar::-webkit-scrollbar{display:none}.tier-tab{flex-shrink:0;padding:6px 13px;border-radius:var(--radius-full);border:1px solid var(--border);font-size:13px;font-weight:620;color:var(--text-muted);white-space:nowrap;transition:background .12s ease,color .12s ease}.tier-tab.is-current{background:var(--accent);border-color:transparent;color:var(--accent-contrast)}.tier-tab:disabled{opacity:.4}.room-heading{gap:10px;padding-left:2px}.room-heading-icon{width:38px;height:38px}.room-heading-icon img{width:22px;height:22px}.room-heading-label{font-size:16px}.presence-label{display:none}.presence{height:32px;margin-right:0;padding:0 10px}.header-me{margin-right:2px;padding:2px}.messages{padding:8px 0}.messages-scroll{padding:0 12px}.system-card{margin:10px 12px 0}.message-content{max-width:84%}.avatar,.avatar-spacer{width:32px}.avatar{height:32px;font-size:12px}.composer{padding:4px 10px calc(10px + env(safe-area-inset-bottom))}.typing-line{padding:0 16px}input,textarea,select{font-size:16px!important}}@media(max-width:480px){.header .info-button{display:none}.icon-button{width:36px;height:36px}}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}.modal-wide .settings-section+.settings-section{padding-top:16px;border-top:1px solid var(--border)}.sidebar-heading-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-heading-count{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;font-weight:620;font-size:12px;color:var(--success);font-variant-numeric:tabular-nums}.sidebar-heading-count .online-dot{position:static;width:8px;height:8px;border:0}.sidebar-heading-actions{flex-shrink:0;margin-left:auto;display:inline-flex;align-items:center;gap:2px}.sidebar-heading-action{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 8px;border-radius:var(--radius-full);font-size:12px;font-weight:620;color:var(--accent)}.sidebar-heading-action .unread-pill{min-width:18px;height:18px;padding:0 5px;line-height:18px;font-size:10.5px}.sidebar-heading-action:hover{background:var(--accent-soft)}.sidebar-heading-action.is-create{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px 0 8px;background:var(--accent-soft);transition:background .12s ease}.sidebar-heading-action.is-create:hover{background:var(--accent-soft-strong)}.sidebar-heading-action.is-create .icon{stroke-width:2.6;color:var(--text-brand)}.new-chat-option-mark{flex-shrink:0;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent)}.new-chat-option .friend-names,.people-row .friend-names{flex:1}.new-chat-option-go{flex-shrink:0;color:var(--text-muted);transform:rotate(180deg)}.friend-avatar{position:relative;flex-shrink:0;display:inline-flex}.online-dot{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;border:2px solid var(--sidebar-bg);background:var(--text-faint)}.modal .online-dot{border-color:var(--bg-raised)}.online-dot.is-online{background:var(--success)}.friend-row,.people-item{display:flex;align-items:center;gap:8px}.people-item .people-row{flex:1;min-width:0}.friend-row{padding:6px 4px 6px 10px}.friend-person{flex:1;min-width:0;display:flex;align-items:center;gap:11px}.friend-names{min-width:0;display:flex;flex-direction:column}.friend-handle{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-button{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-raised);color:var(--text-muted);font-size:12.5px;font-weight:600;white-space:nowrap;transition:background .12s ease,border-color .12s ease,color .12s ease}.friend-button:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.friend-button.is-compact{width:36px;height:36px;padding:0;justify-content:center}.friend-button.is-none{border-color:transparent;background:var(--accent-soft);color:var(--accent)}.friend-button.is-incoming{border-color:transparent;background:var(--accent);color:var(--accent-contrast)}.friend-button.is-friends{cursor:default;border-color:transparent;background:transparent}.friend-button.is-quiet{border-color:transparent;background:transparent}.friend-button.is-danger{border-color:transparent;background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.friend-button:disabled:not(.is-friends){opacity:.6}.drawer-header .friend-button{margin-left:auto}.drawer-header .friend-button+.icon-button{margin-left:0}.group-icon{position:relative;flex-shrink:0;width:38px;height:38px}.group-icon.is-small{width:34px;height:34px}.group-icon-face,.group-icon-solo{position:absolute;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;overflow:hidden;color:#fff;font-size:10px;font-weight:700;box-shadow:0 0 0 2px var(--sidebar-bg)}.group-icon.is-small .group-icon-face{width:24px;height:24px}.group-icon-face:first-child{top:0;left:0}.group-icon-face:nth-child(2){right:0;bottom:0}.group-icon-face:only-child{top:0;right:0;bottom:0;left:0;width:auto;height:auto;font-size:12px}.group-icon-solo{top:0;right:0;bottom:0;left:0;width:auto;height:auto;background:var(--bg-hover);color:var(--text-muted);box-shadow:none}.drawer-title-button{text-align:left;border-radius:var(--radius-sm)}.drawer-title-button:hover .drawer-subtitle{color:var(--accent)}.friend-picker{max-height:260px;overflow-y:auto;margin-bottom:12px;padding:4px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-sunken)}.picker-row{cursor:pointer}.picker-row input{width:16px;height:16px;flex-shrink:0;accent-color:var(--accent)}.field .friend-names,.field .friend-names span{display:flex;margin:0}.field .friend-names{flex-direction:column}.field .people-name{color:var(--text);font-size:14px;font-weight:580}.field .friend-handle{font-weight:500}.friend-button.is-wide{flex:1;justify-content:center;padding:10px 14px;border:1px solid var(--border)}.attach-toggle{margin-left:0}.attach-menu{position:absolute;bottom:calc(100% + 8px);left:0;z-index:40;display:flex;flex-direction:column;min-width:180px;padding:6px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-raised);box-shadow:var(--shadow-lg)}.attach-menu button{display:flex;align-items:center;gap:11px;color:var(--text);padding:9px 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:560;text-align:left}.attach-menu button:hover{background:var(--bg-hover)}.attach-menu .icon{color:var(--accent)}.send-button.is-mic{background:transparent;color:var(--text-muted)}.send-button.is-mic:hover{background:var(--bg-hover);color:var(--text)}.attachment-chip{display:flex;align-items:center;gap:11px;margin-bottom:8px;padding:8px 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-sunken)}.attachment-chip-thumb{width:48px;height:48px;flex-shrink:0;border-radius:var(--radius-sm);object-fit:cover}.attachment-chip-icon{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--accent)}.attachment-chip-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.attachment-chip-name{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-chip-meta{font-size:12px;color:var(--text-muted)}.attachment-chip-warning{display:flex;align-items:flex-start;gap:5px;margin-top:2px;font-size:12px;font-weight:600;color:var(--warn)}.attachment-chip-warning .icon{margin-top:1px}.attachment-chip-remove{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;color:var(--text-muted)}.attachment-chip-remove:hover{background:var(--bg-hover);color:var(--text)}.attachment-progress{height:4px;margin-top:3px;border-radius:var(--radius-full);background:var(--border);overflow:hidden}.attachment-progress span{display:block;height:100%;background:var(--accent);transition:width .12s linear}.composer-error{margin:6px 18px 0;font-size:12.5px;color:var(--danger)}.composer-recording{align-items:center;padding-left:6px}.recording-dot{width:10px;height:10px;flex-shrink:0;border-radius:50%;background:var(--danger);animation:recording-pulse 1.2s ease-in-out infinite}@keyframes recording-pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.recording-dot{animation:none}}.recording-time{font-variant-numeric:tabular-nums;font-weight:650}.recording-label{flex:1;font-size:13px;color:var(--text-muted)}.bubble.is-caption{margin-top:4px}.attachment-photo{display:block;max-width:min(320px,100%);border-radius:var(--radius);overflow:hidden;background:var(--bg-sunken);line-height:0}.attachment-photo img{display:block;width:100%;max-height:360px;object-fit:cover}.attachment-card{display:flex;align-items:center;gap:12px;width:300px;max-width:100%;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-raised);color:var(--text);text-decoration:none}a.attachment-card:hover{border-color:var(--border-strong)}.attachment-card-icon{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--bg-sunken);color:var(--text-muted)}.file-badge{font-size:10.5px;font-weight:800;letter-spacing:.02em;color:#fff;background:#64748b}.file-badge.is-pdf{background:#dc2626}.file-badge.is-doc{background:#2563eb}.file-badge.is-sheet{background:#16a34a}.file-badge.is-slides{background:#ea580c}.attachment-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.attachment-card-title{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-card-meta{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.attachment-card-action{color:var(--text-muted);font-size:16px}.attachment-card.attachment-location{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}.attachment-location-row{display:flex;align-items:center;gap:12px;padding:10px 12px}.mini-map-link{display:block;line-height:0}.mini-map{position:relative;display:block;overflow:hidden;background:#eceae4;border-top:1px solid var(--border)}.attachment-chip.is-location{flex-wrap:wrap}.attachment-chip .mini-map{flex-basis:100%;border:1px solid var(--border);border-radius:var(--radius-sm)}.mini-map-tile{position:absolute;width:256px;height:256px;max-width:none;-webkit-user-select:none;user-select:none;pointer-events:none}.mini-map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));transition:transform .14s ease}.mini-map-link:hover .mini-map-pin{transform:translate(-50%,calc(-100% - 3px))}.mini-map-credit{position:absolute;right:0;bottom:0;padding:1px 5px;border-top-left-radius:6px;background:#fffc;color:#444;font-size:9.5px;line-height:1.5}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .mini-map-tile{filter:brightness(.82) contrast(1.05)}}:root[data-theme=dark] .mini-map-tile{filter:brightness(.82) contrast(1.05)}.attachment-location .attachment-card-icon{background:var(--accent-soft);color:var(--accent)}.attachment-location-links{display:flex;gap:12px;margin-top:3px;font-size:12.5px;font-weight:600}.attachment-location-links a{color:var(--accent)}.attachment-voice{display:flex;align-items:center;gap:10px;width:260px;max-width:100%;padding:8px 12px 8px 8px;border-radius:var(--radius-full);background:var(--bubble-in)}.message-row.is-own .attachment-voice{background:var(--own-bubble);color:var(--own-bubble-text)}.voice-play{width:34px;height:34px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--bg-raised);color:var(--text);font-size:12px}.voice-track{flex:1;height:4px;border-radius:var(--radius-full);background:color-mix(in srgb,currentColor 22%,transparent);overflow:hidden}.voice-fill{display:block;height:100%;background:currentColor}.voice-time{font-size:12px;font-variant-numeric:tabular-nums;opacity:.8}.settings-section .info-action{justify-content:center}.toast-region{position:fixed;left:0;right:0;bottom:calc(96px + env(safe-area-inset-bottom));z-index:110;display:flex;justify-content:center;padding:0 var(--gutter);pointer-events:none}.toast{max-width:100%;padding:10px 16px;border-radius:var(--radius-full);background:var(--text);color:var(--bg-raised);font-size:14px;line-height:1.35;text-align:center;box-shadow:var(--shadow);animation:sheet-up .16s ease}
