.corpus-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:1.25rem; margin-block:2rem; }
.corpus-card { border:1px solid var(--rule); padding:1.5rem; border-radius:3px; background:var(--paper); }
.corpus-card h2 { font-family:var(--serif); font-weight:500; font-size:1.6rem; margin:.5rem 0; line-height:1.2; }
.masthead h1:not(.wordmark) { font:500 clamp(2rem,5vw,3rem)/1.15 var(--serif); margin:0; }
.corpus-card p { margin:.75rem 0; }
.corpus-meta { color:var(--muted); font: .78rem/1.6 var(--mono); overflow-wrap:anywhere; }
.corpus-actions { display:flex; flex-wrap:wrap; gap:.8rem 1.3rem; margin-block:1.5rem; }
.corpus-intro { max-width:47rem; margin-block:2rem; }
.tabu-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-block:2rem; }
.tabu-controls label { display:grid; gap:.4rem; font: .8rem var(--mono); color:var(--muted); }
.tabu-controls label:first-child { grid-column:1/-1; }
.tabu-controls input,.tabu-controls select { width:100%; min-width:0; padding:.75rem; border:1px solid var(--rule); background:var(--paper); color:var(--ink); border-radius:3px; font:1rem var(--serif); }
.tabu-controls button,#tabu-more { padding:.65rem 1rem; border:1px solid var(--rule); background:var(--paper); color:var(--ink); cursor:pointer; font:inherit; }
.tabu-entry { border-top:1px solid var(--rule); padding-block:1.2rem; }
.tabu-entry h2 { font-size:1.4rem; margin:0 0 .3rem; overflow-wrap:anywhere; }
.tabu-entry p { margin:.2rem 0; }
.corpus-source { margin-block:3rem; border-top:1px solid var(--rule); padding-top:1.5rem; }
.corpus-source summary { cursor:pointer; }
.corpus-source p { max-width:48rem; }
@media(max-width:600px) { .tabu-controls { grid-template-columns:minmax(0,1fr); } .corpus-grid{gap:1rem;} }

/* Shared Verba umbrella: small documents, no corpus download on entry. */
.umbrella-page { color:var(--ink); }
.umbrella-page .topbar-inner { gap:1.25rem; flex-wrap:wrap; padding-block:.85rem; }
.direction-nav { display:flex; flex-wrap:wrap; gap:.35rem 1.05rem; margin-left:auto; font:.73rem/1.8 var(--mono); }
.direction-nav a { text-decoration:none; color:var(--muted); }
.direction-nav a:hover,.direction-nav [aria-current] { color:var(--ink); text-decoration:underline; text-underline-offset:5px; }
#umbrella-theme { border:1px solid var(--rule); background:var(--paper); color:var(--ink); width:2rem; height:2rem; cursor:pointer; }
.skip-link { position:absolute; top:-5rem; left:1rem; background:var(--paper); padding:.7rem; z-index:100; }
.skip-link:focus { top:1rem; }
.umbrella-page :focus-visible { outline:2px solid var(--red,#b4232a); outline-offset:5px; }
.umbrella-page #main,.pixel-grid,.font-lab { scroll-margin-top:13rem; }
.direction-mast { padding-block:clamp(3rem,8vw,6rem) 2.6rem; max-width:58rem; }
.direction-mast h1 { font:500 clamp(4rem,12vw,8.5rem)/1 var(--serif); letter-spacing:-.065em; margin:.6rem 0 1.7rem; overflow-wrap:anywhere; }
.direction-mast h2 { font:400 clamp(1.5rem,4vw,2.4rem)/1.2 var(--serif); margin:0 0 1.2rem; }
.direction-mast .standfirst { max-width:43rem; font-size:clamp(1.05rem,2vw,1.3rem); line-height:1.65; }
.prefix,.brand-period { color:var(--red,#b4232a); }
.section-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.5rem 2rem; border-top:1px solid var(--rule); padding-top:1.3rem; }
.section-heading h2 { margin:0; font:500 1.6rem/1.3 var(--serif); }
.section-heading>p { color:var(--muted); font:.75rem/1.5 var(--mono); }
.umbrella-page .corpus-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:1.5rem; border:1px solid var(--rule); }
.umbrella-page .corpus-card { display:flex; flex-direction:column; border:0; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); border-radius:0; padding:1.8rem; min-width:0; background:transparent; }
.umbrella-page .corpus-card h2 { font:500 clamp(2.2rem,3.5vw,3.2rem)/1.1 var(--serif); letter-spacing:-.05em; margin:.4rem 0 1.2rem; }
.corpus-card h2 a { color:inherit; text-decoration:none; }
.corpus-card h3 { font:500 1.2rem/1.3 var(--serif); margin:0 0 .5rem; }
.direction-open { margin-top:auto; padding-top:1.5rem; font:.78rem/1.5 var(--mono); display:flex; justify-content:space-between; gap:1rem; }
.direction-status { font:.68rem/1.6 var(--mono); color:var(--muted); border-left:2px solid var(--red,#b4232a); padding-left:.7rem; }
.umbrella-page .corpus-intro { margin-block:4rem 5rem; }
.corpus-intro h2 { font:500 2rem/1.25 var(--serif); }
.corpus-intro p { line-height:1.8; }
.project-note { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3rem; border-block:1px solid var(--rule); padding-block:2rem; margin-bottom:3rem; align-items:center; }
.project-note p { max-width:45rem; line-height:1.7; }
.large-figure { font:500 clamp(3rem,7vw,6rem)/1 var(--serif); color:var(--red,#b4232a); margin:0; }
.large-figure span { display:block; font:.75rem/2 var(--mono); color:var(--muted); margin-top:.8rem; text-align:center; }
.pixel-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--rule); border-left:1px solid var(--rule); margin-top:2rem; }
.pixel-card { border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:1.5rem; min-width:0; }
.pixel-stage { display:grid; place-items:center; padding:1.3rem; background:#f4f1e8; min-height:8rem; }
.pixel-stage svg { width:80px; height:80px; max-width:100%; image-rendering:pixelated; }
.pixel-card h3 { font:500 1.3rem/1.3 var(--serif); margin:1rem 0 .4rem; }
.pixel-card p { font:.75rem/1.6 var(--mono); }
.font-lab { margin-bottom:4rem; }
.font-lab label { display:block; margin-block:1.3rem .5rem; font:.8rem var(--mono); }
.font-lab input { width:100%; box-sizing:border-box; border:1px solid var(--rule); padding:.9rem 1rem; font:1.2rem var(--serif); background:var(--paper); color:var(--ink); }
.font-lab select { border:1px solid var(--rule); background:var(--paper); color:var(--ink); padding:.4rem; }
.font-preview { max-width:100%; overflow-x:auto; padding-block:2rem; border-block:1px solid var(--rule); margin-top:1.5rem; }
.font-preview canvas { display:block; image-rendering:pixelated; max-width:none; }
.alphabet { font:clamp(.85rem,2.2vw,1.25rem)/1.9 var(--mono); overflow-wrap:anywhere; }
.story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin:3rem 0; }
.story-card { border-top:2px solid var(--ink); padding-top:1.3rem; }
.story-card h2 { font:500 1.6rem/1.3 var(--serif); }
.story-card h2 a { color:inherit; }
.story-card p { line-height:1.7; }
.topbar-nav { flex-wrap:wrap; }
@media(max-width:900px) {
 .umbrella-page .corpus-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pixel-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .story-grid { grid-template-columns:1fr; }
}
@media(max-width:600px) {
 .direction-nav { order:3; width:100%; margin:0; gap:.4rem 1rem; }
 #umbrella-theme { margin-left:auto; }
 .umbrella-page .corpus-grid { grid-template-columns:1fr; }
 .umbrella-page .corpus-card { padding:1.5rem; }
 .project-note { grid-template-columns:1fr; gap:1rem; }
 .large-figure { display:none; }
 .pixel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pixel-card { padding:1rem; }
 .pixel-stage { padding:.7rem; }
}
