/* Scoped enhancement for the structural HF review. Static content works without JS. */
.hfs-teaching svg{display:block;width:100%;height:auto}
#icm .hfs-teaching .hfs-mobile{display:none}
.hfs-teaching .hfs-wave{animation:hfs-wavefront 5s linear infinite;animation-play-state:paused}
.hfs-teaching[data-hfs-state="playing"] .hfs-wave{animation-play-state:running}
.hfs-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;font:inherit}
.hfs-controls[hidden]{display:none}
.hfs-controls button{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:3px;min-height:36px;padding:5px 12px;cursor:pointer}
.hfs-controls button:focus-visible{outline:3px solid var(--guide-red);outline-offset:3px}
.hfs-controls [data-hfs-status]{font-size:.85em;color:var(--ink-3)}
@keyframes hfs-wavefront{to{stroke-dashoffset:-100}}
#icm .icm-cmr-example img{max-width:567px;margin:0 auto}
@media screen and (max-width:700px){
  #icm .hfs-teaching .hfs-desktop{display:none}
  #icm .hfs-teaching .hfs-mobile{display:block}
  .hfs-controls button{min-height:44px}
}
@media (prefers-reduced-motion:reduce){
  .hfs-teaching .hfs-wave{animation:none!important}
}
@media print{
  .hfs-controls{display:none!important}
  .hfs-teaching .hfs-wave{animation:none!important;display:none}
  #icm .hfs-teaching .hfs-mobile{display:none!important}
  #icm .hfs-teaching .hfs-desktop{display:block!important;max-width:480px;margin:0 auto}
  #icm .icm-cmr-example{margin:6px 0;padding:5px 8px}
  #icm .icm-cmr-example img{max-width:430px}
  #icm .icm-cmr-example .icm-figure-title{font-size:9.2pt}
  #icm .icm-cmr-example figcaption{font-size:7.7pt!important}
}
