.fh { max-width: 46rem; }
.fh-head h1, .fh-detail h1, .fh-drill h1 { margin: 0 0 var(--s-3); overflow-wrap: anywhere; }
.fh-stats { display: flex; flex-wrap: wrap; gap: var(--s-4); list-style: none; padding: 0; margin: 0 0 var(--s-3); }
.fh-stats li { min-height: var(--touch); display: flex; align-items: center; gap: var(--s-2); }
.fh-spark { width: 10rem; height: 2.25rem; color: var(--ink); display: block; margin-bottom: var(--s-4); }
.fh-filters__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); }
.fh-filters__search { grid-column: 1 / -1; }
.fh-group h2, .fh-why, .fh-example, .fh-diff { overflow-wrap: anywhere; }
.fh-why { margin: 0 0 var(--s-3); }
.fh-examples { list-style: none; padding: 0; margin: 0 0 var(--s-4); display: grid; gap: var(--s-3); }
.fh-example { display: block; color: inherit; text-decoration: none; padding: var(--s-3); border: var(--bw) solid var(--line); border-radius: var(--r-card); background: var(--paper-sunk); }
.fh-example:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.fh-diff__line { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); margin: 0 0 var(--s-2); min-height: var(--touch); }
.fh-lab { font-size: var(--fs-14); color: var(--muted); min-width: 5.5rem; }
.fh-diff del { text-decoration: line-through; }
.fh-diff ins { text-decoration: none; font-weight: 650; }
.fh-play { min-width: var(--touch); min-height: var(--touch); }
.fh-dots { display: inline-flex; gap: 0.35rem; align-items: center; min-height: var(--touch); }
.fh-dot { width: 0.7rem; height: 0.7rem; border-radius: 50%; border: 2px solid var(--ink); background: transparent; }
.fh-dot.is-on { background: var(--ink); }
.fh-saved { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); margin: 0 0 var(--s-4); padding: var(--s-2) var(--s-3); border: 1px solid var(--line); border-radius: var(--r-control); background: var(--paper-sunk); line-height: 1.5; }
.fh-saved a { font-weight: 600; }
.fh-weeks { padding-left: 1.1rem; }
.fh-checks, .fh-check { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.fh-check { align-items: center; min-height: var(--touch); }
.fh .cluster .btn, .fh-detail .btn, .fh-group .btn { min-height: var(--touch); }
@media (min-width: 900px) {
  .fh-filters__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .fh-filters__search { grid-column: 1 / -1; }
}
@media (max-width: 420px) {
  .fh-filters__grid { grid-template-columns: 1fr; }
}
