dialog.rescue-modal {
 position: fixed; inset: 0; margin: 0; padding: 0; width: 100%; height: 100dvh;
 max-width: none; max-height: none; border: 0; border-radius: 0; background: #09152c;
 color: #fff7e4; overflow: auto;
}
.rescue-modal::backdrop { background: #09152c; }
.rescue-game {
 min-height: 100%; position: relative; isolation: isolate; display: grid; align-content: start;
 gap: clamp(8px,2vh,18px); padding: max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
}
.rescue-game::before {
 content: ''; position: absolute; inset: 0; z-index: -2;
 background: linear-gradient(#08142de8 4%,#1025478a 55%,#071427f5),url('/assets/star-poster.jpg') center/cover;
}
.rescue-game h2,.rescue-game p,.rescue-modal .rescue-results h2,.rescue-modal .rescue-results p {color:inherit;margin:0}
.rescue-header {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.rescue-header h2 {font-size:clamp(24px,5vw,46px)}
.rescue-header .eyebrow {color:#9de5e0}
.rescue-controls {display:flex;gap:8px;flex-wrap:wrap}
.rescue-controls button,.rescue-results button {min-height:48px}
.rescue-hud {
 display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;
 text-align:center;padding:8px 14px;border:1px solid #9de5e05c;border-radius:18px;background:#10213be8;
}
.rescue-hud #dart-prompt {color:#ffe7a2;font-size:clamp(24px,5vw,44px);line-height:1.1}
.rescue-hud small {display:block;color:#c3e6ef}
.rescue-modal .dart-field {
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;position:relative;
 width:min(100%,850px);margin:0 auto;padding:0;background:none;border:0;
}
.rescue-lane {display:grid;place-items:center;min-height:clamp(86px,15vh,152px);position:relative;border-radius:18px;background:#08152c5c}
.rescue-modal .asteroid-target {
 width:clamp(66px,16vw,124px);min-height:clamp(62px,11vh,100px);padding:4px;
 color:#fff9e7;background:radial-gradient(circle at 35% 22%,#b37164,#613f58 57%,#2e2b49);
 border:2px solid #e5a28c;border-radius:42% 57% 38% 54%;box-shadow:0 0 20px #ed8b6d54,inset 0 0 18px #f7ad734d;
 font-size:clamp(23px,5vw,43px);font-weight:850;animation:rescue-fall 3.8s linear infinite;
 animation-delay:var(--fall-delay);touch-action:manipulation;
}
.rescue-modal .asteroid-target::before {
 content:'';position:absolute;width:30%;height:48%;left:49%;bottom:88%;
 background:linear-gradient(transparent,#f6ad7c75);transform:rotate(18deg);border-radius:60%;pointer-events:none;
}
.rescue-modal .asteroid-target:is(:hover,:focus-visible) {outline:3px solid #fff4b3;outline-offset:4px;background:radial-gradient(circle at 35% 22%,#cb8674,#704b61 57%,#2e2b49)}
@keyframes rescue-fall {0%{transform:translate(6px,calc(-1 * clamp(8px,2vh,22px))) rotate(6deg)} 90%{transform:translate(-6px,clamp(8px,2vh,22px)) rotate(-5deg)} 100%{transform:translate(-6px,clamp(8px,2vh,22px)) rotate(-5deg)}}
.rescue-static .asteroid-target,.quiet-motion .rescue-modal .asteroid-target{animation:none}
.rescue-paused .asteroid-target {animation-play-state:paused}
.rescue-spark {pointer-events:none;position:absolute;inset:0;display:grid;place-items:center;color:#ffe59a;font-size:35px;z-index:2;animation:rescue-spark .48s ease-out both}
@keyframes rescue-spark {to{transform:translate(24px,-42px) scale(1.7);opacity:0}}
.rescue-trail {display:flex;align-items:center;gap:12px;width:min(100%,850px);margin:auto}
.rescue-trail img {width:56px;height:56px;object-fit:cover;border-radius:14px}
.rescue-trail progress {width:100%;height:12px;accent-color:#f2c370}
.rescue-modal #dart-feedback {color:#fff7e4;font-size:clamp(15px,3vw,19px);text-align:center;min-height:2.6em}
.rescue-results {min-height:100%;display:grid;place-content:center;gap:18px;text-align:center;padding:24px;background:radial-gradient(ellipse at top,#244e63,#0a172c 68%)}
.rescue-results img {width:128px;border-radius:25px;justify-self:center}
@media(max-width:480px){.rescue-hud{padding:6px;grid-template-columns:1fr 1.5fr 1fr;font-size:13px}.rescue-game{gap:8px}.rescue-lane{min-height:80px}}
@media(prefers-reduced-motion:reduce){.rescue-modal .asteroid-target,.rescue-spark{animation:none}}
.rescue-trail {display:grid;gap:4px}
.rescue-route {position:relative;height:55px;border-bottom:2px dashed #9de5e06b}
.rescue-route img {position:absolute;left:calc(var(--trail-fraction,0) * (100% - 56px));bottom:0;transition:left .36s ease-out}
.rescue-route span {position:absolute;right:0;bottom:6px;font-size:26px;color:#ffe59a}
.rescue-static .rescue-route img {transition:none}
@media(prefers-reduced-motion:reduce){.rescue-route img{transition:none}}
.rescue-countdown {color:#ffd98a;text-shadow:0 0 12px #ffac5566}
.rescue-modal .rescue-spark {text-shadow:0 0 8px #fff4b6,0 0 22px #ff9648}
