/* Reference-led report directory; shared Hotshot tokens and shell remain canonical. */
.hst-directory { min-width:0; background:var(--color-paper); color:var(--color-ink); padding-bottom:var(--space-3xl); }
.hst-directory [hidden] { display:none!important; }
.hst-directory__breadcrumbs { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; padding-block:1.5rem; font-size:.875rem; color:var(--color-muted); }
.hst-directory__intro h1 { font-size:clamp(2.25rem,4vw,3.75rem); line-height:1.12; letter-spacing:-.035em; margin:0; }
.hst-directory__subtitle { margin:.75rem 0 0; font-size:clamp(1.125rem,2vw,1.5rem); font-weight:700; }
.hst-directory__description { max-width:75ch; font-size:1.125rem; line-height:1.75; margin:2rem 0 1.5rem; white-space:pre-line; }
.hst-directory__search form { display:flex; align-items:center; gap:.75rem; border:1px solid var(--color-rule); border-radius:var(--radius-control); padding:.5rem .5rem .5rem 1rem; background:var(--color-paper-2); }
.hst-directory__search form>i { color:var(--color-accent); font-size:1.5rem; }
.hst-directory__search input { flex:1 1 0; width:0; min-width:0; min-height:3rem; padding:.5rem 0; border:0; box-shadow:none; background:transparent; color:inherit; font:inherit; }
.hst-directory__search .hss-search-actions { flex-shrink:0; }
.hst-directory__explainer { margin:1.5rem 0 2rem; border:1px solid var(--color-rule); border-radius:var(--radius-control); }
.hst-directory__explainer summary { display:flex; align-items:center; gap:.75rem; cursor:pointer; padding:1rem; font-size:1.125rem; font-weight:700; list-style:none; }
.hst-directory__explainer summary::-webkit-details-marker { display:none; }
.hst-directory__explainer summary>i:first-child { color:var(--color-accent); font-size:1.5rem; }
.hst-directory__explainer summary>i:last-child { margin-left:auto; }
.hst-directory__explainer[open] summary>i:last-child { transform:rotate(180deg); }
.hst-directory__explainer p { margin:0; padding:0 1rem 1.25rem; max-width:80ch; line-height:1.65; }
.hst-directory__results { min-width:0; }
.hst-directory__results h2 { margin:0; font-size:clamp(1.5rem,2.5vw,2rem); letter-spacing:-.02em; overflow-wrap:anywhere; }
.hst-directory__state { color:var(--color-muted); margin:.75rem 0 1.5rem; min-height:1.5rem; }
.hst-directory__state[data-state=error] { color:var(--color-error); }
.hst-directory__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:stretch; }
.hst-directory-card { display:grid; grid-template-columns:5rem minmax(0,1fr) 7.5rem; align-items:center; gap:1rem; min-width:0; padding:1.125rem; border:1px solid var(--color-rule); border-radius:var(--radius-control); background:var(--color-paper); }
.hst-directory-card__media { min-width:0; align-self:center; text-align:center; }
.hst-directory-card__image { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:4/3; border-radius:.375rem; background:var(--color-paper-2); color:var(--color-accent); overflow:hidden; }
.hst-directory-card__image img { width:100%; height:100%; object-fit:contain; }
.hst-directory-card__image i { font-size:2rem; }
.hst-directory-card__type { display:block; font-size:.75rem; line-height:1.35; color:var(--color-muted); margin-top:.5rem; overflow-wrap:anywhere; }
.hst-directory-card__body { min-width:0; }
.hst-directory-card h3 { font-size:1rem; line-height:1.4; margin:0 0 .375rem; overflow-wrap:anywhere; }
.hst-directory-card h3 a { color:var(--color-ink); text-decoration:none; }
.hst-directory-card__status { margin:0; font-size:.9375rem; line-height:1.5; }
.hst-directory-card__actions { display:grid; justify-items:stretch; gap:.375rem; text-align:center; min-width:0; }
.hst-directory-card__actions a { display:flex; align-items:center; justify-content:center; min-height:2.75rem; padding:.625rem .5rem; border:1px solid var(--color-accent); border-radius:var(--radius-control); color:var(--color-accent); text-decoration:none; font-weight:700; font-size:.875rem; }
.hst-directory-card__actions a:hover { background:var(--color-paper-2); }
.hst-directory-card__actions small { color:var(--color-muted); font-size:.75rem; }
.hst-directory__more { display:grid; justify-items:center; gap:1rem; padding-top:2rem; }
.hst-directory :is(a,button,summary,input):focus-visible { outline:3px solid var(--color-focus,var(--color-accent)); outline-offset:3px; }
@media(max-width:1100px) and (min-width:768px) { .hst-directory-card { grid-template-columns:4rem minmax(0,1fr); gap:.75rem; } .hst-directory-card__actions { grid-column:2; grid-template-columns:7rem auto; align-items:center; text-align:left; } }
@media(max-width:767px) { .hst-directory__list { grid-template-columns:minmax(0,1fr); } .hst-directory-card { grid-template-columns:4.5rem minmax(0,1fr) 6.5rem; padding:1rem; gap:.75rem; } .hst-directory__description { font-size:1rem; margin-top:1.5rem; } }
@media(max-width:420px) { .hst-directory-card { grid-template-columns:4rem minmax(0,1fr); } .hst-directory-card__actions { grid-column:2; grid-template-columns:6.5rem auto; align-items:center; text-align:left; gap:.5rem; } .hst-directory__search form { flex-wrap:wrap; } .hst-directory__search .hss-search-actions { width:100%; } .hst-directory__search .hss-search-actions .hss-button { flex:1; } }
@media(prefers-reduced-motion:reduce) { .hst-directory * { scroll-behavior:auto!important; transition:none!important; } }
