/* Discovery and reference pages extend, rather than replace, the SI editorial system. */
.demand h1 { font-size:clamp(2.6rem,4.9vw,4.8rem); max-width:18ch; }
.demand .intro { padding-block:3rem 2rem; }
.demand .home-intro { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(18rem,.7fr);gap:4rem;padding-block:4rem 3rem;border-bottom:1px solid var(--rule);align-items:start; }
.demand .lane { border-top:4px solid var(--accent);padding:1.5rem;background:var(--wash); }
.demand .lane h2 { font:400 2rem/1.2 Georgia,serif; }
.demand .find { margin-block:1.8rem; }
.demand label { display:block;font-weight:650;font-size:.92rem;margin-bottom:.5rem; }
.demand input,.demand select,.demand textarea { display:block;width:100%;max-width:100%;min-width:0;min-height:3rem;border:1px solid #85958c;border-radius:0;padding:.7rem;background:var(--white);color:var(--ink);font:inherit; }
.demand textarea { resize:vertical; }
.demand input:focus-visible,.demand select:focus-visible,.demand textarea:focus-visible,.demand button:focus-visible { outline:3px solid var(--accent);outline-offset:3px; }
.demand button { cursor:pointer;border:0;font:inherit; }
.demand .query-row { display:flex;gap:.5rem; }
.demand .query-row input { flex:1; }
.demand .query-row button { white-space:nowrap; }
.demand .paths { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule); }
.demand .paths a { padding:1.2rem .8rem 1.2rem 0;border-bottom:1px solid var(--rule);font-weight:650; }
.demand .entries { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;list-style:none;padding:0;margin:1.5rem 0; }
.demand .entry { min-width:0;padding:1.45rem;background:var(--white);border:1px solid var(--rule);margin:0;overflow-wrap:anywhere; }
.demand .entry h3 { font-size:1.15rem;margin-bottom:.9rem; }
.demand .entry h3 a { color:var(--ink); }
.demand .entry p { font-size:.95rem; }
.demand .entry p:last-child { margin-bottom:0; }
.demand .kind { font-size:.78rem!important;color:var(--muted);margin-bottom:.65rem; }
.demand .terms { font-size:.8rem!important;font-weight:650; }
.demand .filters { display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) minmax(0,1.2fr) auto auto;gap:1rem;align-items:end;margin-block:2rem 1rem; }
.demand .plain { background:transparent;color:var(--accent);min-height:3rem;text-decoration:underline;padding:.7rem; }
.demand .pagination { gap:1rem;margin-block:2rem; }
.demand .detail-grid { display:grid;grid-template-columns:minmax(0,2fr) minmax(17rem,1fr);gap:4rem;padding-bottom:3rem; }
.demand .detail-grid>* { min-width:0; }
.demand .reading h2 { font-size:clamp(1.8rem,2.9vw,2.6rem); }
.demand .reading section { margin-bottom:2.5rem; }
/* A bare digest, key id or URL in running text must wrap inside the column, not widen the page (break-word keeps table minimums, so wide tables still scroll in their own region). */
.demand .reading { overflow-wrap:break-word; }
.demand .reading section:first-child h2 { margin-top:0; }
/* Authored matrices keep their rows and tokens intact inside a keyboard-accessible scroll region. */
.demand .reading .matrix { white-space:pre; overflow-wrap:normal; word-break:normal; overflow-x:auto; max-width:100%; }
.demand .reading .matrix code { display:block; padding:0; background:transparent; font:inherit; }
.demand .reading .matrix:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.demand .matrix-hint { margin-bottom:.6rem; }
.demand .related { border-top:1px solid var(--rule);padding-top:1.5rem; }
.demand .related h2 { font-size:1.9rem; }
.demand .related-link { display:block;border-bottom:1px solid var(--rule);padding:1rem 0;text-decoration:none; }
.demand .related-link>* { display:block; }
.demand .related-link strong { color:var(--ink);line-height:1.4; }
.demand .related-link:hover strong { color:var(--accent);text-decoration:underline; }
.demand .request-box { margin-top:2rem;padding:1.4rem;background:var(--wash); }
.demand .field { margin-bottom:1.25rem; }
.demand .notice { border-left:3px solid var(--accent);padding:.6rem 1rem;background:var(--wash); }
.demand .tool { border-top:1px solid var(--rule);padding-top:1.8rem; }
.demand .tool-result:not(:empty) { margin-block:1.25rem;padding:1.25rem;background:var(--wash);border-left:3px solid var(--accent); }
.demand .tool-result p:last-child { margin-bottom:0; }
.demand .request-section { padding-bottom:3rem; }
.demand .sources { border-top:1px solid var(--rule);padding-top:1.5rem;overflow-wrap:anywhere; }
.demand [hidden] { display:none!important; }
.demand .shopping-demo { padding:1.5rem;border:1px solid var(--rule);background:var(--white); }
.demand .shopping-demo .row { display:flex;gap:.5rem; }
.demand .shopping-demo .row input { flex:1; }
.demand .shopping-demo button { min-height:3rem;padding:.6rem 1rem;background:var(--accent);color:var(--white); }
.demand .shopping-demo button:disabled { background:var(--wash);color:var(--muted);cursor:not-allowed; }
.demand .shopping-demo .items { list-style:none;padding:0;margin-block:1.5rem;border-top:1px solid var(--rule); }
.demand .shopping-demo .items label { display:flex;align-items:center;gap:.75rem;min-height:3rem;margin:0;padding:.5rem 0;border-bottom:1px solid var(--rule); }
.demand .shopping-demo .items input { width:1.5rem;min-height:1.5rem;height:1.5rem;flex:none;accent-color:var(--accent); }
.demand .shopping-demo .items span { min-width:0;overflow-wrap:anywhere; }
.demand .shopping-demo .bought span { text-decoration:line-through;color:var(--muted); }
.demand .shopping-demo .summary { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem; }
.demand .shopping-demo #remaining { margin:0;font-weight:650; }
@media(max-width:1000px){.demand .home-intro{gap:2rem;grid-template-columns:minmax(0,1.5fr) minmax(15rem,1fr)}.demand .filters{grid-template-columns:repeat(2,minmax(0,1fr))}.demand .filters>div:first-child{grid-column:1/-1}.demand .entries{grid-template-columns:repeat(2,minmax(0,1fr))}.demand .detail-grid{gap:2rem}}
@media(max-width:760px){.demand .home-intro,.demand .detail-grid{grid-template-columns:1fr;gap:2rem}.demand .home-intro{padding-block:2.5rem}.demand .paths{grid-template-columns:repeat(2,minmax(0,1fr))}.demand .related{margin-top:1rem}.demand .entries{grid-template-columns:1fr}.demand .query-row{display:block}.demand .query-row button{margin-top:.7rem;width:100%}.demand .filters{grid-template-columns:1fr}.demand .filters>div:first-child{grid-column:auto}.demand .intro{padding-block:2.5rem 1rem}}

.vstats-inline { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem 1.8rem; padding: 0; margin: 0 0 1rem; }
.vstats-inline li { margin: 0; padding: 0; } .vstats-inline strong { font-size: 1.5rem; margin-right: .25rem; }
