/* Palette: paper and ink with forest accents. The dark variant follows the
   system preference or the footer toggle, which sets data-theme on html. */
:root{--paper:#fbfaf7;--ink:#1d1c1a;--muted:#6f6a60;--rail:#f4f2ec;--line:#e5e1d7;--accent:#2f6b3a;--soft:#e4efdf;--hover:#f0ede5;--add:#e4f0dd;--del:#f6e6df;--alert:#a63a2b;--g0:#edece7;--g1:#cfe3c4;--g2:#9cc48a;--g3:#5f9a4e;--g4:#2f6b3a;--bark:#8a5a1f;--w1:#7a4f1d;--w2:#5f9a4e;--w3:#2f6b3a;--w4:#b5643c;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--sans:system-ui,-apple-system,"Segoe UI",sans-serif}
html[data-theme=dark]{--paper:#171614;--ink:#d9d6cf;--muted:#8d887c;--rail:#1e1d1a;--line:#2c2a26;--accent:#8fc27a;--soft:#22301f;--hover:#242320;--add:#223521;--del:#3a2a24;--alert:#e08a7a;--g0:#26251f;--g1:#2a3d24;--g2:#3b5a2f;--g3:#4f7d3d;--g4:#8fc27a;--bark:#d3a15c;--w1:#d3a15c;--w2:#9cc48a;--w3:#6ea55a;--w4:#d98a5c}
@media(prefers-color-scheme:dark){html:not([data-theme=light]){--paper:#171614;--ink:#d9d6cf;--muted:#8d887c;--rail:#1e1d1a;--line:#2c2a26;--accent:#8fc27a;--soft:#22301f;--hover:#242320;--add:#223521;--del:#3a2a24;--alert:#e08a7a;--g0:#26251f;--g1:#2a3d24;--g2:#3b5a2f;--g3:#4f7d3d;--g4:#8fc27a;--bark:#d3a15c;--w1:#d3a15c;--w2:#9cc48a;--w3:#6ea55a;--w4:#d98a5c}}

html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}@media(prefers-color-scheme:dark){html:not([data-theme=light]){color-scheme:dark}}
html,body{margin:0;padding:0;height:100%;overflow:hidden;overscroll-behavior:none}
body{font:14px/1.45 var(--sans);color:var(--ink);background:var(--paper)}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
code,kbd,samp,pre{font-family:var(--mono);font-size:13px}
h1{font-size:24px;margin:0 0 12px}h2{font-size:17px;margin:22px 0 8px}h3{font-size:14px;margin:18px 0 6px}
p{margin:0 0 10px}
small{color:var(--muted)}
[role=alert]{color:var(--alert)}
[role=status]{color:var(--muted)}
input,select,textarea,button{font:inherit;color:inherit;background:var(--paper);border:1px solid var(--line);padding:4px 8px;box-sizing:border-box;max-width:100%}
button{cursor:pointer;background:var(--rail)}button:hover{background:var(--hover)}button:disabled{cursor:default;color:var(--muted)}
textarea{width:100%;min-height:5em;font-family:var(--mono);font-size:13px}
pre{white-space:pre-wrap;overflow-wrap:anywhere}
img{max-width:100%}

/* Selection: chrome is not selectable, content and values are. */
#rail,#footer,#topbar,#panel h4,#panel label,#panel th,#rows th,#grid,#gridhead,#tree header small,#tree li>span,#preview header,button,summary,rpc-form label,signed-form label,publish-list label,nostr-compose label,wiki-compose label,file-tools label,file-upload label,nostr-event>header,approval-item>header,wiki-article>header,diff-view caption small{user-select:none;-webkit-user-select:none}

/* Shell: a table with three columns; each column scrolls on its own. */
#topbar,#mobile-actions{display:none}
#layout{border-collapse:collapse;table-layout:fixed;width:100%;height:calc(100vh - 28px - env(safe-area-inset-bottom,0px))}
#layout>tbody>tr>td{vertical-align:top;padding:0;position:relative;height:100%}
#railbox,#content,#panel{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;overscroll-behavior:contain}
#rail{width:240px;background:var(--rail);border-right:1px solid var(--line)}
#aside{width:280px;border-left:1px solid var(--line)}
#content>section{padding:14px 22px 30px}
#footer{position:fixed;left:0;right:0;bottom:0;height:calc(28px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--rail);font:13px var(--mono);padding:0 calc(2ch + env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) calc(2.5ch + env(safe-area-inset-left,0px));box-sizing:border-box}
#footer table{width:100%;border-collapse:collapse;height:27px}#footer td{border:0;padding:0;vertical-align:middle}
#footer td:last-child{text-align:right}
#prompt{color:var(--muted)}#prompt b{color:var(--ink);font-weight:500}
#who{color:var(--muted)}#who b,#who nostr-key,#who nostr-name{color:var(--ink)}
#who button{border:0;background:none;padding:0;color:var(--accent);font:inherit}#who button:hover{text-decoration:underline}
#railbox{box-sizing:border-box;padding-bottom:44px}
#rail nav+nav{margin-top:14px}
#rail-tools{position:absolute;left:0;right:0;bottom:0;margin:0;padding:10px 2ch 10px 2.5ch;font:12px var(--mono)}#rail-tools a{float:left;color:var(--muted)}#rail-tools a:hover{color:var(--ink)}#rail-tools button{float:right}
/* The install hint sits on the footer's centre line so it never moves the prompt or the session. */
#install{position:absolute;left:50%;top:0;transform:translateX(-50%);border:0;background:none;padding:0;color:var(--muted);font:12px var(--mono);line-height:27px;cursor:pointer}#install:hover{color:var(--ink);text-decoration:underline}#install[hidden]{display:none}
share-link{display:inline-block}share-link:empty{display:none}
#theme{border:0;background:none;padding:0;color:var(--muted);font:inherit}#theme:hover{color:var(--ink);text-decoration:underline}

/* Rail */
#rail header{height:60px;box-sizing:border-box;border-bottom:1px solid var(--line);font:13px var(--mono);display:table;width:100%}
#rail header>span{display:table-cell;vertical-align:middle;line-height:1.3;padding:0 2ch 0 2.5ch;overflow-wrap:break-word}
#rail header a{color:var(--muted)}#rail header b{font-weight:500}
#mark{display:inline-block;font:800 26px/1 var(--sans);letter-spacing:-.04em;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:4px;text-underline-offset:5px}
#rail header a#mark{color:var(--ink)}#mark:hover{text-decoration-color:var(--ink)}
#mark i{font-style:normal}#mark i:nth-child(1){color:var(--w1)}#mark i:nth-child(2){color:var(--w4)}#mark i:nth-child(3){color:var(--w3)}#mark i:nth-child(4){color:var(--w2)}
#rail nav a{display:block;box-sizing:border-box;height:36px;padding:0 2ch 0 2.5ch;border-bottom:1px solid var(--line);font:13px/35px var(--mono);color:var(--ink)}
#rail nav a:hover{background:var(--hover);text-decoration:none}
#rail nav a[aria-current=page]{background:var(--soft)}
#rail p{padding:10px 2ch 10px 2.5ch;margin:0;font:12px var(--mono);color:var(--muted)}

/* Panel */
#panel section{padding:10px 14px;border-bottom:1px solid var(--line);font:12px var(--mono)}
#content:focus{outline:0}#content:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
#navigation-status{color:var(--muted);font-size:11px}
#panel h4{margin:0 0 6px;font:12px var(--mono);color:var(--muted)}
#panel p{margin:0 0 6px;font:13px/1.4 var(--sans);color:var(--muted)}#panel p small{font-size:inherit}
#panel table{width:100%;border-collapse:collapse;margin:0}
#panel th{text-align:left;font-weight:normal;color:var(--muted);padding:2px 1ch 2px 0;border:0;white-space:nowrap;vertical-align:top}
#panel td{text-align:right;padding:2px 0;border:0;overflow-wrap:anywhere}
#panel ul{list-style:none;margin:0;padding:0}#panel li{line-height:24px;overflow-wrap:anywhere}
#panel li small{float:right}
#panel label{display:block;color:var(--muted);margin:8px 0 2px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
#panel input,#panel select{width:100%;font:12px var(--mono)}
#panel form button{margin-top:8px}
#panel json-view{margin-top:4px}

/* Rows: the list rhythm used by repositories, files, history, and activity. */
#rows{width:100%;border-collapse:collapse}
#rows td{height:36px;border-bottom:1px solid var(--line);padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
#rows td:first-child{width:120px;font:13px var(--mono);color:var(--accent)}
#rows td:last-child{width:170px;text-align:right;font:12px var(--mono);color:var(--muted)}
#rows tr:hover td{background:var(--hover)}
#rows th{text-align:left;font:12px var(--mono);color:var(--muted);font-weight:normal;padding:0 10px;height:28px;border-bottom:1px solid var(--line)}
#rows th:last-child{text-align:right}
#rows td a{color:inherit}#rows td:first-child a{color:var(--accent)}
#file-views{border-bottom:1px solid var(--line);margin:0 0 14px}
#file-views a{display:inline-block;padding:10px 14px;color:var(--muted);border-bottom:2px solid transparent}
#file-views a:first-child{padding-left:0}#file-views a[aria-current=page]{color:var(--accent);border-color:var(--accent)}
#file-context,#file-empty{color:var(--muted)}#file-breadcrumbs{margin:16px 0;font:13px var(--mono);overflow-wrap:anywhere}
#file-library #rows{table-layout:fixed}#file-library #rows td{height:auto;padding:12px 10px;white-space:normal;overflow-wrap:anywhere}
#file-library #rows td:first-child{width:auto;font:14px var(--sans)}#file-library #rows th:nth-child(2){width:24%}#file-library #rows th:last-child{width:170px}
#file-library #rows td:first-child>a{display:table;width:100%}#file-library #rows td:first-child>a>span:last-child{display:table-cell;vertical-align:middle;width:100%;padding-left:12px}
#file-library #rows img,#file-library [data-file-icon]{display:block;width:40px;height:40px;border-radius:5px;object-fit:cover;background:var(--rail)}
#file-library [data-file-icon]{text-align:center;font:28px/40px var(--sans);color:var(--muted)}#file-library tr[data-kind=folder] [data-file-icon],#file-library tr[data-kind=site] [data-file-icon],#file-library tr[data-kind=room] [data-file-icon]{color:var(--accent);background:var(--soft)}
#file-library #rows small{display:block;margin-top:3px;color:var(--muted);font:12px var(--mono)}
@media(max-width:700px){#file-library #rows thead,#file-library #rows td:last-child{display:none}#file-library #rows,#file-library #rows tbody,#file-library #rows tr{display:block;width:auto}#file-library #rows tr{padding:12px 0;border-bottom:1px solid var(--line)}#file-library #rows td{display:block;width:auto;padding:0;border:0}#file-library #rows td:first-child{width:auto}#file-library #rows td:nth-child(2){padding:3px 0 0 40px;color:var(--muted);font-size:12px}#file-library #rows td:nth-child(2) small{display:inline;margin-left:8px;overflow-wrap:anywhere}#file-library #rows img,#file-library [data-file-icon]{width:32px;height:32px;line-height:32px}#file-library #rows td:first-child>a>span:last-child{padding-left:8px}#file-views a{padding:10px}#file-search label{max-width:100%}#file-search input{max-width:100%;box-sizing:border-box}}
#pages{font:12px var(--mono)}
#collaboration-filter,#file-search,#wiki-search{margin:0 0 14px;padding:0 0 8px;border-bottom:1px solid var(--line)}
#collaboration-body{max-width:720px}
#file-actions{max-width:720px;margin:0 0 18px}
#events li>details{margin:0 0 10px;font:12px var(--mono)}#events li>details>summary{cursor:pointer;color:var(--muted)}

/* Data tables inside content, including json-view results. */
scroll-box{display:block;overflow-x:auto;max-width:100%}
scroll-box table,json-view table{width:100%;border-collapse:collapse;margin:.5rem 0}
scroll-box th,scroll-box td,json-view th,json-view td{padding:.35rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:normal}scroll-box th,json-view th,scroll-box td code,scroll-box td nostr-key,scroll-box td time,json-view td code,json-view td nostr-key,json-view td time,scroll-box td nostr-name,json-view td nostr-name{white-space:nowrap}
dl{margin:.5rem 0}dt{font-weight:600}dd{margin:0 0 .35rem 1rem}
#facts{border-collapse:collapse;font:13px var(--mono);width:auto}
#facts th{text-align:left;font-weight:normal;color:var(--muted);width:9em;padding:3px 0;border:0}#facts td{padding:3px 0;border:0}
#facts td{overflow-wrap:anywhere}

/* Identity: the relay entry page. */
#identity{max-width:720px}#identity>header{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}
#identity>header img{width:56px;height:56px;border-radius:6px;vertical-align:middle;margin-right:12px;background:var(--soft);border:1px solid var(--line);object-fit:cover}
#identity>header h1{display:inline-block;vertical-align:middle;margin:0}
#identity>header small{display:block;margin-top:4px;font-family:var(--mono)}
#identity>header small code{font-size:12px}
#tags a{display:inline-block;font:12px var(--mono);margin-right:8px}

#media img,#media video{max-width:100%;max-height:70vh;border:1px solid var(--line);background:var(--rail)}

/* README and other rendered markdown. */
#readme{max-width:720px}#readme h1{font-size:24px;border-bottom:1px solid var(--line);padding-bottom:8px}#readme h2{font-size:17px}
#readme pre{background:var(--rail);border:1px solid var(--line);padding:10px 12px;overflow:auto;font-size:12.5px;line-height:1.5;white-space:pre}
#readme code{font-size:12.5px}#readme ul,#readme ol{padding-left:20px}
[data-markdown-table]{max-width:100%;margin:10px 0;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:8px}
[data-markdown-table]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[data-markdown-table]>table{width:100%;border-collapse:collapse;font:inherit;text-align:left}
[data-markdown-table] th,[data-markdown-table] td{min-width:8em;padding:10px 12px;vertical-align:top;border-bottom:1px solid var(--line);border-right:1px solid var(--line);overflow-wrap:anywhere;line-height:1.5}
[data-markdown-table] th{background:var(--rail);font-weight:600;color:var(--ink)}
[data-markdown-table] th:last-child,[data-markdown-table] td:last-child{border-right:0}
[data-markdown-table] tbody tr:last-child td{border-bottom:0}
[data-markdown-table] [data-align=left]{text-align:left}[data-markdown-table] [data-align=center]{text-align:center}[data-markdown-table] [data-align=right]{text-align:right}

/* rpc-form, signed-form, publish-list: one signed call each. */
rpc-form,signed-form,publish-list,nostr-compose,file-tools,file-upload,file-workspace-root:not([hidden]){display:block;border-bottom:1px solid var(--line);padding:10px 0}
nostr-compose,file-tools,file-upload,file-workspace-root{max-width:720px}
file-tools h3,file-upload h3{margin:0 0 4px}file-tools p,file-upload p{margin:6px 0}
rpc-form label,signed-form label,publish-list label,nostr-compose label,file-tools label,file-upload label,#collaboration-filter label,#file-search label,#wiki-search label{display:inline-block;margin:0 10px 6px 0;vertical-align:top;font:13px var(--sans);color:var(--muted)}
rpc-form label input,rpc-form label select,signed-form label input,nostr-compose label input,nostr-compose label select,file-tools label input,file-tools label select,file-upload label input,#collaboration-filter label input,#collaboration-filter label select,#file-search label input,#wiki-search label input{display:block;margin-top:2px;font:13px var(--mono);min-width:200px}
file-upload label[data-share]{display:block}file-upload input[data-share-url]{width:100%}
file-upload form>label,file-upload [data-share] label{display:block;max-width:100%;margin-right:0}
file-upload select,file-upload progress{display:block;width:100%;max-width:100%;margin:6px 0 10px}
file-upload progress{height:8px;accent-color:var(--accent)}
file-upload input[type=file],file-upload input[data-share-url]{min-width:0;max-width:100%;box-sizing:border-box}
file-workspace-root video,file-workspace-root img,file-tools video,file-tools img{display:block;width:auto;max-width:100%;max-height:70vh;margin:12px 0}
file-workspace-root video,file-tools video{width:100%;background:#000}
file-workspace-root audio,file-tools audio{display:block;max-width:100%;margin:12px 0}
file-upload label:has([type=checkbox]),#panel file-upload label:has([type=checkbox]){display:inline-block;margin:8px 14px 8px 0}file-upload label:has([type=checkbox]) input,#panel file-upload label:has([type=checkbox]) input{display:inline-block;width:auto;min-width:0;margin:0 4px 0 0;vertical-align:middle}
#panel file-upload [hidden],file-upload [hidden],file-tools [hidden],#panel push-toggle [hidden]{display:none}
#panel push-toggle label{display:inline-block;margin:6px 12px 0 0}#panel push-toggle label input{display:inline-block;width:auto;min-width:0;margin:0 4px 0 0;vertical-align:middle}#panel push-toggle form{margin-top:4px}
file-upload p[data-drop]{margin:6px 0;color:var(--muted);font-size:12px}file-upload[data-over]{outline:1px dashed var(--accent);outline-offset:4px}
#panel file-upload,#panel file-mirror{border:0;padding:0;max-width:none}#panel details{margin-top:8px}#panel details>summary{cursor:pointer;color:var(--muted);font-size:12px}
rpc-form label:has(textarea),publish-list label:has(textarea),nostr-compose label:has(textarea){display:block}
rpc-form output,signed-form output,publish-list output,nostr-compose output,file-tools output,file-upload output,file-workspace-root output,private-services output{display:block;font:12px var(--mono);color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
rpc-form output[data-error],file-tools output[data-error],file-upload output[data-error]{color:var(--alert)}
file-workspace-root ul{list-style:none;margin:8px 0 0;padding:0 0 0 16px;border-left:1px solid var(--line)}file-workspace-root li{padding:3px 0}
file-workspace-root button{background:transparent;border:0;padding:0;color:var(--accent);font:inherit;text-align:left}
#content>section>h3{border-bottom:0;margin-top:22px;font-size:15px}

connect-list{display:block}connect-list #rows td{height:auto;padding:8px 10px;white-space:normal;vertical-align:middle}connect-list #rows td:first-child{width:150px}connect-list #rows td:nth-child(2){color:var(--muted)}connect-list #rows td:nth-child(2) b{color:var(--ink);font-weight:normal}connect-list #rows td:nth-child(3){width:110px}connect-list #rows td:last-child{width:190px;white-space:nowrap}connect-list button,connect-list select{font-size:12px}connect-list output{display:block;font:12px var(--mono);color:var(--muted);margin-top:4px}connect-list output[data-error]{color:var(--alert)}
relay-lists{display:block}relay-lists #rows td{height:auto;padding:8px 10px;white-space:normal;vertical-align:middle}relay-lists #rows td:last-child{width:230px;text-align:left;color:var(--ink);white-space:nowrap}relay-lists #rows td:first-child{width:170px;color:var(--ink);font-family:var(--sans)}relay-lists output{display:block;font:12px var(--mono);color:var(--muted);white-space:normal}relay-lists button{font-size:12px}

/* agent-card: one grant's facts and controls. agent-grant signs a new one. */
agent-card{display:block;border-bottom:1px solid var(--line);padding:10px 0;max-width:720px}
agent-card h3{margin:0 0 4px;border:0;font-size:15px}agent-card h3 small{font:12px var(--mono);color:var(--muted)}
agent-card table{border-collapse:collapse;font:13px var(--mono);width:auto;margin:0}
agent-card th{text-align:left;font-weight:normal;color:var(--muted);width:9em;padding:3px 0;border:0;vertical-align:top}agent-card td{padding:3px 0;border:0;overflow-wrap:anywhere}
agent-card td code{color:var(--muted)}
agent-card p{margin:8px 0 0}agent-card rpc-form{display:inline-block;border:0;padding:0;margin:0 8px 0 0;vertical-align:top}agent-card rpc-form output:empty{display:none}
agent-card p>a{display:inline-block;font:12px var(--mono);line-height:29px;vertical-align:top}
/* #requests: access requests waiting for a decision, with their controls. #decided lists the last answered ones. */
#requests{border-collapse:collapse;width:100%;max-width:720px;font:13px var(--mono)}
#requests th{text-align:left;font:12px var(--mono);color:var(--muted);font-weight:normal;padding:0 6px;height:28px;border-bottom:1px solid var(--line)}
#requests td{padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;line-height:1.35}
#requests td:nth-child(2){font-family:var(--sans)}#requests td:nth-child(3){white-space:nowrap;color:var(--muted);font-size:12px}#requests td:last-child{white-space:nowrap;width:150px}
#requests rpc-form{display:inline-block;border:0;padding:0;margin:0 6px 0 0;vertical-align:middle}#requests rpc-form output:empty{display:none}#requests button{font-size:12px;padding:1px 6px}
#decided{list-style:none;margin:8px 0 0;padding:0;max-width:720px}#decided li{padding:3px 0;font:13px var(--mono)}#decided li small{color:var(--muted)}
#decided li[data-state=approved] small{color:var(--accent)}#decided li[data-state=denied] small{color:var(--alert)}

/* #custom-views: the owner's custom views with their controls. view-form adds one and shows its secret once. */
#custom-views{border-collapse:collapse;width:100%;max-width:960px;font:13px var(--mono)}
#custom-views th{text-align:left;font:12px var(--mono);color:var(--muted);font-weight:normal;padding:0 6px;height:28px;border-bottom:1px solid var(--line)}
#custom-views td{padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;line-height:1.35}
#custom-views td:nth-child(7){white-space:nowrap;color:var(--muted);font-size:12px}#custom-views td:last-child{white-space:nowrap;width:210px}
#custom-views rpc-form{display:inline-block;border:0;padding:0;margin:0 6px 0 0;vertical-align:middle}#custom-views rpc-form output:empty{display:none}#custom-views button{font-size:12px;padding:1px 6px}
#custom-views-empty{color:var(--muted);font:13px var(--sans)}
view-form{display:block;border-bottom:1px solid var(--line);padding:10px 0;max-width:720px}
view-form label{display:inline-block;margin:0 10px 6px 0;vertical-align:top;font:13px var(--sans);color:var(--muted)}
view-form label input,view-form label select{display:block;margin-top:2px;font:13px var(--mono);min-width:200px}
view-form [role=alert]{color:var(--alert);font:13px var(--sans);margin:8px 0 4px}view-form label[data-secret] input{min-width:320px}
/* figure[data-view]: a transparent artifact with a native source disclosure. */
figure[data-view]{margin:12px 0}view-artifact{display:block}view-artifact img{display:block;max-width:100%;height:auto;background:transparent}view-artifact img[hidden]{display:none}view-artifact details{margin-top:6px}view-artifact details>summary{cursor:pointer;color:var(--muted);font:12px var(--mono)}view-artifact pre{margin:6px 0 0}
/* agent-callback: one registered callback on an agent card, with its controls. */
agent-callback{display:block;margin:0 0 4px}agent-callback code{color:inherit}
agent-callback rpc-form{display:inline-block;border:0;padding:0;margin:0 0 0 6px;vertical-align:middle}agent-callback rpc-form output:empty{display:none}agent-callback button{font-size:12px;padding:1px 6px}
#rows:has(td[data-state]){table-layout:fixed}#rows:has(td[data-state]) td:nth-child(3){width:110px}#rows:has(td[data-state]) td:last-child{width:150px}
[data-state=active],#rows td[data-state=active]{color:var(--accent)}[data-state=paused],#rows td[data-state=paused]{color:var(--bark)}[data-state=revoked],#rows td[data-state=revoked]{color:var(--alert)}
agent-grant,profile-form{display:block;border-bottom:1px solid var(--line);padding:10px 0;max-width:720px}
agent-grant label,profile-form label{display:inline-block;margin:0 10px 6px 0;vertical-align:top;font:13px var(--sans);color:var(--muted)}
agent-grant label input,agent-grant label select,profile-form label input{display:block;margin-top:2px;font:13px var(--mono);min-width:200px}profile-form label:has(textarea){display:block}profile-form textarea{display:block;width:100%;max-width:520px;min-height:3em;font:13px var(--mono)}profile-form output{white-space:pre-wrap}
agent-grant label:has(textarea),agent-grant label[data-secret]{display:block}agent-grant label[data-secret] input{width:100%}agent-grant label[hidden]{display:none}
agent-grant output,profile-form output{display:block;font:12px var(--mono);color:var(--muted);margin-top:4px;overflow-wrap:anywhere}agent-grant output[data-error],profile-form output[data-error]{color:var(--alert)}
#panel rpc-form{border:0;padding:4px 0}#panel rpc-form output:empty{display:none}
connect-card{display:block;border-bottom:1px solid var(--line);padding:10px 0;max-width:720px}connect-card h3{margin:0 0 4px;border:0;font-size:15px}connect-card h3 small{font:12px var(--mono);color:var(--muted)}connect-card p{margin:0 0 6px;color:var(--muted)}connect-card label{display:inline-block;font:13px var(--sans);color:var(--muted);margin:0 10px 6px 0}connect-card label input{display:block;font:13px var(--mono);min-width:200px}connect-card a,connect-card button{margin-right:10px;font-size:13px}connect-card output{display:block;font:12px var(--mono);color:var(--muted);overflow-wrap:anywhere}connect-card details img{display:block;margin:6px 0;background:#fff;padding:6px;border:1px solid var(--line)}

/* json-view: structured rendering of any JSON payload. */
json-view{display:block;font:12px var(--mono)}
json-view>details>summary{cursor:pointer;color:var(--muted)}
json-view>details>pre{margin:.3rem 0;padding:.5rem;border:1px solid var(--line);background:var(--rail);font-size:12px}
json-view table{font-size:12px}json-view td pre{margin:0;white-space:pre;max-width:40em;overflow:auto}
json-view dl dl{margin:.2rem 0 .2rem 1rem}json-view ul{margin:.2rem 0;padding-left:1.2rem}json-view code{overflow-wrap:anywhere}

/* nostr-event: one event in feeds, activity, and detail pages. */
#events{list-style:none;margin:0;padding:0}
nostr-event{display:block;border-bottom:1px solid var(--line);padding:10px 0}
nostr-event>header{font:12px var(--mono);color:var(--muted);margin-bottom:4px}
nostr-event>header small{float:right}
nostr-event>pre{margin:0;white-space:pre-wrap;font:14px/1.45 var(--sans)}
nostr-event>details{margin-top:6px;font:12px var(--mono)}nostr-event>details>summary{cursor:pointer;color:var(--muted)}
nostr-key{font-family:var(--mono);cursor:copy}page-link{cursor:copy}page-link[data-copied]::after{content:" copied";color:var(--accent)}nostr-name{font-family:var(--mono)}

/* approval-item: one request that waits for a decision, in the open rhythm of nostr-event. */
approval-item{display:block;border-bottom:1px solid var(--line);padding:10px 0;max-width:720px}
approval-item>header{font:12px var(--mono);color:var(--muted)}approval-item>header nostr-key,approval-item>header nostr-name{color:var(--ink);font-weight:500}
approval-item>p{margin:4px 0 6px}
approval-item>pre{background:var(--rail);border:1px solid var(--line);padding:8px 10px;font-size:12px;margin:6px 0}
approval-item>footer{font:12px var(--mono);color:var(--muted)}approval-item>footer button{margin-right:6px;font-size:13px}
approval-item>footer details{display:inline-block;vertical-align:top;margin-right:6px}approval-item>footer details>summary{cursor:pointer;color:var(--accent);font-size:13px}
approval-item>footer details[open]{display:block;margin:6px 0}approval-item>footer nostr-compose{border-bottom:0;padding:6px 0 0}
approval-item[data-focus]{background:var(--soft);padding-left:10px;padding-right:10px;border:1px solid var(--line)}
nostr-react{display:inline-block;vertical-align:top}nostr-react form{display:inline}nostr-react output{display:block;font:12px var(--mono);color:var(--muted);margin-top:4px}nostr-react output[data-error]{color:var(--alert)}
nostr-react output button{margin:0 6px 0 0;font-size:12px}
#rows tr[data-state=expired] td:last-child{color:var(--bark)}
#panel p i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--g3);margin-right:6px}

/* Repository: tree with a preview pane. */
#split{width:100%;border-collapse:collapse;table-layout:fixed;margin:0}
#split>tbody>tr>td{vertical-align:top;padding:0;border:0}
#tree{width:300px;overflow:auto;border-right:1px solid var(--line);font:13px/24px var(--mono);padding:8px 0 20px}
#tree header{padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#tree header small{float:right}
#tree ul{list-style:none;margin:0 0 0 16px;padding:0 0 0 14px;border-left:1px solid var(--muted)}
#tree li{white-space:nowrap;position:relative}
#tree li>a{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:top}
#tree li::before{content:"";position:absolute;left:-14px;top:12px;width:10px;border-top:1px solid var(--muted)}
#tree li:last-child::after{content:"";position:absolute;left:-15px;top:12px;bottom:0;width:1px;background:var(--rail)}
#tree li>span{color:var(--muted)}
#tree a{color:var(--ink)}#tree a[aria-current=page]{background:var(--soft);padding:0 4px}
#preview{padding:0;overflow:hidden}
#preview header{padding:0 12px;height:36px;line-height:36px;border-bottom:1px solid var(--line);font:13px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#preview header a{float:right}
#preview p{color:var(--muted);padding:24px 12px;font:13px var(--mono)}
#preview>section{padding:12px}

/* source-view and diff-view wrap the tables emitted by the source renderer. */
source-view,diff-view{display:block;overflow:auto}
diff-view{border:1px solid var(--line);margin:0 0 14px}
source-view table,diff-view table{border-collapse:collapse;width:100%;margin:0;font:13px/20px var(--mono)}
source-view td,diff-view td{padding:0 12px;border:0;white-space:pre;vertical-align:top;tab-size:4;overflow-wrap:normal;word-break:normal}
source-view td:first-child,diff-view td:first-child{color:var(--muted);text-align:right;user-select:none;width:1%;padding-right:8px}
source-view td:first-child a,diff-view td:first-child a{text-decoration:none;color:var(--muted)}
source-view td:last-child,diff-view td:last-child{width:100%}
source-view tr:target,diff-view tr:target{background:var(--soft)}
source-view code,diff-view code{font:inherit}
source-view b{font-weight:600}source-view i{font-style:normal;color:var(--muted)}source-view q{quotes:none;color:var(--g4)}source-view q::before,source-view q::after{content:none}source-view var{font-style:normal;color:var(--bark)}
source-view tfoot td,diff-view tfoot td{white-space:normal;color:var(--muted);font-family:var(--sans)}
diff-view ins,diff-view del{text-decoration:none}diff-view tr:has(ins){background:var(--add)}diff-view tr:has(del){background:var(--del)}diff-view b{color:var(--muted);font-weight:600}
diff-view caption{text-align:left;font:13px var(--mono);padding:8px 12px;border-bottom:1px solid var(--line);caption-side:top}
/* Review comments: the link that starts one on a diff line, and the comments placed under that line. */
diff-view td>small{margin-left:12px;font:11px var(--sans)}diff-view td>small a{color:var(--muted);text-decoration:none}diff-view tr:hover td>small a,diff-view td>small a:focus{color:var(--fg);text-decoration:underline}
diff-view td>nostr-event{white-space:normal;max-width:720px;border:0;padding:6px 0 4px}diff-view td>details{white-space:normal;font:12px var(--mono);margin:0 0 8px}diff-view td>details>summary{cursor:pointer;color:var(--muted)}diff-view td>details nostr-compose{border-bottom:0;padding:6px 0 0}
#reply-anchor{font:13px var(--sans);color:var(--muted)}#events li>p{margin:-6px 0 8px;font:12px var(--mono);color:var(--muted)}

/* Wiki: the page list, one article, the merge request bar and the editor. */
#wiki-list #rows th{white-space:nowrap}#wiki-list #rows td:first-child{width:auto;font:14px var(--sans)}#wiki-list #rows td:nth-child(2){font:13px var(--mono)}#wiki-list #rows td:nth-child(3),#wiki-list #rows td:nth-child(4){width:110px;font:12px var(--mono);color:var(--muted)}
wiki-article{display:block;max-width:720px;overflow-wrap:anywhere}wiki-article>header{font:12px var(--mono);color:var(--muted);margin-bottom:8px}wiki-article>header nostr-key,wiki-article>header nostr-name{color:var(--ink)}
wiki-article h1{font-size:20px;margin:18px 0 8px}wiki-article h2{font-size:17px}wiki-article h3{font-size:15px}wiki-article p{margin:0 0 10px}wiki-article table{border-collapse:collapse;margin:0 0 12px;font:13px var(--sans);width:auto}wiki-article th,wiki-article td{border:1px solid var(--line);padding:4px 8px;text-align:left;vertical-align:top;height:auto;white-space:normal}wiki-article th{font-weight:600;background:var(--rail)}
wiki-article pre{background:var(--rail);border:1px solid var(--line);padding:10px 12px;overflow:auto;font-size:12.5px;line-height:1.5;white-space:pre}wiki-article ul,wiki-article ol{padding-left:20px;margin:0 0 10px}
merge-request,wiki-proposal,collaboration-proposal{display:block;border:1px solid var(--line);background:var(--soft);padding:8px 10px;margin:0 0 14px;max-width:720px;font:13px var(--sans)}merge-request nostr-key,merge-request nostr-name,wiki-proposal nostr-key,wiki-proposal nostr-name,collaboration-proposal nostr-key,collaboration-proposal nostr-name{color:var(--ink);font-weight:500}merge-request>a,merge-request button,wiki-proposal button,collaboration-proposal button{margin-left:6px;font-size:12px}
merge-request nostr-react,merge-request nostr-react form,wiki-proposal nostr-react,wiki-proposal nostr-react form,collaboration-proposal nostr-react,collaboration-proposal nostr-react form{display:inline}merge-request nostr-react output,wiki-proposal nostr-react output,collaboration-proposal nostr-react output{display:inline-block;margin-left:6px;font:12px var(--mono);color:var(--muted)}merge-request nostr-react output[data-error],wiki-proposal nostr-react output[data-error],collaboration-proposal nostr-react output[data-error]{color:var(--alert)}
wiki-proposal[data-state=pending],collaboration-proposal[data-state=pending]{border-color:var(--bark)}wiki-proposal[data-state=rejected],collaboration-proposal[data-state=rejected]{border-color:var(--alert)}#wiki-list #rows td:first-child small,#panel li[data-state]{font:12px var(--mono)}#wiki-list #rows td:first-child small{margin-left:6px}#wiki-list #rows tr[data-state=pending] small,#panel li[data-state=pending]{color:var(--bark)}#wiki-list #rows tr[data-state=approved] small,#panel li[data-state=approved]{color:var(--accent)}#wiki-list #rows tr[data-state=rejected] small,#panel li[data-state=rejected]{color:var(--alert)}
#events li>collaboration-proposal,diff-view td>collaboration-proposal{margin:6px 0 8px;max-width:none}#collaboration-list #rows tr[data-state] td:nth-child(2)>small:first-of-type{font:12px var(--mono)}#collaboration-list #rows tr[data-state=pending] td:nth-child(2)>small:first-of-type{color:var(--bark)}#collaboration-list #rows tr[data-state=approved] td:nth-child(2)>small:first-of-type{color:var(--accent)}#collaboration-list #rows tr[data-state=rejected] td:nth-child(2)>small:first-of-type{color:var(--alert)}
#merge-status{font:12px var(--mono);color:var(--muted)}#wiki-compare h2{margin-top:18px}#wiki-redirects,#wiki-revision-note{font:12px var(--mono);color:var(--muted)}#wiki-revision-note{margin:0 0 10px}wiki-proposal>small{display:block;margin-top:4px;font:12px var(--mono);color:var(--muted)}#wiki-page #rows td small{font:12px var(--mono);color:var(--muted)}
wiki-compose{display:block;max-width:720px;border-bottom:1px solid var(--line);padding:10px 0}
wiki-compose label{display:inline-block;margin:0 10px 6px 0;vertical-align:top;font:13px var(--sans);color:var(--muted)}wiki-compose label input{display:block;margin-top:2px;font:13px var(--mono);min-width:200px}
wiki-compose label:has(textarea){display:block}wiki-compose textarea{min-height:14em}wiki-compose button{margin-right:6px}
wiki-compose output{display:block;font:12px var(--mono);color:var(--muted);margin-top:4px;overflow-wrap:anywhere}wiki-compose output[data-error]{color:var(--alert)}

/* Activity grid. */
#grid{border-collapse:separate;border-spacing:2px;margin:0 0 8px;width:auto}
#grid td{width:10px;height:10px;padding:0;border:0;background:var(--g0)}
#grid td[data-l="1"]{background:var(--g1)}#grid td[data-l="2"]{background:var(--g2)}#grid td[data-l="3"]{background:var(--g3)}#grid td[data-l="4"]{background:var(--g4)}
#grid th{font:11px var(--mono);color:var(--muted);font-weight:normal;text-align:left;padding:0;border:0}
#gridhead{font:12px var(--mono);color:var(--muted);margin:0 0 6px}

/* Sign in. */
#signin{max-width:720px}
#signer-qr:not([hidden]){display:block;box-sizing:border-box;width:min(240px,100%);height:auto;aspect-ratio:1;margin:8px 0;background:#fff;padding:8px;border:1px solid var(--line)}

/* Rooms: the rail lists rooms, messages read oldest first, and the compose bar stays at the bottom of the column. */
#rail h4{margin:16px 0 4px;padding:0 2ch 0 2.5ch;font:11px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
#room-list a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#room-list a small{float:right;color:var(--muted);font-size:11px}
#room-list room-avatar{display:inline-block;vertical-align:middle;width:24px;height:24px;margin-right:7px}
#room-list room-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
#rooms #rows room-avatar,#chat #rows room-avatar{display:inline-block;vertical-align:middle;width:32px;height:32px;margin-right:8px}
#rooms #rows room-avatar img,#chat #rows room-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
#rooms #rows td:first-child{width:220px}#rooms #rows td:nth-child(3){text-align:right;width:80px;font:12px var(--mono)}
#content>section#room,#content>section#thread{padding-bottom:0}
#room h1 small,#thread h1 small{font:12px var(--mono);color:var(--muted)}
#room h1 room-avatar{display:inline-block;vertical-align:middle;width:40px;height:40px;margin-right:10px}
#room h1 room-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
#thread #crumbs room-avatar{display:inline-block;vertical-align:middle;width:28px;height:28px;margin-right:7px}
#thread #crumbs room-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
#crumbs,#newest,#empty{font:12px var(--mono);color:var(--muted)}
/* Rooms read as a centered conversation column; the compose bar spans the
   content column but its controls sit in the same 720px lane. */
#room>*:not(room-compose),#thread>*:not(room-compose),room-compose>*{max-width:720px;margin-left:auto;margin-right:auto}
room-message{display:block;position:relative;min-width:0;margin:10px 0;padding:12px 0 14px 44px;border-bottom:1px solid var(--line)}
room-message>nostr-avatar{position:absolute;top:12px;left:0}
nostr-avatar,room-avatar{display:inline-block;box-sizing:border-box;width:32px;height:32px;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:var(--rail);color:var(--muted);text-align:center;font:11px/30px var(--mono);user-select:none;-webkit-user-select:none}
nostr-avatar img,room-avatar img{display:block;width:100%;height:100%;object-fit:cover}
room-message>header{font:12px/1.5 var(--mono);color:var(--muted);margin-bottom:6px;overflow-wrap:anywhere;user-select:none;-webkit-user-select:none}
room-message>header b{color:var(--ink);font-weight:500}room-message>header b nostr-key{cursor:copy}
room-message>header small{float:right;margin-left:8px;white-space:nowrap}
room-message[data-own]{margin-left:24px;padding:12px 14px 14px 56px;background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px}
room-message[data-own]>nostr-avatar{left:12px}
room-message [data-own-label]{margin-left:6px;color:var(--accent);font-size:11px}
room-message>p,room-message>div{min-width:0;margin:0;font:14px/1.55 var(--sans);overflow-wrap:anywhere}room-message>p{white-space:pre-wrap}
room-message>[data-quote]{margin:0 0 8px;padding:6px 10px;border-left:3px solid var(--accent);background:var(--rail);font:12px/1.4 var(--mono);overflow-wrap:anywhere}
room-message>p a,room-message>div a{color:var(--accent)}
room-message>div p{margin:0 0 6px}room-message>div>:last-child{margin-bottom:0}room-message>div ul,room-message>div ol{margin:0 0 6px 20px;padding:0}
room-message>div pre{margin:0 0 6px;padding:6px 8px;background:var(--rail);border:1px solid var(--line);overflow:auto;font:12px/1.4 var(--mono);white-space:pre}room-message>div code{font:12px var(--mono)}room-message>div h1,room-message>div h2,room-message>div h3,room-message>div h4{margin:4px 0 6px;font-size:14px;border:0}
room-message>[data-room-attachments]{margin-top:8px}room-message>[data-room-attachments] figure{display:inline-block;vertical-align:top;margin:0 12px 12px 0;max-width:100%;min-width:0}room-message>[data-room-attachments] img{display:block;width:auto;max-width:100%;max-height:360px;border:1px solid var(--line);object-fit:contain}room-message>[data-room-attachments] video{display:block;width:420px;max-width:100%;max-height:360px}room-message>[data-room-attachments] audio{display:block;width:360px;max-width:100%}room-message>[data-room-attachments] figcaption{margin-top:4px;font:12px var(--mono);overflow-wrap:anywhere}room-message>[data-room-attachments] a[data-download]{color:var(--accent)}room-message>[data-room-attachments] small{color:var(--muted);font:11px var(--mono)}
room-message>footer{font:12px var(--mono);color:var(--muted);margin-top:4px}
room-message>footer>*+*::before{content:" | "}
room-message[data-notice]>p{color:var(--muted);font-size:13px}
room-live{display:block;font:11px var(--mono);color:var(--muted);text-align:right}room-live:empty{display:none}
room-compose{display:block;position:sticky;bottom:0;margin:8px -22px 0;padding:10px 22px 8px;background:var(--paper);border-top:1px solid var(--line)}
room-compose-bar{display:block;position:relative;padding:4px 52px 4px 8px;border:1px solid var(--line);border-radius:16px;background:var(--rail)}
room-compose-bar:has([data-attach]){padding-left:48px}
room-compose-bar:focus-within{border-color:var(--muted)}
room-compose textarea{display:block;width:100%;height:44px;min-height:44px;max-height:144px;max-height:min(144px,30dvh);padding:11px 4px;border:0;outline:none;resize:none;background:transparent;font:16px/22px var(--sans)}
room-compose textarea::placeholder{color:var(--muted);opacity:1}
room-compose-bar>button{position:absolute;bottom:4px;width:44px;height:44px;padding:11px;border:0;border-radius:12px;line-height:0}
room-compose-bar>button[data-attach]{left:4px;background:transparent;color:var(--muted)}
room-compose-bar>button[type=submit]{right:4px;background:var(--accent);color:var(--paper)}
room-compose-bar>button:hover{filter:brightness(.9)}
room-compose-bar>button:disabled{opacity:.55;filter:none}
room-compose button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
room-compose [hidden]{display:none}
room-compose[data-over] room-compose-bar{outline:2px dashed var(--accent);outline-offset:2px;background:var(--soft)}
room-files{display:block;overflow-x:auto;overscroll-behavior-x:contain}
room-files:empty{display:none}
room-files ul{list-style:none;white-space:nowrap;margin:0;padding:0 0 8px}
room-files li{display:inline-block;position:relative;vertical-align:top;box-sizing:border-box;width:232px;max-width:100%;height:64px;margin-right:8px;padding:10px 40px 10px 62px;border:1px solid var(--line);border-radius:12px;background:var(--rail);font:13px/21px var(--sans)}
room-files li:last-child{margin-right:0}
room-files img,room-files li>span[data-preview]{position:absolute;left:8px;top:8px;box-sizing:border-box;width:46px;height:46px;border-radius:6px;object-fit:cover;background:var(--soft)}
room-files li>span[data-preview]{text-align:center;color:var(--accent);font:10px/46px var(--mono);text-transform:uppercase}
room-files li>span:not([data-preview]),room-files small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
room-files small{color:var(--muted);font-size:11px}
room-files button{position:absolute;right:0;top:0;width:44px;height:44px;padding:0;border:0;border-radius:0 12px;background:transparent;color:var(--muted);font:22px var(--sans)}
room-compose output,room-create output,room-action output{display:block;font:12px var(--mono);color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
room-compose output:empty{display:none}
room-compose output[data-error],room-create output[data-error],room-action output[data-error]{color:var(--alert)}
room-create{display:block;max-width:720px;border-bottom:1px solid var(--line);padding:10px 0}
room-create label{display:inline-block;margin:0 10px 6px 0;vertical-align:top;font:13px var(--sans);color:var(--muted)}
room-create label input,room-create label select{display:block;margin-top:2px;font:13px var(--mono);min-width:200px}room-create label:has(textarea){display:block}
room-action{display:block}#panel room-action label{margin-top:6px}#panel room-action button{margin-top:8px}
#members li[data-agent] small{color:var(--bark)}
#panel #members li{font:12px var(--mono);line-height:22px}

/* Phones keep conversation identity and navigation in a safe-area-aware header.
   Native details controls expose the rail and contextual panel without scripts. */
@media(max-width:720px){
:root{--mobile-header-height:calc(64px + env(safe-area-inset-top,0px));--mobile-drawer-width:min(320px,100vw);--mobile-drawer-duration:.15s}
html:has(signer-connection:not([hidden])){--mobile-header-height:calc(108px + env(safe-area-inset-top,0px))}
html,body{overflow:auto;scroll-padding-top:var(--mobile-header-height)}
#topbar{display:block;position:fixed;top:0;left:0;right:0;height:var(--mobile-header-height);background:var(--rail);border-bottom:1px solid var(--line);color:var(--ink);z-index:5;box-sizing:border-box}
signer-connection{display:block;position:absolute;top:calc(64px + env(safe-area-inset-top,0px));left:0;right:0;height:44px;padding:0 12px;box-sizing:border-box;border-top:1px solid var(--line);background:var(--soft);font:12px/44px var(--sans);color:var(--ink)}
signer-connection[hidden]{display:none}
signer-connection>span{display:block;padding-right:92px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
signer-connection>button{position:absolute;right:8px;top:0;min-width:88px;height:44px;border:0;background:transparent;color:var(--accent);font:600 12px var(--sans)}
body:has(signer-connection:not([hidden])) #session-status{display:none}
#mobile-back,#menu{display:block;box-sizing:border-box;width:44px;height:44px;padding:10px;border:0;border-radius:10px;background:transparent;color:var(--ink);line-height:0;cursor:pointer;text-align:center}
#mobile-back{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));left:calc(6px + env(safe-area-inset-left,0px))}
#mobile-back:hover,#menu:hover,#context-toggle:hover{background:var(--hover);text-decoration:none}
#nav-menu{position:absolute;right:calc(8px + env(safe-area-inset-right,0px));top:calc(10px + env(safe-area-inset-top,0px));margin:0}
#menu,#context-toggle{list-style:none}
#menu::-webkit-details-marker,#context-toggle::-webkit-details-marker{display:none}
#menu [data-close-icon],#nav-menu[open] [data-menu-icon]{display:none}
#nav-menu[open] [data-close-icon]{display:inline}
#context-menu{position:absolute;left:calc(14px + env(safe-area-inset-left,0px));right:calc(62px + env(safe-area-inset-right,0px));top:calc(4px + env(safe-area-inset-top,0px));min-width:0}
#topbar:has(#mobile-back) #context-menu{left:calc(54px + env(safe-area-inset-left,0px))}
#context-toggle{position:relative;display:block;box-sizing:border-box;height:56px;padding:9px 20px 9px 0;border-radius:8px;cursor:pointer;min-width:0}
#context-toggle:has(room-avatar),#context-toggle:has(nostr-avatar){padding-left:44px}
#context-toggle>room-avatar,#context-toggle>nostr-avatar{position:absolute;left:0;top:10px;width:36px;height:36px}
#mobile-heading,#mobile-title,#mobile-context{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#mobile-title{font:600 16px/21px var(--sans);color:var(--ink)}
#mobile-context{font:12px/17px var(--sans);color:var(--muted)}
#context-toggle>[data-chevron]{position:absolute;right:0;top:20px;color:var(--muted)}
#context-menu[open] #context-toggle>[data-chevron]{transform:rotate(180deg)}
#topbar a:focus-visible,#topbar summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
#layout,#layout>tbody,#layout>tbody>tr,#layout>tbody>tr>td{display:block;width:auto;height:auto}
#layout{padding:var(--mobile-header-height) 0 env(safe-area-inset-bottom,0px)}
#railbox,#content,#panel{position:static;overflow:visible}
#layout>tbody>tr>td#rail{position:fixed;top:var(--mobile-header-height);bottom:calc(96px + env(safe-area-inset-bottom,0px));left:0;width:var(--mobile-drawer-width);height:auto;box-sizing:border-box;border-right:1px solid var(--line);z-index:4;overflow:hidden auto}
#layout>tbody>tr>td#rail,#footer{transform:translateX(-102%);visibility:hidden;transition:transform var(--mobile-drawer-duration) ease,visibility 0s linear var(--mobile-drawer-duration)}
#railbox{position:relative;min-height:100%}
body:has(#nav-menu[open]) #main::after{content:"";position:fixed;top:var(--mobile-header-height);bottom:0;left:0;right:0;background:rgba(0,0,0,.25);z-index:3}
body:has(#nav-menu[open]) #layout>tbody>tr>td#rail,body:has(#nav-menu[open]) #footer{transform:none;visibility:visible;transition-delay:0s}
body:has(#nav-menu[open]) #layout>tbody>tr>td#rail{box-shadow:8px 0 24px rgba(0,0,0,.15)}
#layout>tbody>tr>td#aside{display:none;width:auto;border-left:0;border-top:0}
body:has(#context-menu[open]) #layout>tbody>tr>td#aside{display:block;position:fixed;top:var(--mobile-header-height);bottom:0;left:0;right:0;height:auto;overflow:auto;z-index:4;background:var(--paper);padding-bottom:env(safe-area-inset-bottom,0px)}
#content>section{padding:14px 2.5ch 20px}
#room>h1,#thread>#crumbs,#direct-chat>header>h1{display:none}
#thread>h1{font-size:0;margin-bottom:8px}#thread>h1 small{font-size:12px}
#mobile-actions{display:block;padding:12px 20px;border-top:1px solid var(--line)}
#personal-nav{display:none}
#mobile-actions>a,#mobile-actions button{display:block;box-sizing:border-box;width:100%;min-height:44px;padding:12px 0;font:13px/20px var(--sans);text-align:left;background:none;border:0;color:var(--accent)}
#mobile-actions page-link{display:block}
html[data-js=no] #mobile-actions page-link{display:none}
#prompt{display:none}
#footer{width:var(--mobile-drawer-width);height:calc(96px + env(safe-area-inset-bottom,0px));padding:0 12px env(safe-area-inset-bottom,0px);border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--rail);z-index:4}
#footer>table{display:table;height:56px;table-layout:fixed}
#footer td:first-child{display:none}#footer td:last-child{text-align:left;white-space:nowrap;overflow:hidden}
#who{font-size:11px}#who>a{display:inline-block;max-width:100px;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#who button{min-height:44px}
#install:not([hidden]){display:block;position:static;transform:none;width:100%;height:40px;text-align:left}
#navigation-status:not(:empty),#session-status:not(:empty){position:fixed;bottom:env(safe-area-inset-bottom,0px);left:0;right:0;padding:6px 12px;background:var(--rail);border-top:1px solid var(--line);white-space:normal}
#split,#split>tbody,#split>tbody>tr,#split>tbody>tr>td{display:block;width:auto}
#tree{border-right:0;border-bottom:1px solid var(--line)}
#rows{table-layout:fixed}#rows td{white-space:normal;overflow-wrap:anywhere;height:auto;padding:8px 6px;line-height:1.35}#rows td:first-child{width:90px}#rows td:last-child{width:80px}#rows:has(td[data-state]) td:nth-child(3),#rows:has(td[data-state]) th:nth-child(3){display:none}#rows:has(td[data-state]) td:last-child{width:80px}connect-list #rows td:nth-child(2),connect-list #rows th:nth-child(2){display:none}connect-list #rows td:nth-child(3),connect-list #rows td:last-child{width:auto}connect-list #rows td:last-child{white-space:normal}connect-list #rows td:last-child button{margin:2px 0}
#grid,#gridhead,h2:has(+#gridhead){display:none}
#signin #bunker label{display:block}
#signin #bunker-url{display:block;width:100%;min-width:0;margin-top:2px}
#signin #bunker button{display:block;margin-top:8px}
#signin #remember-signer{width:auto;min-width:0}
#signin p{max-width:60ch}
#signin #signer-qr:not([hidden]){width:min(200px,100%)}
/* Relay lists are compact action cards on phones. The desktop column widths
   otherwise force the fixed table wider than the content lane and let the
   browser distribute the excess height into each row. */
relay-lists #rows{table-layout:auto;width:100%}
relay-lists #rows,relay-lists #rows tbody,relay-lists #rows tr{display:block;width:auto}
relay-lists #rows tr{padding:10px 0;border-bottom:1px solid var(--line)}
relay-lists #rows td{display:block;width:auto;padding:0 0 5px;border:0;overflow-wrap:anywhere}
relay-lists #rows td:first-child,relay-lists #rows td:last-child{width:auto}
relay-lists #rows td:last-child{padding-top:3px;white-space:normal}
relay-lists #rows td:last-child button{margin:2px 6px 2px 0}
room-message[data-own]{margin-left:12px;padding-right:10px}
/* Phones: each wiki row reads as a title line and one muted line of facts. */
#wiki-list #rows thead{display:none}#wiki-list #rows,#wiki-list #rows tbody,#wiki-list #rows tr{display:block;width:auto}#wiki-list #rows tr{padding:8px 0;border-bottom:1px solid var(--line)}#wiki-list #rows td{display:inline;padding:0;border:0;width:auto;height:auto;line-height:1.4;font:12px var(--mono);color:var(--muted)}#wiki-list #rows td:first-child{display:block;font:14px var(--sans);color:var(--ink);margin:0 0 2px}#wiki-list #rows td:first-child small{display:block;margin:2px 0 0}#wiki-list #rows td:nth-child(3){display:none}#wiki-list #rows td:nth-child(2)::after,#wiki-list #rows td:nth-child(4)::after{content:" | "}
room-compose{bottom:0;margin:8px -2.5ch 0;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));z-index:1}
}
@media(max-width:720px) and (prefers-reduced-motion:reduce){:root{--mobile-drawer-duration:0s}}

/* Social: a calm reading stream that keeps short notes quick and gives
   long-form posts a clear title, image and reading measure. */
#social,#social-thread{max-width:760px}
#social-head{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:0}
#social-head h1{margin-bottom:4px}#social-head p{color:var(--muted);margin:0;max-width:60ch}
#social-views{border-bottom:1px solid var(--line);margin:0 0 4px;padding:0}
#social-views a{display:inline-block;padding:10px 14px 8px;color:var(--muted);border-bottom:2px solid transparent;font:12px var(--mono)}
#social-views a:first-child{padding-left:0}#social-views a[aria-current=page]{color:var(--accent);border-color:var(--accent)}
#social-feed{list-style:none;margin:0;padding:0}
#social-feed>li{border-bottom:1px solid var(--line);padding:16px 0 18px;max-width:720px}
#social-feed>li[data-kind=article]{padding-top:20px}
[data-social-byline]{display:table;width:100%;margin-bottom:9px;font:12px/1.35 var(--mono);color:var(--muted)}
[data-social-byline]>span{display:table-cell;vertical-align:middle}[data-social-byline]>span:last-child{width:auto;padding-left:9px}
[data-social-byline] b{color:var(--ink);font-weight:600;font-family:var(--sans)}[data-social-byline] time{margin-left:5px;color:var(--muted)}[data-social-byline] small{margin-left:7px;color:var(--bark)}
[data-social-avatar]{width:34px;height:34px;display:table-cell;box-sizing:border-box;border:1px solid var(--line);border-radius:50%;background:var(--soft);color:var(--accent);text-align:center;vertical-align:middle;font:14px/32px var(--mono);overflow:hidden}
[data-social-avatar] img{display:block;width:100%;height:100%;object-fit:cover}
[data-post-body]{font:15px/1.58 var(--sans);overflow-wrap:anywhere}[data-post-body] p{margin:0 0 10px}[data-post-body]>:last-child{margin-bottom:0}[data-post-body] h1,[data-post-body] h2,[data-post-body] h3{margin:8px 0;font-size:16px}[data-post-body] ul,[data-post-body] ol{margin:0 0 10px;padding-left:22px}[data-post-body] pre{margin:8px 0;padding:9px;background:var(--rail);border:1px solid var(--line);overflow:auto;font:12px/1.45 var(--mono)}[data-post-body] code{font:12px var(--mono)}
[data-post-body=article]{font-size:16px;line-height:1.65;max-width:680px}
[data-post-body=article] h1,[data-post-body=article] h2,[data-post-body=article] h3{font-size:18px}
[data-post-body] a{overflow-wrap:anywhere}
[data-post-body] [data-markdown-table]{font-size:13px}
[data-post-body=article]~[data-social-actions]{margin-top:12px}
[data-post-summary]{font-size:15px;color:var(--muted);margin:0 0 10px;max-width:65ch}
[data-post-media]{display:block;margin:12px 0;border:1px solid var(--line);background:var(--rail)}[data-post-media] img{display:block;width:100%;max-height:380px;object-fit:cover}
[data-read-time]{display:block;margin-top:8px;color:var(--muted);font:12px var(--mono)}
[data-post-embed]{margin:12px 0 0}[data-post-embed] img,[data-post-embed] video{display:block;max-width:100%;max-height:480px;border:1px solid var(--line);background:#000}[data-post-embed] audio{display:block;max-width:100%}[data-post-embed] figcaption{margin-top:4px;color:var(--muted);font:12px var(--mono);overflow-wrap:anywhere}
[data-social-actions]{margin-top:10px;color:var(--muted);font:12px var(--mono)}[data-social-actions]>*{margin-right:12px}[data-social-actions] button{padding:2px 6px;font:12px var(--mono);border-radius:12px}[data-social-actions] button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--soft)}
#social-pages{font:12px var(--mono);padding:14px 0}#social-empty{padding:24px 0;color:var(--muted)}
social-compose{display:block;border-bottom:1px solid var(--line);padding:12px 0}social-compose form{max-width:720px}social-compose label{display:block;color:var(--muted);font:13px var(--sans)}social-compose textarea{display:block;margin:5px 0 8px;font:15px/1.5 var(--sans);min-height:5em;resize:vertical}social-compose select{margin:0 8px 0 4px;font:12px var(--mono)}social-compose output{display:block;color:var(--muted);font:12px var(--mono);margin-top:5px}social-reaction{display:inline-block;margin-right:8px}
#social-thread-post{list-style:none;margin:0;padding:0}#social-thread-post> [data-social-post]{display:block;border-bottom:0;max-width:720px;padding-bottom:12px}#social-thread-post> [data-social-post]>[data-post-body=article]{font-size:17px;line-height:1.75}#social-comments{border-top:1px solid var(--line);margin-top:22px;padding-top:8px;max-width:720px}#social-comments h2{margin:0 0 8px;font-size:17px}#social-comments ol{list-style:none;margin:0;padding:0}#social-comments li{border-bottom:1px solid var(--line);padding:14px 0}#social-comments [data-comment-body]{font:14px/1.55 var(--sans);overflow-wrap:anywhere}#social-comments [data-comment-body] p{margin:0 0 8px}#social-comments [data-comment-body]>:last-child{margin-bottom:0}
@media(max-width:720px){#social-feed>li{padding:14px 0 16px}[data-post-body=article]{font-size:15px;line-height:1.6}[data-post-media] img{max-height:260px}#social-views a{padding-right:11px}#social-comments{margin-top:16px}}
#social,#social-thread{margin:0 auto;width:100%;box-sizing:border-box}
#social-head{padding-bottom:18px}#social-head h1{font-size:28px;letter-spacing:-.6px}
#social-write{padding:14px 0 0;font-size:13px}#social-write a{display:inline-block;padding:6px 12px;border-radius:16px;color:var(--muted)}#social-write a[aria-current=page]{color:var(--accent);background:var(--soft)}
#social-feed>li{padding:23px 0}#social-feed>li[data-kind="30023"] h2{font:600 26px/1.22 Georgia,serif;letter-spacing:-.25px}#social-feed>li[data-kind="30023"] h2 a{color:var(--ink)}
[data-social-avatar]{width:36px;height:36px;border:0;background:none;line-height:36px}[data-social-avatar] img,[data-social-avatar]>span{display:block;width:36px;height:36px;border-radius:50%;background:var(--soft);object-fit:cover}
[data-social-byline]>span:last-child{padding-left:11px}[data-social-byline] b{font-size:14px}[data-social-byline] small{display:inline-block;font-size:11px}
[data-social-media] img,[data-social-media] video,[data-social-media] audio,[data-post-body] img,[data-comment-body] img{max-width:100%;height:auto;border-radius:8px}[data-social-media]{display:block;margin:14px 0}[data-social-media] video{display:block;max-height:520px;background:#000}[data-social-media] audio{width:100%}
[data-social-actions]{line-height:2.4}[data-social-actions]>a{color:var(--muted)}[data-social-actions] button{min-height:32px;padding:2px 9px}details[data-social-react]{display:inline-block;position:relative;margin:0}details[data-social-react]>summary{display:inline-block;cursor:pointer;padding:0 6px}details[data-social-react][open]{background:var(--rail);padding:0 8px;border-radius:10px}
[data-social-welcome]{margin:16px 0;color:var(--muted)}#social-empty h2{font-size:19px;font-weight:500;max-width:30ch}#social-empty p{max-width:48ch}
social-compose input:not([type=file]),social-compose textarea{width:100%;box-sizing:border-box}social-compose textarea{border-radius:8px;padding:12px;min-height:80px}social-compose input[type=file]{max-width:100%;font-size:12px}social-compose[mode=article]>form>label:first-child input{font:24px/1.2 Georgia,serif;padding:10px}social-compose[mode=article] textarea{min-height:300px}
[data-post-options]{margin:9px 0;font-size:12px;color:var(--muted)}[data-post-options] summary{cursor:pointer}[data-post-options][open]{padding:10px;background:var(--rail);border:1px solid var(--line);border-radius:8px}[data-compose-actions]{margin:12px 0 2px}[data-compose-actions]>button{border-radius:16px;padding:7px 14px}[data-compose-actions]>button[type=submit]{background:var(--accent);color:var(--paper);border-color:var(--accent)}[data-compose-actions]>small{display:inline-block;color:var(--muted);font-size:11px;margin-left:6px}[data-preview-output]{padding:16px;margin-top:12px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}
[data-social-back]{margin-bottom:18px;font-size:12px}#social-thread-post>li>[data-post-body=article]{font:19px/1.75 Georgia,serif;max-width:680px}#social-thread-post [data-post-body=article]>h1{font:600 38px/1.15 Georgia,serif;letter-spacing:-.8px;margin:18px 0 14px}#social-thread-post [data-post-summary]{font:18px/1.5 var(--sans);margin-bottom:20px}#social-thread-post [data-article-content]{margin-top:24px}#social-thread-post [data-article-content] h2{font:600 28px/1.2 Georgia,serif;margin:28px 0 12px}#social-thread-post [data-article-content] h3{font:600 23px/1.3 Georgia,serif;margin:24px 0 12px}#social-thread-post [data-article-content] p{margin-bottom:18px}
@media(max-width:720px){#social-head h1{font-size:24px}#social-head p{font-size:13px}#social-feed>li{padding:19px 0}#social-feed>li[data-kind="30023"] h2{font-size:23px}[data-social-byline] time{font-size:10px}#social-thread-post [data-post-body=article]>h1{font-size:30px}#social-thread-post>li>[data-post-body=article]{font-size:17px}[data-compose-actions]>small{display:block;margin:7px 0 0}[data-social-actions]>*{margin-right:7px}}

[data-social-parent]{display:block;margin-top:3px}[data-social-parent] a{color:var(--muted)}[data-thread-context]{font-size:12px}[data-thread-context] a{margin-right:18px}#social-comments li[data-nested-reply]{padding-left:20px;border-left:2px solid var(--line);margin-left:16px}

[data-social-avatar]{min-width:36px}[data-social-avatar]>nostr-avatar{display:block;width:36px;height:36px}#social-comments h2 small{margin-left:5px;font-weight:400;color:var(--muted)}

[data-reaction-emoji]{display:inline-block;width:20px;height:20px;object-fit:contain;vertical-align:middle}
[data-post-body=note]>img,[data-comment-body]>img{display:block;width:auto;max-height:560px;margin:12px 0}

/* Direct conversations share the room palette and keep their plaintext in the browser. */
#chat,#direct-chat{max-width:860px;margin:0 auto;box-sizing:border-box}
#chat>p,#direct-chat>header>p{color:var(--muted)}
#direct-chat>header{padding-bottom:14px;border-bottom:1px solid var(--line)}
#direct-chat h1{font-size:23px;overflow-wrap:anywhere}
direct-start,direct-chats,direct-thread,direct-compose,direct-settings{display:block;min-width:0}
direct-start{margin:12px 0 18px;padding:14px;background:var(--rail);border:1px solid var(--line);border-radius:10px}
direct-start label{display:block;color:var(--muted);font-size:12px}
direct-start input{display:block;width:100%;margin:6px 0 10px;min-height:42px;font-size:16px}
direct-start button,direct-compose button{min-height:40px;padding:8px 16px;background:var(--accent);color:var(--paper);border:0;border-radius:7px}
direct-chats{margin:8px 0 24px}
direct-chats>a{display:block;position:relative;padding:14px 12px 14px 56px;border-bottom:1px solid var(--line);color:var(--ink);min-height:34px;overflow-wrap:anywhere}
direct-chats>a:hover{background:var(--rail);text-decoration:none}
direct-chats>a [data-author]{font-weight:600}
direct-chats>a nostr-avatar{position:absolute;left:10px;top:15px;width:32px;height:32px}
direct-chats>a time{display:block;color:var(--muted);font:11px/1.5 var(--mono);margin-top:4px}
direct-chats>a p{margin:4px 0 0;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
direct-chats>p{color:var(--muted);padding:10px 0}
#rail direct-chats{margin:0 0 10px;font-size:12px}
#rail direct-chats>a{padding:10px 16px 10px 50px;border:0}
#rail direct-chats>a nostr-avatar{left:20px;top:10px;width:24px;height:24px}
#rail direct-chats time,#rail direct-chats>a p{display:none}
#rail direct-chats>p{padding:0 20px;font-size:11px}
#rail direct-chats>a[aria-current=page]{background:var(--soft);color:var(--accent)}
direct-thread{min-height:160px;max-height:calc(100dvh - 340px);overflow:auto;overscroll-behavior:contain;padding:12px 0}
direct-thread>article{position:relative;margin:0 18px 14px 0;padding:12px 14px 12px 54px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
direct-thread>article[data-own=""]{margin:0 0 14px 24px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px;background:var(--soft)}
direct-thread article nostr-avatar{position:absolute;left:12px;top:12px;width:30px;height:30px}
direct-thread article header{font:12px/1.4 var(--mono);color:var(--muted);margin:0 0 7px}
direct-thread article header [data-author]{color:var(--ink)}
direct-thread article time{display:block;margin-top:3px;font-size:10px}
direct-thread article>p{margin:0;font:15px/1.55 var(--sans);white-space:pre-wrap}
direct-thread article img,direct-thread article video{display:block;max-width:100%;max-height:360px}
direct-thread article audio{max-width:100%}
direct-compose{position:sticky;bottom:0;background:var(--paper);padding:12px 0 6px;border-top:1px solid var(--line)}
direct-compose label{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
direct-compose textarea{display:block;resize:vertical;min-height:76px;max-height:180px;margin-bottom:8px;border-radius:8px;font:16px/1.5 var(--sans)}
direct-compose output,direct-start output{display:block;margin-top:6px;font-size:12px;overflow-wrap:anywhere}
direct-compose output[data-error],direct-start output[data-error]{color:var(--alert)}
direct-settings button{width:100%;min-height:40px;white-space:normal;font-size:12px}
@media(max-width:720px){
#chat #rows,#chat #rows tbody,#chat #rows tr{display:block;width:auto}
#chat #rows thead{display:none}
#chat #rows tr{padding:10px 0;border-bottom:1px solid var(--line)}
#chat #rows td{display:block;width:auto;padding:2px 0;border:0;height:auto}
#chat #rows td:nth-child(3){display:none}
#chat #rows td:last-child{width:auto;color:var(--muted);font-size:11px}
direct-thread{max-height:calc(100dvh - 340px);min-height:160px}
direct-thread>article{margin-right:0;padding-left:48px}
direct-thread>article[data-own=""]{margin-left:10px}
direct-compose{bottom:0;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
}
direct-thread article>blockquote{margin:4px 0 9px;padding:6px 10px;border-left:2px solid var(--muted);color:var(--muted);font:12px/1.5 var(--sans);white-space:pre-wrap}
direct-thread article>footer{margin-top:8px;font:12px var(--mono);color:var(--muted)}
direct-thread article>footer button{padding:3px 8px;margin-right:6px;border:0;border-radius:5px;font:12px var(--sans)}
direct-thread article>footer output{display:block;margin-top:5px;color:var(--alert)}
direct-chats>output,direct-thread>output{display:block;margin:8px 0;font-size:12px;color:var(--alert)}
direct-file{display:block;margin-top:8px;overflow-wrap:anywhere}
direct-file article{padding:0;margin:0;border:0}
direct-file button{display:block;margin:8px 0;padding:8px 12px;min-height:40px}
direct-file output,direct-settings output{display:block;font-size:12px;color:var(--muted);margin-top:6px}
direct-file pre{max-height:360px;overflow:auto;padding:10px;background:var(--rail);font:13px/1.5 var(--mono)}

/* Chat activity stays compact; details and decisions share the room width. */
chat-activity,chat-presence{display:block;min-width:0}
chat-activity:empty{display:none}
chat-activity>article{display:block;margin:10px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--rail);overflow-wrap:anywhere}
chat-activity header,chat-activity summary{font:13px/1.6 var(--sans)}
chat-activity header small,chat-activity summary small{font:11px var(--mono);color:var(--muted);margin-left:8px}
chat-activity p{margin:6px 0;font:13px/1.5 var(--sans)}
chat-activity details>div{font:13px/1.5 var(--sans)}
chat-activity details>div pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:8px;background:var(--paper)}
chat-activity [data-status=processing],chat-activity [data-status=partial]{color:var(--bark)}
chat-activity [data-status=success]{color:var(--accent)}
chat-activity [data-status=error]{color:var(--alert)}
chat-decision{display:block;margin-top:10px}chat-decision button{margin-right:8px;min-height:36px}
chat-decision textarea{display:block;width:100%;min-width:0;max-width:100%;margin:6px 0}
chat-decision output{display:block;font:12px var(--mono);margin-top:6px;color:var(--muted)}
chat-decision output[data-error]{color:var(--alert)}
chat-presence{padding:4px 0;color:var(--muted);font:11px/1.6 var(--mono)}
chat-presence output{display:block;min-height:18px;overflow-wrap:anywhere}

chat-activity blockquote{margin:8px 0;padding:6px 10px;border-left:2px solid var(--accent);font:13px/1.5 var(--sans);white-space:pre-wrap}

chat-presence output>span+span::before{content:" | "}

chat-preferences{display:block;margin:12px 0}
chat-preferences label{display:block;text-transform:none;letter-spacing:0}
chat-preferences output{display:block;color:var(--muted);font:12px var(--mono);margin:6px 0}

agent-grant-request { display: block; min-width: 0; }
agent-grant-request table { display: table; table-layout: fixed; width: 100%; margin: 1rem 0; }
agent-grant-request th, agent-grant-request td { white-space: normal; overflow-wrap: anywhere; text-align: left; vertical-align: top; padding: .5rem .4rem; }
agent-grant-request th:first-child { width: 24%; }
agent-grant-request output { display: block; margin-top: .5rem; }
