.mini-game-stage{position:relative;min-height:600px;height:600px;overflow:hidden;border-radius:24px;background:#07111f;border:1px solid rgba(255,255,255,.1);isolation:isolate}
.mini-game-stage::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:36px 36px}
.mini-stage-message{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center;padding:30px;z-index:2}.mini-stage-message span{font-size:76px}.mini-stage-message h2{font-size:34px;margin:12px 0 8px}.mini-stage-message p{color:var(--muted);max-width:520px;line-height:1.7}
.mini-target-layer{position:absolute;inset:0;z-index:3}.moving-word{position:absolute;display:grid;place-items:center;min-width:84px;min-height:44px;padding:8px 14px;border-radius:16px;background:rgba(8,18,35,.93);border:1px solid rgba(99,230,255,.42);color:white;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.35),0 0 22px rgba(99,230,255,.08);white-space:nowrap}.moving-word::before{content:"";position:absolute;inset:-6px;border-radius:20px;border:1px solid rgba(255,255,255,.06)}.moving-word.target-pop{animation:target-pop .3s ease forwards}.moving-word.ninja-target{padding-left:40px}.moving-word.ninja-target::after{content:"⚔️";position:absolute;left:10px}.moving-word.balloon-target{min-width:95px;min-height:58px;border-radius:50%;background:linear-gradient(145deg,rgba(236,72,153,.94),rgba(124,58,237,.94));border-color:rgba(255,255,255,.55)}.moving-word.balloon-target::after{content:"";position:absolute;bottom:-25px;width:1px;height:26px;background:rgba(255,255,255,.55)}
.mini-input-panel{position:absolute;left:50%;bottom:17px;transform:translateX(-50%);z-index:8;width:min(720px,calc(100% - 26px));padding:14px;border-radius:20px;background:rgba(3,8,18,.86);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(12px);box-shadow:0 18px 50px rgba(0,0,0,.45)}.mini-current-target{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px;margin-bottom:8px}.mini-current-target strong{color:white}.mini-game-input{width:100%;padding:14px 16px;border-radius:14px;border:1px solid rgba(99,230,255,.3);background:rgba(7,17,31,.95);color:white;font:700 20px/1.2 inherit;text-align:center}.mini-game-input:focus{outline:2px solid rgba(99,230,255,.25)}.mini-game-input.good{animation:input-good .25s ease}.mini-game-input.bad{animation:input-bad .28s ease;border-color:#ff6b7a}
.tower-scene{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:60px 30px 105px;background:radial-gradient(circle at 50% 90%,rgba(255,209,102,.18),transparent 32%),linear-gradient(180deg,#0b1f3a,#182f4e)}.tower-stack{width:min(450px,80%);display:flex;flex-direction:column-reverse;align-items:center;gap:4px}.tower-block{height:32px;display:grid;place-items:center;border-radius:7px;background:linear-gradient(90deg,#ffb347,#ff7f50);color:#4a1b0c;font-weight:900;border:1px solid rgba(255,255,255,.45);box-shadow:0 5px 12px rgba(0,0,0,.25);animation:block-land .28s ease}.tower-crane{position:absolute;top:50px;left:50%;transform:translateX(-50%);font-size:66px;filter:drop-shadow(0 15px 20px rgba(0,0,0,.4))}
.memory-scene{position:absolute;inset:0;display:grid;place-items:center;align-content:center;padding:30px 30px 120px;background:radial-gradient(circle,rgba(140,125,255,.16),transparent 40%),linear-gradient(145deg,#080d1c,#151036)}.memory-sequence{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;max-width:850px}.memory-chip{padding:16px 20px;border-radius:17px;background:rgba(255,255,255,.08);border:1px solid rgba(140,125,255,.45);font-size:clamp(20px,3vw,34px);font-weight:900;animation:memory-in .3s ease}.memory-sequence.hidden-memory .memory-chip{color:transparent;filter:blur(9px);background:rgba(255,255,255,.035)}.memory-level-label{margin-bottom:22px;color:#c7bfff;text-transform:uppercase;letter-spacing:.14em;font-weight:900}
.rhythm-scene{position:absolute;inset:0;display:grid;place-items:center;align-content:center;padding:30px 30px 120px;background:radial-gradient(circle at center,rgba(99,230,255,.12),transparent 35%),linear-gradient(145deg,#050914,#18102e)}.rhythm-ring{width:220px;height:220px;border-radius:50%;display:grid;place-items:center;border:3px solid rgba(99,230,255,.3);box-shadow:0 0 0 20px rgba(99,230,255,.04),0 0 70px rgba(99,230,255,.12);transition:.15s ease}.rhythm-ring.beat{transform:scale(1.13);border-color:#ff7ab6;box-shadow:0 0 0 28px rgba(255,122,182,.06),0 0 100px rgba(255,122,182,.28)}.rhythm-word{font-size:clamp(32px,6vw,65px);font-weight:950;text-align:center}.rhythm-sub{margin-top:18px;color:var(--muted);font-weight:800}.beat-lane{position:absolute;left:12%;right:12%;bottom:125px;height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.beat-marker{height:100%;width:16%;border-radius:99px;background:linear-gradient(90deg,#63e6ff,#ff7ab6);animation:beat-slide var(--beat-speed,1.6s) linear infinite}
.treasure-scene{position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,#0ea5e9 0%,#0369a1 35%,#082f49 70%,#041c2a 100%)}.treasure-scene::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.22),transparent 12%),radial-gradient(circle at 75% 35%,rgba(255,255,255,.1),transparent 15%)}.bubble{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.5);animation:bubble-rise 8s linear infinite}.diver{position:absolute;left:20%;top:18%;font-size:64px;transition:top .4s ease,left .4s ease;filter:drop-shadow(0 12px 16px rgba(0,0,0,.35))}.treasure-chest{position:absolute;right:16%;bottom:13%;font-size:72px;filter:drop-shadow(0 14px 18px rgba(0,0,0,.4))}.sea-floor{position:absolute;left:-5%;right:-5%;bottom:-25px;height:120px;border-radius:50% 50% 0 0;background:#8b5e34;box-shadow:inset 0 20px 0 #c08b55}.treasure-prompt{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);padding:18px 24px;border-radius:18px;background:rgba(3,18,32,.72);border:1px solid rgba(255,255,255,.25);font-size:clamp(26px,4vw,45px);font-weight:950;color:white}.oxygen-bar{position:absolute;left:20px;top:20px;width:220px;padding:10px;border-radius:14px;background:rgba(3,18,32,.68);border:1px solid rgba(255,255,255,.18)}.oxygen-bar strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.oxygen-meter{height:9px;margin-top:7px;border-radius:99px;background:rgba(255,255,255,.13);overflow:hidden}.oxygen-meter span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#67f5a5,#63e6ff);transition:width .25s ease}
.mini-game-description{color:var(--muted);line-height:1.7}.mini-game-tip-list{display:grid;gap:9px;margin-top:12px}.mini-game-tip-list span{padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--border);font-size:13px;color:var(--muted)}
@keyframes target-pop{to{transform:scale(1.7) rotate(12deg);opacity:0}}
@keyframes block-land{from{transform:translateY(-45px) rotate(4deg);opacity:.2}}
@keyframes memory-in{from{transform:translateY(15px);opacity:0}}
@keyframes beat-slide{from{transform:translateX(-110%)}to{transform:translateX(620%)}}
@keyframes bubble-rise{from{transform:translateY(0);opacity:.2}50%{opacity:.7}to{transform:translateY(-620px);opacity:0}}
@media(max-width:760px){.mini-game-stage{height:540px;min-height:540px}.mini-input-panel{bottom:10px}.rhythm-ring{width:175px;height:175px}.treasure-prompt{top:39%}.diver{font-size:52px}.tower-scene{padding-bottom:105px}}
