@import url('play-v9.css');

/* 第一节“蓝光苏醒”：保留已验证的触屏角色与平台物理，替换旧战斗原型。 */
.play-world{width:4400px}
.world-back{background-size:2200px 200%;background-repeat:repeat-x;filter:saturate(1.03) brightness(.98)}
.world-back::after{background:linear-gradient(90deg,transparent 0 3720px,#7b2bb922 3970px,#7625a955 4300px)}
.world-ground{-webkit-mask:linear-gradient(90deg,#000 0 14.7%,transparent 14.7% 19.4%,#000 19.4%);mask:linear-gradient(90deg,#000 0 14.7%,transparent 14.7% 19.4%,#000 19.4%)}
.world-ground::before{background:linear-gradient(180deg,#9be087,#449b62 58%,transparent)}
.sun-rays{position:absolute;z-index:2;left:0;top:0;width:720px;height:72%;pointer-events:none;background:linear-gradient(112deg,transparent 20%,#fffedc2e 21% 28%,transparent 29% 48%,#dfffff22 49% 55%,transparent 56%);transform:skewX(-8deg)}
.shallow-stream{position:absolute;z-index:4;left:650px;bottom:0;width:205px;height:19%;overflow:hidden;background:linear-gradient(180deg,#8efff0,#279bc7 38%,#095d92);box-shadow:inset 0 8px 18px #dfffffaa,0 -4px 17px #66ffff88}
.shallow-stream::before,.shallow-stream::after{content:"";position:absolute;left:-20%;width:140%;height:15px;border-top:5px solid #eaffff88;border-radius:50%;animation:streamWave 1.8s linear infinite}
.shallow-stream::before{top:21%}.shallow-stream::after{top:57%;animation-delay:-.8s}
.shallow-stream i{position:absolute;width:36px;height:10px;border-radius:50%;background:#dfffff99;animation:streamSpark 2s linear infinite}.shallow-stream i:nth-child(1){left:12%;top:28%}.shallow-stream i:nth-child(2){left:48%;top:60%;animation-delay:-.7s}.shallow-stream i:nth-child(3){left:74%;top:39%;animation-delay:-1.2s}

.forest-pickup{position:absolute;z-index:12;width:68px;height:86px;display:grid;place-items:center;transition:opacity .35s,transform .35s;animation:pickupFloat 1.15s ease-in-out infinite alternate;filter:drop-shadow(0 5px 4px #003b5b66);pointer-events:auto;cursor:pointer}
.forest-pickup i{width:30px;height:38px;display:block;clip-path:polygon(50% 0,90% 27%,82% 78%,50% 100%,18% 78%,10% 27%);border-radius:45%;background:radial-gradient(circle at 38% 28%,#fff 0 7%,#86f8ff 15%,#19bfea 44%,#0965c9 75%);box-shadow:0 0 13px 4px #40deff}
.forest-pickup b{display:none}
.green-pickup i{background:radial-gradient(circle at 38% 28%,#fff 0 7%,#baffb4 15%,#36d98c 44%,#087c6b 75%);box-shadow:0 0 22px 8px #66f3a8}
.green-pickup b{color:#d9ffdd}
.blue-second i{width:28px;height:36px;box-shadow:0 0 10px 3px #40deff}
.blue-third i{width:29px;height:37px;animation:thirdBluePulse 2.6s ease-in-out infinite}
.distract-pickup i{width:28px;height:36px;opacity:.9}.red-pickup i{background:radial-gradient(circle at 38% 28%,#fff 0 7%,#ffb49d 18%,#ec5d65 54%,#842f70 78%);box-shadow:0 0 11px 3px #ff6b85}.yellow-pickup i{background:radial-gradient(circle at 38% 28%,#fff 0 7%,#fff5a0 18%,#f3b73e 54%,#a76420 78%);box-shadow:0 0 11px 3px #ffd85e}.cyan-pickup i{background:radial-gradient(circle at 38% 28%,#efffff 0 7%,#9df4e7 18%,#32beb9 54%,#147b89 78%);box-shadow:0 0 9px 3px #55d9d0}
.forest-pickup.is-locked{opacity:0;transform:translateY(34px) scale(.35);pointer-events:none}
.forest-pickup.is-collected{opacity:0;transform:translateY(-95px) scale(.2) rotate(130deg)}
.forest-pickup.is-wrong{animation:wrongCrystal .65s ease}
.forest-pickup.is-near::after{content:"点击选择";position:absolute;top:-24px;left:50%;padding:4px 8px;transform:translateX(-50%);white-space:nowrap;border:2px solid #d8ffff;border-radius:12px;background:#064d78e8;color:#fff;font-size:11px;font-weight:900;box-shadow:0 0 12px #5ceaff}
.forest-pickup.is-near i{filter:brightness(1.18)}
.forest-sign{position:absolute;z-index:10;bottom:calc(17% + 20px);padding:8px 14px;border:2px solid #bafaff;border-radius:14px;background:#064e77d9;color:#efffff;font-size:14px;font-weight:900;box-shadow:0 5px 0 #06334d}.sign-move{left:245px}.sign-jump{left:555px}
.jump-platform>b{position:absolute;left:50%;top:-29px;transform:translateX(-50%);white-space:nowrap;padding:3px 8px;border-radius:10px;background:#073d68d9;color:#dfffff;font-size:11px;text-shadow:0 2px 4px #002b4e}.moving-platform{box-shadow:0 10px 0 #07345c,0 0 25px #52e7ff99,inset 0 -7px 0 #0b3154}.moving-platform::after{animation:platformEngine .7s linear infinite alternate}.awaken-platform{transition:opacity .5s,filter .5s,transform .5s}.awaken-platform.is-dormant{opacity:.2;filter:saturate(.15);transform:scale(.86);box-shadow:none;pointer-events:none}.awaken-platform.is-dormant::before{animation:dormantScan 1.1s linear infinite}.platform-switch{position:absolute;z-index:13;left:1705px;bottom:calc(17% + 2px);width:130px;height:58px;border:4px solid #9ef8ff;border-radius:50%;background:linear-gradient(#315b79,#0a2948);box-shadow:0 6px 0 #041d34,0 0 15px #44dffb88;color:#eaffff;cursor:pointer}.platform-switch>i{position:absolute;left:39px;top:7px;width:44px;height:26px;border:3px solid #b9ffff;border-radius:50%;background:#254968;box-shadow:inset 0 0 10px #10324b}.platform-switch>b{position:absolute;left:50%;top:-27px;transform:translateX(-50%);white-space:nowrap;padding:3px 7px;border-radius:9px;background:#073d68d9;font-size:11px}.platform-switch.is-near::after{content:"点击启动";position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);white-space:nowrap;padding:4px 9px;border:2px solid #d9ffff;border-radius:12px;background:#075786;color:#fff;font-weight:900}.platform-switch.is-near>i{background:#fff28a;box-shadow:0 0 18px #fff477,inset 0 0 8px #ffbf2e;animation:switchReady .55s ease-in-out infinite alternate}.platform-switch.is-powered{border-color:#8dffc4;filter:brightness(1.15)}.platform-switch.is-powered>i{background:#5ef0a0;box-shadow:0 0 18px #62f3a4}

@keyframes thirdBluePulse{0%,38%,100%{opacity:.52;filter:brightness(.82);box-shadow:0 0 7px 2px #40deff}52%,66%{opacity:1;filter:brightness(1.2);box-shadow:0 0 22px 8px #40deff}}

.energy-altar{position:absolute;z-index:7;left:3250px;bottom:17%;width:250px;height:185px;display:flex;align-items:center;justify-content:center;gap:8px;border:5px solid #7aa3a4;border-radius:90px 90px 20px 20px;background:linear-gradient(#193f55dd,#082e47);box-shadow:0 9px 0 #082438,0 0 18px #4dcbd933;filter:saturate(.7);transition:.5s}
.energy-altar>span{font-size:25px;font-weight:1000}.energy-altar>b{position:absolute;bottom:12px;font-size:14px}.altar-ring{position:absolute;inset:19px;border:3px dashed #8dcbd1;border-radius:50%;animation:exitSpin 8s linear infinite}.altar-slots{position:relative;display:flex;gap:5px;padding-top:23px}.altar-slots::before{position:absolute;left:50%;top:0;transform:translateX(-50%);white-space:nowrap;font-size:11px;font-weight:900}.blue-slots::before{content:"蓝色槽 ×3";color:#70eaff}.green-slots::before{content:"绿色槽 ×2";color:#78f0ac}.altar-slots i{width:22px;height:31px;clip-path:polygon(50% 0,92% 28%,82% 80%,50% 100%,18% 80%,8% 28%)}.blue-slots i{background:#155970;box-shadow:inset 0 0 0 3px #36cee8,0 0 5px #37cce866}.green-slots i{background:#175f50;box-shadow:inset 0 0 0 3px #48d98e,0 0 5px #48d98e66}.energy-altar.expect-blue .blue-slots{filter:brightness(1.55);animation:slotGuide .7s ease-in-out infinite alternate}.energy-altar.expect-green .green-slots{filter:brightness(1.55);animation:slotGuide .7s ease-in-out infinite alternate}.energy-altar.is-ready{border-color:#98f5ff;filter:none;box-shadow:0 9px 0 #082438,0 0 30px #61ebff99}.energy-altar.is-ready .blue-slots i{background:#28cdec;box-shadow:0 0 10px #45eaff}.energy-altar.is-ready .green-slots i{background:#42df8f;box-shadow:0 0 10px #67efa9}.energy-altar.is-solved{filter:brightness(1.35);box-shadow:0 9px 0 #082438,0 0 48px 12px #86f8ff;animation:altarAwaken 1.1s ease-in-out infinite alternate}
.scene-answer-runes{position:absolute;z-index:18;left:3223px;bottom:calc(17% + 198px);width:300px;display:flex;justify-content:center;gap:17px;opacity:0;transform:translateY(25px) scale(.8);pointer-events:none;transition:.3s}.scene-answer-runes.is-visible{opacity:1;transform:none;pointer-events:auto}.scene-answer-runes button{width:75px;height:67px;border:4px solid #c9ffff;border-radius:22px;background:linear-gradient(#22ace3,#075fa8);box-shadow:0 7px 0 #063a6d,0 0 18px #55eaff;color:#fff;font-size:32px;font-weight:1000}.scene-answer-runes button:active{transform:translateY(5px);box-shadow:0 2px 0 #063a6d}.scene-answer-runes button.is-wrong{animation:runeWrong .55s ease}.scene-answer-runes button.is-correct{background:linear-gradient(#7bf6ae,#1eaa78);box-shadow:0 4px 0 #08704e,0 0 28px #72f9b5}
.energy-loader{position:absolute;z-index:18;left:3100px;bottom:calc(17% + 205px);width:540px;display:flex;align-items:flex-end;justify-content:center;gap:12px;opacity:0;transform:translateY(25px);pointer-events:none;transition:.3s}.energy-loader.is-visible{opacity:1;transform:none;pointer-events:auto}.energy-loader>b{position:absolute;top:-35px;color:#eaffff;text-shadow:0 2px 5px #063b6d}.energy-loader button{width:72px;height:70px;border:3px solid #c9ffff;border-radius:20px;background:#084e7d;box-shadow:0 6px 0 #062e53;color:#fff}.energy-loader button i{width:27px;height:35px;margin:auto;display:block;clip-path:polygon(50% 0,90% 27%,82% 78%,50% 100%,18% 78%,10% 27%)}.energy-loader button[data-load-energy="blue"] i{background:#39d7ee;box-shadow:0 0 11px #55efff}.energy-loader button[data-load-energy="green"] i{background:#4de497;box-shadow:0 0 11px #6affb2}.energy-loader button.is-wrong{animation:runeWrong .55s ease}.energy-loader button.is-loaded{opacity:0;transform:translate(0,90px) scale(.25);pointer-events:none;transition:.45s}

.light-compass{position:absolute;z-index:14;left:3590px;bottom:calc(17% + 22px);width:130px;height:135px;display:grid;place-items:center;opacity:0;transform:translateY(-40px) scale(.2);transition:.55s;pointer-events:none}.light-compass i{width:78px;height:78px;border:6px solid #fff5a3;border-radius:50%;background:conic-gradient(from 45deg,#20d3ef,#114fc7,#fff39a,#20d3ef);box-shadow:0 0 28px 9px #63efff,inset 0 0 0 12px #063f86}.light-compass i::after{content:"";position:absolute;left:61px;top:29px;width:12px;height:64px;background:linear-gradient(#fff7a5 0 48%,#36dcf2 49%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.light-compass b{position:absolute;bottom:0;white-space:nowrap;color:#fff8b6;text-shadow:0 2px 6px #16456c}.light-compass.is-visible{opacity:1;transform:none;animation:compassHover 1.2s ease-in-out infinite alternate}.light-compass.is-collected{opacity:0;transform:translate(120px,-210px) scale(.18)}
.compass-trail{position:absolute;z-index:11;bottom:calc(17% + 25px);width:70px;height:80px;display:grid;place-items:center;opacity:0;transform:scale(.2);transition:.4s;pointer-events:none}.compass-trail i{width:42px;height:42px;border:4px solid #fff3a0;border-radius:50%;background:radial-gradient(#fff,#4ee8ff 38%,#135bd0);box-shadow:0 0 22px #6cf2ff}.compass-trail b{position:absolute;top:58px;white-space:nowrap;color:#fff6a9;font-size:12px}.compass-trail.is-revealed{opacity:1;transform:none;animation:signalReveal .55s ease-in-out infinite alternate}.compass-trail.is-collected{opacity:0;transform:translateY(-70px) scale(.2)}
.purple-shadow{position:absolute;z-index:5;left:4260px;bottom:17%;width:90px;height:130px;opacity:.55;filter:blur(2px);animation:shadowWatch 2.2s ease-in-out infinite alternate}.purple-shadow i{position:absolute;inset:0;border-radius:50% 50% 30% 30%;background:radial-gradient(circle at 45% 28%,#eea7ff 0 4%,#7d2fc8 7% 24%,#2e155e 45%,transparent 72%);box-shadow:0 0 28px #9b42e2}
.progress-barrier{position:absolute;z-index:9;bottom:17%;width:34px;height:230px;display:flex;justify-content:center;opacity:.78;transition:left .6s ease,opacity .35s;pointer-events:none}.progress-barrier i{width:18px;height:100%;border:2px solid #b7ffff;border-radius:50%;background:repeating-linear-gradient(180deg,#8df9ff 0 12px,#28bede 13px 24px);box-shadow:0 0 25px 10px #54e9ff88;animation:barrierPulse .8s ease-in-out infinite alternate}.progress-barrier b{position:absolute;bottom:82px;width:125px;padding:5px 8px;text-align:center;border-radius:12px;background:#074a74dd;color:#eaffff;font-size:12px}.progress-barrier.is-cleared{opacity:0}

.chapter-energy,.compass-status{height:46px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:5px;border:2px solid #a8f8ff;border-radius:24px;background:#063c70e8}.chapter-energy span{font-size:25px}.chapter-energy b{font-size:22px}.blue-energy span{color:#5ceaff}.green-energy{border-color:#a9ffd2;background:#075c55e8}.green-energy span{color:#70f5aa}.compass-status{min-width:105px;border-color:#d4e5e7;color:#b8ced2;background:#263e4be8}.compass-status span{font-size:27px}.compass-status.is-owned{border-color:#fff0a0;color:#fff3a3;background:#685016e8;box-shadow:0 0 15px #ffe56c66}.play-health{padding-right:16px}.play-health small{color:#b8faff;font-size:12px}.awakening-actions .control-jump{width:98px;height:98px;background:radial-gradient(circle at 40% 30%,#48d6e9,#0871b9 68%)}
.compass-tracker{height:58px;min-width:190px;padding:4px 12px 4px 6px;display:none;align-items:center;gap:8px;border:3px solid #ffe77d;border-radius:30px;background:#163b62f2;color:#fff;box-shadow:0 0 18px #63eaff77}.compass-tracker.is-visible{display:flex}.tracker-dial{position:relative;width:48px;height:48px;flex:0 0 48px;border:3px solid #fff5ae;border-radius:50%;background:radial-gradient(circle,#16456c 0 40%,#082b50 42%);box-shadow:inset 0 0 10px #5ceaff,0 0 8px #ffe878}.tracker-dial::before,.tracker-dial::after{content:"";position:absolute;background:#7aeaff55}.tracker-dial::before{left:22px;top:3px;width:2px;height:42px}.tracker-dial::after{left:3px;top:22px;width:42px;height:2px}.tracker-dial>i{position:absolute;z-index:2;left:20px;top:5px;width:8px;height:38px;transform-origin:50% 19px;transition:transform .3s ease;background:linear-gradient(#fff7a0 0 48%,#42dff4 50%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.tracker-dial>b{position:absolute;z-index:3;left:18px;top:14px;color:#fff;font-size:12px}.tracker-copy{display:grid;grid-template-columns:auto;line-height:1.05}.tracker-copy strong{font-size:14px}.tracker-copy small{margin-top:4px;color:#b9ddea;font-size:11px}.tracker-copy em{height:8px;margin-top:5px;display:flex;align-items:flex-end;gap:3px}.tracker-copy em i{width:15px;height:4px;border-radius:3px;background:#34526a}.tracker-copy em i:nth-child(2){height:6px}.tracker-copy em i:nth-child(3){height:8px}.tracker-copy em i.is-on{background:#69efff;box-shadow:0 0 7px #68f0ff}.compass-tracker.signal-mid{border-color:#a8f8ff}.compass-tracker.signal-near{border-color:#fff3a1;animation:trackerNear .42s ease-in-out infinite alternate}.compass-tracker.signal-near .tracker-copy em i.is-on{background:#fff08c;box-shadow:0 0 9px #ffe76e}
.compass-guide-arrow{position:absolute;z-index:28;top:43%;width:112px;height:78px;display:none;align-items:center;justify-content:center;flex-direction:column;border:3px solid #fff2a0;border-radius:24px;background:#073f74e8;color:#fff;box-shadow:0 0 22px #57eaff99;pointer-events:none}.compass-guide-arrow.is-visible{display:flex}.compass-guide-arrow.points-left{left:18px}.compass-guide-arrow.points-right{right:18px}.compass-guide-arrow>i{height:41px;color:#fff08c;font-size:46px;font-style:normal;line-height:40px;text-shadow:0 0 12px #fff06b;animation:guideNudge .6s ease-in-out infinite alternate}.compass-guide-arrow.points-left>i{transform:scaleX(-1)}.compass-guide-arrow>b{font-size:14px}.compass-guide-arrow.signal-near{border-color:#7dffc0;background:#075d5be8;box-shadow:0 0 30px #61ffba}.compass-guide-arrow.signal-near>i{color:#8effc6}
.play-exit{left:4250px;opacity:.12}.play-exit.is-open{opacity:1}.play-hero.is-rescued{animation:heroRescue .52s ease}.play-guagua{transition:bottom .08s linear}
.result-screen .feather-crystal{filter:hue-rotate(165deg)}

@keyframes streamWave{to{transform:translateX(25%)}}
@keyframes streamSpark{to{transform:translateX(55px);opacity:.25}}
@keyframes wrongCrystal{0%,100%{transform:translateX(0)}25%{transform:translateX(-12px) rotate(-8deg)}55%{transform:translateX(12px) rotate(8deg)}}
@keyframes runeWrong{0%,100%{transform:translateX(0)}30%{transform:translateX(-8px)}60%{transform:translateX(8px)}}
@keyframes altarAwaken{to{transform:translateY(-3px);filter:brightness(1.6)}}
@keyframes compassHover{to{transform:translateY(-9px) rotate(3deg)}}
@keyframes signalReveal{to{filter:brightness(1.5);transform:scale(1.12)}}
@keyframes trackerNear{to{transform:scale(1.035);box-shadow:0 0 28px #ffe66faa}}
@keyframes platformEngine{to{filter:brightness(1.35);transform:translateY(3px)}}
@keyframes dormantScan{to{transform:translateX(25px);opacity:.25}}
@keyframes switchReady{to{transform:scale(1.13)}}
@keyframes guideNudge{to{translate:10px 0;filter:brightness(1.35)}}
@keyframes shadowWatch{to{transform:translateX(-18px) scale(1.05);opacity:.75}}
@keyframes barrierPulse{to{filter:brightness(1.5);transform:scaleX(1.2)}}
@keyframes heroRescue{50%{transform:scaleX(var(--face)) translateY(-65px) rotate(-5deg);filter:brightness(1.4) drop-shadow(0 0 18px #83f6ff)}}
@keyframes slotGuide{from{transform:translateY(0)}to{transform:translateY(-4px)}}

@media(max-height:650px){
  .energy-altar{height:145px;width:220px;left:1985px}.scene-answer-runes{bottom:calc(17% + 154px);left:1945px}.scene-answer-runes button{width:68px;height:57px}.light-compass{height:110px}.light-compass i{width:66px;height:66px}.light-compass i::after{left:55px;top:23px;height:56px}
}

/* 2026-08-25：罗盘后半段升级为三个可操作的森林岔路。 */
.play-world{width:6800px}
.world-back::after{background:linear-gradient(90deg,transparent 0 3720px,#2e92bd22 4100px,#225c8a33 5050px,#6b2aa644 6200px,#7625a966 6800px)}
.route-zone{position:absolute;z-index:3;bottom:17%;width:720px;height:64%;border-left:3px dashed #96ecff55;border-right:3px dashed #96ecff55;pointer-events:none}.route-zone>i{position:absolute;inset:12% 8%;border-radius:50%;background:radial-gradient(ellipse,#71eaff1c,transparent 68%)}.route-zone>b{position:absolute;left:26px;top:24px;padding:6px 12px;border:2px solid #b5f8ff88;border-radius:14px;background:#073d68c9;color:#dfffff;font-size:14px}.route-zone-one{left:3900px}.route-zone-two{left:4760px}.route-zone-three{left:5590px}
.route-platform{height:38px}.route-platform-two{box-shadow:0 10px 0 #07345c,0 0 25px #52e7ff99,inset 0 -7px 0 #0b3154}
.route-beacon{position:absolute;z-index:14;bottom:calc(17% + var(--beacon-y));width:76px;height:86px;border:0;background:transparent;cursor:pointer;opacity:.82;transition:opacity .35s,transform .35s,filter .35s}.route-beacon i{position:absolute;left:17px;top:10px;width:42px;height:58px;clip-path:polygon(50% 0,88% 27%,80% 78%,50% 100%,20% 78%,12% 27%);background:radial-gradient(circle at 40% 24%,#fff 0 7%,#84edff 14%,#1d8dd6 52%,#17498f 80%);box-shadow:0 0 14px 5px #52dfff}.route-beacon.is-decoy i{background:radial-gradient(circle at 40% 24%,#fff 0 7%,#ffc984 14%,#da7b4c 52%,#743c70 80%);box-shadow:0 0 10px 3px #da79b8}.route-beacon.is-near::after{content:"点击查看";position:absolute;left:50%;top:-24px;transform:translateX(-50%);white-space:nowrap;padding:4px 8px;border:2px solid #dfffff;border-radius:12px;background:#07527ee8;color:#fff;font-size:11px;font-weight:900}.route-beacon.is-active.is-correct i{animation:correctBeacon .72s ease-in-out infinite alternate}.route-beacon:not(.is-active){opacity:.12;pointer-events:none;filter:grayscale(.8)}.route-beacon.is-wrong{animation:runeWrong .55s ease}.route-beacon.is-collected{opacity:0;transform:translateY(-90px) scale(.2);pointer-events:none}.route-beacon.is-cleared{opacity:.18;pointer-events:none}
.forest-fireflies{position:absolute;z-index:4;left:3860px;bottom:22%;width:2700px;height:58%;pointer-events:none}.forest-fireflies i{position:absolute;width:10px;height:10px;border-radius:50%;background:#a9fbff;box-shadow:0 0 15px 6px #46e4ff;animation:fireflyDrift 3.2s ease-in-out infinite alternate}.forest-fireflies i:nth-child(1){left:7%;top:38%}.forest-fireflies i:nth-child(2){left:24%;top:15%;animation-delay:-.8s}.forest-fireflies i:nth-child(3){left:42%;top:48%;animation-delay:-1.7s}.forest-fireflies i:nth-child(4){left:58%;top:22%;animation-delay:-2.3s}.forest-fireflies i:nth-child(5){left:76%;top:39%;animation-delay:-1.1s}.forest-fireflies i:nth-child(6){left:92%;top:12%;animation-delay:-2.8s}
.purple-shadow{left:6520px}.play-exit{left:6460px}
@keyframes correctBeacon{to{filter:brightness(1.45);transform:translateY(-8px)}}
@keyframes fireflyDrift{to{transform:translate(48px,-28px) scale(1.35);opacity:.45}}

/* 真正的罗盘秘径：三张可上下左右移动的小迷宫。 */
.route-zone,.route-platform,.route-beacon,.compass-trail{display:none!important}
.play-world::after{content:"";position:absolute;z-index:3;left:3700px;bottom:16%;width:3050px;height:190px;pointer-events:none;background:radial-gradient(ellipse at 5% 100%,#143f36 0 19%,transparent 20%),radial-gradient(ellipse at 13% 100%,#29694e 0 16%,transparent 17%),radial-gradient(ellipse at 27% 100%,#16483b 0 21%,transparent 22%),radial-gradient(ellipse at 43% 100%,#2a6b4e 0 17%,transparent 18%),radial-gradient(ellipse at 58% 100%,#143f36 0 20%,transparent 21%),radial-gradient(ellipse at 73% 100%,#29694e 0 16%,transparent 17%),radial-gradient(ellipse at 89% 100%,#16483b 0 22%,transparent 23%);opacity:.94;filter:drop-shadow(0 -12px 16px #082e2b88)}
.route-maze{position:absolute;z-index:60;inset:0;display:none;align-items:center;justify-content:center;gap:24px;padding:82px 20px 18px;background:radial-gradient(circle at 50% 42%,#0b6c7bdd,#031b38f4 72%);backdrop-filter:blur(5px);touch-action:none}.route-maze.is-visible{display:flex}.maze-card{width:min(760px,70vw);height:min(570px,76vh);padding:14px 18px 16px;box-sizing:border-box;border:4px solid #a8f7ff;border-radius:30px;background:linear-gradient(180deg,#0d5477f4,#082f50f7);box-shadow:0 14px 0 #021a32,0 0 36px #55eaff88,inset 0 0 38px #50e8ff22}.maze-header{height:60px;display:flex;align-items:center;justify-content:space-between;color:#fff}.maze-header>div:first-child{display:flex;align-items:baseline;gap:12px}.maze-header small{color:#9eefff;font-size:14px;font-weight:900}.maze-header b{font-size:25px}.maze-compass{height:50px;padding:0 14px 0 55px;position:relative;display:flex;align-items:center;border:3px solid #ffe989;border-radius:26px;background:#173b5e;box-shadow:0 0 18px #65eaff66}.maze-compass::before{content:"";position:absolute;left:6px;width:38px;height:38px;border:3px solid #fff2a0;border-radius:50%;background:#082e52}.maze-compass i{position:absolute;z-index:2;left:22px;top:8px;width:7px;height:34px;transform-origin:50% 17px;background:linear-gradient(#fff49b 0 48%,#50e8ff 50%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);transition:transform .25s}.maze-compass span{font-size:16px;font-weight:1000}.maze-instruction{height:30px;color:#d9ffff;text-align:center;font-size:15px;font-weight:900}.maze-board{height:calc(100% - 128px);display:grid;gap:5px;padding:7px;box-sizing:border-box;border:3px solid #7ddbe5;border-radius:22px;background:linear-gradient(135deg,#173c43,#0b2939);box-shadow:inset 0 0 24px #001a29}.maze-cell{position:relative;min-width:0;min-height:0;border-radius:11px;background:linear-gradient(145deg,#3b8e66,#1f654e);box-shadow:inset 0 0 9px #9effb722}.maze-cell.wall{background:radial-gradient(circle at 25% 65%,#3b8057 0 28%,transparent 29%),radial-gradient(circle at 67% 35%,#286b4d 0 34%,transparent 35%),#174735;box-shadow:inset 0 -5px 0 #0c3429}.maze-cell.wall::after{content:"";position:absolute;inset:17%;border-radius:50%;background:#62a86666;box-shadow:15px -7px 0 #377a51,-12px 8px 0 #2c6d49}.maze-cell.path::after{content:"";position:absolute;left:18%;right:18%;top:46%;height:8%;border-radius:50%;background:#93d9a033;box-shadow:0 0 12px #9df7bf22}.maze-cell.player::before{content:"瑞瑞";position:absolute;z-index:5;inset:10%;display:grid;place-items:center;border:3px solid #dfffff;border-radius:50%;background:radial-gradient(circle at 48% 35%,#fff7d8 0 18%,#207bd1 20% 54%,#073c89 56%);box-shadow:0 0 16px #72efff;color:#fff;font-size:12px;font-weight:1000;text-shadow:0 2px 3px #00315c}.maze-cell.spark::before{content:"✦";position:absolute;z-index:3;inset:0;display:grid;place-items:center;color:#fff58a;font-size:28px;text-shadow:0 0 12px #fff36e;animation:signalReveal .65s ease-in-out infinite alternate}.maze-cell.portal::before{content:"";position:absolute;z-index:2;inset:13%;border:5px solid currentColor;border-radius:50%;background:#072c50aa;box-shadow:0 0 15px currentColor,inset 0 0 12px currentColor}.maze-cell.portal::after{content:"出口";position:absolute;z-index:3;inset:0;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:1000}.maze-cell.portal-blue{color:#55e9ff}.maze-cell.portal-green{color:#61f2a4}.maze-cell.portal-yellow{color:#ffe86c}.maze-cell.bump{animation:runeWrong .4s ease}.maze-legend{height:34px;display:flex;align-items:end;justify-content:space-between;color:#bdebf3;font-size:13px}.maze-legend span{display:flex;align-items:center;gap:7px}.legend-spark{width:13px;height:13px;border-radius:50%;background:#fff184;box-shadow:0 0 10px #ffe96b}.maze-dpad{width:220px;height:220px;display:grid;grid-template-columns:repeat(3,68px);grid-template-rows:repeat(3,68px);gap:6px;grid-template-areas:". up ." "left down right"}.maze-dpad button{border:4px solid #b8f8ff;border-radius:22px;background:linear-gradient(#159bd2,#075b9e);box-shadow:0 7px 0 #033969,0 0 15px #49e5ff66;color:#fff;font-size:27px;font-weight:1000;touch-action:none}.maze-dpad button:active{transform:translateY(5px);box-shadow:0 2px 0 #033969}.maze-dpad [data-maze-move="up"]{grid-area:up}.maze-dpad [data-maze-move="left"]{grid-area:left}.maze-dpad [data-maze-move="down"]{grid-area:down}.maze-dpad [data-maze-move="right"]{grid-area:right}
@media(max-height:650px){.route-maze{padding-top:68px}.maze-card{height:82vh}.maze-header{height:48px}.maze-header b{font-size:21px}.maze-board{height:calc(100% - 112px)}.maze-dpad{transform:scale(.86)}}
.maze-cell.player::before{content:"";inset:auto;left:14%;top:-10%;width:72%;height:120%;border:0;border-radius:42%;background-image:url('assets/characters/hero-q-sprites.png');background-size:400% 200%;background-position:0 0;background-repeat:no-repeat;filter:drop-shadow(0 0 7px #8ef4ff);animation:mazeHeroStep .42s ease-in-out infinite alternate}
.world-ground{background:radial-gradient(ellipse at 9% 45%,#5da26d55 0 3%,transparent 3.5%),radial-gradient(ellipse at 34% 70%,#8ab77a44 0 2.5%,transparent 3%),radial-gradient(ellipse at 71% 35%,#315d4f99 0 4%,transparent 4.5%),repeating-linear-gradient(112deg,#2d724e 0 46px,#285f48 47px 88px,#174536 89px 135px)}
@keyframes mazeHeroStep{to{transform:translateY(-4px) scale(1.04)}}
