/* V19 A category directory. Existing blue icons, Courier labels and Gothic titles. */
html[data-theme] body.qe-home .xs-site-header {justify-content:flex-start}
html[data-theme] body.qe-home .xs-site-header .xs-site-folders {
  order:-1;margin-left:0;margin-right:0;flex:0 0 auto;
}

main.qe-category-workspace {
  box-sizing:border-box;display:flex;flex:1;align-items:center;justify-content:center;
  width:100%;min-height:calc(100svh - 220px);margin:0 auto;padding:24px 20px;
}
.qe-category-grid {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:start;gap:clamp(10px,4vw,52px);width:min(760px,100%);margin:0 auto;padding:0;
}
.qe-category-folder {
  display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:flex-start;
  gap:8px;padding:8px;text-align:center;text-decoration:none;color:var(--ink);
}
.qe-category-folder img {
  display:block;flex:none;width:44px;height:44px;object-fit:contain;
  filter:saturate(.85) brightness(1.04);transition:transform .18s ease;
}
.qe-category-folder span {
  max-width:100%;padding:3px 7px;background:#0b0b0b;color:#e9e7e2;border-radius:0;
  box-shadow:inset 0 0 0 1px rgba(207,204,198,.4);
  font:700 9px/1.35 'XS Header Courier','Courier New',monospace;
  letter-spacing:.1em;text-transform:uppercase;line-height:1.35;
}
.qe-category-folder:is(:hover,:focus-visible,[aria-current=page]) span {
  background:#e9e7e2;color:#000;box-shadow:inset 0 0 0 1px #e9e7e2;
}
.qe-category-folder:is(:hover,:focus-visible) img {transform:scale(1.12)}
.qe-category-folder:focus-visible {outline:2px solid var(--ink);outline-offset:1px;border-radius:0}

main.qe-category-page {
  box-sizing:border-box;flex:1;width:100%;max-width:1180px;
  margin:0 auto;padding:0 clamp(14px,3vw,30px) 56px;
}
.qe-category-page .pagehead {padding-top:24px;margin-bottom:28px}
.qe-category-projects {grid-template-columns:repeat(4,minmax(0,1fr));margin:36px 0 0;width:100%}
.qe-category-projects .qe-category-folder span {white-space:normal}
.qe-category-breadcrumb {
  box-sizing:border-box;display:flex;flex-wrap:wrap;gap:6px 10px;
  width:min(1120px,calc(100% - 40px));margin:12px auto 20px;padding:0;
  color:var(--muted);font:400 10px/1.5 var(--body);letter-spacing:.1em;text-transform:uppercase;
}
.qe-category-breadcrumb a {color:var(--ink);text-decoration:none}
.qe-category-breadcrumb a:hover {text-decoration:underline;text-underline-offset:3px}
.qe-category-breadcrumb [aria-current=page] {color:var(--muted)}
.qe-category-context-row {
  box-sizing:border-box;display:flex;flex-wrap:wrap;gap:16px 30px;
  width:min(1120px,calc(100% - 40px));margin:0 auto 24px;padding:0;
}
.qe-category-context-row .qe-category-folder {max-width:150px;min-width:76px}
.qe-category-context-row .qe-category-folder span {white-space:normal}

@media(max-width:600px) {
  main.qe-category-workspace {min-height:calc(100svh - 200px);padding:20px 12px}
  .qe-category-grid {gap:4px;width:100%}
  .qe-category-grid>.qe-category-folder {padding:8px 0}
  .qe-category-folder {gap:8px}
  .qe-category-folder img {width:34px;height:34px}
  .qe-category-folder span {font-size:8px;padding:3px 6px}
  .qe-category-workspace .qe-category-folder span {white-space:nowrap}
  .qe-category-page .pagehead {padding-top:20px}
  .qe-category-projects {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
  .qe-category-breadcrumb {width:calc(100% - 28px);font-size:9px;gap:6px 8px;margin-top:10px}
  .qe-category-context-row {width:calc(100% - 28px);gap:12px;margin-bottom:18px}
  .qe-category-context-row .qe-category-folder {max-width:116px;padding:4px}
}
@media(prefers-reduced-motion:reduce) {.qe-category-folder img {transition:none}}

/* Structural helpers for the new category documents; title role matches project titles. */
.qe-category-workspace > .visually-hidden {
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0;
}
.qe-category-heading {padding-top:24px;margin-bottom:28px}
.qe-category-heading h1 {
  margin:0;color:var(--ink);font-family:'Old London',serif;
  font-size:clamp(24px,2.7vw,31px);font-weight:400;font-style:normal;
  font-synthesis:none;line-height:1.1;letter-spacing:0;text-transform:none;
}
@media(max-width:600px) {.qe-category-heading {padding-top:20px}}
