/* Shared visitor wall, with verified channel and owner entries. */
.home-page #wall{padding:0 0 18px;scroll-margin-top:24px}
.home-page #wall .wall-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0 9px;border-top:1px solid var(--line)}
.home-page #wall .section-heading-title{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap}
.home-page #wall .section-index{font:11px/1.6 Consolas,"Cascadia Code",monospace;color:var(--faint)}
.home-page #wall h2{font:500 25px/1.25 "Segoe UI",Arial,sans-serif;letter-spacing:-.7px;margin:0;color:var(--text)}
#wall [hidden]{display:none!important}
.wall-channel{font:11px/1.6 Consolas,monospace;white-space:nowrap;color:var(--faint)}
.wall-caption-row{display:flex;align-items:center;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;margin:0 0 22px}
.wall-caption-row .wall-caption{flex:1 1 250px;margin:0}
.wall-caption-row .wall-filter{line-height:24px;min-height:24px;padding:0;flex-shrink:0;margin-left:auto;white-space:nowrap}
.wall-caption{margin:0 0 22px;color:var(--muted);font:14px/1.65 "Segoe UI",Arial,sans-serif}
.wall-compose{padding:17px 19px;border:1px solid var(--line);border-radius:12px;background:var(--surface);margin:0 0 25px}
.wall-compose>label{display:block;color:var(--muted);font:12px/1.6 Consolas,monospace;margin-bottom:10px}
.wall-compose textarea{display:block;width:100%;min-height:78px;max-height:min(240px,30vh);max-width:100%;resize:vertical;border:0;padding:0;background:transparent;color:var(--text);font:15px/1.65 "Segoe UI",Arial,sans-serif;outline-offset:5px}
.wall-compose textarea::placeholder{color:var(--faint)}
.wall-compose-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.wall-compose-bottom>p{margin:0;color:var(--muted);font:12px/1.7 Consolas,monospace;overflow-wrap:anywhere}
.wall-send{flex-shrink:0;border:1px solid var(--line);border-radius:7px;background:var(--surface-raised);color:var(--text);min-height:38px;padding:8px 14px;font:12px/1.5 Consolas,monospace;cursor:pointer;transition:transform .18s ease,border-color .18s ease}
.wall-send:hover:not(:disabled){transform:translateY(-1px);border-color:var(--muted)}
.wall-send:disabled{opacity:.5;cursor:default}
.wall-honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}
.wall-feed{display:grid;gap:0}
.wall-post{min-width:0;padding:21px 0 22px;border-top:1px solid var(--line)}
.wall-post:first-child{border-top:0;padding-top:10px}
.wall-post-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:10px;font:11px/1.7 Consolas,monospace;color:var(--faint)}
.wall-post-owner{background:color-mix(in srgb,#d8b65e 8%,var(--surface));border:0;border-left:2px solid #c6a14b;border-radius:12px;padding:18px 20px!important;margin:8px 0 18px}
.wall-post-owner .wall-source{color:color-mix(in srgb,#bd943a 80%,var(--text))}
.wall-post-text{white-space:pre-wrap;margin:0 0 10px;max-width:850px;color:var(--text);font:400 15px/1.7 "Segoe UI",Arial,sans-serif;overflow-wrap:anywhere}
.wall-post-actions{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}
.wall-original,.wall-post-actions>button,.wall-bottom>a,.wall-bottom>button,.wall-pages>button,.wall-owner button,.wall-reply-target button{display:inline-flex;align-items:center;gap:7px;border:0;background:none;padding:0;color:var(--faint);font:11px/1.7 Consolas,monospace;text-decoration:none;min-height:30px;cursor:pointer}
.wall-original:hover,.wall-post-actions>button:hover,.wall-bottom>button:hover,.wall-pages>button:hover,.wall-owner button:hover{color:var(--text);text-decoration:none}
.wall-replies{margin:15px 0 7px;border-left:1px solid var(--line);padding-left:16px}
.wall-replies .wall-post-head{margin-bottom:5px}
.wall-replies .wall-post-text{font-size:14px}
.wall-reply-target{display:flex;align-items:center;gap:12px;color:var(--muted);font:11px/1.7 Consolas,monospace;margin-bottom:10px}
.wall-bottom,.wall-pages{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:10px;font:11px/1.7 Consolas,monospace;color:var(--faint)}
.wall-bottom{justify-content:flex-end;margin-top:6px}
.wall-bottom:not([hidden])+.wall-pages{margin-top:2px}
.wall-pages{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;flex-wrap:nowrap}
.wall-pages>[data-wall-prev]{justify-self:start;white-space:nowrap}
.wall-pages>[data-wall-next]{justify-self:end;white-space:nowrap}
.home-page:has(#wall) .personal-footer{margin-top:0}
.wall-channel-user{display:inline-flex;align-items:center;gap:7px;color:#d2b262;font:11px/1.7 Consolas,monospace;text-decoration:none;transform-origin:left center;transition:transform .18s ease,color .18s ease}
.wall-channel-user:hover{transform:scale(1.06);color:#f1d793;text-decoration:none}
.wall-user-arrow{transition:transform .18s ease}
.wall-channel-user:hover .wall-user-arrow{transform:translate(1px,-1px)}
.wall-post-hidden{box-sizing:border-box;background:color-mix(in srgb,#d8b65e 3%,var(--surface));border:1px solid var(--line);border-left:2px solid #786538;border-radius:12px;padding:18px 20px!important;margin:8px 0 18px}
.wall-post-hidden>.wall-post-head,.wall-post-hidden>.wall-post-body{opacity:.45}
.wall-post-hidden>.wall-post-actions{opacity:1}
.wall-attachments{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.wall-player{width:min(450px,100%);max-width:100%}
.wall-pages button:disabled{opacity:.4;cursor:default}
.wall-heading-tools{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.wall-filter,.wall-page-form button{border:0;background:none;color:var(--faint);padding:4px 0;font:11px/1.7 Consolas,monospace;cursor:pointer;min-height:30px}
.wall-filter:hover,.wall-filter[aria-pressed="true"],.wall-page-form button:hover{color:var(--text)}
.wall-page-center{display:flex;justify-content:center;min-width:0}
.wall-page-form{display:flex;align-items:center;gap:9px;margin:0;min-height:30px}
.wall-page-form input{box-sizing:border-box;width:48px;min-height:28px;padding:3px 6px;border:1px solid var(--line);border-radius:5px;color:var(--text);background:var(--surface);font:11px/1.7 Consolas,monospace;text-align:center;appearance:textfield}
.wall-page-form input::-webkit-inner-spin-button,.wall-page-form input::-webkit-outer-spin-button{appearance:none;margin:0}
.wall-attachments video{height:clamp(90px,22vh,180px)}
html[data-night-mode="on"] #wall,html[data-night-mode="on"] #wall-media-dialog,html[data-night-mode="on"] .wall-post-dialog{display:none!important}
@media(max-width:640px){.wall-heading-tools{gap:12px}.wall-post-hidden{padding:16px!important}.wall-pages{gap:6px}.wall-page-form{gap:6px}.wall-page-form input{width:40px}}
@media(max-height:520px){.wall-post-hidden{padding:12px!important}}
.wall-post-author,.wall-owner-reply{background:linear-gradient(110deg,color-mix(in srgb,#ff345b 14%,var(--surface)),color-mix(in srgb,#ff345b 5%,var(--surface)));border-left:2px solid #ff4c6c}
.wall-post-author .wall-source,.wall-post-author .wall-pinned,#wall .wall-owner-reply .wall-source{color:color-mix(in srgb,#ff4c6c 86%,var(--text))}
.wall-owner-reply{position:relative;min-width:0;margin:24px 0 8px 28px;padding:14px 16px;border:0;border-left:2px solid #ff4c6c;border-radius:12px 16px 16px 12px;background:color-mix(in srgb,#ff345b 13%,var(--surface))}
.wall-owner-reply::before{content:"";position:absolute;left:-29px;top:-19px;width:22px;height:43px;border-left:1px solid #ff4c6c;border-bottom:1px solid #ff4c6c;border-bottom-left-radius:12px;pointer-events:none}
.wall-owner-reply>button,.wall-return>button{border:0;background:none;padding:0;min-height:30px;color:var(--faint);font:11px/1.7 Consolas,monospace;cursor:pointer}
.wall-owner-reply>button:hover,.wall-return>button:hover{color:var(--text)}
.wall-post-author.wall-post-hidden,.wall-owner-reply.wall-post-hidden{background:color-mix(in srgb,#d65f70 3%,var(--surface));border-left-color:#78515a}
.wall-owner-reply.wall-post-hidden::before{opacity:.35}
.wall-post-hidden>.wall-post-text{opacity:.45}
.wall-quote{position:relative;display:grid;gap:3px;text-align:left;width:100%;box-sizing:border-box;border:0;border-left:2px solid var(--muted);border-radius:0 6px 6px 0;padding:8px 30px 8px 12px;margin:0 0 13px;background:color-mix(in srgb,var(--text) 4%,transparent);color:var(--muted);cursor:pointer}
.wall-quote:hover:not(:disabled){background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--text)}
.wall-quote-source{font:11px/1.7 Consolas,monospace}
.wall-quote-text{font:13px/1.5 "Segoe UI",Arial,sans-serif;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wall-quote-arrow{position:absolute;right:12px;top:9px;font:13px/1.5 Consolas,monospace}
.wall-quote:disabled{cursor:default;opacity:.6}
.wall-reply-target>span{min-width:0;overflow-wrap:anywhere}
.wall-reply-target>button{flex-shrink:0}
.wall-return{margin:0 0 12px}
.wall-post-focus{outline:1px solid var(--muted);outline-offset:3px}
@media(max-width:640px){.wall-owner-reply{margin-left:20px;padding:12px}.wall-owner-reply::before{left:-21px;width:15px;height:41px}}
.wall-photo-button{display:block;position:relative;width:min(210px,100%);padding:0;margin-bottom:14px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface);color:var(--text);cursor:pointer}
.wall-photo-button>img{display:block;width:100%;height:auto;max-height:clamp(90px,22vh,180px);object-fit:contain}
.wall-post-body{display:flow-root;overflow:hidden}
.wall-post-truncated>.wall-post-body{mask-image:linear-gradient(#000 calc(100% - 20px),transparent)}
.wall-read-full{display:inline-flex;min-height:32px;align-items:center;margin:4px 0 0;padding:0;border:0;background:none;color:var(--muted);font:11px/1.7 Consolas,monospace;cursor:pointer}
.wall-read-full:hover{color:var(--text)}
.wall-attachments video{max-height:clamp(90px,22vh,180px);object-fit:contain}
.wall-post-detail{padding:0 24px 24px}
.wall-post-detail>img,.wall-post-detail>video{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:16px auto}
.wall-post-detail>audio{display:block;max-width:100%;margin:16px 0}
.wall-post-detail>.wall-source{display:block;margin-bottom:16px}
.wall-photo-expand{position:absolute;right:7px;bottom:7px;padding:2px 6px;border-radius:5px;background:var(--surface-raised);font:15px/1.5 Consolas,monospace}
.wall-media-dialog{width:min(830px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--text);overflow:auto}
.wall-media-dialog::backdrop{background:#0009}
.wall-media-header,.wall-media-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;font:11px/1.6 Consolas,monospace;color:var(--muted)}
.wall-media-dialog>img{display:block;width:calc(100% - 48px);height:auto;max-height:calc(100dvh - 190px);object-fit:contain;margin:24px auto}
.wall-media-close{display:inline-flex;align-items:center;gap:11px;min-height:32px;padding:0;border:0;background:none;color:var(--text);font:12px/1.5 Consolas,monospace;cursor:pointer}
.wall-media-close>span:last-child{font:20px/1 "Segoe UI",Arial,sans-serif}
html.wall-media-open{overflow:hidden}
.wall-owner{margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.wall-owner-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap}
.wall-owner h3{font:500 18px/1.5 "Segoe UI",Arial,sans-serif;margin:0}
.wall-owner p{overflow-wrap:anywhere}
.wall-owner-state,.wall-owner-feedback{font:12px/1.7 Consolas,monospace;color:var(--muted)}
.wall-owner-item{padding:16px 0;border-top:1px solid var(--line)}
.wall-owner-item .wall-post-actions{margin-top:5px}
.wall-owner-item [data-state="pending"]{color:#c6a14b}
#wall button:focus-visible,.wall-media-dialog button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:640px){.home-page #wall .wall-heading{padding:23px 0 8px;gap:12px;flex-wrap:wrap}.home-page #wall h2{font-size:24px}.wall-compose{padding:14px}.wall-compose textarea{font-size:16px}.wall-post-text{font-size:14px}.wall-post-owner{padding:16px!important}.wall-compose-bottom{align-items:flex-start;flex-wrap:wrap;gap:12px}.wall-send{margin-left:auto;min-height:42px}.wall-owner{padding:14px}.wall-media-dialog{width:calc(100% - 24px)}.wall-media-header,.wall-media-footer{padding:13px 16px}}
@media(pointer:coarse){#wall button,.wall-original{min-height:44px}}
@media(prefers-reduced-motion:reduce){.wall-send,.wall-channel-user,.wall-user-arrow{transition:none}}
@media(max-height:520px){
 .home-page #wall{padding-bottom:16px}
 .home-page #wall .wall-heading{padding:12px 0 5px}
 .wall-caption-row{margin-bottom:12px}
 .wall-caption{font-size:13px;line-height:1.5;margin-bottom:12px}
 .wall-compose{padding:12px;margin-bottom:14px}
 .wall-compose>label{margin-bottom:6px}
 .wall-compose textarea{min-height:36px;height:36px}
 .wall-compose-bottom{margin-top:8px;padding-top:8px}
 .wall-send{min-height:32px;padding:6px 12px}
 .wall-pages{margin-top:8px}.wall-bottom{margin-top:4px}
 .wall-post-owner{padding:12px!important}.wall-post-head{margin-bottom:6px}
 .wall-read-full{min-height:28px}
}

/* Compact, quiet composer and a single doorway to the Telegram archive. */
.wall-compose{position:relative;padding:14px 18px;background:color-mix(in srgb,var(--surface) 65%,var(--bg));transition:border-color .18s ease}
.wall-compose:focus-within{border-color:color-mix(in srgb,var(--muted) 45%,var(--line))}
.wall-compose>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.wall-compose textarea{box-sizing:border-box;min-height:86px;max-width:100%;padding:14px 0;outline:none;resize:none;font-size:14px}
.wall-compose textarea:placeholder-shown{text-align:center}
.wall-compose textarea::placeholder{color:var(--muted);opacity:.7}
.wall-compose-bottom{border-top:0;padding-top:0;margin-top:4px;gap:12px}
.wall-send{min-height:32px;padding:5px 11px;background:transparent;color:var(--muted)}
.wall-send:hover:not(:disabled){color:var(--text)}
.wall-post-owner:last-child,.wall-post-hidden:last-child{margin-bottom:8px}
.wall-archive{padding:22px 24px!important;margin:8px 0;border:1px solid color-mix(in srgb,#c6a14b 50%,var(--line));border-radius:6px 20px 6px 20px;background:color-mix(in srgb,#c6a14b 5%,var(--surface))}
.wall-archive .wall-post-text{margin:0 0 10px;font-size:15px}
.wall-archive-link{display:inline-flex;align-items:center;min-height:30px;font:12px/1.7 Consolas,monospace;color:#d2b262;text-decoration:none}
.wall-archive-link:hover{color:#f1d793;text-decoration:underline;text-underline-offset:4px}
.wall-photo-button{display:grid;place-items:center;min-height:64px;box-sizing:border-box;align-self:flex-start}
.wall-photo-expand{display:grid;place-items:center;width:24px;height:24px;padding:0;box-sizing:border-box;font-size:16px;line-height:1;border:1px solid var(--line);right:7px;bottom:7px}
@media(max-width:640px){.wall-compose{padding:12px 14px}.wall-compose textarea{font-size:16px}.wall-archive{padding:18px!important}}
@media(max-height:520px){.wall-compose textarea{min-height:56px;height:56px;padding:10px 0}}
@media(prefers-reduced-motion:reduce){.wall-compose{transition:none}}

/* One line at rest, up to three lines while writing. */
.wall-compose{padding:10px 16px}
.wall-formatting{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-bottom:2px;color:var(--faint);font:10px/1.5 Consolas,monospace}
.wall-formatting>span{margin-right:7px}
#wall .wall-formatting button{display:grid;place-items:center;border:0;border-radius:4px;background:none;color:var(--muted);width:24px;min-height:24px;padding:0;font:12px/1 "Segoe UI",Arial,sans-serif;cursor:pointer}
#wall .wall-formatting button:hover{background:none;color:var(--text)}
.wall-compose textarea{height:30px;min-height:30px;max-height:74px;padding:4px 0;font-size:14px;line-height:22px;overflow-y:hidden;scrollbar-width:none}
.wall-compose textarea::-webkit-scrollbar{display:none}
.wall-compose textarea:placeholder-shown{text-align:left}
.wall-compose-bottom{margin-top:4px;align-items:center}
@media(max-width:640px){.wall-compose{padding:10px 14px}.wall-compose textarea{font-size:16px;line-height:26px;height:34px;min-height:34px;max-height:86px}}

#wall .wall-delete-armed{color:#ee8392;background:rgba(238,131,146,.08);border-radius:4px;}

/* Shortcut hint above the letters; the support label shares their baseline. */
.wall-formatting{display:grid;grid-template-columns:auto repeat(3,24px);grid-template-rows:10px 20px;align-items:baseline;justify-content:end;column-gap:3px;row-gap:0;margin-bottom:2px}
.wall-formatting>span{margin-right:0}
.wall-formatting>span:first-child{grid-row:2}
.wall-shortcuts{display:contents}
.wall-shortcut-hint{grid-column:2/-1;grid-row:1;text-align:center;font:8px/10px Consolas,monospace;color:var(--faint);pointer-events:none}
#wall .wall-formatting button{grid-row:2;display:inline-block;text-align:center;height:20px;min-height:20px;line-height:20px;vertical-align:baseline}
.wall-editor{display:block;box-sizing:border-box;width:100%;height:30px;min-height:30px;max-height:74px;padding:4px 0;border:0;background:transparent;color:var(--text);font:14px/22px "Segoe UI",Arial,sans-serif;outline:none;white-space:pre-wrap;overflow-wrap:anywhere;overflow-y:hidden;scrollbar-width:none;text-align:left}
.wall-editor::-webkit-scrollbar{display:none}
.wall-editor[data-empty="true"]::before{content:attr(data-placeholder);color:var(--muted);opacity:.7;pointer-events:none}
.wall-editor b,.wall-editor strong{font-weight:700}
.wall-editor i,.wall-editor em{font-style:italic}
.wall-editor u{text-decoration:underline;text-underline-offset:2px}
@media(max-width:640px){.wall-editor{font-size:16px;line-height:26px;height:34px;min-height:34px;max-height:86px}}

/* Keep formatting out of the editor's flow and preserve the first text line. */
.wall-compose{position:relative}
.wall-formatting{position:absolute;z-index:1;top:5px;right:6px;grid-template-columns:auto repeat(3,16px);grid-template-rows:9px 18px;column-gap:0;margin:0;font:9px/11px Consolas,monospace}
.wall-formatting>span:first-child{padding-right:3px;font:9px/11px Consolas,monospace}
.wall-shortcut-hint{font:8px/9px Consolas,monospace}
#wall .wall-formatting button{width:16px;height:18px;min-height:18px;line-height:18px;font-size:11px}
.wall-editor{position:relative;padding-right:100px}
.wall-editor[data-empty="true"]::before{position:absolute;top:4px;left:0;white-space:nowrap}

.wall-post-guest{box-sizing:border-box;background:color-mix(in srgb,var(--muted) 5%,var(--surface));border:1px solid var(--line);border-left:2px solid var(--muted);border-radius:12px;padding:18px 20px!important;margin:8px 0 18px}
.wall-post-guest .wall-source{color:var(--muted)}
.wall-post-guest.wall-post-hidden{border-left-color:var(--faint)}
@media(max-width:640px){.wall-post-guest{padding:16px!important}}

.wall-post-guest:first-child{border-top:1px solid var(--line)}

/* Quiet, uniform wall surfaces with consistent density across message roles. */
.wall-post-source{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.wall-pinned{color:var(--faint);font:inherit;opacity:1}
.wall-pinned::before{content:"·";margin-right:12px}
.home-page #wall,.home-page:has(#wall) .personal-footer{overflow-anchor:none}
.wall-post-owner,.wall-post-guest,.wall-owner-reply,.wall-archive,.wall-compose{
 --wall-accent:#edf1f7;
 background:color-mix(in srgb,var(--wall-accent) 4.5%,color-mix(in srgb,var(--bg) 24%,transparent));
 border:1px solid color-mix(in srgb,var(--text) 19%,transparent);
 border-left:2px solid var(--wall-accent);
 box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;
}
.wall-post-owner,.wall-archive{--wall-accent:#e4b94f}
.wall-post-author,.wall-owner-reply{--wall-accent:#ff4265}
.wall-post-author,.wall-owner-reply{background:color-mix(in srgb,#ff3459 8%,var(--bg))}
.wall-compose{border-left-width:1px;border-left-color:color-mix(in srgb,var(--text) 15%,transparent);background:color-mix(in srgb,var(--text) 1.5%,color-mix(in srgb,var(--bg) 24%,transparent))}
.wall-post-guest:first-child{border-top-color:color-mix(in srgb,var(--text) 19%,transparent)}
html[data-theme="light"] .wall-post-guest{--wall-accent:var(--muted)}
.wall-post-hidden:is(.wall-post-owner,.wall-post-guest,.wall-owner-reply){--wall-accent:var(--faint);background:color-mix(in srgb,var(--bg) 70%,transparent)}

/* Match the compact project heading and make its title the channel link. */
.home-page #wall .wall-heading{align-items:center;padding:25px 0 22px;gap:16px}
.wall-heading-main{display:flex;align-items:flex-end;gap:4px;flex-wrap:wrap;min-width:0}
.home-page #wall .section-heading-title{align-items:center;flex-wrap:nowrap}
.wall-heading .wall-caption{margin:0 0 2px;color:var(--faint);font:11px/1.6 Consolas,"Cascadia Code",monospace}
.wall-heading>.wall-filter{align-self:flex-end;margin-left:auto;flex-shrink:0;white-space:nowrap;min-height:24px;padding:0;line-height:24px}
.home-page #wall h2 .wall-channel{position:relative;display:inline-flex;align-items:center;gap:4px;color:var(--text);font:inherit;text-decoration:none;white-space:nowrap;transition:color .18s ease}
.wall-title-label{position:relative}
.wall-title-arrow{display:inline-block;font:11px/1.2 "Segoe UI",Arial,sans-serif;color:var(--faint);transform:translateY(0);transition:color .18s ease,transform .18s ease}
.wall-channel-tip{position:absolute;left:50%;bottom:calc(100% + 8px);padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--muted);font:11px/1.6 Consolas,monospace;letter-spacing:0;opacity:0;visibility:hidden;transform:translate(-50%,3px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.home-page #wall h2 .wall-channel:is(:hover,:focus-visible){color:#fff}
.wall-channel:is(:hover,:focus-visible) .wall-title-arrow{color:#fff;transform:translate(1px,-3px)}
.wall-channel:is(:hover,:focus-visible) .wall-channel-tip{opacity:1;visibility:visible;transform:translate(-50%,0)}
html[data-theme="light"] .home-page #wall h2 .wall-channel:is(:hover,:focus-visible){color:var(--text)}
@media(max-width:640px){.home-page #wall .wall-heading{padding:23px 0 18px;gap:8px 12px}.wall-heading-main{flex:1 1 100%;gap:4px 8px}.wall-heading .wall-caption{flex:1 1 180px}.wall-heading>.wall-filter{margin-left:0}}
@media(prefers-reduced-motion:reduce){.home-page #wall h2 .wall-channel,.wall-title-arrow,.wall-channel-tip{transition:none}.wall-channel:is(:hover,:focus-visible) .wall-title-arrow{transform:none}}

html[data-theme="light"] .wall-channel:is(:hover,:focus-visible) .wall-title-arrow{color:var(--text)}

/* Keep the channel pin label consistent with its source label. */
.wall-post-owner:not(.wall-post-author) .wall-pinned{color:#d2b262;font:11px/1.7 Consolas,monospace}

/* Graphite and light: guest cards with an inset owner reply. */
#wall{
 --wall-guest-start:#24272e;--wall-guest-end:#202329;--wall-guest-border:#3a414d;--wall-guest-source:#c2c8d3;
 --wall-owner-color:#ff5576;--wall-owner-bg:#25171e;--wall-owner-border:#54323d;
 --wall-channel-color:#91c9e7;--wall-channel-start:#1b252e;--wall-channel-end:#171c23;--wall-channel-border:#354452;
 --wall-compose-bg:#2c2e35;--wall-compose-border:#525968;--wall-compose-ink:#edf0f6;--wall-compose-muted:#b5bdca;
}
#wall .wall-feed{display:grid;gap:0}
#wall .wall-post{border-top:0}
/* Margins remain part of the existing pagination height calculation. */
#wall .wall-feed>.wall-post{margin:0 0 16px}
#wall .wall-feed>.wall-post:last-child{margin-bottom:0}
#wall .wall-post-guest{padding:17px 18px!important;border:1px solid var(--wall-guest-border);border-radius:12px;background:var(--wall-guest-end);background:linear-gradient(120deg,var(--wall-guest-start),var(--wall-guest-end) 72%);box-shadow:inset 0 1px 0 #ffffff0d,0 6px 20px #00000012}
#wall .wall-post-guest>.wall-post-head .wall-source{color:var(--wall-guest-source)}
#wall .wall-post-owner:not(.wall-post-author),#wall .wall-archive{padding:16px 18px!important;border:1px solid var(--wall-channel-border);border-radius:10px;background:var(--wall-channel-end);background:linear-gradient(115deg,var(--wall-channel-start),var(--wall-channel-end) 70%);box-shadow:none}
#wall .wall-channel-user,#wall .wall-archive-link,#wall .wall-post-owner:not(.wall-post-author)>.wall-post-head .wall-source,#wall .wall-post-owner:not(.wall-post-author) .wall-pinned{color:var(--wall-channel-color);font:11px/1.7 Consolas,"Cascadia Code",monospace}
#wall .wall-channel-user:hover,#wall .wall-archive-link:hover{color:var(--text)}
#wall .wall-post-author{padding:15px 18px!important;border:1px solid var(--wall-owner-border);border-left:2px solid var(--wall-owner-color);border-radius:10px;background:var(--wall-owner-bg);box-shadow:none}
#wall .wall-post-author>.wall-post-head .wall-source,#wall .wall-post-author .wall-pinned,#wall .wall-owner-reply .wall-source{color:var(--wall-owner-color)}
#wall .wall-owner-reply{margin:14px 0 0 16px;padding:12px 14px;border:1px solid var(--wall-owner-border);border-left:2px solid var(--wall-owner-color);border-radius:9px;background:var(--wall-owner-bg);box-shadow:none}
#wall .wall-owner-reply::before{left:-18px;top:-14px;width:12px;height:30px;border-color:color-mix(in srgb,var(--wall-owner-color) 40%,transparent);border-bottom-left-radius:8px}
#wall .wall-post-actions{border:0;margin-top:3px;padding-top:0}
#wall .wall-post-head{margin-bottom:8px}
#wall .wall-post-text{margin-bottom:8px}
#wall .wall-owner-reply .wall-post-head{margin-bottom:5px}
#wall .wall-owner-reply>.wall-post-text{margin-bottom:0}
#wall .wall-owner-reply>.wall-post-actions{margin-top:8px}
#wall .wall-compose{padding:17px 19px 12px;margin-bottom:26px;border:1px solid var(--wall-compose-border);border-radius:12px;background:var(--wall-compose-bg);box-shadow:0 12px 32px #00000020,inset 0 1px 0 #ffffff0d;transition:border-color .16s ease,box-shadow .16s ease}
#wall .wall-compose:focus-within{border-color:color-mix(in srgb,var(--wall-compose-muted) 80%,var(--wall-compose-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--wall-compose-muted) 8%,transparent),0 12px 32px #00000020}
#wall .wall-compose-heading{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-bottom:11px}
#wall .wall-compose-heading>label{color:var(--wall-compose-ink);font:500 12px/1.6 Consolas,"Cascadia Code",monospace}
#wall .wall-editor{min-height:60px;padding:2px 0;max-height:none;color:var(--wall-compose-ink);font:16px/1.6 "Segoe UI",Arial,sans-serif}
#wall .wall-editor[data-empty="true"]::before{position:static;white-space:normal;color:var(--wall-compose-muted);opacity:1}
#wall .wall-formatting{position:static;display:grid;grid-template-columns:auto 22px 6px 22px 6px 22px;grid-template-rows:auto auto;align-items:center;justify-content:end;column-gap:1px;row-gap:0;margin:3px 0 2px;font:11px/1.5 Consolas,monospace;color:var(--wall-compose-muted)}
#wall .wall-formatting>span:first-child{padding:0 8px 0 0;font:inherit;grid-row:2}
#wall .wall-shortcut-hint{grid-column:2/-1;grid-row:1;font:11px/1.5 Consolas,monospace;color:var(--wall-compose-muted)}
#wall .wall-format-slash{grid-row:2;color:var(--faint);text-align:center}
#wall .wall-formatting button{grid-row:2;width:22px;height:24px;min-height:24px;padding:2px 3px;background:none;border:0;border-radius:4px;color:var(--wall-compose-muted);font:13px/1.5 Consolas,monospace}
#wall .wall-formatting button:hover{background:#ffffff12;color:var(--wall-compose-ink)}
#wall .wall-compose-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;min-height:39px;margin-top:8px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--wall-compose-ink) 8%,transparent)}
#wall .wall-anonymous{color:var(--wall-compose-muted);font:11px/1.6 Consolas,monospace}
#wall #wall-feedback{order:3;flex-basis:100%;color:var(--wall-compose-muted);font:11px/1.7 Consolas,monospace}
#wall #wall-feedback:empty{display:none}
#wall .wall-send{margin-left:auto;padding:8px 14px;min-height:35px;border:1px solid var(--wall-compose-ink);border-radius:8px;background:var(--wall-compose-ink);color:var(--wall-compose-bg);font:500 12px/1.5 Consolas,monospace}
#wall .wall-send:hover:not(:disabled){transform:translateY(-1px);border-color:var(--wall-compose-ink);color:var(--wall-compose-bg)}
#wall .wall-send:disabled{opacity:.45}
html[data-theme="light"] #wall{--wall-guest-start:#f7f9fc;--wall-guest-end:#edf1f6;--wall-guest-border:#cbd3df;--wall-guest-source:#535e70;--wall-owner-color:#ba2947;--wall-owner-bg:#fff0f3;--wall-owner-border:#e8bdc8;--wall-channel-color:#256586;--wall-channel-start:#eff8fd;--wall-channel-end:#e9f2f8;--wall-channel-border:#bfd2df;--wall-compose-bg:#e2e7ee;--wall-compose-border:#b3bdcc;--wall-compose-ink:#252c38;--wall-compose-muted:#515e70}
#wall .wall-post-hidden:is(.wall-post-owner,.wall-post-guest,.wall-owner-reply){border-color:var(--line);background:var(--surface);box-shadow:none}
#wall .wall-post-author.wall-post-hidden,#wall .wall-owner-reply.wall-post-hidden{border-left-color:var(--faint)}
@media(max-width:640px){#wall .wall-compose{padding:15px 14px 11px}#wall .wall-post-guest{padding:15px 14px!important}#wall .wall-owner-reply{padding:12px 14px;margin-left:16px}}
@media(pointer:coarse){#wall .wall-formatting{grid-template-columns:auto 44px 6px 44px 6px 44px}#wall .wall-formatting button{width:44px;height:44px;min-height:44px}#wall .wall-send{min-height:44px}}
@media(prefers-reduced-motion:reduce){#wall .wall-compose,#wall .wall-send{transition:none}}

/* Compact composer: one prompt, formatting above the writing area. */
#wall .wall-compose{display:flex;flex-direction:column;padding:15px 19px 12px}
#wall .wall-compose-heading{position:absolute;display:block;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#wall .wall-reply-target{order:0}
#wall .wall-formatting{order:1;align-self:flex-end;margin:0 0 3px}
#wall .wall-editor{order:2;min-height:48px}
#wall .wall-compose-bottom{order:3;margin-top:7px;padding-top:9px}
@media(max-width:640px){#wall .wall-compose{padding:13px 14px 11px}}

/* Keep short messages centered vertically without changing the editor flow. */
#wall .wall-editor{align-content:safe center;text-align:left}
#wall .wall-compose .wall-formatting{font:10px/1.5 Consolas,monospace}
#wall .wall-shortcut-hint{font:9px/1.5 Consolas,monospace}

/* Center the writing area between the outer border and footer divider. */
#wall .wall-compose{padding-top:12px}
#wall .wall-compose-main{position:relative;order:1;display:flex;align-items:center;min-height:88px}
#wall .wall-compose-main .wall-formatting{position:absolute;top:0;right:0;margin:0;align-self:auto}
#wall .wall-compose-main .wall-editor{padding-right:156px}
#wall .wall-compose-bottom{margin-top:12px}
@media(pointer:coarse) and (min-width:761px){#wall .wall-compose-main .wall-editor{padding-right:230px}}
@media(max-width:760px){
 #wall .wall-compose-main{min-height:0;padding-block:44px}
 #wall .wall-compose-main .wall-editor{padding-right:0}
}

/* Wall channel annotation: match the RGB note typography and spacing. */
.home-page #wall h2 .wall-title-label {position:static;display:inline;}
.wall-channel-tip {
 position:absolute;z-index:1000;box-sizing:border-box;left:50%;bottom:calc(100% + 4px);
 width:max-content;max-width:calc(100vw - 24px);margin:0;padding:12px 15px;
 border:1px solid color-mix(in srgb,var(--text) 25%,transparent);border-radius:11px;
 background:color-mix(in srgb,var(--bg) 12%,transparent);color:var(--text);
 box-shadow:inset 0 1px 0 #ffffff0c,inset 0 -1px 0 #ffffff03,0 8px 25px #00000016;
 backdrop-filter:blur(7px) saturate(110%);-webkit-backdrop-filter:blur(7px) saturate(110%);
 font:400 13px/1.65 "Cascadia Code",monospace;letter-spacing:0;text-align:left;white-space:nowrap;
 opacity:0;visibility:hidden;transform:translateX(-50%);pointer-events:none;
 transition:opacity .18s ease,visibility .18s ease;
}
.wall-channel:is(:hover,:focus-visible) .wall-channel-tip {opacity:1;visibility:visible;transform:translateX(-50%);}
html[data-theme="light"] .wall-channel-tip {
 background:linear-gradient(135deg,#ffffff88,#ffffff18),hsl(var(--palette-hue) 55% 91% / .5);
 border-color:#ffffffd9;
 box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #ffffff60,0 0 0 1px hsl(var(--palette-hue) 35% 48% / .18),0 10px 28px hsl(var(--palette-hue) 40% 25% / .14);
 backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 .wall-channel-tip {background:var(--surface-raised,var(--surface));}
}
@media(max-width:600px){.wall-channel-tip{padding:13px 15px;font-size:14px;line-height:1.6;}}
@media(prefers-reduced-motion:reduce){.wall-channel-tip{transition:none;}}

/* A lighter composer with the same text baseline before and after typing. */
#wall .wall-compose{padding-top:10px;padding-bottom:10px}
#wall .wall-compose-main{min-height:78px}
#wall .wall-compose-bottom{margin-top:10px;padding-top:8px}
#wall .wall-anonymous{display:none}
#wall .wall-editor[data-empty="true"]::before{position:absolute;top:50%;left:0;transform:translateY(-50%);line-height:inherit}
#wall .wall-formatting>span:first-child{align-self:end;padding-bottom:3px}
@media(max-width:760px){#wall .wall-compose-main{min-height:0;padding-block:36px}}

/* Caret and prompt use the same padded first line, without separate centering. */
#wall .wall-editor{align-content:normal;padding-block:max(2px,calc((48px - 1lh)/2))}
#wall .wall-editor[data-empty="true"]::before{position:absolute;display:block;top:max(2px,calc((48px - 1lh)/2));left:0;transform:none;line-height:inherit;white-space:pre-wrap}

/* Phone composer: formatting shares the send row, preserving room for writing. */
#wall .wall-formatting button[aria-pressed="true"]{background:color-mix(in srgb,var(--wall-compose-ink) 12%,transparent);color:var(--wall-compose-ink)}
@media(max-width:760px){
 #wall .wall-compose{padding:12px 14px 10px}
 #wall .wall-compose-main{min-height:72px;padding-block:0;align-items:flex-start}
 #wall .wall-compose-main .wall-editor{min-height:72px;padding-right:0;padding-block:8px;font-size:16px;line-height:26px}
 #wall .wall-editor[data-empty="true"]::before{top:8px;left:0}
 #wall .wall-compose-bottom{align-items:center;gap:6px 10px;min-height:44px;margin-top:8px;padding-top:8px}
 #wall .wall-compose-bottom .wall-formatting{position:static;display:flex;order:0;align-self:center;align-items:center;justify-content:flex-start;gap:0;min-height:44px;margin:0;flex:0 0 auto}
 #wall .wall-compose-bottom .wall-formatting>span:first-child,#wall .wall-format-slash,#wall .wall-shortcut-hint{display:none}
 #wall .wall-shortcuts{display:flex;gap:0;align-items:center;margin:0}
 #wall .wall-formatting button{display:inline-grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border-radius:7px;line-height:1;font-size:15px;touch-action:manipulation}
 #wall .wall-send{order:1;min-height:44px;flex:0 0 auto}
 #wall #wall-feedback{order:2}
}


/* Translucent wall surfaces keep the moving cover light visible behind the feed. */
html:not([data-night-mode="on"]) #wall {
 --wall-glass-guest-start:rgb(75 85 104 / .30);
 --wall-glass-guest-end:rgb(47 57 76 / .30);
 --wall-glass-channel-start:rgb(60 107 137 / .28);
 --wall-glass-channel-end:rgb(38 64 82 / .28);
 --wall-glass-owner:rgb(112 24 50 / .24);
 --wall-glass-compose:rgb(75 84 104 / .38);
 --wall-glass-edge:rgb(255 255 255 / .075);
 --wall-guest-border:rgb(153 174 206 / .30);
 --wall-channel-border:rgb(119 181 215 / .33);
 --wall-owner-border:rgb(255 101 137 / .32);
 --wall-compose-border:rgb(172 190 220 / .43);
}
html:not([data-night-mode="on"])[data-theme="light"] #wall {
 --wall-glass-guest-start:rgb(243 248 255 / .56);
 --wall-glass-guest-end:rgb(235 242 252 / .46);
 --wall-glass-channel-start:rgb(221 242 255 / .48);
 --wall-glass-channel-end:rgb(222 239 252 / .44);
 --wall-glass-owner:rgb(255 218 230 / .48);
 --wall-glass-compose:rgb(235 242 253 / .60);
 --wall-glass-edge:rgb(255 255 255 / .72);
 --wall-guest-border:rgb(111 137 175 / .34);
 --wall-channel-border:rgb(65 135 179 / .32);
 --wall-owner-border:rgb(190 64 95 / .30);
 --wall-compose-border:rgb(102 128 164 / .42);
}
html:not([data-night-mode="on"]) #wall :is(.wall-post-guest,.wall-owner) {
 background:linear-gradient(120deg,var(--wall-glass-guest-start),var(--wall-glass-guest-end) 72%);
 border-color:var(--wall-guest-border);
 box-shadow:inset 0 1px 0 var(--wall-glass-edge),0 6px 20px #00000008;
}
html:not([data-night-mode="on"]) #wall :is(.wall-post-owner:not(.wall-post-author),.wall-archive) {
 background:linear-gradient(115deg,var(--wall-glass-channel-start),var(--wall-glass-channel-end) 70%);
 box-shadow:inset 0 1px 0 var(--wall-glass-edge);
}
html:not([data-night-mode="on"]) #wall :is(.wall-post-author,.wall-owner-reply) {
 background:var(--wall-glass-owner);
 box-shadow:inset 0 1px 0 var(--wall-glass-edge);
}
html:not([data-night-mode="on"]) #wall .wall-compose {
 background:var(--wall-glass-compose);
 box-shadow:inset 0 1px 0 var(--wall-glass-edge),0 10px 28px #00000010;
}
html:not([data-night-mode="on"]) #wall .wall-compose:focus-within {
 box-shadow:inset 0 1px 0 var(--wall-glass-edge),0 0 0 3px color-mix(in srgb,var(--wall-compose-muted) 8%,transparent),0 10px 28px #00000010;
}
html:not([data-night-mode="on"]) #wall .wall-post-hidden:is(.wall-post-owner,.wall-post-guest,.wall-owner-reply) {
 background:color-mix(in srgb,var(--surface) 32%,transparent);
 border-color:color-mix(in srgb,var(--line) 70%,transparent);
 box-shadow:none;
}
/* End translucent wall surfaces. */
