/* Rescue Run is self-contained; existing films, comics and character reactions stay intact. */
.run-intro{padding:48px 0 24px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:0 35px}.run-intro .eyebrow{grid-column:1/-1;margin-bottom:12px}.run-intro h1{font-size:clamp(4.5rem,9.5vw,9rem);margin:0}.run-intro>p{max-width:270px;font-size:1.15rem;line-height:1.5;margin:0 0 8px}.run-section{padding:10px 0 75px}.run-picker{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:12px 0 25px;scroll-margin-top:18px}.run-picker-heading h2{font-size:2.1rem;margin-bottom:7px}.run-picker-heading p{font-size:.875rem;margin:0}.run-sisters{display:flex;gap:12px;align-items:stretch}.run-sister{position:relative;width:116px;min-height:145px;border:2px solid var(--ink);border-radius:16px;padding:8px 8px 7px;color:var(--ink);background:transparent;transition:transform .16s,background .16s;overflow:hidden}.run-sister[aria-pressed=true]{background:var(--mint);box-shadow:3px 3px 0 var(--ink);transform:translate(-2px,-2px)}.run-sister:hover:not(:disabled){background:#daeefa;transform:translateY(-4px)}.run-sister[aria-pressed=true]:after{content:'✓';position:absolute;top:4px;right:8px;font-weight:700}.run-sister strong{display:block;text-transform:uppercase;font-family:Barlow,Impact,sans-serif;font-size:1.5rem;line-height:1;margin-top:4px}.run-sister:disabled{cursor:default}.run-sister:disabled:not([aria-pressed=true]){opacity:.6}.run-portrait{position:relative;display:block;height:100px;overflow:hidden}.run-portrait .sister-sprite{display:block;position:absolute;left:50%;top:0;width:calc(var(--cw) * .24px);height:calc(var(--ch) * .24px);transform:translateX(-50%)}.run-shell{--run-accent:#f38471;border:2px solid var(--ink);border-radius:20px;overflow:hidden;box-shadow:7px 7px 0 var(--ink);background:var(--paper);scroll-margin:12px}.run-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;background:var(--ink);color:var(--paper)}.run-toolbar .eyebrow{margin:0 0 3px;font-size:.8rem;letter-spacing:.06em}.run-toolbar #run-objective{font-size:.8rem;display:block;color:#f3f5f0ba}.run-toolbar-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.run-toolbar button{border:1px solid #f3f5f075;border-radius:100px;background:transparent;color:inherit;font-size:.78rem;min-height:42px;padding:7px 14px;white-space:nowrap}.run-toolbar button[aria-pressed=true]{background:var(--mint);color:var(--ink);border-color:var(--mint)}.run-toolbar button:disabled{opacity:.4;cursor:default}.run-stage{position:relative;aspect-ratio:16/9;overflow:hidden;background:#bfe7f2}.run-stage canvas{display:block;width:100%;height:100%;touch-action:pan-y}.run-stage canvas:focus-visible{outline:4px solid #2949eb;outline-offset:-5px}.run-hud{position:absolute;inset:18px 22px auto;display:flex;align-items:center;gap:20px;pointer-events:none;font-weight:700;color:#132b36;text-shadow:0 1px #fff8}.run-hud>span:first-child{background:var(--paper);padding:3px 14px;border:2px solid #17394a;border-radius:100px;box-shadow:2px 2px #17394a;font-size:1.25rem;white-space:nowrap}.run-star-symbol{color:#97730e}.run-out-of{font-size:.8rem}.run-distance{width:150px;height:10px;background:#f3f5f099;border:1px solid #17394a;border-radius:8px;overflow:hidden;margin-left:auto}.run-distance span{display:block;height:100%;background:#2949eb;transition:width .12s linear}.run-hud>span:last-child{font-size:.85rem;letter-spacing:.02em}.run-overlay{position:absolute;z-index:4;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,88%);border:2px solid var(--ink);border-radius:24px;background:var(--paper);padding:36px;text-align:center;box-shadow:6px 6px var(--ink)}.run-overlay .eyebrow{margin-bottom:12px;font-size:.75rem}.run-overlay h2{font-size:clamp(2.5rem,4.6vw,4.5rem);margin-bottom:16px}.run-overlay p{font-size:1rem;line-height:1.5;margin:0 auto 20px;max-width:340px}.run-overlay .button{min-height:54px;padding:13px 28px}.run-easy{display:flex;align-items:center;justify-content:center;gap:9px;font-size:.88rem;margin:16px 0 10px;cursor:pointer;min-height:32px}.run-easy input{width:21px;height:21px;accent-color:var(--ink);margin:0}.run-overlay .run-small{font-size:.75rem;margin:0}.run-start{border-radius:30px 30px 30px 4px}.run-plain{display:block;margin:18px auto 0;border:0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:.85rem;min-height:40px;color:var(--ink)}.run-controls{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:15px;background:var(--run-accent);border-top:2px solid var(--ink);touch-action:none;user-select:none;-webkit-user-select:none}.run-directions{display:flex;gap:12px}.run-controls button{height:58px;min-width:72px;padding:3px 14px;background:var(--paper);border:2px solid var(--ink);box-shadow:3px 3px var(--ink);border-radius:14px;font-size:2rem;font-weight:700;color:var(--ink);touch-action:none;user-select:none}.run-controls .run-jump{font-size:1.25rem;padding:8px 24px;display:flex;align-items:center;gap:25px;background:var(--ink);color:var(--paper);min-width:180px}.run-controls .run-jump span{font-size:1.8rem}.run-controls button.is-held,.run-controls button:active:not(:disabled){transform:translate(3px,3px);box-shadow:none}.run-controls button:disabled{opacity:.5;cursor:default}.run-key-hint{font-size:.75rem;line-height:1.3;text-align:center;margin:0;opacity:.8}.run-toast{position:absolute;left:50%;top:85px;transform:translate(-50%,-10px);max-width:85%;text-align:center;border:1px solid var(--ink);border-radius:100px;background:var(--paper);padding:7px 16px;font-size:.8rem;font-weight:700;opacity:0;transition:opacity .18s,transform .18s;pointer-events:none}.run-toast.show{opacity:1;transform:translate(-50%,0)}.run-finish{display:grid;grid-template-columns:1fr .6fr;width:90%;max-width:830px;gap:30px;align-items:center;padding:28px 32px;text-align:left}.run-finish h2{font-size:clamp(2.7rem,5vw,4.8rem)}.run-finish p{margin-left:0}.run-finish .run-finish-moral{font-size:.85rem;margin-bottom:0}.run-finish .buttons{margin-top:20px;gap:10px}.run-finish .button{font-size:.85rem;padding:10px 18px;min-height:46px}.run-finish video{width:100%;aspect-ratio:9/16;object-fit:cover;border:2px solid var(--ink);border-radius:80px 80px 12px 12px;max-height:390px;background:#17191d}.run-how{display:grid;grid-template-columns:.7fr 1.5fr;gap:24px 70px;padding:70px 0 0}.run-how .eyebrow{margin-bottom:12px}.run-how h2{font-size:4.5rem}.run-how ol{list-style:none;margin:0;padding:0;counter-reset:steps;display:grid;gap:18px}.run-how li{position:relative;padding-left:52px;counter-increment:steps;font-size:.95rem}.run-how li:before{content:counter(steps);position:absolute;left:0;top:0;width:33px;height:33px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font-weight:700;background:var(--mint)}.run-how li strong{display:block}.run-how>p{grid-column:2;font-size:.85rem;max-width:650px;margin:0;line-height:1.7}.run-more{padding:75px 0;background:var(--mint)}.run-more h2{max-width:840px;font-size:clamp(3.5rem,6vw,6.3rem)}
@media(min-width:1600px){.run-section>.wrap{max-width:1250px}.run-intro{max-width:1250px}}
@media(max-width:1000px){.run-intro{padding-top:35px}.run-picker-heading h2{max-width:150px}.run-sister{width:90px;min-height:130px}.run-portrait{height:85px}.run-portrait .sister-sprite{width:calc(var(--cw) * .21px);height:calc(var(--ch) * .21px)}.run-sisters{gap:9px}.run-overlay{padding:24px}.run-overlay h2{margin-bottom:10px}.run-overlay p{margin-bottom:14px;font-size:.9rem}.run-easy{margin:9px 0 5px}.run-finish{gap:16px;padding:20px 24px}.run-finish video{max-height:295px}.run-how{gap:24px 40px}}
@media(max-width:700px){.run-intro{display:block;padding:28px 0 18px}.run-intro .eyebrow{font-size:.7rem;letter-spacing:.08em}.run-intro h1{font-size:4.8rem}.run-intro>p{font-size:.95rem;max-width:none;margin:12px 0 0}.run-section{padding:0 0 44px}.run-section>.wrap{width:calc(100% - 24px)}.run-picker{display:block;padding:0 7px 21px}.run-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.run-picker-heading h2{font-size:1.5rem;max-width:140px;margin:0}.run-picker-heading p{font-size:.7rem;max-width:95px;line-height:1.3}.run-sisters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:14px}.run-sister{width:100%;min-height:118px;padding:7px 2px;min-width:0;border-radius:12px}.run-sister strong{font-size:1.1rem}.run-portrait{height:75px}.run-portrait .sister-sprite{width:calc(var(--cw) * .19px);height:calc(var(--ch) * .19px)}.run-sister[aria-pressed=true]:after{font-size:.7rem;top:2px;right:5px}.run-shell{box-shadow:4px 4px var(--ink);border-radius:16px}.run-toolbar{padding:11px 12px;gap:8px;align-items:flex-start}.run-toolbar .eyebrow{font-size:.62rem;max-width:150px;line-height:1.45}.run-toolbar #run-objective{font-size:.65rem;line-height:1.4;max-width:170px}.run-toolbar-buttons{gap:5px;max-width:155px}.run-toolbar button{font-size:.65rem;padding:6px 9px;min-height:38px}.run-stage{aspect-ratio:1/1}.run-hud{inset:14px 12px auto;gap:10px}.run-hud>span:first-child{font-size:1rem;padding:3px 10px}.run-distance{width:65px}.run-hud>span:last-child{font-size:.65rem}.run-overlay{padding:20px 15px;width:88%;border-radius:22px}.run-overlay .eyebrow{font-size:.57rem;letter-spacing:.08em;margin-bottom:8px}.run-overlay h2{font-size:2.7rem;margin-bottom:10px}.run-overlay p{font-size:.78rem;line-height:1.45;margin-bottom:12px}.run-overlay .button{min-height:45px;padding:9px 20px;font-size:.8rem}.run-easy{font-size:.72rem;gap:7px;margin:6px 0 2px;min-height:28px}.run-easy input{width:18px;height:18px}.run-overlay .run-small{font-size:.61rem}.run-controls{padding:12px 13px;gap:10px}.run-directions{gap:10px}.run-controls button{height:56px;min-width:56px;padding:4px 10px;font-size:1.75rem}.run-controls .run-jump{min-width:113px;padding:5px 16px;font-size:.9rem;gap:18px}.run-controls .run-jump span{font-size:1.5rem}.run-key-hint{display:none}.run-toast{top:62px;font-size:.64rem;padding:5px 11px;max-width:90%;white-space:nowrap}.run-finish{width:94%;gap:12px;padding:16px 14px;grid-template-columns:1.1fr .7fr;text-align:left}.run-finish h2{font-size:2.2rem;line-height:.95}.run-finish p{font-size:.72rem;margin-bottom:10px}.run-finish .run-finish-moral{font-size:.65rem}.run-finish .buttons{margin-top:12px;gap:6px;display:grid}.run-finish .button{padding:7px 10px;min-height:39px;font-size:.71rem}.run-finish video{max-height:245px;border-radius:45px 45px 8px 8px}.run-how{display:block;padding:44px 12px 0}.run-how h2{font-size:3.6rem;margin-bottom:26px}.run-how li{font-size:.85rem;padding-left:45px}.run-how>p{font-size:.8rem;margin:25px 0 0}.run-more{padding:50px 0}.run-more h2{font-size:3.5rem}}
@media(max-width:360px){.run-stage{aspect-ratio:9/10}.run-overlay h2{font-size:2.4rem}.run-finish h2{font-size:1.9rem}.run-sister strong{font-size:1rem}.run-hud>span:last-child{font-size:.55rem}}
@media(prefers-reduced-motion:reduce){.run-sister,.run-toast,.run-distance span{transition:none}.run-sister:hover:not(:disabled){transform:none}}
@media(min-width:701px) and (max-height:760px){.run-stage{max-height:56vh;aspect-ratio:auto}.run-overlay{padding:18px 26px}.run-overlay h2{font-size:2.8rem}.run-overlay .eyebrow{margin-bottom:7px}.run-overlay p{font-size:.8rem;margin-bottom:10px}.run-overlay .button{min-height:44px;padding:9px 20px}.run-easy{margin:5px 0}.run-finish video{max-height:270px}}

/* Stage two keeps the established canvas artwork and the same touch controls. */
.run-boarding{display:grid;grid-template-columns:1.25fr .7fr;gap:26px;width:92%;max-width:870px;padding:25px 28px;text-align:left}
.run-boarding h2{font-size:clamp(2.25rem,4.5vw,4.1rem);line-height:.96;margin-bottom:14px}
.run-boarding p{margin-left:0;font-size:.88rem;max-width:none}
.run-boarding .run-boarding-controls{font-size:.77rem;line-height:1.55;margin-bottom:13px}
.run-boarding .run-small{font-size:.7rem;line-height:1.45;margin:7px 0 13px}
.run-boarding .button{min-height:49px;margin-top:4px}
.run-launch-preview video{display:block;width:100%;max-height:355px;aspect-ratio:9/16;object-fit:cover;border:2px solid var(--ink);border-radius:45px 45px 10px 10px;background:#17394a}
.run-launch-preview .run-small{font-size:.66rem;margin:9px 0 0;text-align:center}
.run-finish{display:block;width:min(690px,92%);text-align:center}
.run-finish p{margin-left:auto;margin-right:auto;max-width:500px}
.run-finish h2{font-size:clamp(2.5rem,5vw,4.8rem)}
.run-finish .buttons{justify-content:center;flex-wrap:wrap}
.run-controls .run-jump #run-control-label{font-size:inherit}
.run-shell[data-stage=vehicle] .run-stage{background:#17394a}
.run-how h2{font-size:clamp(3.5rem,5vw,4.5rem)}
@media(max-width:1000px){.run-boarding{gap:18px;padding:22px}.run-boarding h2{font-size:2.85rem}.run-launch-preview video{max-height:280px}}
@media(max-width:700px){
  .run-boarding{width:95%;padding:15px 13px;gap:13px;grid-template-columns:1fr .47fr;align-items:center}
  .run-boarding h2{font-size:2.15rem;margin-bottom:9px}
  .run-boarding p{font-size:.7rem;line-height:1.4;margin-bottom:10px}
  .run-boarding .run-boarding-controls{font-size:.63rem;line-height:1.45;margin-bottom:8px}
  .run-boarding .run-small{font-size:.6rem;margin:5px 0 8px}
  .run-boarding .eyebrow{font-size:.5rem;letter-spacing:.06em}
  .run-boarding .button{min-height:43px;padding:8px 13px;font-size:.72rem;margin-top:0}
  .run-launch-preview video{max-height:205px;border-radius:28px 28px 8px 8px}
  .run-launch-preview .run-small{font-size:.55rem;line-height:1.35}
  .run-finish{padding:22px 15px}.run-finish .buttons{display:flex;gap:8px}.run-finish .button{font-size:.7rem;min-height:42px}
  .run-finish h2{font-size:2.75rem}.run-finish p{font-size:.75rem}.run-finish .run-finish-moral{font-size:.7rem}
}
@media(max-width:360px){.run-boarding h2{font-size:1.9rem}.run-boarding{gap:8px;padding:12px}.run-boarding .run-boarding-controls{font-size:.58rem}.run-launch-preview video{max-height:170px}.run-finish h2{font-size:2.3rem}}
@media(min-width:701px) and (max-height:760px){.run-boarding{padding:17px 24px;max-width:810px;grid-template-columns:1.3fr .55fr}.run-boarding h2{font-size:2.55rem}.run-boarding p{font-size:.76rem;margin-bottom:9px}.run-boarding .run-boarding-controls{font-size:.7rem}.run-boarding .run-small{margin:5px 0 8px;font-size:.64rem}.run-launch-preview video{max-height:255px}.run-boarding .button{min-height:42px;padding:8px 18px}}
@media(max-width:360px){.run-shell[data-phase=launch] .run-stage,.run-shell[data-phase=vehicle-ready] .run-stage,.run-shell[data-phase=finished] .run-stage{width:100%;min-height:370px}}

/* Vehicle control keeps four large, simultaneously usable touch buttons. */
.run-points-badge{background:#17394a;color:#fff9e8;text-shadow:none;border:2px solid #fff9e8;border-radius:12px;padding:4px 12px;white-space:nowrap;box-shadow:2px 2px #17394a;font-size:1.2rem}
.run-points-badge small{font-size:.58rem;letter-spacing:.08em;margin-right:6px}
.run-hud>span:last-child{background:var(--paper);color:#17394a;border-radius:8px;padding:4px 8px;text-shadow:none}
.run-controls .run-forward{font-size:1.05rem;background:var(--mint);min-width:114px}
.run-shell[data-stage=vehicle] .run-jump{min-width:115px;gap:12px;padding:8px 16px}
.run-shell.is-blocked #run-machine-tag{background:#fff9e8;color:#17394a;border-radius:8px;padding:4px 8px}
.run-shell[data-stage=vehicle] .run-toast{top:135px}
@media(max-width:700px){
 .run-hud{gap:7px;flex-wrap:wrap;inset:12px 10px auto}
 .run-points-badge{font-size:.98rem;padding:4px 8px}.run-points-badge small{font-size:.5rem;display:block;line-height:1;margin:0 0 3px}
 .run-hud .run-distance{width:47px}.run-hud>span:last-child{margin-left:auto}
 .run-shell[data-stage=vehicle] .run-controls{padding:11px 10px;gap:8px}
 .run-shell[data-stage=vehicle] .run-directions{gap:8px}
 .run-shell[data-stage=vehicle] .run-controls button{min-width:49px;height:56px;padding:4px 10px}
 .run-shell[data-stage=vehicle] .run-controls .run-forward{min-width:72px;font-size:.95rem}
 .run-shell[data-stage=vehicle] .run-controls .run-jump{min-width:83px;gap:7px;font-size:.85rem;padding:4px 10px}
 .run-shell[data-stage=vehicle] .run-jump #run-control-arrow{font-size:1.3rem}
 .run-shell[data-stage=vehicle] .run-toast{top:88px}
}
@media(max-width:360px){
 .run-hud .run-distance{display:none}.run-hud>span:last-child{font-size:.57rem}
 .run-shell[data-stage=vehicle] .run-controls{gap:6px;padding:10px 7px}
 .run-shell[data-stage=vehicle] .run-controls button{min-width:43px;padding:4px 8px}
 .run-shell[data-stage=vehicle] .run-directions{gap:6px}
 .run-shell[data-stage=vehicle] .run-controls .run-forward{min-width:67px}
 .run-shell[data-stage=vehicle] .run-controls .run-jump{min-width:76px;padding:4px 8px}
}
