/* Genre discovery — uses the site's existing theme variables. */
.genre-tag{cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s;}
.genre-tag:hover,.genre-tag:focus-visible{background:var(--raised);border-color:var(--accent);color:var(--accent);}
.genre-tag.is-active{border-color:var(--accent-deep);background:color-mix(in srgb,var(--accent-deep) 24%,var(--surface));color:var(--accent);font-weight:700;}
.genre-browse-prompt{color:var(--muted);font-size:.91rem;margin:-.2rem 0 1.4rem;}
.genre-browse-prompt a,.genre-footer-link a{color:var(--accent);text-decoration:underline;text-underline-offset:.2em;}
.genres-page{max-width:1100px;margin:auto;}
.genre-intro{margin:2.2rem 0 1.8rem;max-width:750px;}
.genre-intro h1,.genre-results-heading h1{font-size:clamp(2rem,3.6vw,3rem);margin:.4rem 0 1rem;line-height:1.2;}
.genre-intro p:not(.eyebrow),.genre-results-heading p:not(.eyebrow){color:var(--muted);}
.genre-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem;margin:1.6rem 0 3rem;}
.genre-directory-item{display:flex;flex-direction:column;justify-content:center;gap:.16rem;min-height:82px;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);}
.genre-directory-item:hover,.genre-directory-item:focus-visible{border-color:var(--accent);background:var(--raised);color:var(--accent);}
.genre-directory-item span{font-weight:700;line-height:1.3;overflow-wrap:break-word;}
.genre-directory-item small{color:var(--subtle);}
.genre-results-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--border);padding:1rem 0 1.4rem;margin-bottom:1.3rem;}
.genre-results-heading p{margin:0;max-width:720px;}
.genre-results-heading .eyebrow{margin:0;}
.genre-result-count{flex-shrink:0;color:var(--muted);padding-bottom:.3rem;font-size:.9rem;}
.genre-filters{padding:1.2rem 1.35rem;background:var(--surface);border:1px solid var(--border);border-radius:11px;margin-bottom:1.45rem;display:flex;flex-direction:column;gap:.85rem;}
.genre-filter-group{display:grid;grid-template-columns:90px 1fr;align-items:start;gap:1rem;}
.genre-filter-label{color:var(--muted);font-size:.83rem;padding-top:.34rem;font-weight:700;}
.genre-filter-options{display:flex;flex-wrap:wrap;gap:.34rem .45rem;}
.genre-filter-option{border-radius:6px;border:1px solid transparent;padding:.22rem .53rem;color:var(--muted);font-size:.84rem;line-height:1.5;}
.genre-filter-option:hover,.genre-filter-option:focus-visible{background:var(--raised);border-color:var(--border);color:var(--accent);}
.genre-filter-option.is-active{color:var(--accent);border-color:var(--accent-deep);background:color-mix(in srgb,var(--accent-deep) 14%,var(--surface));font-weight:700;}
.genre-story-list{display:flex;flex-direction:column;gap:0;}
.genre-story-card{display:grid;grid-template-columns:140px minmax(0,1fr);gap:1.55rem;padding:1.4rem .5rem;border-bottom:1px solid var(--border);}
.genre-story-card:first-child{padding-top:.75rem;}
.genre-story-cover{display:block;align-self:start;}
.genre-story-cover img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:7px;border:1px solid var(--border);display:block;background:var(--raised);}
.genre-story-body{min-width:0;}
.genre-story-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem 1rem;}
.genre-story-title h2{font-size:1.28rem;line-height:1.35;margin:0;}
.genre-story-title a:hover{color:var(--accent);}
.genre-status{font-size:.72rem;color:var(--muted);border:1px solid var(--border);border-radius:5px;padding:0 .45rem;white-space:nowrap;}
.genre-byline{color:var(--accent);margin:.28rem 0 .38rem;font-size:.9rem;}
.genre-story-meta{display:flex;flex-wrap:wrap;gap:.25rem .9rem;color:var(--subtle);font-size:.78rem;}
.genre-story-meta span{white-space:nowrap;}
.genre-story-summary{color:var(--muted);font-size:.92rem;line-height:1.63;margin:.68rem 0 .58rem;overflow-wrap:anywhere;}
.genre-story-card .taglist{margin:.4rem 0;}
.genre-no-results{padding:2.4rem 1rem;text-align:center;color:var(--muted);}
.genre-no-results h2{color:var(--text);}
.genre-pagination{display:flex;justify-content:center;gap:1rem;align-items:center;margin:2rem 0;font-size:.86rem;color:var(--muted);}
.genre-footer-link{margin:2.25rem 0 1rem;font-size:.91rem;}
@media(max-width:700px){
  .genre-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;}
  .genre-directory-item{min-height:75px;padding:.8rem;}
  .genre-results-heading{align-items:start;flex-direction:column;gap:.35rem;}
  .genre-filter-group{grid-template-columns:1fr;gap:.2rem;}
  .genre-filters{padding:1rem;}
  .genre-story-card{grid-template-columns:95px minmax(0,1fr);gap:.85rem;padding:1.1rem 0;}
  .genre-story-title h2{font-size:1.06rem;}
  .genre-story-summary{font-size:.85rem;}
  .genre-story-meta{gap:.14rem .55rem;}
}
@media(max-width:380px){.genre-directory{grid-template-columns:1fr;}.genre-story-card{grid-template-columns:80px minmax(0,1fr);}}
