.mini-game-screen { padding: clamp(15px, 2.4vw, 30px); background: linear-gradient(180deg, #fffdf5, #eef7f5); }
.mini-game-mount { margin-top: 22px; min-height: 590px; }
.mini-world { min-height: 590px; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(290px, .7fr); gap: 20px; }
.mission-panel { padding: 24px; background: rgba(255,255,255,.94); border: 4px solid var(--ink); border-radius: 24px; box-shadow: 0 10px 0 rgba(24,55,94,.18); }
.mission-panel h2 { margin: 11px 0 8px; font-size: clamp(23px, 2.6vw, 36px); line-height: 1.08; letter-spacing: -.045em; }
.mission-tag { display: inline-flex; padding: 7px 10px; color: white; background: var(--red); border: 2px solid var(--ink); border-radius: 999px; font-size: 9px; font-weight: 1000; }
.math-mission { margin-top: 18px; padding: 18px; background: #fff6c8; border: 3px dashed rgba(24,55,94,.28); border-radius: 18px; text-align: center; }
.math-mission > span { display: block; color: var(--ink-soft); font-size: 10px; font-weight: 900; }
.math-mission > strong { display: block; margin: 8px 0 13px; font-size: clamp(30px, 4vw, 48px); line-height: 1; }
.math-mission p { color: var(--ink-soft); font-size: 10px; font-weight: 900; line-height: 1.55; }
.mini-answer-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.mini-answer { min-height: 57px; cursor: pointer; background: white; border: 3px solid var(--ink); border-radius: 15px; box-shadow: 0 5px 0 #c9d9de; font-size: 22px; font-weight: 1000; }
.mini-answer:hover { transform: translateY(-3px); }.mini-answer.wrong { color: var(--red-deep); background: #ffe8e6; animation: shake 230ms ease; }.mini-answer.correct { color: var(--green-deep); background: #dcf5dd; }
.mini-hint { min-height: 41px; margin: 13px 0 0; color: var(--red-deep); font-size: 10px; font-weight: 900; line-height: 1.6; }
.inline-next { min-height: 46px; margin: 10px auto 0; padding: 0 14px; display: block; cursor: pointer; background: var(--yellow); border: 2px solid var(--ink); border-radius: 13px; box-shadow: 0 4px 0 var(--orange); font-size: 11px; font-weight: 1000; }
.action-button { min-height: 58px; padding: 0 24px; cursor: pointer; background: var(--yellow); border: 3px solid var(--ink); border-radius: 17px; box-shadow: 0 6px 0 var(--orange); font-size: 14px; font-weight: 1000; }
.action-button:disabled { opacity: .5; cursor: default; }

/* 02 · 大富翁 */
.board-world { padding: 25px; background: radial-gradient(circle at 20% 15%, #fff8c9, transparent 27%), linear-gradient(145deg, #d9b8ff, #f7d8ed 45%, #ffe9a9); border: 4px solid var(--ink); border-radius: 26px; }
.board-panel { min-height: 540px; padding: 24px; background: rgba(255,255,255,.64); border: 3px solid var(--ink); border-radius: 22px; box-shadow: inset 0 -10px 0 rgba(166,107,209,.12); }
.board-copy span { color: #7243a0; font-size: 10px; font-weight: 1000; }.board-copy h2 { margin: 5px 0; font-size: clamp(26px, 3vw, 42px); letter-spacing: -.05em; }.board-copy p { color: var(--ink-soft); font-size: 11px; font-weight: 900; }
.candy-board { width: min(510px, 100%); aspect-ratio: 1; margin: 20px auto 0; padding: 12px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; background: #8d5ab9; border: 4px solid var(--ink); border-radius: 27px; box-shadow: 0 10px 0 #5f3684; transform: rotate(-1deg); }
.board-tile { position: relative; display: grid; place-items: center; background: #fff7d4; border: 3px solid var(--ink); border-radius: 19px; box-shadow: inset 0 -7px 0 rgba(24,55,94,.1); }
.board-tile.tile-1 { background: #ffd4dc; }.board-tile.tile-2 { background: #cef1df; }.board-tile.tile-3 { background: #d8ecff; }
.board-tile b { color: rgba(24,55,94,.56); font-size: clamp(13px, 2vw, 22px); }.board-tile i { position: absolute; z-index: 2; display: grid; place-items: center; width: 56%; aspect-ratio: 1; color: #fff; background: var(--red); border: 3px solid var(--ink); border-radius: 50%; box-shadow: 0 5px 0 var(--red-deep); font-size: clamp(16px, 2.5vw, 29px); font-style: normal; animation: token-hop 420ms var(--ease-pop); }
.board-tile.has-token { filter: drop-shadow(0 0 8px var(--yellow)); }
.board-console { align-self: center; text-align: center; }
.dice { width: 110px; aspect-ratio: 1; margin: 0 auto 20px; display: grid; place-items: center; color: #75459f; background: white; border: 5px solid var(--ink); border-radius: 27px; box-shadow: 0 10px 0 #aa72ce; font-size: 50px; font-weight: 1000; transform: rotate(4deg); }
.board-console .action-button { width: 100%; }.mission-feedback { min-height: 60px; margin-top: 17px; padding: 12px; color: var(--ink-soft); background: #f7efff; border: 2px dashed rgba(24,55,94,.2); border-radius: 13px; font-size: 10px; font-weight: 900; line-height: 1.5; }.mission-feedback strong { color: #7243a0; }

/* 03 · 塔防 */
.tower-world { padding: 25px; background: linear-gradient(#bfe8ff 0 30%, #8fd56b 30% 100%); border: 4px solid var(--ink); border-radius: 26px; }
.tower-field { position: relative; min-height: 590px; padding: 77px 20px 20px; overflow: hidden; background: linear-gradient(90deg, rgba(255,255,255,.18), transparent), repeating-linear-gradient(0deg, #80c95d 0 31%, #6eb74d 31% 33%); border: 4px solid var(--ink); border-radius: 24px; box-shadow: inset 0 -13px 0 rgba(36,124,74,.22); }
.tower-field::before { content: ""; position: absolute; left: 0; right: 0; top: 37px; height: 41px; background: repeating-linear-gradient(90deg, transparent 0 58px, rgba(255,255,255,.32) 58px 64px); }
.sun-meter { position: absolute; left: 17px; top: 15px; padding: 9px 13px; background: var(--yellow); border: 3px solid var(--ink); border-radius: 14px; box-shadow: 0 5px 0 var(--orange); font-size: 10px; font-weight: 1000; }
.garden-lane { position: relative; min-height: 148px; width: 100%; margin-bottom: 14px; cursor: pointer; overflow: hidden; background: rgba(255,255,255,.13); border: 3px dashed rgba(24,55,94,.24); border-radius: 20px; text-align: left; }
.garden-lane:hover { background: rgba(255,255,255,.22); }.garden-lane small { position: absolute; left: 13px; bottom: 8px; color: rgba(24,55,94,.7); font-size: 9px; font-weight: 1000; }
.plant-slot { position: absolute; left: 12%; top: 50%; width: 70px; aspect-ratio: 1; display: grid; place-items: center; background: rgba(255,255,255,.38); border: 3px dashed var(--ink); border-radius: 50%; font-size: 34px; transform: translateY(-50%); }
.mini-monster { position: absolute; right: 13%; top: 50%; width: 78px; height: 83px; background: #8662a6; border: 4px solid var(--ink); border-radius: 45% 45% 35% 35%; box-shadow: inset -11px -8px 0 #5c3c78, 0 7px 0 rgba(24,55,94,.2); transform: translateY(-50%); }
.mini-monster::before, .mini-monster::after { content: ""; position: absolute; top: 25px; width: 9px; height: 12px; background: white; border: 2px solid var(--ink); border-radius: 50%; }.mini-monster::before { left: 18px; }.mini-monster::after { right: 18px; }.mini-monster i { position: absolute; left: 17px; top: -19px; width: 13px; height: 25px; background: #8662a6; border: 4px solid var(--ink); border-radius: 50%; transform: rotate(-21deg); }.mini-monster b { position: absolute; right: 14px; top: -19px; width: 13px; height: 25px; background: #8662a6; border: 4px solid var(--ink); border-radius: 50%; transform: rotate(21deg); }
.mini-monster.defeated { animation: monster-away 480ms ease forwards; }.garden-lane.defended { filter: drop-shadow(0 0 11px var(--yellow)); }.garden-lane.lane-wrong { animation: shake 230ms ease; }
.plant-hand { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.plant-card { min-height: 133px; padding: 9px 5px; cursor: pointer; background: #eaf8df; border: 3px solid var(--ink); border-radius: 17px; box-shadow: 0 6px 0 #72a754; }
.plant-card i { width: 45px; height: 45px; margin: 0 auto 5px; display: block; background: var(--yellow); border: 3px solid var(--ink); border-radius: 50%; box-shadow: inset -7px -5px 0 var(--orange); }.plant-card b { display: block; font-size: 22px; }.plant-card span { color: var(--ink-soft); font-size: 8px; font-weight: 900; }.plant-card.wrong { opacity: .38; }.plant-card.selected { background: #fff2ac; transform: translateY(-7px); filter: drop-shadow(0 0 7px var(--yellow)); }

/* 04 · 泡泡 */
.bubble-world { padding: 25px; background: linear-gradient(160deg, #7ee6ec, #4298d1 52%, #305ca5); border: 4px solid var(--ink); border-radius: 26px; }
.bubble-field { position: relative; min-height: 590px; padding: 40px; display: grid; grid-template-columns: repeat(4, 1fr); place-items: center; gap: 13px; overflow: hidden; background: radial-gradient(circle at 70% 20%, rgba(255,255,255,.35), transparent 25%), linear-gradient(180deg, rgba(255,255,255,.14), rgba(13,71,133,.22)); border: 4px solid var(--ink); border-radius: 24px; }
.bubble-field::after { content: ""; position: absolute; left: -8%; right: -8%; bottom: -50px; height: 115px; background: #f1c48b; border: 4px solid var(--ink); border-radius: 50% 50% 0 0; }
.sea-light { position: absolute; inset: 0; background: repeating-linear-gradient(105deg, transparent 0 70px, rgba(255,255,255,.08) 70px 110px); pointer-events: none; }
.answer-bubble { position: relative; z-index: 2; width: clamp(65px, 7vw, 96px); aspect-ratio: 1; cursor: pointer; color: var(--ink); background: rgba(255,255,255,.38); border: 4px solid rgba(255,255,255,.88); outline: 3px solid var(--ink); border-radius: 50%; box-shadow: inset -10px -12px 0 rgba(36,91,150,.18), 0 9px 0 rgba(24,55,94,.22); animation: bubble-float 2.6s ease-in-out var(--delay) infinite alternate; }
.answer-bubble span { font-size: clamp(18px, 2.6vw, 30px); font-weight: 1000; }.answer-bubble::before { content: ""; position: absolute; left: 19%; top: 15%; width: 19%; height: 13%; background: rgba(255,255,255,.78); border-radius: 50%; transform: rotate(-35deg); }
.bubble-color-1 { background-color: rgba(255,142,169,.64); }.bubble-color-2 { background-color: rgba(255,222,105,.64); }.bubble-color-3 { background-color: rgba(136,241,182,.64); }.bubble-color-4 { background-color: rgba(194,158,255,.65); }
.answer-bubble.wrong { animation: shake 250ms ease; opacity: .45; }.answer-bubble.popped { animation: bubble-pop 450ms ease forwards; }.answer-bubble.sparkle { filter: brightness(1.2); }
.missing-factor em { display: inline-grid; place-items: center; width: 58px; aspect-ratio: 1; color: white; background: #389dcb; border: 3px solid var(--ink); border-radius: 50%; font-style: normal; }.bubble-cannon { width: 68px; aspect-ratio: 1; margin: 16px auto; display: grid; place-items: center; color: white; background: #ff6682; border: 4px solid var(--ink); border-radius: 50%; box-shadow: 0 7px 0 #c43c62; font-size: 28px; }

/* 05 · 战机 */
.shooter-world { padding: 25px; background: linear-gradient(145deg, #171c52, #31307d 55%, #672c83); border: 4px solid var(--ink); border-radius: 26px; }
.space-field { position: relative; min-height: 590px; overflow: hidden; background: radial-gradient(circle at 24% 18%, #fff 0 2px, transparent 3px), radial-gradient(circle at 78% 35%, #fff 0 2px, transparent 3px), radial-gradient(circle at 46% 62%, #fff 0 1px, transparent 2px), linear-gradient(180deg, #11133d, #252a73); background-size: 110px 120px, 170px 160px, 80px 90px, auto; border: 4px solid #0d2144; border-radius: 24px; box-shadow: inset 0 0 60px rgba(111,89,255,.45); }
.lane-guides { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, 1fr); }.lane-guides i { border-right: 2px dashed rgba(255,255,255,.14); }
.asteroid-row { position: absolute; left: 0; right: 0; top: 72px; display: grid; grid-template-columns: repeat(3, 1fr); place-items: center; }
.asteroid { position: relative; z-index: 2; width: 105px; height: 92px; display: grid; place-items: center; color: white; background: #7a718a; border: 4px solid #091f42; border-radius: 48% 39% 51% 42%; box-shadow: inset -15px -11px 0 #504a60, 0 0 22px rgba(159,142,255,.52); animation: asteroid-hover 2s ease-in-out infinite alternate; }.asteroid::before { content: ""; position: absolute; left: 14px; top: 17px; width: 20px; height: 14px; background: #5a536a; border-radius: 50%; }.asteroid b { font-size: 27px; }.asteroid.wrong { filter: sepia(1) saturate(4); }.asteroid.destroyed { animation: asteroid-burst 480ms ease forwards; }
.space-ship { position: absolute; z-index: 4; bottom: 52px; left: calc(16.666% - 42px); width: 84px; height: 102px; background: #65d9f0; border: 4px solid #071b3d; border-radius: 55% 55% 32% 32%; box-shadow: inset -12px -8px 0 #2d8fbb, 0 0 25px #4cdbff; transition: left 240ms var(--ease-pop); }.space-ship.lane-1 { left: calc(50% - 42px); }.space-ship.lane-2 { left: calc(83.333% - 42px); }.space-ship::before { content: ""; position: absolute; left: 22px; top: 18px; width: 32px; height: 35px; background: #d5f9ff; border: 4px solid #071b3d; border-radius: 50% 50% 35% 35%; }.space-ship::after { content: ""; position: absolute; left: -20px; right: -20px; bottom: 21px; height: 24px; background: #ff6682; border: 4px solid #071b3d; border-radius: 50%; }.space-ship i, .space-ship b { position: absolute; bottom: -30px; width: 17px; height: 36px; background: var(--yellow); border: 3px solid #071b3d; border-radius: 0 0 50% 50%; }.space-ship i { left: 13px; }.space-ship b { right: 13px; }
.laser { position: absolute; z-index: 3; bottom: 145px; left: 16.666%; width: 7px; height: 0; background: #fff9a9; box-shadow: 0 0 18px #fff, 0 0 28px #4cecff; transition: height 180ms ease; }.laser.lane-0 { left: 16.666%; }.laser.lane-1 { left: 50%; }.laser.lane-2 { left: 83.333%; }.laser.fired { height: 320px; }
.flight-console { color: var(--ink); background: #eef5ff; }.flight-controls { margin-top: 24px; display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 8px; }.flight-controls button { min-height: 62px; cursor: pointer; color: white; background: #5659b9; border: 3px solid var(--ink); border-radius: 16px; box-shadow: 0 6px 0 #343577; font-size: 24px; font-weight: 1000; }.flight-controls .fire-button { color: var(--ink); background: var(--yellow); box-shadow: 0 6px 0 var(--orange); font-size: 13px; }

/* 06 · 卡牌 */
.card-world { padding: 25px; background: linear-gradient(145deg, #3d225f, #703b71 45%, #a66b3f); border: 4px solid var(--ink); border-radius: 26px; }
.boss-arena { position: relative; min-height: 590px; overflow: hidden; background: radial-gradient(circle at 50% 18%, rgba(255,225,147,.35), transparent 28%), linear-gradient(180deg, #251746, #4b285d 65%, #291b38); border: 4px solid #111f3d; border-radius: 24px; box-shadow: inset 0 -20px 0 rgba(0,0,0,.2); }
.boss-arena::before, .boss-arena::after { content: ""; position: absolute; bottom: 0; width: 36%; height: 52%; background: #191636; border: 4px solid #0d1731; }.boss-arena::before { left: -8%; transform: skewY(-8deg); }.boss-arena::after { right: -8%; transform: skewY(8deg); }
.castle-moon { position: absolute; right: 9%; top: 7%; width: 85px; aspect-ratio: 1; background: #ffe58e; border: 4px solid #101d3c; border-radius: 50%; box-shadow: 0 0 37px rgba(255,229,142,.7); }
.math-king { position: absolute; z-index: 2; left: 50%; top: 46%; width: 175px; height: 205px; background: #7651a3; border: 5px solid #101d3c; border-radius: 47% 47% 27% 27%; box-shadow: inset -22px -17px 0 #4e3376, 0 16px 0 rgba(0,0,0,.24); transform: translate(-50%, -50%); }.math-king::before, .math-king::after { content: ""; position: absolute; top: 70px; width: 17px; height: 22px; background: #fff; border: 4px solid #101d3c; border-radius: 50%; }.math-king::before { left: 42px; }.math-king::after { right: 42px; }.math-king i { position: absolute; left: 50%; bottom: 49px; width: 56px; height: 22px; border-bottom: 6px solid #101d3c; border-radius: 50%; transform: translateX(-50%); }.math-king b { position: absolute; left: 50%; top: 92px; width: 8px; height: 8px; background: #101d3c; border-radius: 50%; transform: translateX(-50%); }.king-crown { position: absolute; left: 50%; top: -62px; color: var(--yellow); font-size: 76px; filter: drop-shadow(0 4px 0 #101d3c); transform: translateX(-50%); }
.boss-target { position: absolute; z-index: 3; left: 50%; bottom: 30px; min-width: 290px; padding: 15px 20px; color: white; background: rgba(15,22,54,.92); border: 3px solid #e6bd5d; border-radius: 17px; text-align: center; transform: translateX(-50%); }.boss-target small { display: block; color: #e6bd5d; font-size: 9px; font-weight: 1000; }.boss-target strong { display: block; margin: 4px 0 9px; font-size: 24px; }.shield-pips { display: flex; justify-content: center; gap: 7px; }.shield-pips i { width: 21px; height: 12px; background: var(--yellow); border: 2px solid #101d3c; border-radius: 999px; }.shield-pips i.broken { background: #59556a; opacity: .45; }
.card-console { color: var(--ink); background: #fff8df; }.battle-hand { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 24px; perspective: 900px; }.battle-card { min-height: 230px; padding: 13px 6px; cursor: pointer; background: linear-gradient(145deg, #fff, #fff2c5); border: 4px solid var(--ink); border-radius: 17px; box-shadow: 0 8px 0 #a66c33; transition: transform 220ms var(--ease-pop); }.battle-card:hover { transform: translateY(-10px) rotate(-2deg); }.battle-card small { color: var(--red-deep); font-size: 8px; font-weight: 1000; }.battle-card strong { margin: 54px 0; display: block; font-size: clamp(17px, 2vw, 25px); }.battle-card span { padding: 6px 9px; color: white; background: var(--red); border: 2px solid var(--ink); border-radius: 999px; font-size: 8px; font-weight: 1000; }.battle-card.suit-1 { background: linear-gradient(145deg, #fff, #e0f3ff); box-shadow-color: #518bb2; }.battle-card.suit-2 { background: linear-gradient(145deg, #fff, #e4f5d6); box-shadow-color: #6a9d4c; }.battle-card.wrong { opacity: .35; transform: rotateY(35deg); }.battle-card.played { animation: card-strike 560ms ease forwards; }

/* 排行榜 */
.leaderboard { margin-top: 17px; padding: 16px 18px; background: #f6f3ed; border: 2px dashed rgba(24,55,94,.22); border-radius: 15px; }
.leaderboard-head { display: flex; justify-content: space-between; gap: 15px; align-items: flex-start; }.leaderboard-head > div { display: flex; flex-direction: column; }.leaderboard-head span { color: var(--red-deep); font-size: 9px; font-weight: 1000; }.leaderboard-head strong { margin-top: 3px; font-size: 13px; }.leaderboard-head small { color: var(--ink-soft); font-size: 8px; font-weight: 900; }
.name-entry { margin-top: 12px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; }.name-entry label { font-size: 9px; font-weight: 1000; }.name-entry input { min-width: 0; min-height: 48px; padding: 0 12px; background: white; border: 2px solid var(--ink); border-radius: 12px; font-size: 13px; font-weight: 900; }.name-entry button { min-height: 48px; padding: 0 14px; cursor: pointer; background: var(--yellow); border: 2px solid var(--ink); border-radius: 12px; box-shadow: 0 4px 0 var(--orange); font-size: 10px; font-weight: 1000; }
.save-message { min-height: 16px; margin: 6px 0 0; color: var(--green-deep); font-size: 9px; font-weight: 900; }.leaderboard-list { margin: 7px 0 0; padding: 0; list-style: none; counter-reset: rank; }.leaderboard-list li { min-height: 32px; display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 8px; border-top: 1px solid rgba(24,55,94,.11); font-size: 10px; font-weight: 900; counter-increment: rank; }.leaderboard-list li::before { content: counter(rank); width: 21px; height: 21px; display: grid; place-items: center; color: white; background: var(--ink-soft); border-radius: 50%; font-size: 8px; }.leaderboard-list li:first-child::before { color: var(--ink); background: var(--yellow); }.leaderboard-list li small { color: var(--ink-soft); font-size: 8px; }.leaderboard-empty { color: var(--ink-soft); }.old-board-note { margin: 8px 0 0; color: var(--ink-soft); font-size: 8px; font-weight: 800; }

@keyframes token-hop { 0% { transform: scale(.35) translateY(-50px) rotate(-25deg); } 75% { transform: scale(1.18); } 100% { transform: none; } }
@keyframes monster-away { to { opacity: 0; transform: translate(180px, -80%) rotate(30deg) scale(.4); } }
@keyframes bubble-float { from { transform: translateY(-4px) rotate(-2deg); } to { transform: translateY(8px) rotate(3deg); } }
@keyframes bubble-pop { 65% { opacity: 1; transform: scale(1.35); } 100% { opacity: 0; transform: scale(.05); } }
@keyframes asteroid-hover { to { transform: translateY(12px) rotate(5deg); } }
@keyframes asteroid-burst { 40% { transform: scale(1.25); filter: brightness(2); } 100% { opacity: 0; transform: scale(.1) rotate(90deg); } }
@keyframes card-strike { 50% { transform: translate(-90px, -190px) rotate(-12deg) scale(1.1); } 100% { opacity: 0; transform: translate(-180px, -260px) rotate(-30deg) scale(.3); } }

@media (max-width: 980px) {
  .mini-world { grid-template-columns: 1fr; }.mini-game-mount { min-height: 0; }.board-world, .tower-world, .bubble-world, .shooter-world, .card-world { min-height: 0; }.mission-panel { order: -1; }.board-console { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: center; }.board-console .dice { grid-row: 1 / 3; margin: 0; width: 90px; }.board-console #boardQuestion, .board-console .mission-feedback { grid-column: 1 / -1; }.tower-field, .bubble-field, .space-field, .boss-arena { min-height: 540px; }
}

@media (max-width: 700px) {
  .mini-game-screen { padding: 10px; }.mini-game-mount { margin-top: 13px; }.mini-world { gap: 13px; padding: 11px; border-width: 3px; }.mission-panel { padding: 15px; border-width: 3px; }.mission-panel h2 { font-size: 23px; }.math-mission { margin-top: 11px; padding: 12px; }.math-mission > strong { font-size: 31px; }.mini-answer, .action-button { min-height: 54px; }
  .board-panel { min-height: 0; padding: 12px; }.board-copy h2 { font-size: 25px; }.candy-board { gap: 5px; padding: 7px; border-width: 3px; }.board-tile { border-width: 2px; border-radius: 12px; }.board-console { grid-template-columns: 78px 1fr; }.board-console .dice { width: 75px; border-width: 3px; font-size: 35px; }
  .tower-field { min-height: 490px; padding: 70px 10px 10px; }.garden-lane { min-height: 119px; }.plant-slot { width: 57px; font-size: 26px; }.mini-monster { right: 9%; width: 62px; height: 67px; }.plant-card { min-height: 116px; }.plant-card i { width: 37px; height: 37px; }
  .bubble-field { min-height: 470px; padding: 25px 10px 75px; grid-template-columns: repeat(3, 1fr); gap: 9px; }.answer-bubble { width: min(19vw, 75px); border-width: 3px; outline-width: 2px; }
  .space-field { min-height: 480px; }.asteroid { width: 72px; height: 66px; }.asteroid b { font-size: 21px; }.space-ship { bottom: 42px; width: 66px; height: 82px; left: calc(16.666% - 33px); }.space-ship.lane-1 { left: calc(50% - 33px); }.space-ship.lane-2 { left: calc(83.333% - 33px); }.space-ship::before { left: 17px; width: 25px; height: 28px; }.flight-controls button { min-height: 58px; }
  .boss-arena { min-height: 470px; }.math-king { width: 132px; height: 166px; }.king-crown { top: -55px; font-size: 65px; }.math-king::before { left: 28px; }.math-king::after { right: 28px; }.boss-target { min-width: 250px; }.battle-hand { gap: 5px; }.battle-card { min-height: 178px; border-width: 3px; }.battle-card strong { margin: 36px 0; font-size: 16px; }
  .leaderboard-head { display: block; }.leaderboard-head small { display: block; margin-top: 5px; }.name-entry { grid-template-columns: 1fr; }.name-entry label { display: none; }.name-entry button { width: 100%; }.report-actions { gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .answer-bubble, .asteroid { animation: none; }
}
