/* Entirely scoped: no global resets, variables, element styles, or font imports. */
.hf-rescue{--hfr-ink:#102b43;--hfr-muted:#4c6170;--hfr-blue:#c4e3ed;--hfr-coral:#ff846b;color:var(--hfr-ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;max-width:1100px;isolation:isolate}
.hf-rescue *,.hf-rescue *::before,.hf-rescue *::after{box-sizing:border-box}
.hf-rescue__game{background:#fffcf5;border:1px solid #cad9db;border-radius:18px;padding:clamp(18px,3vw,36px);box-shadow:0 12px 35px #102b430a}
.hf-rescue__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.hf-rescue .hf-rescue__eyebrow{margin:0 0 8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#455e6e}
.hf-rescue h3{margin:0;font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(30px,4vw,45px);font-weight:800;letter-spacing:-.025em;line-height:1.1;color:var(--hfr-ink)}
.hf-rescue .hf-rescue__intro{margin:10px 0 0;font-size:18px;font-weight:700;color:var(--hfr-ink)}
.hf-rescue__tag{margin-top:3px;background:#e0eff1;color:#31505f;border:1px solid #c4dbdd;border-radius:20px;padding:7px 10px;white-space:nowrap;font-size:10px;letter-spacing:.09em;font-weight:800}
.hf-rescue .hf-rescue__instructions{margin:22px 0 24px;font-size:15px;max-width:820px;color:var(--hfr-muted);line-height:1.6}
.hf-rescue__instructions strong{color:var(--hfr-ink)}
.hf-rescue__layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(22px,3vw,36px);align-items:start}
.hf-rescue__visual,.hf-rescue__play{min-width:0}
.hf-rescue__ice{position:relative;width:100%;height:430px;max-width:500px;margin:0 auto}
.hf-rescue__rink{position:absolute;inset:0;width:100%;height:100%;overflow:visible;display:block}
.hf-rescue__zone{position:absolute;left:50%;transform:translateX(-50%);font-size:9px;font-weight:800;letter-spacing:.16em;color:#4b7283}
.hf-rescue__zone--f{top:5.8%}.hf-rescue__zone--d{top:37.5%}.hf-rescue__zone--g{top:66.5%}
.hf-rescue__token{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:translate(-50%,-50%);width:68px;height:44px;background:#133650;color:#fff;border:2px solid #fff;border-radius:12px;box-shadow:0 3px 0 #102b431c;transition:top .22s ease,left .22s ease,background .18s ease;line-height:1}
.hf-rescue__token b{font-size:21px;font-variant-numeric:tabular-nums}.hf-rescue__token small{font-size:7px;line-height:1.4;letter-spacing:.055em;margin-top:2px;font-weight:700;color:inherit}
.hf-rescue__token[data-role="F"]{background:#bb4a35}.hf-rescue__token[data-role="D"]{background:#286879}
.hf-rescue .hf-rescue__caption{font-size:11px;text-align:center;color:var(--hfr-muted);margin:10px 0 14px}
.hf-rescue__counts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hf-rescue__counts li{border:1px solid #cfdddd;background:#f2f5f1;text-align:center;padding:9px 5px;border-radius:8px;font-size:11px;line-height:1.35;color:var(--hfr-muted)}
.hf-rescue__counts strong{display:block;font-size:22px;font-weight:800;color:var(--hfr-ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.hf-rescue__counts li[data-matched="true"]{border-color:#6eac8a;background:#e4f2e9}
.hf-rescue__choices{margin:0 0 18px;padding:0;border:0;min-width:0;display:grid;gap:8px}
.hf-rescue__choices legend{padding:0;margin:0 0 12px;font-size:13px;font-weight:800;color:var(--hfr-ink)}
.hf-rescue__player{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(110px,148px);gap:10px;align-items:center;border:1px solid #d3dedb;background:white;padding:8px 10px;border-radius:9px;min-width:0}
.hf-rescue__number{display:flex;justify-content:center;align-items:center;width:30px;height:30px;background:#edf3f3;border:1px solid #c6d8d9;border-radius:50%;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.hf-rescue__player-name{font-size:13px;font-weight:700;white-space:nowrap}
.hf-rescue select{color:var(--hfr-ink);background:#f4f8f7;min-height:44px;width:100%;padding:8px 25px 8px 10px;border:1px solid #9fb8c0;border-radius:6px;font-family:inherit;font-size:16px;line-height:1.3;cursor:pointer;touch-action:manipulation}
.hf-rescue__actions{display:flex;gap:10px;flex-wrap:wrap}
.hf-rescue button{font-family:inherit;font-size:14px;font-weight:800;min-height:46px;line-height:1.3;padding:12px 18px;border-radius:7px;cursor:pointer;touch-action:manipulation;white-space:normal;letter-spacing:0;text-transform:none;margin:0;box-shadow:none}
.hf-rescue .hf-rescue__primary{background:var(--hfr-ink);color:white;border:2px solid var(--hfr-ink);flex:1}.hf-rescue__primary span{margin-left:8px}
.hf-rescue .hf-rescue__reset{background:transparent;color:var(--hfr-ink);border:1px solid #9bb0b7}
.hf-rescue button:hover{filter:brightness(.93)}
.hf-rescue button:focus-visible,.hf-rescue select:focus-visible{outline:3px solid #be432b;outline-offset:3px}
.hf-rescue__feedback{margin-top:18px;min-height:100px;background:#e8f0f0;border:1px solid #c5d8db;border-left:4px solid #668e9e;border-radius:7px;padding:12px 14px;color:var(--hfr-ink);font-size:13px;line-height:1.5}
.hf-rescue__feedback strong{display:block;font-size:15px}.hf-rescue .hf-rescue__feedback p{margin:4px 0 0;font-size:13px;line-height:1.5;color:inherit}
.hf-rescue__feedback[data-result="won"]{background:#e4f2e9;border-color:#65a180;border-left-color:#317c54}
.hf-rescue__feedback[data-result="try-again"]{background:#fff0e6;border-color:#e8c3aa;border-left-color:#bf6e3d}
.hf-rescue .hf-rescue__footnote{font-size:11px;color:var(--hfr-muted);margin:12px 0 0;line-height:1.5}
.hf-rescue__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:720px){.hf-rescue__layout{grid-template-columns:1fr;gap:24px}.hf-rescue__header{gap:12px}.hf-rescue__tag{display:none}.hf-rescue__ice{height:370px;max-width:430px}.hf-rescue .hf-rescue__intro{font-size:16px}.hf-rescue__counts{max-width:430px;margin:0 auto}.hf-rescue__player{grid-template-columns:30px minmax(0,1fr) minmax(110px,45%)}.hf-rescue__token{width:64px;height:40px}.hf-rescue__token b{font-size:19px}}
@media(max-width:360px){.hf-rescue__game{padding:15px}.hf-rescue__player{gap:7px;padding:7px;grid-template-columns:25px minmax(0,1fr) 110px}.hf-rescue__number{width:25px;height:25px}.hf-rescue__player-name{font-size:12px}.hf-rescue__token{width:58px}.hf-rescue button{padding:10px 12px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.hf-rescue__token{transition:none}}
