.rescue-game{--rg-ink:#24314d;--rg-muted:#667088;--rg-gold:#d5b16a;--rg-line:#e4e3ec;--rg-sky:#e7edf7;--rg-ground:#d8e7cf;--rg-accent:#476957;color:var(--rg-ink);font-family:inherit;max-width:1100px;margin:auto}
.rescue-game *{box-sizing:border-box}.rescue-game button{font:inherit;cursor:pointer}.rescue-game button:disabled{cursor:default}.rescue-game button:focus-visible,.rescue-game summary:focus-visible{outline:3px solid #8974b9;outline-offset:4px}.rescue-game h2,.rescue-game h3,.rescue-game p{margin:0}.rescue-game h3:focus{outline:none}
.rescue-game .rg-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.rescue-game .rg-kicker{color:#7a658e;font-size:10px;font-weight:800;letter-spacing:.18em;margin-bottom:8px}.rescue-game h2{font-size:clamp(27px,4vw,40px);line-height:1.2;letter-spacing:-.035em}.rescue-game .rg-lead{margin-top:9px;color:var(--rg-muted);font-size:14px;line-height:1.6}.rescue-game .rg-sound{flex-shrink:0;border:1px solid #dcd8e7;border-radius:30px;background:#fff;color:#5a4c74;padding:11px 15px;font-size:12px;font-weight:700;min-height:44px}.rescue-game .rg-sound:hover{background:#f4f0f8}
.rescue-game .rg-stats{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:15px 20px;background:#f2eef7;border:1px solid #e2dcea;border-radius:18px 18px 0 0;font-size:12px;font-weight:750}.rescue-game .rg-stage-label{flex:1;min-width:140px}.rescue-game .rg-heart-label{color:#ac4f70}.rescue-game .rg-score-label{padding:6px 10px;border:1px solid #ddd2b8;background:#fff9e9;border-radius:30px;color:#6d5630}
.rescue-game .rg-scene{height:270px;position:relative;overflow:hidden;border-radius:0 0 20px 20px;isolation:isolate;border:1px solid #e4deea;border-top:none;background:var(--rg-sky)}.rescue-game .rg-landscape{position:absolute;inset:0;background:url("/assets/art/backgrounds/enchanted-forest.webp") center 82%/cover no-repeat}.rescue-game .rg-landscape:after{content:'';position:absolute;inset:0;background:var(--rg-accent);opacity:.12;mix-blend-mode:multiply}.rescue-game .rg-art{position:relative;display:block;width:100%}.rescue-game .rg-art img{position:absolute;max-width:none;height:auto;aspect-ratio:1;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.rescue-game .rg-castle{position:absolute;right:1.5%;bottom:26px;width:150px;z-index:1}.rescue-game .rg-knight{position:absolute;right:15.5%;bottom:30px;width:40px;z-index:2}.rescue-game .rg-prince{position:absolute;left:9%;bottom:30px;width:62px;z-index:3;transition:left .85s cubic-bezier(.22,1,.36,1)}.rescue-game .rg-prince .rg-art{transform-origin:bottom center;animation:rg-sway 3.2s ease-in-out infinite}.rescue-game .rg-monster{position:absolute;width:66px;left:24%;bottom:32px;z-index:2;transition:opacity .3s,transform .5s,left .6s;transform-origin:bottom center;animation:rg-monster-breathe 2.8s ease-in-out infinite}.rescue-game .rg-monster[data-foe=fire-dragon]{width:92px}.rescue-game .rg-monster.rg-defeated{opacity:0;transform:translateY(-14px) scale(.7);animation:none}.rescue-game .rg-prince.rg-attack .rg-art{animation:rg-jump .7s ease-in-out}.rescue-game .rg-princess{position:absolute;width:42px;left:86%;bottom:28px;z-index:3;transition:transform 1s}.rescue-game .rg-princess .rg-art{transform-origin:bottom center;animation:rg-sway 3.6s ease-in-out infinite reverse}.rescue-game .rg-scene-caption{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);padding:3px 12px;border-radius:20px;background:rgba(255,255,255,.88);color:#4f4a52;text-align:center;font-size:10px;letter-spacing:.015em;z-index:4}.rescue-game .rg-spark{opacity:0;position:absolute;left:50%;top:40%;z-index:4;font-size:25px;font-weight:900;color:#3d6a2e;text-shadow:0 1px #fff,0 0 8px #fff}.rescue-game .rg-success .rg-spark{animation:rg-points 1.1s ease-out forwards}.rescue-game .rg-missed .rg-prince .rg-art{animation:rg-lean .6s ease-in-out}.rescue-game .rg-rescued .rg-monster{display:none}.rescue-game .rg-rescued .rg-princess{transform:translateX(-24px)}.rescue-game .rg-rescued .rg-prince .rg-art{animation:rg-sway 1.6s ease-in-out infinite}.rescue-game .rg-stars{display:none;position:absolute;left:50%;top:22px;transform:translateX(-50%);gap:22px;align-items:center;z-index:4}.rescue-game .rg-stars .rg-art{width:34px}.rescue-game .rg-stars .rg-art:nth-child(2){width:30px}.rescue-game .rg-rescued .rg-stars{display:flex;animation:rg-glow 2.4s ease-in-out infinite}.rescue-game .rg-heart-label{display:inline-flex;align-items:center;gap:6px}.rescue-game .rg-heart-icon{width:18px}
.rescue-game .rg-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:20px 0 25px;padding:0;list-style:none}.rescue-game .rg-map li{display:flex;align-items:center;gap:8px;min-width:0;color:#626982;font-size:10px;line-height:1.4}.rescue-game .rg-map li>span{display:grid;place-items:center;flex-shrink:0;border:1px solid #dedde7;width:26px;height:26px;border-radius:50%;font-size:11px;background:#fff}.rescue-game .rg-map li>b{font-weight:600}.rescue-game .rg-map .rg-current{color:#695384}.rescue-game .rg-map .rg-current>span{background:#eae2f2;border-color:#b8a5cc;font-weight:800}.rescue-game .rg-map .rg-done{color:#597a66}.rescue-game .rg-map .rg-done>span{background:#e5efe6;border-color:#a8c5b0}
.rescue-game .rg-play-area{background:#fff;border:1px solid var(--rg-line);border-radius:22px;padding:28px;box-shadow:0 12px 35px #25304e05}.rescue-game .rg-small-label{font-size:10px;font-weight:800;letter-spacing:.14em;color:#81698f}.rescue-game .rg-intro,.rescue-game .rg-victory{text-align:center;padding:10px 10px 4px}.rescue-game .rg-intro h3,.rescue-game .rg-victory h3{font-size:clamp(22px,3vw,30px);line-height:1.3;margin:12px 0}.rescue-game .rg-intro>p,.rescue-game .rg-victory>p{font-size:14px;line-height:1.75;max-width:580px;margin:0 auto;color:var(--rg-muted)}.rescue-game .rg-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0}.rescue-game .rg-rules>span{display:flex;flex-direction:column;gap:7px;padding:15px 9px;border-radius:12px;background:#f7f5fa;font-size:11px;line-height:1.6;color:#6a6576}.rescue-game .rg-rules b{font-size:13px;color:#514367}.rescue-game .rg-primary{border:1px solid #334469;background:#334469;border-radius:12px;color:#fff;padding:13px 22px;font-size:13px;font-weight:750;min-height:46px;transition:background .2s,transform .2s}.rescue-game .rg-primary:hover{background:#485b83;transform:translateY(-1px)}.rescue-game .rg-best{font-size:11px!important;margin-top:16px!important;color:#7b7184!important}.rescue-game .rg-footnote{text-align:center;font-size:10px;line-height:1.6;margin:18px 0 0;color:#626982}
.rescue-game .rg-question-top{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#626982}.rescue-game .rg-question{text-align:center;margin:26px auto 25px;max-width:650px}.rescue-game .rg-question-instruction{font-size:12px;color:#626982}.rescue-game .rg-question h3{font-size:clamp(23px,3.2vw,34px);line-height:1.35;margin:12px 0 9px;font-weight:750;letter-spacing:-.025em;overflow-wrap:anywhere}.rescue-game .rg-pos{font-size:11px;color:#626982;font-style:italic}.rescue-game .rg-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.rescue-game .rg-option{display:flex;text-align:left;align-items:center;gap:14px;padding:16px;border:1px solid #deddea;background:#fdfcfe;border-radius:14px;color:#31405d;min-height:68px;transition:background .15s,border-color .15s,transform .15s}.rescue-game .rg-option:not(:disabled):hover{border-color:#b1a1c8;background:#f4f0f9;transform:translateY(-2px)}.rescue-game .rg-option>span{display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;font-size:11px;border:1px solid #e1ddeb;border-radius:8px;background:#f4f0f8;color:#8c799d}.rescue-game .rg-option>b{font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.rescue-game .rg-option.rg-option-correct{background:#eef6ef;border-color:#85b195;color:#315e44}.rescue-game .rg-option.rg-option-correct>span{background:#d7eadb;border-color:#9fbeaa;color:#315e44}.rescue-game .rg-option.rg-option-wrong{background:#fbefef;border-color:#cb9c9f;color:#87555b}.rescue-game .rg-option.rg-option-missed{opacity:.5;text-decoration:line-through}.rescue-game .rg-feedback:empty{display:none}.rescue-game .rg-feedback{display:flex;align-items:center;gap:22px;margin-top:20px;padding:20px;border-radius:14px;background:#f3f7f1;border:1px solid #dce7d9;color:#385744}.rescue-game .rg-feedback-wrong{background:#fcf5ee;border-color:#edddcb;color:#795c44}.rescue-game .rg-feedback>div{flex:1;min-width:0}.rescue-game .rg-feedback strong{font-size:14px}.rescue-game .rg-feedback p{font-size:12px;line-height:1.7;margin-top:8px;overflow-wrap:anywhere}.rescue-game .rg-feedback .rg-primary{flex-shrink:0;max-width:240px}.rescue-game .rg-feedback details{margin-top:10px;font-size:12px}.rescue-game .rg-feedback summary{cursor:pointer;font-weight:650}.rescue-game .rg-feedback .rg-translation{font-style:italic;opacity:.8}.rescue-game .rg-key-hint{text-align:center;font-size:10px;color:#626982;margin-top:17px}.rescue-game .rg-crown{width:74px;margin:0 auto 10px}.rescue-game .rg-victory-score{display:flex;flex-direction:column;align-items:center;margin:20px auto;padding:18px;width:180px;background:#faf4e6;border:1px solid #e5d4b1;border-radius:18px;color:#84652e}.rescue-game .rg-victory-score>b{font-size:46px;line-height:1.1;letter-spacing:-.06em}.rescue-game .rg-victory-score>span{font-size:11px;margin-top:7px}.rescue-game .rg-victory>.rg-primary{margin-top:22px}
@keyframes rg-sway{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}@keyframes rg-monster-breathe{50%{transform:scale(1.03,.97)}}@keyframes rg-jump{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(5deg)}}@keyframes rg-lean{0%,100%{transform:rotate(0)}40%{transform:rotate(-7deg)}}@keyframes rg-glow{0%,100%{opacity:.85}50%{opacity:1}}@keyframes rg-points{0%{opacity:0;transform:translateY(15px) scale(.85)}30%{opacity:1;transform:translateY(-5px) scale(1)}100%{opacity:0;transform:translateY(-45px)}}
@media(max-width:700px){.rescue-game .rg-heading{align-items:flex-start;gap:12px}.rescue-game .rg-sound{font-size:10px;padding:9px 11px}.rescue-game .rg-scene{height:220px}.rescue-game .rg-prince{width:50px;bottom:28px}.rescue-game .rg-monster{width:54px;bottom:30px}.rescue-game .rg-monster[data-foe=fire-dragon]{width:74px}.rescue-game .rg-princess{width:34px;left:86%;bottom:26px}.rescue-game .rg-castle{width:96px;bottom:24px}.rescue-game .rg-knight{width:32px;right:16%;bottom:27px}.rescue-game .rg-scene-caption{font-size:9px;bottom:6px}.rescue-game .rg-map{gap:5px}.rescue-game .rg-map li{flex-direction:column;text-align:center;font-size:9px;gap:6px}.rescue-game .rg-map li>b{max-width:80px}.rescue-game .rg-play-area{padding:20px}.rescue-game .rg-feedback{flex-direction:column;align-items:stretch;gap:17px}.rescue-game .rg-feedback .rg-primary{max-width:none}.rescue-game .rg-intro,.rescue-game .rg-victory{padding:5px 0}.rescue-game .rg-rules{gap:7px}.rescue-game .rg-rules>span{font-size:10px;padding:12px 6px}.rescue-game .rg-rules b{font-size:12px}}
@media(max-width:440px){.rescue-game .rg-heading{display:block;margin-bottom:17px}.rescue-game .rg-sound{margin-top:13px}.rescue-game .rg-stats{padding:12px;gap:8px;font-size:10px}.rescue-game .rg-stage-label{flex-basis:100%}.rescue-game .rg-score-label{margin-left:auto}.rescue-game .rg-scene{height:180px}.rescue-game .rg-prince{width:40px;bottom:24px}.rescue-game .rg-monster{width:44px;bottom:25px}.rescue-game .rg-monster[data-foe=fire-dragon]{width:60px}.rescue-game .rg-princess{width:28px;left:84%;bottom:23px}.rescue-game .rg-castle{width:78px;bottom:21px}.rescue-game .rg-knight{display:none}.rescue-game .rg-scene-caption{font-size:8px;bottom:5px}.rescue-game .rg-map{margin:16px 0 19px}.rescue-game .rg-map li{font-size:8px}.rescue-game .rg-play-area{padding:16px;border-radius:16px}.rescue-game .rg-options{grid-template-columns:1fr;gap:9px}.rescue-game .rg-option{padding:12px;min-height:56px;gap:11px}.rescue-game .rg-option>b{font-size:13px}.rescue-game .rg-question{margin:22px auto}.rescue-game .rg-intro>p,.rescue-game .rg-victory>p{font-size:12px}.rescue-game .rg-rules{grid-template-columns:1fr;gap:7px;margin:20px 0}.rescue-game .rg-rules>span{flex-direction:row;justify-content:space-between;text-align:right;align-items:center;gap:10px;padding:10px 13px}.rescue-game .rg-rules b{text-align:left;flex-shrink:0}.rescue-game .rg-feedback{padding:15px}.rescue-game .rg-feedback strong{font-size:13px}.rescue-game .rg-feedback p{font-size:11px}.rescue-game .rg-stars .rg-art{width:26px}.rescue-game .rg-stars .rg-art:nth-child(2){width:22px}.rescue-game .rg-primary{width:100%;font-size:12px}}
@media(prefers-reduced-motion:reduce){.rescue-game *,.rescue-game *:before,.rescue-game *:after{animation:none!important;transition:none!important}.rescue-game .rg-success .rg-spark{opacity:1}}
