:root{color-scheme:dark;--bg:#111;--panel:#191919;--fg:#eee;--muted:#aaa;--line:#444}
html[data-theme=light]{color-scheme:light;--bg:#fff;--panel:#f5f5f5;--fg:#111;--muted:#666;--line:#ccc}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}
.shell{max-width:760px;margin:auto;padding:0 28px}
a{color:inherit;text-underline-offset:4px}
a:hover{color:var(--muted)}
button,input,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.6}
button,a,input,textarea{touch-action:manipulation}
:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0}
.brand,.signup-brand{font-weight:600;text-decoration:none}
nav{display:flex;align-items:center;gap:20px;font-size:12px}
nav form{margin:0}
.quiet{background:none;border:0;color:var(--muted);padding:0}
.quiet:hover{color:var(--fg)}
h1,h2{font:inherit;font-weight:600;letter-spacing:0}
h1{font-size:18px;margin:0 0 24px}
h2{font-size:14px;margin:0 0 12px}
p{margin:12px 0;overflow-wrap:anywhere}
.button{display:inline-block;background:transparent;color:var(--fg);border:1px solid var(--line);border-radius:0;padding:8px 16px;font-weight:400;text-decoration:none}
.button:hover{border-color:var(--fg);color:var(--fg)}
.subtle,.helptext{font-size:12px;color:var(--muted)}
.helptext{display:block;margin-top:6px}
.helptext ul{padding-left:18px}
.stack p{margin:16px 0}
.stack label{display:block;font-size:13px;margin-bottom:8px}
.stack input,.stack textarea,.composer textarea{width:100%;padding:8px 10px;background:transparent;color:var(--fg);border:1px solid var(--line);border-radius:0;resize:vertical}
.stack>.button{margin-top:8px}
.errorlist{font-size:12px;padding-left:18px}
.notice{font-size:12px;margin:16px 0}
.form-page,.signup-page{max-width:420px;margin:32px auto 64px}
.signup-page{max-width:none;margin-top:48px}.form-page.wide-form{max-width:none}
.signup-page h1{margin:28px 0 20px}
.landing{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;max-width:620px;margin:auto;padding:60px 0}
.landing h1{font-size:clamp(22px,5vw,30px);line-height:1.4;margin:0 0 16px}
.landing p{color:var(--muted);margin:0 0 28px}
.dashboard,.chat-page{padding:24px 0 64px}
.dashboard section{margin-top:36px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.tag{font-size:12px;border:1px solid var(--line);padding:1px 7px;color:var(--muted)}
.chat-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}
.chat-heading h1{margin:0}
.chat-heading form{flex-shrink:0;font-size:12px}
.members{font-size:12px;color:var(--muted);margin-top:16px}
summary{cursor:pointer}
#chat{height:clamp(240px,48vh,500px);overflow:auto;margin:24px 0;padding-right:8px}
.message{margin-bottom:24px}
.message .meta{font-size:12px}
.message time{color:var(--muted);margin-left:12px}
.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0}
.composer{display:flex;align-items:flex-end;gap:12px}
.composer textarea{min-width:0}
.composer .button{flex-shrink:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:480px){.shell{padding:0 20px}header{gap:12px}nav{gap:12px;font-size:11px}.chat-heading{align-items:flex-start}.composer{flex-wrap:wrap}.composer .button{margin-left:auto}}
.history-button{display:block;margin-top:20px;font-size:12px}.history-button[hidden]{display:none}
.table-scroll{overflow-x:auto}.conversations{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.conversations th{font-weight:400;color:var(--muted);white-space:nowrap}.conversations th,.conversations td{padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}.conversations th:last-child,.conversations td:last-child{padding-right:0}.conversations .numeric{text-align:right;font-variant-numeric:tabular-nums}.conversations .datetime{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}
.members-inline{display:flex;align-items:baseline;gap:12px;height:24px;min-width:0}.members-inline button{flex-shrink:0}.members-inline #member-names{white-space:nowrap;overflow-x:auto;min-width:0;scrollbar-width:thin}.members-inline #member-names[hidden]{display:none}
nav a.quiet{text-decoration:none}@media(max-width:480px){header{flex-wrap:wrap}}

.conversation-name{display:flex;align-items:center;gap:4px;min-width:0}.conversation-name h1{overflow-wrap:anywhere}
.stack input[type=checkbox]{width:auto;margin-right:8px}.message .deleted-body{min-height:1.2em;width:80px;max-width:100%;background:var(--panel);border-left:1px solid var(--line)}
.message-actions{display:flex;gap:16px;font-size:11px;margin-top:4px}.message-actions[hidden]{display:none}.edited-label{font-size:11px;color:var(--muted);margin-left:10px}.message-editor textarea{display:block;width:100%;padding:0 0 6px;background:transparent;color:var(--fg);border:0;border-bottom:1px solid var(--line);border-radius:0;font:inherit;resize:none;outline:none}.message-editor textarea:focus{border-bottom-color:var(--fg)}.edit-controls{display:flex;align-items:center;gap:16px;margin-top:8px}.edit-controls .quiet{font-size:11px;padding:4px 0}.edit-controls .quiet:first-child{text-decoration:underline;text-underline-offset:3px}.deleted-label{font-size:11px;color:var(--muted);margin-left:10px}

.stack .form-field{margin:16px 0}.interests-field{border:0;padding:0;min-width:0}.interests-field>legend{font-size:13px;padding:0}.interest-cloud{margin-top:20px}.interest-area{border:0;padding:0;margin:0 0 22px;min-width:0}.interest-area legend{font-size:12px;color:var(--muted);padding:0;margin-bottom:8px}.interest-options{display:flex;flex-wrap:wrap;gap:6px}.stack .interest-option{display:inline-flex;position:relative;margin:0;cursor:pointer}.stack .interest-option input{position:absolute;width:1px;height:1px;margin:0;padding:0;opacity:0}.interest-option span{display:block;border:1px solid var(--line);padding:4px 8px;font-size:11px;color:var(--muted)}.interest-option input:checked+span{background:var(--fg);border-color:var(--fg);color:var(--bg)}.interest-option input:focus-visible+span{outline:2px solid var(--fg);outline-offset:2px}.interest-option input:disabled+span{opacity:.4;cursor:default}.interest-count{font-variant-numeric:tabular-nums}
.composer{position:relative}.mention-menu{position:absolute;bottom:calc(100% + 6px);left:0;z-index:20;min-width:180px;max-width:100%;background:var(--bg);border:1px solid var(--line);padding:4px}.mention-menu[hidden]{display:none}.mention-menu button{display:block;width:100%;text-align:left;border:0;background:none;color:var(--muted);font:inherit;font-size:12px;padding:6px 8px}.mention-menu button:hover,.mention-menu button[aria-selected=true]{color:var(--fg);background:var(--panel)}.message-editor{position:relative}.mention{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.privacy-label{font-size:12px;font-weight:400;color:var(--muted);white-space:nowrap}
.members-title{margin-top:24px}
.matching-control{margin-top:24px;font-size:12px}
.matching-state-note{margin-top:6px}
.matching-spinner{display:inline-block;width:10px;height:10px;margin-right:7px;border:1px solid var(--line);border-top-color:currentColor;border-radius:50%;animation:matching-spin 1s linear infinite}@keyframes matching-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.matching-spinner{animation:none}}
/* Shared interaction styles. */
.quiet{border:1px solid var(--line);border-radius:0;padding:4px 9px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);text-decoration:none}.quiet:hover{border-color:var(--fg);color:var(--fg)}.button{min-height:36px}.nav-link{color:var(--muted);text-decoration:underline}.nav-link[aria-current=page]{color:var(--fg)}.back-link{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:24px}.form-page{margin:0 auto;padding:24px 0 64px}.members-title{margin-top:0}.chat-heading{margin-top:0}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:24px}.feedback{font-size:12px;line-height:1.7;color:var(--muted);margin:12px 0;padding-left:10px;border-left:2px solid var(--line)}.feedback:empty{display:none}.feedback[data-kind=error]{color:var(--fg);border-left-color:var(--fg)}.feedback[role=alert]::before{content:'Error: ';font-weight:600}.message .feedback{white-space:normal}.edit-controls .quiet{padding:4px 9px;font-size:11px}.edit-controls .quiet:first-child{text-decoration:none}.message-actions .quiet{font-size:11px}.members-inline{height:auto;min-height:24px}.matching-control .quiet{font-size:12px}.interest-option span{min-height:28px}#confirm-dialog{width:min(420px,calc(100vw - 40px));padding:24px;border:1px solid var(--line);background:var(--bg);color:var(--fg);font:inherit}#confirm-dialog::backdrop{background:#0008}#confirm-dialog h2{font-size:16px;margin:0 0 12px}#confirm-dialog p{font-size:13px;color:var(--muted);margin:0}@media(pointer:coarse){.quiet,.button{min-height:44px}.interest-option span{min-height:36px;display:flex;align-items:center}.mention-menu button{min-height:44px}}
.signup-brand{display:block}.signup-page .back-link{margin-top:24px}.signup-page .back-link+h1{margin-top:0}
.back-link,.nav-link,.members-inline a{display:inline-flex;align-items:center;min-height:32px}.message-editor textarea:focus-visible{border-bottom-width:2px}@media(pointer:coarse){.back-link,.nav-link,.members-inline a{min-height:44px}}
.landing-actions{display:flex;flex-wrap:wrap;gap:12px}.button-accent{background:var(--fg);color:var(--bg);border-color:var(--fg)}.button-accent:hover{color:var(--bg);opacity:.85}
nav .nav-link,nav .nav-action{display:inline-flex;align-items:center;min-height:32px;padding:0;border:0;background:none;color:var(--muted);font:inherit;text-decoration:none}nav .nav-link:hover,nav .nav-action:hover{color:var(--fg);text-decoration:underline;text-underline-offset:4px}nav .nav-link[aria-current=page]{color:var(--fg);text-decoration:underline;text-underline-offset:4px}@media(pointer:coarse){nav .nav-link,nav .nav-action{min-height:44px}}
.message-actions .quiet{border:0;background:none;padding:0;min-height:24px;font-size:11px;text-decoration:none}.message-actions .quiet:hover{text-decoration:underline;text-underline-offset:3px}.message-body a{overflow-wrap:anywhere}@media(pointer:coarse){.message-actions .quiet{min-height:44px}}
.about-copy h2{margin:36px 0 18px}.about-copy dt{font-size:15px;font-weight:800;margin-top:24px}.about-copy dd{margin:8px 0 0;color:var(--muted)}.manifesto-list{padding-left:20px}.manifesto-list li{margin:10px 0}

.landing-art{color:var(--muted);margin:0 0 24px;font:clamp(7px,2.1vw,11px)/1.1 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre;text-align:left;max-width:100%}.landing-actions{justify-content:center}

.landing-signin{margin-top:20px;display:inline-flex;align-items:center;min-height:32px}@media(pointer:coarse){.landing-signin{min-height:44px}}
