:root{--bg:#1a1428;--bg2:#2a1f3d;--panel:#352650;--panel-border:#6b4f9a;--text:#f5f0ff;--muted:#b8a8d4;--accent:#ffd76a;--accent2:#7ee0c8;--danger:#ff6b8a;--ok:#7dffb3;--card:#4a3570;--card-attack:#6b3a5a;--card-block:#3a5a6b;--card-skill:#3a6b4a;--shadow:0 8px 24px #00000059;--radius:16px;--tap:64px;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang TC,Microsoft JhengHei,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:radial-gradient(ellipse at top, #3d2a5c 0%, var(--bg) 55%);min-height:100%;color:var(--text);margin:0}body{overscroll-behavior:none}#app{max-width:720px;min-height:100dvh;padding:12px;padding-top:max(12px, env(safe-area-inset-top));padding-bottom:max(12px, env(safe-area-inset-bottom));padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right));flex-direction:column;margin:0 auto;display:flex;position:relative;overflow-x:hidden}button{cursor:pointer;min-height:var(--tap);touch-action:manipulation;border:none;border-radius:14px;padding:.75rem 1.25rem;font-family:inherit;font-size:1.1rem;font-weight:700;transition:transform 80ms,filter .12s}button:active{transform:scale(.97)}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:#2a1a00;box-shadow:var(--shadow);background:linear-gradient(#ffdf7a,#f0b429)}.btn-secondary{background:var(--panel);color:var(--text);border:2px solid var(--panel-border)}.btn-danger{color:#fff;background:linear-gradient(#ff8aa3,#e0456a)}.screen{flex-direction:column;flex:1;gap:12px;animation:.25s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes pulseOk{0%{box-shadow:0 0 #7dffb399}to{box-shadow:0 0 0 16px #7dffb300}}.shake{animation:.35s shake}.pulse-ok{animation:.5s pulseOk}.title-screen{text-align:center;justify-content:center;align-items:center;gap:20px;padding:24px 8px}.title-screen h1{letter-spacing:.08em;text-shadow:0 4px #5a3a10,0 8px 24px #0006;color:var(--accent);margin:0;font-size:clamp(2.4rem,10vw,3.4rem)}.title-screen .subtitle{color:var(--muted);margin:0;font-size:1.15rem}.hero-preview{filter:drop-shadow(0 8px 12px #0006);font-size:4.5rem}.profile-title-button{min-width:min(360px,100%);min-height:64px;color:var(--text);border:2px solid var(--panel-border);box-shadow:var(--shadow);background:#352650e6;justify-content:center;align-items:center;gap:12px;padding:8px 18px;display:inline-flex}.profile-title-avatar{font-size:2rem;line-height:1}.profile-title-button strong,.profile-title-button small{display:block}.profile-title-button small{color:var(--muted);margin-top:2px;font-size:.78rem}.badge{color:var(--ok);background:#2d4a3a;border-radius:999px;padding:.4rem .9rem;font-size:.95rem}.map-screen h2{text-align:center;color:var(--accent);margin:4px 0 0}.map-hp{text-align:center;font-size:1.2rem}.map-list{flex-direction:column;flex:1;justify-content:center;gap:10px;display:flex}.map-node{background:var(--panel);border:2px solid var(--panel-border);border-radius:var(--radius);min-height:var(--tap);align-items:center;gap:14px;padding:14px 16px;display:flex}.map-node.current{border-color:var(--accent);background:#4a3568;box-shadow:0 0 0 3px #ffd76a40}.map-node.done{opacity:.45}.map-node.boss.current{border-color:var(--danger);box-shadow:0 0 0 3px #ff6b8a4d}.map-node .emoji{font-size:2rem}.map-node .label{font-size:1.2rem;font-weight:700}.combat-top{background:var(--panel);border-radius:var(--radius);border:2px solid var(--panel-border);flex-direction:column;align-items:center;gap:6px;min-height:140px;padding:12px;display:flex}.enemy-emoji{transform-origin:bottom;font-size:3.5rem;line-height:1;display:inline-block}.enemy-flinch{animation:.45s enemyFlinch}.enemy-cast-ok{animation:.4s enemyNod}.enemy-hurt{box-shadow:inset 0 0 0 3px #ff788c73}@keyframes enemyFlinch{0%{transform:scale(1)translate(0)}25%{filter:brightness(1.3)saturate(1.2);transform:scale(.88)translate(-10px)rotate(-6deg)}55%{transform:scale(1.05)translate(6px)rotate(3deg)}to{transform:scale(1)translate(0)}}.enemy-emoji.enemy-impact{animation:.28s enemyImpact}@keyframes enemyImpact{0%{filter:brightness();transform:scale(1)}35%{filter:brightness(1.55)saturate(1.3);transform:scale(.82)translate(-6px)}to{filter:brightness();transform:scale(1)}}.bar.enemy-bar-flash>span,[data-enemy-bar].enemy-bar-flash>span{filter:brightness(1.5);box-shadow:0 0 12px #ff6b8ab3}.block-pill.shield-raise{animation:.35s shieldRaise;box-shadow:0 0 0 3px #9ad4ff66;border-color:#9ad4ff!important}@keyframes shieldRaise{0%{transform:scale(.9)}50%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes enemyNod{0%,to{transform:scale(1)}40%{transform:scale(1.08)}}.intent-total{letter-spacing:.02em;font-size:1.25rem;font-weight:900}.intent-multi-hint{opacity:.85;font-size:.85rem;font-weight:600}.block-pulse{animation:.55s blockPulse;box-shadow:0 0 0 3px #78c8ff73}@keyframes blockPulse{0%{transform:scale(1)}40%{background:#2a4a6a;transform:scale(1.14)}to{transform:scale(1)}}.hero-hit{animation:.4s heroHitFlash}@keyframes heroHitFlash{0%,to{filter:none}30%{filter:brightness(1.4);box-shadow:0 0 0 3px #ff647880}}.hero-block-glow>span{box-shadow:0 0 12px #78dcffa6}.spell-reveal-overlay{z-index:90;pointer-events:none;background:#120a1c8c;place-items:center;animation:.18s ease-out spellRevealIn;display:grid;position:fixed;inset:0}.spell-reveal-overlay.spell-reveal-out{animation:.18s ease-in forwards spellRevealOut}.spell-reveal-card{text-align:center;background:linear-gradient(160deg,#3a2860,#2a1848);border:3px solid #ffd76a;border-radius:24px;min-width:min(280px,86vw);padding:1.25rem 1.75rem 1rem;animation:.35s cubic-bezier(.2,1.2,.4,1) spellCardPop;box-shadow:0 12px 40px #00000059}.spell-reveal-emoji{font-size:3rem;line-height:1}.spell-reveal-word{color:#fff8e8;margin-top:.25rem;font-size:1.5rem;font-weight:900}.spell-reveal-spell{letter-spacing:.12em;color:#ffd76a;margin-top:.35rem;font-size:2rem;font-weight:900}.spell-reveal-ok{margin-top:.35rem;font-size:1.5rem}@keyframes spellRevealIn{0%{opacity:0}to{opacity:1}}@keyframes spellRevealOut{to{opacity:0}}@keyframes spellCardPop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.enemy-name{font-size:1.3rem;font-weight:900}.bar{background:#1a1028;border:2px solid #4a3068;border-radius:999px;width:100%;max-width:280px;height:18px;overflow:hidden}.bar>span{background:linear-gradient(90deg,#ff6b8a,#ff9a6b);height:100%;transition:width .25s;display:block}.bar.hero>span{background:linear-gradient(90deg,#5dce7a,#7dffb3)}.intent{color:pink;background:#4a2030;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:1.15rem;font-weight:700;display:flex}.combat-mid{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.stat-pill{background:var(--bg2);border:2px solid var(--panel-border);border-radius:999px;padding:8px 14px;font-size:1.05rem;font-weight:700}.energy{flex-flow:wrap;align-items:center;gap:10px;display:flex}.energy-readout{letter-spacing:.02em;color:var(--accent);white-space:nowrap;min-width:3.2em;font-size:1.15rem;font-weight:900}.energy-orbs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.energy-orbs-more{opacity:.85;font-size:.8rem}.orb{background:#3a3050;border:2px solid #6a5a90;border-radius:50%;flex-shrink:0;width:22px;height:22px}.orb.on{background:radial-gradient(circle at 30% 30%,#fff3b0,#f0b429);border-color:#ffd76a;box-shadow:0 0 8px #ffd76a99}.combat-stage .energy-readout{font-size:1.35rem}.hand{-webkit-overflow-scrolling:touch;align-items:stretch;gap:12px;min-height:200px;padding:8px 4px 16px;display:flex;overflow-x:auto}.card{background:var(--card);width:140px;box-shadow:var(--shadow);cursor:pointer;-webkit-user-select:none;user-select:none;color:inherit;text-align:center;border:3px solid #8a6ab8;border-radius:16px;flex-direction:column;flex:0 0 140px;align-items:stretch;gap:4px;min-height:196px;padding:8px 8px 10px;display:flex;position:relative}.card.attack{background:linear-gradient(180deg, #7a4060 0%, var(--card-attack) 40%);border-color:#c07090}.card.block{background:linear-gradient(180deg, #3a6080 0%, var(--card-block) 40%);border-color:#70a0c0}.card.skill{background:linear-gradient(180deg, #3a7050 0%, var(--card-skill) 40%);border-color:#70c090}.card.unplayable{opacity:.45;filter:grayscale(.3)}.card-top{justify-content:space-between;align-items:flex-start;min-height:36px;display:flex}.card .cost{color:#2a1a00;background:radial-gradient(circle at 30% 30%,#fff3b0,#f0b429);border:2px solid #c99020;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:1.1rem;font-weight:900;display:grid;box-shadow:0 2px #8a6010}.card-type-badge{opacity:.95;font-size:1.25rem;line-height:1}.card-art{flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:2px;min-height:72px;padding:4px 0;display:flex}.card .zhuyin{letter-spacing:.02em;text-shadow:0 2px #00000040;font-size:2.75rem;font-weight:900;line-height:1.05}.card .card-emoji{font-size:1.65rem;line-height:1}.card-name{background:#00000047;border:1px solid #ffffff1f;border-radius:8px;margin:0 2px;padding:4px 6px;font-size:1.05rem;font-weight:800;line-height:1.2}.card-desc-box{background:#0c08188c;border:1px solid #c8b4ff38;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:2.8em;margin-top:auto;padding:6px 8px;display:flex}.card-job{color:#ffe7a3;white-space:nowrap;background:#ffffff1a;border-radius:999px;width:fit-content;padding:1px 6px;font-size:.68rem;font-weight:900;line-height:1.3}.card-desc{color:#f0e8ff;text-align:center;font-size:.92rem;font-weight:600;line-height:1.35}.card-damage-preview{color:#fff;background:#00000047;border-radius:999px;padding:1px 7px;font-size:.72rem;font-weight:900;line-height:1.3}.card-damage-preview.modified{color:#fff1a8;background:#78480894;box-shadow:0 0 8px #ffcd4d59}.card-upgrade-mark{color:#8dff9f;text-shadow:0 1px 4px #102b15;margin-left:.18em}.card .name{font-size:.85rem;font-weight:700}.card .desc{color:var(--muted);font-size:.72rem;line-height:1.25}.card-adult{display:none}.combat-actions{gap:10px;display:flex}.combat-actions button{flex:1}.log{color:var(--muted);text-align:center;max-height:3.2em;font-size:.85rem;overflow:hidden}.flash{border:2px solid var(--accent);color:var(--accent);z-index:50;pointer-events:none;background:#140c20eb;border-radius:999px;padding:12px 24px;font-size:1.4rem;font-weight:900;animation:.15s fadeIn;position:fixed;top:20%;left:50%;transform:translate(-50%)}.cast-screen{text-align:center;justify-content:center;align-items:center;gap:20px;width:100%;max-width:min(960px,100%);margin:0 auto;padding-left:16px;padding-right:16px}.cast-screen h2{color:var(--accent);margin:0;font-size:1.75rem}.cue-box{background:var(--panel);border:3px solid var(--panel-border);border-radius:28px;min-width:min(100%,420px);padding:28px 40px}.cue-emoji{font-size:5.5rem;line-height:1}.cue-word{letter-spacing:.06em;margin-top:10px;font-size:3.1rem;font-weight:900}.cast-options{grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:420px;display:grid}.cast-opt{min-height:96px;color:var(--text);box-shadow:var(--shadow);background:linear-gradient(#5a4080,#3d2a5c);border:3px solid #9a7ad0;font-size:2.8rem;font-weight:900}.cast-opt.hint{border-color:var(--ok);box-shadow:0 0 0 4px #7dffb359}.hint-btn{min-height:48px;color:var(--muted);border:1px dashed var(--muted);background:0 0;border-radius:12px;padding:.5rem 1rem;font-size:.95rem}.reward-screen{align-items:center;gap:16px}.reward-screen h2{color:var(--accent);margin:8px 0}.reward-cards{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.reward-cards .card{flex:0 0 130px;width:130px;min-height:170px}.end-screen{text-align:center;justify-content:center;align-items:center;gap:16px}.end-screen h1{margin:0;font-size:2.4rem}.end-screen.defeat h1{color:var(--danger)}.end-screen.victory h1{color:var(--ok)}.end-emoji{font-size:5rem}.hint-text{color:var(--muted);max-width:28ch;font-size:1rem;line-height:1.5}.mute-btn{z-index:40;background:var(--panel);border:2px solid var(--panel-border);min-width:48px;min-height:48px;color:var(--text);border-radius:12px;padding:.4rem;font-size:1.4rem;position:absolute;top:8px;right:8px}.badge-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.badge.ear{color:#9ad4ff;background:#2a3d5a}.map-sub{color:var(--muted);font-size:.9rem}.map-node.elite.current{border-color:#ff9a4a;box-shadow:0 0 0 3px #ff9a4a4d}.map-node.rest.current{border-color:#ff8a50;box-shadow:0 0 0 3px #ff783c40}.map-node.kind-fork.current{border-color:var(--accent2)}.fork-screen,.rest-screen,.event-screen{text-align:center;justify-content:center;align-items:center;gap:16px;width:100%;overflow-x:hidden}.fork-screen h2,.rest-screen h2{color:var(--accent);margin:0}.fork-choices{flex-direction:column;gap:14px;width:100%;max-width:400px;display:flex}.fork-card{border:3px solid var(--panel-border);background:var(--panel);min-height:120px;color:var(--text);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:18px 16px;display:flex}.fork-card.safe{border-color:var(--accent2)}.fork-card.danger{border-color:var(--danger);background:#4a2540}.fork-emoji{font-size:2.4rem}.fork-label{font-size:1.35rem;font-weight:900}.fork-desc{color:var(--muted);font-size:.95rem}.fork-enemy{margin-top:4px;font-size:1rem;font-weight:700}.rest-fire{filter:drop-shadow(0 0 20px #ff8c3c8c);font-size:5rem;animation:1.2s ease-in-out infinite alternate flicker}@keyframes flicker{0%{filter:drop-shadow(0 0 12px #ff8c3c66);transform:scale(1)}to{filter:drop-shadow(0 0 28px #ffb450b3);transform:scale(1.06)}}.combat-top{position:relative}.float-num{pointer-events:none;z-index:5;font-size:1.8rem;font-weight:900;animation:.7s forwards floatUp;position:absolute}.enemy-float{color:var(--danger);top:8px;right:16px}.block-float{color:var(--accent2);animation:.7s forwards floatUp;position:relative}@keyframes floatUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-28px)}}.tag{vertical-align:middle;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700}.elite-tag{color:#ffc070;background:#6a3a10}.boss-tag{color:#ff90a8;background:#5a1028}.listen-hidden{color:var(--accent2);letter-spacing:.2em}.replay-btn{width:100%;max-width:320px;font-size:1.25rem}.replay-btn-big{border-radius:18px;justify-content:center;align-items:center;gap:.45rem;max-width:360px;min-height:64px;padding:.65rem 1.25rem;font-size:1.35rem;display:inline-flex;box-shadow:0 4px #0003}.replay-btn-big .btn-emoji{font-size:2rem}.replay-label{letter-spacing:.08em;color:#fff8e0;font-size:1.35rem;font-weight:900}.title-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;width:100%;max-width:420px;margin:.5rem auto 0;display:flex}.practice-enter-btn{min-width:88px}.badge.practice{background:#2a4060;box-shadow:0 0 0 2px #78b4ff59}.practice-progress{margin-top:.25rem}.practice-hud{margin-bottom:.35rem}.practice-screen .cue-box{border-color:#6ab0ff;box-shadow:0 0 0 3px #6ab0ff38}.practice-leave-btn{width:100%;max-width:320px;margin-top:.75rem}.warn-banner{color:var(--accent);background:#4a3a20;border-radius:12px;max-width:28ch;padding:8px 14px;font-size:.9rem}.mode-listen .cue-box,.mode-listenHard .cue-box{border-color:var(--accent2);box-shadow:0 0 0 3px #7ee0c833}.combat-mid{position:relative}.adult-text{color:var(--muted);font-size:.78rem;font-weight:500;line-height:1.35}.adult-text.center{text-align:center}.adult-read-aloud{color:var(--muted);letter-spacing:.08em;margin-top:6px;font-size:1.35rem;font-weight:700}.kid-prompt{text-align:center;color:var(--accent);margin:0;font-size:1.5rem;font-weight:900}.cast-kid-prompt{margin-top:12px;font-size:1.8rem;font-weight:900}.kid-status{justify-content:center;gap:16px;font-size:1.4rem;font-weight:900;display:flex}.kid-stat{background:var(--bg2);border:2px solid var(--panel-border);border-radius:999px;padding:6px 14px}.kid-hp-num{font-size:1.25rem;font-weight:900}.btn-kid-main{justify-content:center;align-items:center;gap:10px;min-height:72px;font-size:1.5rem;display:flex}.btn-emoji{font-size:2rem;line-height:1}.btn-go-arrow{font-size:1.5rem}.end-turn-btn{flex:none}.title-zhuyin-row{color:var(--accent);letter-spacing:.05em;justify-content:center;gap:6px;font-size:2rem;font-weight:900;display:flex}.title-zhuyin-row span{background:var(--panel);border:2px solid var(--panel-border);border-radius:12px;place-items:center;width:2.4rem;height:2.4rem;display:grid}.adult-coach{text-align:left;background:#241a38;border:2px dashed #7a6a9a;border-radius:14px;order:-1;padding:8px 12px}.adult-coach-head{color:#d4c4f0;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;width:100%;min-height:40px;padding:4px 0;font-size:.95rem;font-weight:700;display:flex}.adult-coach-body{color:#c8b8e0;margin:4px 0 6px;font-size:.88rem;font-weight:500;line-height:1.45}.adult-coach-early{color:var(--accent);background:#3a3020;border-radius:8px;margin-bottom:6px;padding:4px 8px;font-size:.75rem}.adult-coach.collapsed .adult-coach-body{display:none}.card{flex:0 0 118px;justify-content:flex-start;width:118px;min-height:148px}.card .zhuyin{margin:4px 0;font-size:3rem}.card .type-icon{font-size:1.4rem;line-height:1}.card-adult{opacity:.85;max-height:2.4em;margin-top:auto;overflow:hidden;font-size:.65rem!important}.map-list-kid{flex-flow:wrap;justify-content:center;gap:8px}.map-list-kid .map-node{text-align:center;flex-direction:column;gap:4px;min-width:72px;padding:10px 8px}.map-list-kid .emoji{font-size:1.8rem}.map-marker{font-size:.9rem}.map-adult-label{font-size:.65rem!important}.fork-enemy-big{font-size:2.5rem;line-height:1}.cast-opt{min-height:110px;font-size:3.2rem}.spell-slots{flex-wrap:wrap;justify-content:center;gap:12px;min-height:88px;display:flex}.spell-slot{color:#6a5a80;background:#1a1028;border:4px dashed #7a6a9a;border-radius:16px;place-items:center;width:72px;height:88px;font-size:2.6rem;font-weight:900;display:grid}.spell-slot.filled{border-style:solid;border-color:var(--accent2);color:var(--text);background:var(--panel)}.spell-slot.tone.filled{color:#ffb86c;border-color:#ffb86c}.spell-bank{flex-wrap:wrap;justify-content:center;gap:12px;max-width:100%;display:flex}.spell-key{min-width:72px;min-height:72px;color:var(--text);box-shadow:var(--shadow);background:linear-gradient(#5a4080,#3d2a5c);border:3px solid #9a7ad0;border-radius:14px;padding:.4rem;font-size:2.35rem;font-weight:900}.spell-key.tone-key{color:#ffd9a8;background:linear-gradient(#6a4030,#3d2018);border-color:#ffb86c}.spell-key.used{opacity:.25}.spell-controls{gap:10px;width:100%;max-width:420px;display:flex}.spell-ctrl{flex:1;min-height:76px;font-size:1.9rem}.spell-submit:not(:disabled){box-shadow:0 0 0 3px #7dffb359}.spell-hint-reveal{text-align:center;border:2px solid var(--ok);background:#2a3d2a;border-radius:12px;padding:8px 12px}.spell-answer{color:var(--ok);letter-spacing:.14em;margin-left:6px;font-size:2.25rem;font-weight:900}.cue-emoji{font-size:5.5rem}.enemy-name-adult{text-align:center}.screen.cast-screen{gap:16px}.cast-screen .adult-coach{order:0;width:100%;max-width:520px}.cast-screen .spell-controls{max-width:560px}.cast-screen .spell-bank-wrap{max-width:760px}.cast-screen .replay-btn-big{max-width:440px;min-height:80px;font-size:1.6rem}.cast-screen .replay-btn-big .btn-emoji{font-size:2.5rem}.cast-screen .replay-label{font-size:1.6rem}.cast-screen .spell-hint-reveal{padding:12px 16px;font-size:1.15rem}.mute-btn{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right))}.danger-hp{animation:1s ease-in-out infinite pulseDanger;color:var(--danger)!important;border-color:var(--danger)!important}@keyframes pulseDanger{50%{filter:brightness(1.15)}}.map-progress{width:100%;max-width:360px;margin:0 auto}.map-progress-bar{border:2px solid var(--panel-border);background:#1a1028;border-radius:999px;height:10px;overflow:hidden}.map-progress-bar>span{background:linear-gradient(90deg, var(--accent2), var(--accent));height:100%;transition:width .35s;display:block}.map-connector{background:#3a3050;border-radius:2px;flex:none;align-self:center;width:12px;height:4px}.map-connector.lit{background:var(--accent2);box-shadow:0 0 6px #7ee0c880}.map-list-kid{align-items:center}.map-node.current{transition:transform .2s;transform:scale(1.06)}.card-emoji{opacity:.95;font-size:1.35rem;line-height:1}.effect-row{align-items:center;gap:4px;font-weight:900;display:flex}.effect-num{color:var(--accent);font-size:1.05rem}.card:not(:disabled):hover{filter:brightness(1.08)}.card:not(:disabled):active{transform:scale(.96)}.intent-pulse{animation:1.4s ease-in-out infinite intentPulse}@keyframes intentPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.combat-piles{text-align:center;opacity:.8}.spell-slot.next{border-color:var(--accent);color:var(--accent);animation:.9s ease-in-out infinite slotNext;box-shadow:0 0 0 3px #ffd76a33}@keyframes slotNext{50%{background:#2a2040}}.spell-bank-wrap{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.spell-bank-tones{padding-top:4px}.tone-row-label{text-align:center;margin-top:2px}.spell-submit.ready{animation:.7s ease-in-out infinite readyPulse;transform:scale(1.04)}@keyframes readyPulse{50%{box-shadow:0 0 0 6px #7dffb359}}.hand{scroll-snap-type:x mandatory;padding-bottom:8px}.hand .card{scroll-snap-align:center}.flash{animation:.9s forwards flashPop}@keyframes flashPop{0%{opacity:0;transform:translate(-50%)scale(.85)}15%{opacity:1;transform:translate(-50%)scale(1.05)}70%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)scale(1)}}.confetti-layer{pointer-events:none;z-index:30;position:fixed;inset:0;overflow:hidden}.confetti-piece{width:10px;height:14px;transform:rotate(var(--rot,0deg));border-radius:2px;animation:1.8s ease-in forwards confettiFall;position:absolute;top:-12px}@keyframes confettiFall{to{transform:rotate(calc(var(--rot,0deg) + 240deg));opacity:.85;top:110%}}.end-screen{position:relative}.end-body{z-index:1;flex-direction:column;align-items:center;gap:12px;display:flex}.title-screen .hero-preview{animation:2.4s ease-in-out infinite heroBob}@keyframes heroBob{50%{transform:translateY(-8px)}}.cue-box{transition:border-color .2s,box-shadow .2s}.btn-kid-main{box-shadow:var(--shadow)}.adult-coach{flex-shrink:0}.cast-screen .adult-coach{max-height:28vh;overflow:auto}@media (height<=700px){.cue-emoji{font-size:3.5rem}.card{min-height:132px}.spell-key{min-width:48px;min-height:48px;font-size:1.45rem}}.outcome-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:all;background:#0c0818b8;justify-content:center;align-items:center;animation:.22s ease-out outcomeIn;display:flex;position:fixed;inset:0}.outcome-overlay.outcome-out{animation:.22s ease-in forwards outcomeFade}@keyframes outcomeIn{0%{opacity:0}to{opacity:1}}@keyframes outcomeFade{to{opacity:0}}.outcome-stage{flex-direction:column;justify-content:center;align-items:center;gap:12px;width:min(90vw,320px);min-height:220px;display:flex;position:relative}.outcome-actor{z-index:2;filter:drop-shadow(0 8px 16px #00000059);font-size:5.5rem;line-height:1}.kill-actor{animation:1.1s ease-in forwards killPoof}@keyframes killPoof{0%{opacity:1;filter:drop-shadow(0 8px 16px #00000059)brightness();transform:scale(1)rotate(0)}25%{filter:drop-shadow(0 8px 20px #ffd76a80)brightness(1.2);transform:scale(1.2)rotate(-8deg)}55%{opacity:1;transform:scale(1.05)rotate(6deg)}to{opacity:0;filter:brightness(2);transform:scale(.15)rotate(20deg)}}.outcome-poof{opacity:0;z-index:3;font-size:3.5rem;animation:.7s .45s forwards poofPop;position:absolute;top:28%}@keyframes poofPop{0%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1.4)}to{opacity:0;transform:scale(1.8)translateY(-20px)}}.faint-actor{animation:1.3s ease-in-out forwards faintSway}@keyframes faintSway{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}30%{transform:translateY(4px)rotate(-12deg)scale(1.05)}55%{transform:translateY(10px)rotate(10deg)scale(.98)}to{opacity:.55;filter:grayscale(.25);transform:translateY(28px)rotate(-6deg)scale(.85)}}.outcome-zzz{color:#c8b8e0;z-index:3;gap:2px;font-size:1.6rem;font-weight:900;display:flex;position:absolute;top:12%;right:18%}.outcome-zzz span{opacity:.85;animation:.9s ease-in-out infinite zzzFloat}.outcome-zzz span:nth-child(2){font-size:1.3rem;animation-delay:.15s}.outcome-zzz span:nth-child(3){font-size:1.1rem;animation-delay:.3s}@keyframes zzzFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.outcome-burst{pointer-events:none;z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.burst-particle{font-size:1.4rem;animation:.85s ease-out forwards burstOut;position:absolute}@keyframes burstOut{0%{opacity:1;transform:translate(0)scale(.6)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(1.2)}}.outcome-caption{z-index:4;margin-top:8px;animation:.4s .25s both captionIn}.faint-caption{color:#d4c4f0!important}@keyframes captionIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bounce-in{animation:.55s cubic-bezier(.34,1.56,.64,1) both bounceIn}@keyframes bounceIn{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.soft-sway{animation:2s ease-in-out infinite softSway}@keyframes softSway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.outcome-kill .outcome-overlay,.outcome-overlay.outcome-kill{background:radial-gradient(#3c281480,#0c0818cc)}.outcome-overlay.outcome-faint{background:radial-gradient(#281e468c,#0c0818d9)}.relic-screen,.shop-screen,.remove-screen{align-items:center;gap:14px}.relic-choices,.rest-choices,.event-choices{flex-direction:column;gap:12px;width:100%;max-width:400px;display:flex}.event-icon{font-size:3rem;line-height:1}.event-presentation,.event-result{margin:0;font-size:1.15rem}.event-choice{width:100%;min-height:var(--tap);border:3px solid var(--panel-border);background:var(--panel);color:var(--text);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10px 14px;display:flex}.event-choice:disabled{opacity:1;cursor:not-allowed;border-style:dashed}.event-choice-label{font-size:1.2rem;font-weight:800}.event-chip,.event-choice-reason{font-size:.95rem}.event-card-grid{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;max-width:100%;display:flex}.event-card{width:132px;min-height:var(--tap);background:0 0;border:3px solid #0000;padding:0}.event-card.is-selected{border-color:var(--accent);border-radius:16px}.relic-card,.rest-choice{border:3px solid var(--panel-border);background:var(--panel);min-height:100px;color:var(--text);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:16px;display:flex}.relic-card:active,.rest-choice:active{transform:scale(.98)}.relic-emoji,.rest-choice-emoji{font-size:2.8rem;line-height:1}.relic-name{font-weight:900;color:var(--accent)!important;font-size:1rem!important}.character-screen{padding-block:max(20px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-bottom));overflow-y:auto}.character-choices{max-width:680px}.character-card{background:radial-gradient(circle at 50% 12%,#ffdf802e,#0000 34%),linear-gradient(160deg,#3d2d5ffa,#1d1836fa);border-color:#d8b45c;gap:10px;min-height:440px;padding:clamp(18px,4vw,30px)}.character-emoji{filter:drop-shadow(0 8px 12px #00000059);font-size:5.2rem}.character-name{color:#ffe18a;font-size:clamp(1.65rem,5vw,2.35rem);font-weight:950}.character-title{font-weight:800;font-size:1.05rem!important}.character-theme{color:#f7f0ff;max-width:520px;font-size:1rem;font-weight:750;line-height:1.55}.starter-deck-summary{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.starter-deck-summary span,.combat-power{background:#0a08196b;border:1px solid #fff3;border-radius:999px;padding:5px 10px;font-weight:900}.starting-relic{text-align:left;background:#ffd76a17;border:2px solid #ffdc788c;border-radius:16px;align-items:center;gap:12px;width:min(100%,520px);padding:12px 16px;line-height:1.45;display:flex}.starting-relic-emoji{flex:none;font-size:2.5rem}.starting-relic-emoji .relic-art{width:2.6rem;height:2.6rem}.character-pick-cta{color:#231600;background:#f0b429;border-radius:14px;place-items:center;min-height:54px;padding:8px 18px;font-size:1.1rem;font-weight:950;display:grid}.relic-badge-row,.map-relic-badges{flex-wrap:wrap;align-items:center;gap:4px;max-width:100%;display:flex}.relic-badge{border:2px solid var(--toy-brass);background:radial-gradient(circle at 35% 30%, var(--panel), #37233f 70%);width:48px;min-width:48px;height:48px;min-height:48px;box-shadow:inset 0 0 0 2px #ffe7a02e, 0 3px 0 var(--toy-walnut-dark);color:inherit;border-radius:999px;flex:0 0 48px;place-items:center;padding:0;font-size:1.45rem;line-height:1;display:inline-grid}.relic-badge .relic-art{width:36px;height:36px}.relic-badge:active{box-shadow:inset 0 0 0 2px #ffe7a02e, 0 1px 0 var(--toy-walnut-dark);transform:translateY(2px)}.relic-badge:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.potion-belt,.shop-potion-row,.potion-replace-row,.map-potion-row{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.map-potion-row,.potion-reward,.potion-replace-row,.shop-potion-row{width:min(100%,720px);margin:8px auto 0}.potion-belt-mark{font-size:1.4rem;line-height:1}.potion-slot.is-empty{opacity:.45}.potion-slot.is-aiming,.enemy-slot.potion-aim-target{outline:3px solid var(--toy-gold,#f0b429);outline-offset:2px}.potion-aim-cancel,.shop-potion-button,.potion-replace-row .btn-secondary{min-width:44px;min-height:44px}.potion-inspect-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.potion-inspect-actions .btn-primary,.potion-inspect-actions .btn-secondary,.potion-inspect-actions .relic-inspect-close{min-width:44px;min-height:44px}.potion-reward{text-align:left;align-items:center;gap:12px;display:flex}.potion-reward-name{font-size:1.2rem;display:block}.relic-reward{text-align:left;align-items:center;gap:12px;width:min(100%,440px);display:flex}.relic-reward .relic-badge{animation:.7s ease-out both relicAcquire}@keyframes relicAcquire{0%{opacity:0;transform:translateY(-14px)scale(.6)}55%{opacity:1;filter:brightness(1.4);transform:translateY(0)scale(1.12)}to{transform:none}}.relic-reward-name{font-size:1.2rem;display:block}.relic-reward-blurb{margin:4px 0 0}.native-modal-shell.relic-inspect-dialog{padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));background:#140c1e8c;place-items:center;display:grid}.relic-inspect-panel{border:3px solid var(--toy-brass);background:var(--toy-paper);width:min(92vw,420px);max-height:90dvh;color:var(--toy-ink);box-shadow:var(--shadow);text-align:center;border-radius:18px;padding:20px;animation:.18s ease-out relicInspectIn;overflow:auto}@keyframes relicInspectIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.relic-inspect-emoji{margin:0;font-size:3rem;line-height:1}.relic-inspect-emoji .relic-art{width:96px;height:96px;margin-inline:auto}.relic-inspect-name{margin:8px 0 4px;font-size:1.7rem;font-weight:900}.relic-inspect-blurb{margin:4px 0 12px;font-size:1.2rem;font-weight:700;line-height:1.45}.relic-inspect-adult{border-top:2px dashed var(--toy-paper-deep);text-align:left;margin:0;padding-top:10px;font-size:.95rem;line-height:1.5}.relic-inspect-adult-label{margin-bottom:2px;font-size:.8rem;font-weight:800;display:block}.relic-inspect-close{border-radius:12px;min-width:48px;min-height:48px;margin-top:14px;padding:8px 18px;font-size:1.1rem;font-weight:800}@media (prefers-reduced-motion:reduce){.relic-reward .relic-badge,.relic-inspect-panel{animation:none}.relic-badge:active{transform:none}}.shop-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.shop-card{flex:0 0 130px;width:130px;position:relative}.shop-price{color:var(--accent);margin-top:4px;font-size:1.15rem;font-weight:900}.shop-card.sold{opacity:.45;filter:grayscale(.4)}.gold-gain,.heal-gain{margin:0 auto;display:inline-flex}.reward-gains{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.heal-gain{color:#7dffb3;font-weight:900}.intent-heavy{color:#ffb0c0!important;background:#5a2030!important}.intent-multi{color:#ffd76a!important;background:#3a3050!important}.intent-block{color:#9ad4ff!important;background:#1e3a55!important;border-color:#5a9ecc!important}.intent-attack{color:#ffc0d0!important;background:#4a2840!important}.map-node.kind-shop.current{border-color:#ffd76a;box-shadow:0 0 0 3px #ffd76a4d}#zhuyin-debug-root{z-index:9999;pointer-events:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;position:fixed;bottom:12px;right:12px}#zhuyin-debug-root *{pointer-events:auto}.debug-fab{cursor:pointer;background:#1e1432eb;border:2px solid #ffd76a;border-radius:50%;width:48px;height:48px;font-size:1.4rem;box-shadow:0 4px 16px #0006}.debug-panel{color:#f5f0ff;background:#120c20f0;border:2px solid #ffd76a;border-radius:12px;width:300px;max-height:min(70vh,640px);padding:8px 10px 10px;overflow-y:auto;box-shadow:0 8px 28px #00000080}.debug-head{color:#ffd76a;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.debug-sub{opacity:.7;font-size:11px;font-weight:500}.debug-row{margin-bottom:6px}.debug-row-label{text-transform:uppercase;letter-spacing:.06em;color:#b8a8d4;margin-bottom:3px;font-size:10px;display:block}.debug-row-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.debug-btn{color:#f5f0ff;cursor:pointer;background:#2a1f3d;border:1px solid #6b4f9a;border-radius:8px;min-height:28px;padding:2px 8px;font-family:inherit;font-size:11px;font-weight:700}.debug-btn:hover{background:#3a2a55;border-color:#ffd76a}.debug-btn-on{color:#7dffb3;background:#1a3a2a;border-color:#7dffb3}.debug-btn-icon{min-width:28px;padding:0 6px}.debug-select{color:#f5f0ff;background:#1a1028;border:1px solid #6b4f9a;border-radius:6px;flex:100%;max-width:100%;min-height:28px;font-size:11px}.debug-inspect{white-space:pre-wrap;color:#c8b8e0;background:#0c0818;border-radius:8px;max-height:140px;margin:8px 0 4px;padding:6px 8px;font-size:10px;line-height:1.4;overflow-y:auto}.debug-foot{opacity:.9;flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.map-screen{z-index:20;background:radial-gradient(ellipse at top, #3d2a5c 0%, var(--bg) 55%);justify-content:center;align-items:center;width:100vw;max-width:none;height:100dvh;margin:0;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.map-stage{transform-origin:50%;box-sizing:border-box;flex-shrink:0;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:8px;width:1920px;height:1080px;padding:16px 24px 12px;display:grid;position:relative;overflow:hidden}.map-stage-top{flex-direction:column;flex:none;align-items:center;gap:4px;display:flex}.map-stage-top .map-status-bar{flex-wrap:wrap;justify-content:center;width:auto;max-width:100%}.map-stage-title{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:12px 20px;display:flex}.map-act-title{margin:0;font-size:1.5rem}.map-stage-hint{opacity:.85;margin:0}.map-stage-bottom{flex-direction:column;flex:none;align-items:center;gap:6px;min-height:0;display:flex}.map-stage .adult-coach,.map-stage .adult-coach-float{z-index:45;background:#241a38f0;grid-area:2/1;max-width:min(400px,32vw);margin:0;position:absolute;top:10px;left:10px;box-shadow:0 8px 24px #0006}.map-stage .adult-coach.collapsed{max-width:150px;padding:2px 8px}.map-panel{flex:auto;justify-content:center;align-items:center;max-width:1180px;min-height:0;margin:0 auto;display:flex;overflow:visible}.act-pill{background:#3a2860;border-radius:999px;padding:.15rem .55rem}.map-web{border:2px solid var(--panel-border);background:radial-gradient(at 50% 0,#50287859,#0000 55%),linear-gradient(#1a0e28 0%,#12081c 100%);border-radius:20px;flex-shrink:0;margin:0 auto;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #00000059}.map-edges{pointer-events:none;z-index:0;position:absolute;inset:0}.map-edge{stroke:#4a3a68;stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:6 7;opacity:.5}.map-edge.edge-dim{stroke:#6a5a88;stroke-dasharray:4 6;opacity:.7}.map-edge.edge-path{stroke:var(--accent2);stroke-width:4px;stroke-dasharray:none;opacity:1;filter:drop-shadow(0 0 5px #7ee0c880)}.map-dot{z-index:1;cursor:default;opacity:.38;-webkit-tap-highlight-color:transparent;background:#2a1a40;border:3px solid #4a3a68;border-radius:50%;place-items:center;padding:0;transition:transform .15s,box-shadow .15s,opacity .15s;display:grid;position:absolute}.map-dot:disabled{cursor:default}.map-dot.locked{opacity:.32;filter:grayscale(.35)}.map-dot.done{opacity:.6;background:#1a3028;border-color:#3a6a50}.map-dot.done:after{content:"✓";color:var(--ok);text-shadow:0 1px 2px #000;font-size:.7rem;font-weight:900;position:absolute;bottom:-2px;right:-2px}.map-dot.current{opacity:1;border-color:var(--accent);transform:scale(1.08);box-shadow:0 0 0 3px #ffd76a59}.map-dot.available{opacity:1;border-color:var(--accent2);cursor:pointer;animation:1.1s ease-in-out infinite mapDotPulse;box-shadow:0 0 0 3px #7ee0c859}.map-dot.available:active{transform:scale(.96)}.map-dot.selected-flash{z-index:5;animation:.48s ease-out forwards mapDotSelect}.map-dot.boss{border-width:3px;border-color:#c06080}.map-dot.boss.available{border-color:var(--danger);box-shadow:0 0 0 3px #ff6b8a59}.map-dot-emoji{pointer-events:none;font-size:1.15em;line-height:1}.map-dot.boss .map-dot-emoji{font-size:1.25em}@keyframes mapDotPulse{0%,to{transform:scale(1);box-shadow:0 0 0 3px #7ee0c84d}50%{transform:scale(1.12);box-shadow:0 0 0 6px #7ee0c833}}@keyframes mapDotSelect{0%{transform:scale(1);box-shadow:0 0 #ffd76acc}40%{border-color:var(--accent);transform:scale(1.22);box-shadow:0 0 0 10px #ffd76a26}to{transform:scale(1.05);box-shadow:0 0 0 4px #ffd76a73}}.map-dot.kind-elite.available{border-color:#ff6b8a;animation-name:mapDotPulse;box-shadow:0 0 0 3px #ff6b8a59}.map-dot.kind-rest.available{border-color:#ffb060}.map-dot.kind-shop.available{border-color:#ffd76a}.map-dot.kind-treasure.available{border-color:#9ad4ff;box-shadow:0 0 0 3px #9ad4ff66}.map-dot.kind-unknown.available{border-color:#c9a6ff;box-shadow:0 0 0 3px #c9a6ff66}.map-legend{text-align:center;white-space:nowrap;max-width:none;margin:0;font-size:.95rem}.map-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 1.25rem;width:100%;margin:0;display:flex}.map-deck-btn{align-items:center;gap:.35rem;min-width:100px;min-height:56px;display:inline-flex}.map-deck-count{color:var(--accent);font-size:1.2rem;font-weight:900}.map-pick-tip{margin:0;font-size:1.15rem}.deck-viewer{border:2px solid var(--accent);z-index:5;background:#140c20eb;border-radius:18px;flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:420px;max-height:min(52vh,420px);margin:.5rem auto 0;padding:.75rem;display:flex;overflow-y:auto}.map-stage .map-deck-viewer{z-index:50;width:auto;max-width:none;max-height:none;margin:0;position:absolute;inset:8% 20% 12%}.deck-viewer-head{text-align:center}.deck-viewer-grid{flex-wrap:wrap;justify-content:center;gap:.45rem;width:100%;display:flex}.deck-viewer-card{pointer-events:none;width:88px;min-height:110px;position:relative;transform:scale(.92)}.deck-viewer-card .card-adult{display:none}.deck-count-badge{background:var(--accent);color:#1a1020;border-radius:999px;padding:.1rem .4rem;font-size:.85rem;font-weight:900;position:absolute;top:4px;right:4px}.act-clear-screen{text-align:center;gap:.75rem}.act-clear-screen .kid-stat{font-size:1.4rem}.combat-pile-row{justify-content:space-between;align-items:center;gap:.5rem;width:100%;max-width:420px;margin:.15rem auto;padding:0 .25rem;display:flex}.combat-pile{background:var(--panel);border:2px solid var(--panel-border);border-radius:16px;flex-direction:column;align-items:center;min-width:72px;padding:.35rem .5rem;display:flex;box-shadow:0 3px #0003}button.combat-pile-btn{cursor:pointer;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;transition:transform .12s,border-color .12s}button.combat-pile-btn:not(:disabled):hover{border-color:var(--accent2);filter:brightness(1.06)}button.combat-pile-btn:not(:disabled):active{transform:scale(.96)}button.combat-pile-btn:disabled{opacity:.7;cursor:default}.pile-viewer{max-height:min(46vh,380px);margin-top:.5rem}.shop-services{justify-content:center;gap:.5rem;width:100%;margin:.5rem 0;display:flex}.shop-remove-btn{min-width:160px}.shop-remove-dim{opacity:.75}.phrase-pack-panel{border:1px solid var(--panel-border);background:#140c208c;border-radius:14px;width:100%;max-width:420px;margin:.75rem auto 0;padding:.65rem .75rem}.phrase-pack-row{flex-wrap:wrap;justify-content:center;gap:.35rem;margin:.4rem 0;display:flex}.phrase-pack-chip{border:2px solid var(--panel-border);color:var(--muted);cursor:pointer;background:#2a1a40;border-radius:999px;padding:.25rem .65rem;font-size:.8rem;font-weight:700}.phrase-pack-chip.on{border-color:var(--accent2);color:var(--text);background:#2a3850}.phrase-pack-all{width:100%;margin-top:.25rem}.combat-pile-stack{font-size:1.75rem;line-height:1}.combat-pile-count{color:var(--accent);margin-top:.1rem;font-size:1.25rem;font-weight:900}.combat-pile-label{margin-top:.05rem;font-size:.7rem}.combat-turn{opacity:.85;text-align:center;font-size:.8rem}.pile-shuffle-pulse,.pile-deal-pulse{animation:.28s pilePulse}@keyframes pilePulse{0%{transform:scale(1)}40%{border-color:var(--accent2);transform:scale(1.1);box-shadow:0 0 0 3px #7ee0c859}to{transform:scale(1)}}.combat-screen.fx-playing .hand .card,.combat-screen.fx-playing .end-turn-btn{pointer-events:none}.combat-screen.fx-playing .hand .card:not(.hand-card-hidden){opacity:1}.hand .card.hand-card-hidden{pointer-events:none;transform:scale(.88);opacity:0!important}.hand .card.hand-card-land{animation:.2s ease-out handCardLand}@keyframes handCardLand{0%{filter:brightness(1.25);transform:scale(.9)}to{filter:none;transform:scale(1)}}.card-fly{z-index:300;pointer-events:none;opacity:1;will-change:transform;filter:drop-shadow(0 8px 14px #0006);box-sizing:border-box;transform-origin:50%;background:linear-gradient(160deg,#3a2860,#241438);border:2px solid #6a5090;border-radius:14px;flex-direction:column;width:120px;min-height:168px;margin:0;padding:6px;display:flex;position:fixed}.card-fly .card-desc-box{min-height:2.2em;padding:4px 6px}.card-fly .card-desc{font-size:.72rem}.card-fly .card-name{padding:2px 4px;font-size:.8rem}.card-fly.card-fly-draw{border-color:var(--accent2);box-shadow:0 0 0 2px #7ee0c840}.card-fly.card-fly-discard{border-color:#c9a0ff}.card-fly .card-adult{display:none}.card-fly .cost{width:28px;height:28px;font-size:.9rem}.card-fly .zhuyin{font-size:2rem;font-weight:900}.card-fly .card-emoji{font-size:1.35rem}.card-fly-back{border:2px solid var(--accent);background:linear-gradient(145deg,#4a3068,#2a1848);border-radius:12px;place-items:center;width:56px;height:72px;font-size:1.6rem;display:grid}.card-fly-fizzle{filter:grayscale(.45)drop-shadow(0 6px 10px #00000059);border-color:#888!important}.hand[data-hand]{min-height:120px}.block-pill.shield-clang{z-index:3;animation:.28s shieldClang;box-shadow:0 0 0 4px #9ad4ff73;border-color:#9ad4ff!important}.block-pill.shield-break{z-index:3;animation:.4s forwards shieldBreak}.block-pill.shield-spent{z-index:3;animation:.35s forwards shieldSpent}.block-pill.shield-gone,.block-pill.shield-empty{opacity:.55}@keyframes shieldClang{0%{transform:scale(1)}30%{filter:brightness(1.35);transform:scale(1.18)rotate(-4deg)}to{transform:scale(1)}}@keyframes shieldBreak{0%{filter:brightness(1.4);transform:scale(1.1)}40%{filter:brightness(1.6)saturate(.5);transform:scale(1.25)rotate(8deg)}to{opacity:.45;filter:grayscale(.4);transform:scale(.85)}}@keyframes shieldSpent{0%{transform:scale(1.08)}to{opacity:.5;transform:scale(1)}}.shield-chip{z-index:210;pointer-events:none;color:#9ad4ff;font-size:.85rem;animation:.42s ease-out forwards shieldChipFly;position:fixed;transform:translate(-50%,-50%)}@keyframes shieldChipFly{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--sx)), calc(-50% + var(--sy))) scale(.4)}}.strike-float{z-index:220;pointer-events:none;text-shadow:0 2px #00000059;font-size:1.35rem;font-weight:900;animation:.65s ease-out forwards strikeFloatUp;position:fixed;transform:translate(-50%,-100%)}.strike-float-block{color:#9ad4ff}.strike-float-hurt{color:#ff6b8a}@keyframes strikeFloatUp{0%{opacity:1;transform:translate(-50%,-80%)}to{opacity:0;transform:translate(-50%,-160%)}}.combat-screen{z-index:20;background:radial-gradient(ellipse at top, #3d2a5c 0%, var(--bg) 55%);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;width:100vw;max-width:none;height:100dvh;margin:0;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.combat-stage{transform-origin:50%;box-sizing:border-box;background:linear-gradient(#281c408c 0%,#0000 40%);flex-shrink:0;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;width:1920px;height:1080px;padding:20px 40px 16px;display:grid;position:relative;overflow:hidden}.enemy-row{background:var(--panel);border-radius:var(--radius);border:2px solid var(--panel-border);flex-flow:row;justify-content:center;align-items:stretch;gap:20px;min-height:0;max-height:100%;padding:10px 16px 12px;display:flex;position:relative;overflow:hidden}.enemy-slot{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:3px solid #0000;border-radius:16px;flex-direction:column;flex:1 1 0;align-items:center;gap:6px;min-width:180px;max-width:420px;padding:12px 16px;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.enemy-slot.enemy-dead{opacity:.4;cursor:default;filter:grayscale(.7);pointer-events:none}.enemy-slot.enemy-just-defeated{opacity:1;filter:none}.enemy-slot.enemy-hurt{box-shadow:inset 0 0 0 3px #ff788c73}.enemy-slot .enemy-emoji{font-size:4.2rem}.enemy-slot .bar{width:100%;max-width:220px}.enemy-status{color:#fff0a8;cursor:pointer;background:#422a5aeb;border:2px solid #f2c95c;border-radius:999px;min-height:40px;padding:4px 10px;font-size:.82rem;font-weight:950;line-height:1.2;box-shadow:0 0 14px #f4ca5a38}button.enemy-status{font-family:inherit}.enemy-status-help{color:#fff7d0;text-align:left;background:#140d20f5;border:1px solid #ffe0788c;border-radius:10px;width:min(260px,100%);padding:7px 10px;font-size:.75rem;line-height:1.35}.enemy-status.status-used{opacity:.58;filter:grayscale(.35)}.hero-combat-powers{flex-wrap:wrap;gap:5px;margin-top:5px;display:flex}.combat-power{color:#dfffe9;padding:3px 8px;font-size:.73rem}.combat-power.relic-ready{color:#fff0a8;border-color:#ffde7880}.combat-power.status-used{opacity:.62;filter:grayscale(.3)}.strike-float-bonus{color:#ffe779!important;text-shadow:0 2px #5b3700,0 0 14px #ffe15acc!important}.strike-float-energy{color:#bfffe3!important}.enemy-status-pop,.first-hit-pop,.energy-gain-pop{animation:.42s ease-out statusPop}@keyframes statusPop{0%{transform:scale(1)}45%{filter:brightness(1.35);transform:scale(1.09)}to{transform:scale(1)}}.enemy-defeat-burst{place-items:center;display:inline-grid;position:relative}.enemy-defeat-cloud{pointer-events:none;font-size:4.6rem;line-height:1;animation:.72s forwards enemyDefeatCloud;position:absolute}.enemy-poof{animation:.72s forwards enemyPoof}@keyframes enemyPoof{0%{opacity:1;transform:scale(1)rotate(0)}30%{filter:brightness(1.6);transform:scale(1.22)rotate(-10deg)}to{opacity:0;transform:scale(.15)rotate(18deg)}}@keyframes enemyDefeatCloud{0%{opacity:0;transform:scale(.35)translateY(8px)}40%{opacity:1;transform:scale(1.2)translateY(-6px)}to{opacity:0;transform:scale(1.55)translateY(-28px)}}.enemy-slot.drop-valid,.combat-mid.drop-valid,.enemy-row.drop-valid{outline-offset:4px;outline:2px dashed #7dffb38c}.enemy-slot.drop-hot,.combat-mid.drop-hot{transform:scale(1.04);box-shadow:0 0 0 4px #7dffb373;border-color:var(--ok)!important}.enemy-row.drop-hot{box-shadow:inset 0 0 0 3px #7dffb359}.enemy-slot.drop-dim{opacity:.35;filter:grayscale(.4)}.card-ghost-source{transform:scale(.92);opacity:.35!important}.card-drag-ghost{z-index:400;pointer-events:none;opacity:.95;filter:drop-shadow(0 12px 24px #00000073);will-change:transform;width:168px;min-height:236px;margin:0;position:fixed;top:0;left:0}.card-drag-ghost.card{cursor:grabbing}.combat-bottom-row{flex-direction:row;flex-shrink:0;justify-content:stretch;align-items:flex-end;gap:16px;width:100%;min-height:250px;padding:4px 0 0;display:flex}.combat-stage .hand{flex:auto;justify-content:center;align-items:flex-end;gap:14px;min-width:0;min-height:240px;padding:8px 8px 0;overflow:auto visible}.combat-stage .hand .card{border-width:3px;border-radius:18px;flex:0 0 168px;gap:6px;width:168px;height:236px;min-height:236px;max-height:236px;padding:10px 10px 12px}.combat-stage .hand .card .card-desc-box{height:76px;min-height:76px;max-height:76px;padding:8px 10px;overflow:hidden}.combat-stage .hand .card .card-desc{color:#fff8ff;font-size:1.02rem;font-weight:700;line-height:1.35}.combat-stage .hand .card-type-badge{font-size:1.45rem}.combat-stage .hand.hand-fan{gap:0;padding-left:12px}.combat-stage .hand.hand-fan .card{margin-left:-18px}.combat-stage .hand.hand-fan .card:first-child{margin-left:0}.combat-stage .hand.hand-fan-tight .card{margin-left:-28px}.combat-stage .hand.hand-fan-tight .card:first-child{margin-left:0}.combat-stage .hand.hand-fan .card:hover,.combat-stage .hand.hand-fan .card:focus-visible{z-index:6;transform:translateY(-12px)}.combat-stage .combat-mid{justify-content:center;gap:16px}.combat-stage .stat-pill{min-height:48px;padding:8px 14px;font-size:1.15rem}.combat-stage .orb{width:26px;height:26px}.combat-stage .end-turn-btn{width:140px;min-width:140px;height:236px;min-height:236px;box-shadow:var(--shadow);border-radius:18px;flex-direction:column;flex:none;justify-content:center;align-self:flex-end;align-items:center;margin:0;display:flex}.combat-stage .combat-log,.combat-stage .log{text-align:center;text-overflow:ellipsis;white-space:nowrap;opacity:.9;min-height:1.2em;max-height:1.4em;margin:0;padding:0 12px;overflow:hidden}.combat-stage .adult-coach,.combat-stage .adult-coach-float{z-index:45;order:unset;background:#241a38f0;max-width:min(420px,36vw);margin:0;position:absolute;top:12px;left:12px;box-shadow:0 8px 24px #0006}.combat-stage .adult-coach.collapsed{max-width:150px;padding:2px 8px}.combat-stage .adult-coach.collapsed .adult-coach-head{min-height:36px;padding:2px 0;font-size:.85rem}.combat-stage .adult-coach:not(.collapsed){max-height:42%;overflow-y:auto}.combat-stage .pile-viewer,.combat-stage .deck-viewer{z-index:50;position:absolute;inset:0}.cast-screen{z-index:30}.enemy-intent-stack{flex-flow:wrap;justify-content:center;align-items:stretch;gap:6px;width:100%;max-width:280px;margin-bottom:2px;display:flex}.combat-stage .intent{border:2px solid var(--panel-border);background:#2a2040;border-radius:12px;flex-direction:column;flex:100px;justify-content:center;align-items:center;gap:1px;min-height:0;padding:4px 10px;display:flex}.combat-stage .intent-now{border-width:2px;border-color:var(--accent);flex:55%;min-height:48px;box-shadow:0 0 0 2px #ffd76a2e}.combat-stage .intent-now .intent-total{font-size:1.35rem}.combat-stage .intent-next{opacity:.8;border-style:dashed;flex:40%;min-height:40px}.combat-stage .intent-next .intent-total{font-size:1rem;font-weight:800}.combat-stage .intent-badge{letter-spacing:.04em;opacity:.9;font-size:.65rem}.combat-stage .intent-urgent{animation:.9s ease-in-out infinite intentUrgentPulse;box-shadow:0 0 0 3px #ff6b8a66;border-color:var(--danger)!important}.combat-stage .intent-urgent-soft{border-color:#ff6b8a8c!important}.enemy-slot.enemy-intent-urgent{box-shadow:0 0 0 2px #ff6b8a59}@keyframes intentUrgentPulse{50%{box-shadow:0 0 0 5px #ff6b8a40}}.combat-turn-danger{font-weight:800;color:var(--danger)!important}.enemy-bars,.hero-bars{flex-direction:column;gap:5px;width:100%;max-width:280px;display:flex}.bar.shield-bar{background:#1a2a3a;border:2px solid #4a7a9a;border-radius:999px;height:12px;overflow:hidden}.bar.shield-bar>span{background:linear-gradient(90deg,#4a9ad4,#9ad4ff);border-radius:999px;height:100%;transition:width .2s;display:block}.bar.shield-bar.shield-bar-empty{opacity:.35;border-color:#3a4a5a}.bar.shield-bar.shield-bar-pulse{animation:.45s shieldBarPulse}@keyframes shieldBarPulse{0%{box-shadow:0 0 #9ad4ff99}50%{box-shadow:0 0 0 6px #9ad4ff40}to{box-shadow:0 0 #0000}}.enemy-slot.has-block{box-shadow:0 0 0 2px #9ad4ff59}.enemy-slot.enemy-guarding{animation:.4s enemyGuard}@keyframes enemyGuard{0%{transform:scale(1)}40%{transform:scale(1.06);box-shadow:0 0 0 4px #9ad4ff80}to{transform:scale(1)}}.hero-drop-zone{border:3px solid var(--panel-border);background:linear-gradient(#322850d9,#231c37e6);border-radius:20px;flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;gap:20px;width:100%;max-width:960px;min-height:112px;max-height:140px;margin:0 auto;padding:10px 28px;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex;position:relative}.hero-drop-zone.drop-valid{outline-offset:6px;border-color:var(--ok);outline:3px dashed #7dffb3a6}.hero-drop-zone.drop-hot{background:linear-gradient(#28463ce6,#1e3237f2);transform:scale(1.02);box-shadow:0 0 0 6px #7dffb366;border-color:var(--ok)!important}.hero-actor{filter:drop-shadow(0 6px 12px #00000059);-webkit-user-select:none;user-select:none;pointer-events:none;flex-shrink:0;font-size:4.2rem;line-height:1}.hero-vitals{flex-direction:column;flex:auto;gap:6px;min-width:240px;max-width:480px;display:flex}.hero-vital-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hero-bars .bar.hero{width:100%;max-width:none;height:14px}.hero-bars .bar.shield-bar{height:10px}.hero-drop-zone.block-pulse-zone{box-shadow:0 0 0 4px #9ad4ff59}.hero-drop-zone.hero-zone-hit{animation:.4s heroHitFlash}.combat-stage .hero-drop-zone .stat-pill{min-height:44px;font-size:1.1rem}.combat-stage .enemy-row{align-items:flex-start}.combat-stage .enemy-slot{gap:4px;min-width:160px;max-width:360px;padding:6px 10px}.combat-stage .combat-pile-row{flex-shrink:0;width:100%;max-width:720px;margin:0 auto}.combat-stage .kid-hp-num{font-size:1.05rem}.adult-coach.collapsed .adult-coach-body,.adult-coach.collapsed .adult-coach-early{display:none}html,body{width:100%;overflow-x:hidden}.global-controls{z-index:85;top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));gap:8px;display:flex;position:fixed}.global-control-btn{width:64px;min-width:64px;min-height:64px;color:var(--text);background:#2a1f3df0;border:2px solid #8a6bbb;place-items:center;padding:0;font-size:1.35rem;display:grid;box-shadow:0 5px 16px #00000059}#zhuyin-options-root{z-index:12000;position:fixed;inset:0}.options-backdrop{width:100%;height:100%;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:#090510c7;place-items:center;display:grid}.options-dialog{overscroll-behavior:contain;border:3px solid var(--accent);background:linear-gradient(160deg,#392753,#211632);border-radius:24px;width:min(860px,100%);max-height:100%;padding:clamp(16px,3vw,28px);scroll-padding-block:104px 24px;overflow-y:auto;box-shadow:0 18px 60px #0000008c}.options-head{z-index:2;background:#392753;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:8px;display:flex;position:sticky;top:0}.options-head p,.options-section p{margin:4px 0 0}.options-close{min-width:64px;padding:0}.options-section{border-top:1px solid #b8a8d459;margin-top:14px;padding-top:14px}.options-section h2{color:var(--accent);margin:0 0 10px;font-size:1.1rem}.option-choice-row,.options-pack-row{flex-wrap:wrap;gap:10px;display:flex}.option-choice{min-height:64px;color:var(--text);background:#302344;border:2px solid #73579d;flex:120px;scroll-margin-block:104px 24px}.option-choice.on{color:#17251f;background:var(--accent2);border-color:#c9fff2;box-shadow:0 0 0 3px #7ee0c840}.options-wide-btn{width:100%;margin-top:10px}.profile-choice-list{gap:8px;display:grid}.profile-choice-row{gap:8px;display:flex}.profile-choice{text-align:left}.profile-delete{flex:0 0 64px;min-width:64px;padding:0}.profile-create{grid-template-columns:minmax(150px,1fr) 76px minmax(120px,auto);gap:8px;margin-top:10px;display:grid}.profile-create input,.profile-create select,.curriculum-advanced textarea{min-height:64px;color:var(--text);font:inherit;background:#241a35;border:2px solid #73579d;border-radius:12px;padding:10px 12px}.profile-create select{font-size:1.5rem}.title-privacy-btn{color:var(--muted);text-underline-offset:.2em;background:0 0;border:0;min-height:48px;padding:.55rem 1rem;text-decoration:underline}#app .title-screen{padding-bottom:calc(max(8px, env(safe-area-inset-bottom)) + 1.5rem);position:relative}.title-version{color:var(--muted);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.75rem;line-height:1;position:absolute;bottom:4px;right:6px}.privacy-options-section:focus{outline:3px solid var(--accent);outline-offset:3px}.privacy-summary{line-height:1.55}.privacy-policy-link{justify-content:center;align-items:center;text-decoration:none;display:flex}.privacy-erase-btn{color:#ffd9dc;border-color:#bc5c64}.options-subheading{color:#eee3ff;font-weight:800}.option-wrap-row .option-choice{flex-basis:112px}.curriculum-ranges{gap:8px;display:grid}.curriculum-range{background:#140c2059;border-radius:12px;grid-template-columns:minmax(118px,auto) minmax(180px,1fr);align-items:center;gap:12px;min-height:54px;padding:4px 10px;font-weight:800;display:grid}.curriculum-range input{width:100%;min-height:44px;accent-color:var(--accent2)}.curriculum-advanced{border:1px solid #b8a8d459;border-radius:12px;margin-top:12px;padding:10px}.curriculum-advanced summary{cursor:pointer;min-height:48px;color:var(--accent);align-items:center;font-weight:800;display:flex}.curriculum-advanced textarea{resize:vertical;width:100%;min-height:84px;margin-top:8px}.curriculum-options .warn-banner{margin-top:10px}.mana-condition{color:#f6ecff;background:#271c3beb;border:2px solid #8c72b5;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;min-height:48px;padding:8px 14px;font-weight:900;display:flex}.mana-clear{border-color:#ffe08a}.mana-echoing{border-color:#8ed9ff}.mana-misty{border-color:#aaa2c3}.mana-focus{color:var(--accent2);border-left:1px solid;padding-left:8px;font-size:.9rem}.cast-choice-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:12px;width:min(560px,100%);display:grid}.cast-choice-key{width:100%;min-height:88px}.cast-choice-grid.cast-choice-lg{grid-template-columns:repeat(3,minmax(0,1fr))}.cast-choice-key.cast-choice-lg{min-height:96px;font-size:1.75rem}@media (width<=620px){.profile-create{grid-template-columns:1fr 76px}.profile-create button{grid-column:1/-1}.curriculum-range{grid-template-columns:1fr;gap:0}}.map-stage,.combat-stage{flex-shrink:1;width:100%;height:100%;transform:none!important}.map-stage{padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));gap:8px}.map-stage-top{padding-right:144px}.map-floor-progress{white-space:nowrap;font-size:.9rem}.map-panel{overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:20px;align-items:flex-start;width:min(1180px,100%);max-width:1180px;height:auto;min-height:0;overflow:hidden auto}.map-web{width:100%;height:max(760px,100dvh - 150px);min-height:760px;overflow:hidden}.map-edges{width:100%;height:100%;display:block}.map-dot{min-width:48px;min-height:48px;translate:-50% -50%}.map-edge{stroke:#796892;stroke-width:3px;opacity:.72;vector-effect:non-scaling-stroke}.map-edge.edge-dim{stroke:#9a86b9;opacity:.82}.map-dot.locked{opacity:.56;filter:grayscale(.18);background:#39284f;border-color:#806b9f}.combat-stage{padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr) auto;gap:6px}.tutorial-active .combat-stage{grid-template-rows:auto minmax(0,1fr) auto}.tutorial-guide{text-align:center;color:#fff;border:3px solid var(--accent);background:linear-gradient(#5a407d,#3c2a58);border-radius:18px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;min-height:64px;padding:10px 16px;display:flex;box-shadow:0 0 0 4px #ffd76a29}.tutorial-guide strong{color:var(--accent);font-size:1.12rem}.tutorial-guide span{font-size:1.05rem;font-weight:800}.tutorial-guide small{color:#bfffea;flex-basis:100%}.tutorial-active .combat-pile-row,.tutorial-active .adult-coach{opacity:.48;pointer-events:none}.tutorial-step-shield+.enemy-row .intent-now{outline:5px solid var(--accent);outline-offset:3px}.tutorial-focus{outline-offset:3px;z-index:8;opacity:1!important;outline:5px solid var(--accent2)!important;animation:.9s ease-in-out infinite tutorialFocus!important}@keyframes tutorialFocus{50%{filter:brightness(1.18);box-shadow:0 0 0 9px #7ee0c833}}.combat-stage .enemy-row{padding:6px 10px}.combat-stage .enemy-slot{min-width:120px}.combat-stage .enemy-slot .enemy-emoji{font-size:clamp(2.6rem,6vh,3.4rem)}.combat-stage .hero-drop-zone{min-height:82px;max-height:106px;padding:6px 18px}.combat-stage .hero-actor{font-size:3.2rem}.combat-bottom-row{--end-turn-lane:114px;width:100%;min-width:0;max-width:100%;min-height:180px;padding:0 var(--end-turn-lane);display:block;position:relative;overflow:hidden}.combat-stage .hand{box-sizing:border-box;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;justify-content:safe center;width:100%;max-width:none;min-height:180px;scroll-padding-inline:8px}.combat-stage .hand.hand-fan{padding-inline:12px}.combat-stage .hand .card{scroll-snap-align:center;flex-basis:128px;width:128px;min-height:180px;padding:7px}.combat-stage .hand .card .zhuyin{font-size:2.45rem}.combat-stage .hand .card .card-desc{font-size:.82rem}.combat-stage .end-turn-btn{width:104px;min-width:104px;height:180px;min-height:180px;position:absolute;bottom:0;right:0}@media (orientation:landscape){.combat-stage .enemy-row,.tutorial-guide{padding-right:154px}}.spell-reveal-overlay{pointer-events:auto}.spell-reveal-card{width:min(440px,90vw)}.spell-reveal-emoji,.spell-reveal-word{opacity:0;animation:.35s ease-out .5s forwards spellMeaningIn}.spell-reveal-symbol{opacity:0;animation:.28s cubic-bezier(.2,1.2,.4,1) forwards spellSymbolIn;animation-delay:calc(var(--symbol-index) * .11s + 80ms);display:inline-block;transform:translateY(12px)scale(.75)}.spell-reveal-correction .spell-reveal-card{border-color:#9ad4ff}.spell-reveal-continue{opacity:0;visibility:hidden;width:100%;margin-top:10px;transition:opacity .18s}.spell-reveal-overlay.can-continue .spell-reveal-continue{opacity:1;visibility:visible}@keyframes spellSymbolIn{to{opacity:1;transform:none}}@keyframes spellMeaningIn{to{opacity:1}}.enemy-shield-bar.shield-clang{animation:.28s shieldClang}.enemy-shield-bar.enemy-shield-crack{border-color:#d8ecff;box-shadow:0 0 0 3px #9ad4ff73}.enemy-shield-bar.enemy-shield-break{animation:.4s forwards shieldBreak}.enemy-shield-bar.enemy-shield-ring{position:relative;overflow:visible}.enemy-shield-ring:after{content:"";border:4px solid #bfe8ff;border-radius:999px;animation:.45s ease-out forwards shieldRing;position:absolute;inset:-10px}@keyframes shieldRing{to{opacity:0;transform:scale(1.55)}}[data-game-speed="2"] .map-dot.selected-flash,[data-game-speed="2"] .enemy-flinch,[data-game-speed="2"] .enemy-impact,[data-game-speed="2"] .enemy-poof,[data-game-speed="2"] .enemy-defeat-cloud,[data-game-speed="2"] .hero-hit,[data-game-speed="2"] .shield-clang,[data-game-speed="2"] .shield-break,[data-game-speed="2"] .hand-card-land,[data-game-speed="2"] .strike-float,[data-game-speed="2"] .shield-chip{animation-duration:.22s}[data-game-speed="2"] .enemy-poof,[data-game-speed="2"] .enemy-defeat-cloud{animation-duration:.36s}[data-game-speed="2"] .outcome-actor,[data-game-speed="2"] .outcome-poof,[data-game-speed="2"] .outcome-caption,[data-game-speed="2"] .burst-particle,[data-game-speed="2"] .confetti-piece{animation-duration:.5s!important}@media (orientation:portrait) and (width<=900px){.map-stage-top{padding-right:144px}.map-stage-hint,.map-legend{display:none}.map-web{height:980px}.map-panel{flex:auto}.combat-stage{padding-top:max(74px, calc(env(safe-area-inset-top) + 64px));padding-right:max(10px, env(safe-area-inset-right));grid-template-rows:auto minmax(0,1fr) auto}.tutorial-active .combat-stage{grid-template-rows:auto minmax(0,1fr) auto}.enemy-row{gap:6px}.combat-stage .enemy-slot{min-width:0;padding:4px}.combat-stage .intent-next,.combat-stage .enemy-name-adult,.combat-log{display:none}.combat-stage .hero-drop-zone{width:100%}.combat-stage .hand{scroll-snap-type:x mandatory;min-height:225px;padding-inline:8px}.combat-stage .hand.hand-fan .card,.combat-stage .hand.hand-fan-tight .card{margin-left:0}.combat-stage .hand .card{flex-basis:156px;width:156px;height:218px;min-height:218px;max-height:218px}.combat-stage .end-turn-btn{width:96px;min-width:96px;height:218px;min-height:218px}.combat-bottom-row{--end-turn-lane:106px}}@media (height<=760px) and (orientation:landscape){.combat-stage .enemy-name-adult,.combat-stage .intent-next,.combat-stage .combat-log{display:none}.combat-stage .hero-drop-zone{min-height:72px;max-height:84px}.combat-stage .hand .card{height:174px;min-height:174px;max-height:174px}}@media (prefers-reduced-motion:reduce){.shake,.enemy-flinch,.enemy-impact,.hero-hit,.hero-zone-hit{animation:none!important}.shield-chip,.enemy-shield-ring:after{display:none!important}.map-dot.available,.tutorial-focus{outline-width:5px!important;animation:none!important}}body.modal-open{overflow:hidden}.phone-global-control,.combat-action-energy,.map-phone-progress{display:none}.combat-action-bar{display:contents}.end-turn-label{display:none}.cast-header,.cast-layout,.cast-cue-pane,.cast-answer-pane{display:contents}#zhuyin-phone-menu-root,#zhuyin-deck-viewer-root{z-index:13000;position:fixed;inset:0}.phone-menu-backdrop,.deck-viewer-backdrop{width:100%;height:100%;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:#090510e0;place-items:center;display:grid}.phone-menu-dialog{border:3px solid var(--accent);background:linear-gradient(160deg,#392753,#211632);border-radius:22px;width:min(440px,100%);max-height:100%;padding:16px;overflow-y:auto;box-shadow:0 18px 60px #0009}.phone-menu-head{text-align:center}.phone-menu-head p,.phone-menu-label{text-align:center;margin:4px 0 8px}.phone-menu-resume{width:100%;min-height:72px;margin:8px 0 12px;font-size:1.35rem}.phone-menu-volume,.phone-menu-links{gap:8px;display:grid}.phone-menu-volume{grid-template-columns:repeat(3,1fr)}.phone-menu-volume-btn,.phone-menu-links button{min-height:64px;padding:8px}.phone-menu-volume-btn.on{color:#17251f;background:var(--accent2);border-color:#c9fff2}.phone-menu-links{margin-top:12px}#zhuyin-deck-viewer-root .map-deck-viewer{width:min(1180px,100%);max-width:1180px;max-height:100%;margin:0;position:relative;inset:auto}.designer-viewer{align-items:stretch;gap:10px;padding:14px;overflow:hidden}.designer-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.designer-tabs button,.designer-filters input,.designer-filters select{min-height:48px;color:var(--text);font:inherit;background:#2a1d3ef5;border:2px solid #d2beff66;border-radius:12px;font-weight:800}.designer-tabs button{cursor:pointer}.designer-tabs button.active{color:#1f1730;background:var(--accent);border-color:#fff0a8}.designer-filters{grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr));gap:8px;display:grid}.designer-filters input,.designer-filters select{width:100%;padding:7px 10px}.designer-result-count{text-align:right;margin:0}.designer-viewer-body{flex:auto;grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;display:grid;overflow:hidden}.designer-viewer>.deck-viewer-head,.designer-viewer>.designer-tabs,.designer-viewer>.designer-filters,.designer-viewer>.designer-result-count,.designer-viewer>.deck-viewer-close{flex:none}.designer-viewer-body.has-detail{grid-template-columns:minmax(360px,1.35fr) minmax(330px,1fr)}.deck-viewer-grid.designer-card-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-content:start;justify-items:center;gap:12px;padding:4px;display:grid;overflow-y:auto}.designer-card-entry{flex-direction:column;align-items:center;gap:4px;width:100%;min-width:0;display:flex}.designer-card-entry .deck-viewer-card{pointer-events:auto;width:136px;height:196px;min-height:196px;max-height:196px;padding:7px;transform:none}.designer-card-entry .deck-viewer-card.selected{outline:4px solid var(--accent);outline-offset:2px}.designer-card-entry .card-art{min-height:54px}.designer-card-entry .zhuyin{font-size:2.15rem}.designer-card-entry .card-emoji{font-size:1.25rem}.designer-card-entry .card-name{font-size:.9rem}.designer-card-entry .card-desc-box{height:62px;min-height:62px;max-height:62px;padding:4px;overflow:hidden}.designer-card-entry .card-desc{font-size:.68rem;line-height:1.15}.designer-card-entry .card-job{font-size:.56rem}.designer-card-identity{text-align:center;overflow-wrap:anywhere;width:100%;min-height:2.5em;font-size:.68rem;line-height:1.25}.designer-detail{background:#100a1cf5;border:2px solid #ffd76a80;border-radius:16px;min-height:0;padding:12px;overflow-y:auto}.designer-detail-title{color:#fff0a8;text-align:center;margin-bottom:10px;font-size:1.25rem;font-weight:950}.designer-meta-grid{grid-template-columns:minmax(88px,auto) minmax(0,1fr);gap:5px 10px;margin:0 0 12px;font-size:.82rem;display:grid}.designer-meta-grid dt{color:#cfc1e9;font-weight:800}.designer-meta-grid dd{overflow-wrap:anywhere;margin:0}.designer-effects,.designer-cues,.designer-balance-note{background:#ffffff0e;border-radius:10px;padding:9px}.designer-effects ol{margin:6px 0 0;padding-left:1.4rem;line-height:1.45}.designer-comparison{justify-content:center;align-items:center;gap:10px;margin:12px 0;display:flex}.designer-preview.card{cursor:default;width:132px;height:204px;min-height:204px;max-height:204px;padding:6px}.designer-preview .card-art{min-height:42px}.designer-preview .zhuyin{font-size:1.8rem}.designer-preview .card-emoji{display:none}.designer-preview .card-name{font-size:.78rem}.designer-preview .card-desc-box{height:62px;min-height:62px;max-height:62px;padding:3px;overflow:hidden}.designer-preview .card-desc{font-size:.64rem;line-height:1.15}.designer-preview-label{color:#fff0a8;font-size:.68rem;font-weight:900}.designer-upgrade-pending{text-align:center;max-width:160px}.designer-cue-list{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.designer-cue-list span{color:#f7f0ff;background:#785b9e6b;border-radius:999px;padding:4px 7px;font-size:.76rem}.deck-viewer-close{flex:none;width:100%;position:sticky;bottom:0}@media (width<=600px),(height<=500px) and (orientation:landscape){:root{--phone-gap:6px;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body,#app{width:100%;min-height:100dvh}#app{max-width:none;padding:max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left))}.desktop-global-control{display:none}.phone-global-control{display:grid}.global-controls{z-index:110;top:max(6px, env(safe-area-inset-top));right:max(6px, env(safe-area-inset-right))}.screen:not(.map-screen):not(.combat-screen):not(.cast-screen){min-height:calc(100dvh - max(12px, env(safe-area-inset-top)) - max(12px, env(safe-area-inset-bottom)));padding-top:70px;padding-bottom:max(8px, env(safe-area-inset-bottom));overscroll-behavior:contain;overflow-y:auto}.title-screen,.end-screen,.rest-screen,.event-screen,.relic-screen,.shop-screen,.remove-screen,.reward-screen,.act-clear-screen{justify-content:flex-start}.title-screen{gap:10px;padding-inline:4px}.title-screen .hero-preview{font-size:3.4rem}.title-zhuyin-row{font-size:1.6rem}.title-zhuyin-row span{width:2rem;height:2rem}.title-actions{gap:8px;margin-top:0}.title-actions .btn-kid-main{flex:84px;min-width:84px}.character-card{min-height:0;padding:14px}.character-emoji,.rest-fire,.end-emoji{font-size:3.6rem}.reward-cards,.shop-row{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;width:100%;padding:6px 12px 12px;scroll-padding-inline:12px;overflow-x:auto}.reward-cards .card,.shop-row .shop-card{scroll-snap-align:center;flex:0 0 132px;width:132px;height:192px;min-height:192px}.rest-choices,.event-choices,.relic-choices{max-width:none}.options-backdrop{padding:max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));place-items:stretch stretch}.options-dialog{border-radius:18px;width:100%;max-height:100%;padding:12px;scroll-padding-block:82px 84px}.options-head{align-items:center;padding-top:2px}.options-section{scroll-margin-top:82px}.option-choice-row,.options-pack-row{gap:7px}.option-choice{flex-basis:96px;padding:8px}.profile-create{grid-template-columns:minmax(0,1fr) 68px}.profile-create button{grid-column:1/-1}.curriculum-range{grid-template-columns:1fr;gap:0}.deck-viewer-backdrop{padding:max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));place-items:stretch stretch}#zhuyin-deck-viewer-root .map-deck-viewer,.map-stage .map-deck-viewer,.combat-stage .deck-viewer{border-radius:16px;width:auto;max-width:none;max-height:none;padding:8px;inset:4px}.deck-viewer-grid{align-content:flex-start;overflow-y:auto}.deck-viewer-card{width:104px;height:154px;min-height:154px}#zhuyin-debug-root{display:none}#zhuyin-debug-root.debug-phone-open{inset:max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));display:block}#zhuyin-debug-root.debug-phone-open .debug-panel{width:100%;max-height:100%}.map-stage{padding:max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));gap:4px}.map-stage-top{flex-flow:wrap;justify-content:center;align-items:center;gap:5px 4px;min-height:64px;padding-right:70px}.map-stage-top .map-status-bar{font-size:.92rem;display:contents}.map-stage-top .map-relic-badges{order:1;justify-content:center}.map-stage-top .kid-stat{padding:5px 8px}.map-stage-top .act-pill,.map-stage-title .map-act-title,.map-stage-title .map-floor-progress,.map-stage-hint,.map-legend{display:none}.map-phone-progress{white-space:nowrap;padding:5px 8px;font-size:.78rem;display:inline-flex}.map-stage-title{flex-wrap:nowrap;gap:4px}.map-panel{scrollbar-gutter:auto;-webkit-overflow-scrolling:touch;border-radius:14px;flex:auto;width:100%;overflow:auto}.map-web{border-radius:14px;width:100%;min-width:368px;height:920px;min-height:920px}.map-dot{min-width:48px;min-height:48px;width:48px!important;height:48px!important}.map-dot.boss{width:56px!important;height:56px!important}.map-stage-bottom{z-index:3;min-height:64px;position:relative}.map-actions{flex-wrap:nowrap;gap:6px;min-height:64px}.map-pick-tip{font-size:.95rem}.map-deck-btn{min-width:88px;min-height:64px}.map-stage .adult-coach{max-width:142px;top:6px;left:6px}.combat-stage .intent-next,.combat-stage .enemy-name-adult,.combat-stage .combat-log,.combat-stage .intent-multi-hint,.combat-stage .combat-pile-label{display:none}.combat-stage .enemy-row{align-items:stretch;gap:3px;padding:4px}.combat-stage .enemy-slot{gap:2px;min-width:0;max-width:none;min-height:48px;padding:3px}.combat-stage .enemy-slot:only-child{max-width:210px;margin-inline:auto}.combat-stage .enemy-slot .enemy-emoji{font-size:2.4rem}.combat-stage .intent-now{min-height:42px;padding:2px 5px}.combat-stage .intent-now .intent-total{font-size:1.05rem}.combat-stage .intent-badge{font-size:.55rem}.combat-stage .enemy-bars{gap:2px}.combat-stage .enemy-bars .bar{height:9px}.combat-stage .kid-hp-num{white-space:nowrap;font-size:.82rem}.combat-stage .enemy-status{padding:2px 4px;font-size:.62rem}.combat-stage .combat-pile-row{max-width:none;min-height:44px;margin:0;padding:0}.combat-stage .combat-pile{flex-direction:row;justify-content:center;gap:4px;min-width:56px;min-height:44px;padding:2px 5px}.combat-stage .combat-pile-stack{font-size:1.25rem}.combat-stage .combat-turn{text-align:center;font-size:.68rem}.combat-stage .hero-drop-zone{border-radius:14px;gap:8px;min-height:64px;max-height:70px;padding:4px 8px}.combat-stage .hero-actor{font-size:2.35rem}.combat-stage .hero-vitals{gap:3px;min-width:0;max-width:none}.combat-stage .hero-vital-row{flex-wrap:nowrap;gap:5px}.combat-stage .hero-drop-zone .stat-pill{min-height:32px;padding:3px 7px;font-size:.86rem}.combat-stage .hero-energy,.combat-stage .hero-combat-powers{display:none}.combat-stage .hero-bars{gap:2px}.combat-stage .hero-bars .bar.hero{height:10px}.combat-bottom-row{flex-direction:column;align-self:stretch;gap:4px;width:100%;min-width:0;height:250px;min-height:250px;padding:0;display:flex;overflow:hidden}.combat-action-bar{flex:0 0 64px;order:-1;grid-template-columns:minmax(94px,auto) minmax(0,1fr);gap:6px;width:100%;display:grid}.combat-action-energy{min-height:64px;color:var(--accent);background:#2a1f3df5;border:2px solid #8a6bbb;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:1.2rem;display:flex}.combat-stage .end-turn-btn{border-radius:14px;flex-direction:row;align-self:stretch;gap:8px;width:100%;min-width:0;height:64px;min-height:64px;padding:4px 10px;position:static}.combat-stage .end-turn-btn .btn-emoji{font-size:1.8rem}.end-turn-label{font-size:1rem;display:inline}.combat-stage .hand,.combat-stage .hand.hand-fan{scroll-snap-type:x mandatory;touch-action:pan-x;flex:0 0 182px;justify-content:flex-start;align-items:stretch;gap:10px;width:100%;min-width:0;height:182px;min-height:182px;margin:0;padding:3px 12px 5px;scroll-padding-inline:12px;overflow:auto hidden}.combat-stage .hand.hand-fan .card,.combat-stage .hand.hand-fan-tight .card,.combat-stage .hand .card{scroll-snap-align:center;touch-action:pan-x;flex:0 0 128px;gap:2px;width:128px;height:174px;min-height:174px;margin-left:0;padding:6px}.combat-stage .hand .card .card-top{min-height:28px}.combat-stage .hand .card .cost{width:30px;height:30px;font-size:.95rem}.combat-stage .hand .card .card-art{min-height:46px;padding:0}.combat-stage .hand .card .zhuyin{margin:0;font-size:2.1rem}.combat-stage .hand .card .card-emoji{font-size:1.2rem}.combat-stage .hand .card .card-name{padding:2px 4px;font-size:.8rem}.combat-stage .hand .card .card-desc-box{gap:1px;min-height:48px;padding:3px 4px;overflow:hidden}.combat-stage .hand .card .card-job{font-size:.55rem}.combat-stage .hand .card .card-desc{font-size:.68rem;line-height:1.18}.card-drag-ghost{width:128px;min-height:174px}.combat-stage .adult-coach,.combat-stage .adult-coach-float{top:max(6px, env(safe-area-inset-top));left:max(6px, env(safe-area-inset-left));max-width:142px}.combat-stage .adult-coach.collapsed{max-width:142px}.tutorial-guide{border-width:2px;border-radius:13px;gap:2px 7px;min-height:52px;padding:6px 9px}.tutorial-guide strong,.tutorial-guide span{font-size:.82rem}.tutorial-guide small{font-size:.68rem}.cast-screen{max-width:none;min-height:100dvh;padding:72px max(6px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));overscroll-behavior:contain;justify-content:flex-start;gap:8px;overflow-y:auto}.cast-screen .mana-condition{border-radius:14px;width:100%;min-height:44px;padding:5px 8px;font-size:.82rem}.cast-screen .cue-box{border-radius:18px;width:100%;min-width:0;padding:8px 12px}.cast-screen .cue-emoji{font-size:3rem}.cast-screen .cue-word{margin-top:2px;font-size:2rem}.cast-screen .cast-kid-prompt{margin-top:3px;font-size:1.1rem}.cast-screen .adult-coach{width:100%;max-width:none;max-height:none;padding:5px 9px}.cast-screen .adult-coach-head{min-height:40px}.cast-screen .spell-slots{gap:6px;min-height:64px}.cast-screen .spell-slot{border-width:3px;border-radius:12px;width:56px;height:64px;font-size:2rem}.cast-screen .spell-bank-wrap{gap:5px}.cast-screen .spell-bank{gap:6px}.cast-screen .spell-key{min-width:64px;min-height:64px;font-size:1.8rem}.cast-screen .spell-controls{gap:6px;width:100%;max-width:none}.cast-screen .spell-ctrl,.cast-screen .hint-btn,.cast-screen .practice-leave-btn{min-height:64px}.cast-screen .replay-btn-big{width:100%;max-width:none;min-height:64px}.spell-reveal-card{width:min(360px,100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}}@media (width<=600px) and (orientation:portrait){.combat-stage{padding:max(70px, calc(env(safe-area-inset-top) + 68px)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr) auto;gap:4px}.tutorial-active .combat-stage{grid-template-rows:auto minmax(0,1fr) auto}.combat-stage .combat-log{height:0;min-height:0;padding:0}.combat-stage .hand{height:182px}}@media (height<=500px) and (orientation:landscape){#app{padding:0}.screen:not(.map-screen):not(.combat-screen):not(.cast-screen){padding:max(6px, env(safe-area-inset-top)) 76px max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left))}.combat-stage{padding:max(4px, env(safe-area-inset-top)) max(4px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));grid-template-rows:auto minmax(92px,1fr) 44px 66px;grid-template-columns:minmax(0,58%) minmax(240px,42%);gap:4px}.combat-stage>.enemy-row{grid-area:1/1/3}.tutorial-active .combat-stage>.tutorial-guide{grid-area:1/1}.tutorial-active .combat-stage>.enemy-row{grid-area:2/1}.combat-stage>.combat-pile-row{grid-area:3/1}.combat-stage>.hero-drop-zone{grid-area:4/1}.combat-stage>.combat-log{display:none}.combat-stage>.combat-bottom-row{grid-area:1/2/5;height:100%;min-height:0;padding-top:68px}.combat-stage .hand{height:182px;padding-inline:8px;scroll-padding-inline:8px}.combat-stage .adult-coach,.combat-stage .adult-coach-float{top:4px;left:4px}.map-stage-top{min-height:60px}.map-web{height:760px;min-height:760px}.map-stage-bottom,.map-deck-btn,.map-actions{min-height:58px}.cast-screen{padding:max(5px, env(safe-area-inset-top)) max(74px, calc(env(safe-area-inset-right) + 70px)) max(5px, env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(190px,38%) minmax(0,1fr);align-items:stretch;gap:6px;display:grid;overflow:hidden}.cast-header{grid-column:1/-1;display:block}.cast-header .practice-hud,.cast-header .warn-banner{margin:0 auto 3px}.cast-layout{grid-column:1/-1;grid-template-columns:minmax(190px,38%) minmax(0,1fr);gap:6px;min-height:0;display:grid}.cast-cue-pane,.cast-answer-pane{overscroll-behavior:contain;flex-direction:column;align-items:center;gap:5px;min-width:0;min-height:0;display:flex;overflow-y:auto}.cast-screen .mana-condition{min-height:40px}.cast-screen .cue-box{flex:auto;align-content:center;padding:5px 8px;display:grid}.cast-screen .cue-emoji{font-size:2.7rem}.cast-screen .cue-word{font-size:1.6rem}.cast-screen .replay-btn-big{flex:0 0 58px;min-height:58px}.cast-screen .adult-coach{flex:none}.cast-screen .spell-slots{flex:0 0 56px;min-height:56px}.cast-screen .spell-slot{width:48px;height:56px;font-size:1.6rem}.cast-screen .spell-key{min-width:58px;min-height:58px;font-size:1.55rem}.cast-screen .spell-ctrl,.cast-screen .hint-btn,.cast-screen .practice-leave-btn{min-height:58px}.options-dialog,.phone-menu-dialog{max-width:620px}}@media (width<=340px){.map-web{min-width:368px}.phone-menu-volume{grid-template-columns:1fr}.combat-stage .hand.hand-fan .card,.combat-stage .hand.hand-fan-tight .card,.combat-stage .hand .card{flex-basis:122px;width:122px}}@media (width<=800px){.designer-viewer{padding:8px}.designer-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.designer-filters input{grid-column:1/-1}.designer-viewer-body,.designer-viewer-body.has-detail{grid-template-columns:minmax(0,1fr);overflow-y:auto}.deck-viewer-grid.designer-card-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));overflow:visible}.designer-card-entry .deck-viewer-card{width:110px;height:164px;min-height:164px;max-height:164px;padding:5px}.designer-card-entry .card-top{min-height:26px}.designer-card-entry .cost{width:27px;height:27px;font-size:.85rem}.designer-card-entry .card-art{min-height:38px;padding:0}.designer-card-entry .zhuyin{font-size:1.7rem}.designer-card-entry .card-emoji{display:none}.designer-card-entry .card-name{padding:2px;font-size:.72rem}.designer-card-entry .card-desc-box{height:52px;min-height:52px;max-height:52px;padding:2px}.designer-card-entry .card-desc{font-size:.56rem}.designer-card-entry .card-job,.designer-card-entry .card-damage-preview{display:none}.designer-detail{order:-1;overflow:visible}}@media (height<=500px) and (orientation:landscape){.designer-viewer{gap:4px;padding:4px 8px}.designer-viewer .deck-viewer-head .kid-prompt{font-size:1rem}.designer-viewer .deck-viewer-head .adult-text,.designer-result-count{display:none}.designer-tabs button,.designer-filters input,.designer-filters select{min-height:38px;padding:3px 6px;font-size:.72rem}.designer-filters{grid-template-columns:minmax(150px,2fr) repeat(3,minmax(90px,1fr));gap:4px}.designer-filters input{grid-column:auto}.designer-viewer-body,.designer-viewer-body.has-detail{min-height:0;overflow-y:auto}.designer-viewer .deck-viewer-close{height:44px;min-height:44px}}.character-progress,.character-progress-unreleased{background:#0a081959;border:1px solid #9ad4ff73;border-radius:14px;width:min(100%,520px);padding:10px 14px}.character-progress>div{justify-content:space-between;gap:10px;display:flex}.character-progress progress{width:100%;height:14px;accent-color:var(--accent2)}.character-progress small,.profile-character-progress-item small{color:var(--muted);line-height:1.4;display:block}.card-upgrade-badge{z-index:4;color:#ecffd9;background:#267a36;border:2px solid #b9ff83;border-radius:999px;place-items:center;min-width:1.6rem;min-height:1.6rem;font-weight:900;display:grid;position:absolute;top:.3rem;right:.35rem}.card.power{background:linear-gradient(160deg,#43245f,#241a45);border-color:#d8a7ff}.smith-screen{overflow:auto}.smith-cards{align-items:flex-start}.smith-preview{background:#10231ee8;border:2px solid #76d585;border-radius:1rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;max-width:52rem;margin:1rem auto;padding:1rem;display:flex}.smith-preview .card-desc,.smith-preview .card-upgrade-badge{color:#b9ff83}@media (width<=600px),(height<=500px) and (orientation:landscape){html[data-screen=shop],html[data-screen=shop] body{height:100dvh;max-height:100dvh;overflow:hidden}html[data-screen=shop] #app{height:100dvh;min-height:0;max-height:100dvh;padding:0;overflow:hidden}html[data-screen=shop] #app>.screen.shop-screen:not(.map-screen):not(.combat-screen):not(.cast-screen){box-sizing:border-box;grid-template:"coach prompt status""stock stock stock""offers offers offers"minmax(0,1fr)"actions actions actions"/auto auto minmax(0,1fr);align-content:stretch;align-items:center;gap:4px;width:auto;height:auto;min-height:0;max-height:none;margin:0;padding:4px 8px;display:grid;position:absolute;inset:0;overflow:hidden}.shop-screen .adult-coach{width:max-content;max-width:100%;box-shadow:none;background:0 0;border:0;order:0;grid-area:coach;margin:0;padding:0}.shop-screen .adult-coach-head{white-space:nowrap;background:#261630eb;border:2px dashed #ffde8eb8;border-radius:12px;height:44px;min-height:44px;padding:0 8px;font-size:.85rem}.shop-screen .adult-coach:not(.collapsed){z-index:6;background:linear-gradient(140deg,#542f5dfa,#261630fa);border:2px dashed #ffde8eb8;border-radius:14px;place-self:start;width:min(340px,100vw - 96px);min-width:min(220px,100vw - 96px);max-width:min(340px,100vw - 96px);padding:4px 8px 8px;position:absolute;top:4px;left:8px;box-shadow:0 12px 24px #00000059}.shop-screen .adult-coach:not(.collapsed) .adult-coach-head{background:0 0;border:0;width:100%}.shop-screen .kid-prompt{text-align:left;grid-area:prompt;margin:0;font-size:1.15rem}.shop-screen .kid-status{grid-area:status;justify-content:flex-start;gap:8px;min-width:0}.shop-screen .kid-stat{padding:4px 10px;font-size:1.05rem}.shop-screen .shop-stock{flex-wrap:wrap;grid-area:stock;justify-content:center;align-items:center;gap:8px;width:100%;min-width:0;min-height:0;display:flex}.shop-screen .shop-stock .potion-belt,.shop-screen .shop-stock .shop-potion-row{justify-content:center;width:auto;max-width:100%;margin:0}.shop-screen .shop-stock .shop-potion-row:empty{display:none}.shop-screen .shop-potion-button{white-space:normal;flex:9rem;min-width:44px;max-width:16rem;min-height:44px;padding:6px 10px;line-height:1.2}.shop-screen .shop-row{scroll-snap-type:none;flex-wrap:nowrap;grid-area:offers;justify-content:center;align-self:stretch;align-items:stretch;gap:8px;width:100%;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}.shop-screen .shop-row .shop-card{scroll-snap-align:unset;flex:1 1 0;gap:2px;width:auto;min-width:44px;max-width:240px;height:100%;min-height:0;max-height:100%;padding:6px;overflow:hidden}.shop-screen .shop-card .card-top,.shop-screen .shop-card .card-name,.shop-screen .shop-card .card-desc-box,.shop-screen .shop-price{flex:none}.shop-screen .shop-card .card-top{min-height:0}.shop-screen .shop-card .cost{width:28px;height:28px;font-size:.95rem}.shop-screen .shop-card .card-art{flex:1 1 0;min-height:0;padding:0;overflow:hidden}.shop-screen .shop-card .card-emoji{display:none}.shop-screen .shop-card .zhuyin{font-size:clamp(1.7rem,11vh,2.8rem);line-height:1}.shop-screen .shop-card .card-name{padding:2px 4px;font-size:.82rem}.shop-screen .shop-card .card-desc-box{gap:2px;min-height:0;margin-top:0;padding:3px 4px}.shop-screen .shop-card .card-job{font-size:.62rem}.shop-screen .shop-card .card-desc{overflow-wrap:anywhere;font-size:.72rem;line-height:1.25}.shop-screen .shop-price{margin-top:2px;font-size:1rem;line-height:1.2}.shop-screen .shop-services{flex-wrap:nowrap;grid-area:actions;align-self:stretch;align-items:stretch;gap:8px;width:100%;margin:0}.shop-screen .shop-remove-btn,.shop-screen .shop-services .btn-kid-main{flex:auto;width:auto;min-width:44px;height:48px;min-height:48px;padding:0 12px}.shop-screen .shop-services .btn-emoji{font-size:1.35rem}}@media (width<=600px) and (orientation:portrait){html[data-screen=shop] #app>.screen.shop-screen:not(.map-screen):not(.combat-screen):not(.cast-screen){grid-template:"coach prompt""status status""stock stock""offers offers"minmax(0,1fr)"actions actions"/minmax(0,auto) minmax(0,1fr);padding:74px 8px 6px}.shop-screen .kid-prompt{text-align:center;justify-self:center}.shop-screen .kid-status{justify-content:center}}@media (height<=500px) and (orientation:landscape) and (width<=760px){html[data-screen=shop] #app>.screen.shop-screen:not(.map-screen):not(.combat-screen):not(.cast-screen){grid-template-rows:68px auto minmax(0,1fr) 48px;padding:4px 8px}}@media (height<=500px) and (orientation:landscape) and (width>=761px){html[data-screen=shop] #app>.screen.shop-screen:not(.map-screen):not(.combat-screen):not(.cast-screen){grid-template-rows:48px auto minmax(0,1fr) 48px;padding:6px 150px 6px 10px}}@media (width>=601px) and (height>=501px){html[data-screen=shop],html[data-screen=shop] body,html[data-screen=shop] #app{height:100dvh;max-height:100dvh;overflow:hidden}html[data-screen=shop] #app>.shop-screen{box-sizing:border-box;flex:auto;grid-template:"coach""prompt""status""stock""offers"minmax(0,1fr)"actions"/minmax(0,1fr);align-content:stretch;place-items:stretch center;gap:8px;height:100%;min-height:0;max-height:100%;display:grid;overflow:hidden}.shop-screen .adult-coach{grid-area:coach}.shop-screen .adult-coach-head{min-height:44px}.shop-screen .kid-prompt{grid-area:prompt}.shop-screen .kid-status{grid-area:status}.shop-screen .shop-stock{flex-wrap:wrap;grid-area:stock;justify-content:center;align-items:center;gap:8px;width:min(100%,720px);min-width:0;display:flex}.shop-screen .shop-stock .potion-belt,.shop-screen .shop-stock .shop-potion-row{justify-content:center;width:auto;margin:0}.shop-screen .shop-stock .shop-potion-row:empty{display:none}.shop-screen .shop-row{flex:auto;grid-area:offers;justify-content:center;align-self:stretch;width:100%;height:100%;min-height:0;max-height:none;overflow:hidden}.shop-screen .shop-services{grid-area:actions;margin:0}.shop-screen .shop-row .shop-card{flex:1 1 0;width:auto;min-width:44px;max-width:220px;height:100%;min-height:0;max-height:100%;overflow:hidden}.shop-screen .shop-card .card-art{flex:1 1 0;min-height:0;overflow:hidden}.shop-screen .shop-card .card-desc{font-size:.82rem;line-height:1.3}.shop-screen .shop-card .card-top,.shop-screen .shop-card .card-name,.shop-screen .shop-card .card-desc-box,.shop-screen .shop-price{flex-shrink:0}}@media (width>=601px) and (height>=501px) and (height<=800px){html[data-screen=shop] #app>.shop-screen{grid-template:"coach prompt status""stock stock stock""offers offers offers"minmax(0,1fr)"actions actions actions"/auto auto minmax(0,1fr);justify-items:center;padding-top:72px;padding-bottom:16px}.shop-screen .kid-status{justify-self:start}}.smith-arrow{font-size:2rem}:root{--toy-plum-950:#160c22;--toy-plum-900:#241331;--toy-plum-800:#382047;--toy-plum-700:#573568;--toy-cream:#fff7e5;--toy-paper:#f6e4c0;--toy-paper-deep:#e7c98f;--toy-ink:#3b2644;--toy-walnut:#5a301f;--toy-walnut-dark:#2d1714;--toy-brass:#e4b84c;--toy-brass-light:#ffe494;--toy-jade:#76caa4;--toy-coral:#e86f6f;--toy-blue:#75b9d4;--toy-scene-tint:#1e0f274d;--toy-panel:#2f193ae6;--toy-panel-soft:#3e2248c2;--toy-panel-border:#ffde8dc2;--toy-raised-shadow:0 6px 0 var(--toy-walnut-dark), 0 13px 24px #0c051261;--toy-paper-shadow:0 5px 0 #4c281bf2, 0 12px 24px #0e061257;--toy-inset:inset 0 2px 0 #ffffff52, inset 0 -3px 0 #31121633;--bg:var(--toy-plum-950);--bg2:var(--toy-plum-800);--panel:var(--toy-panel);--panel-border:var(--toy-panel-border);--text:var(--toy-cream);--muted:#d8c7df;--accent:var(--toy-brass-light);--accent2:var(--toy-jade);--danger:#ff8585;--ok:#89e3ad;--shadow:var(--toy-raised-shadow);--radius:18px}#app[data-visual-theme=garden]{--toy-theme:#73be92;--toy-theme-deep:#285844;--toy-theme-glow:#80e2a052;--toy-scene-position:center 47%}#app[data-visual-theme=library]{--toy-theme:#edbb59;--toy-theme-deep:#744629;--toy-theme-glow:#ffc4574d;--toy-scene-position:center 45%}#app[data-visual-theme=observatory]{--toy-theme:#82b9ee;--toy-theme-deep:#294b83;--toy-theme-glow:#70aeff57;--toy-scene-position:center 38%}#app[data-visual-theme=heart]{--toy-theme:#b9a5f0;--toy-theme-deep:#3b2d78;--toy-theme-glow:#bea6ff57;--toy-scene-position:center 40%}#app[data-visual-theme=foyer]{--toy-theme:#d5aee8;--toy-theme-deep:#623d72;--toy-theme-glow:#d7a9eb4d;--toy-scene-position:center}html,body{background:radial-gradient(circle at 50% -10%, #68416c 0, transparent 40%), linear-gradient(180deg, #271431, var(--toy-plum-950))}body{color:var(--toy-cream)}#app{background:linear-gradient(90deg, #ffffff06, transparent 18% 82%, #00000021), var(--toy-plum-900);border-inline:12px solid var(--toy-walnut);width:min(100%,1024px);max-width:1024px;box-shadow:0 0 0 3px var(--toy-brass), 0 0 0 8px var(--toy-walnut-dark), 0 24px 80px #0000008c}#app:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(180deg, #190a2033, var(--toy-scene-tint)), var(--scene-image);background-size:cover;background-position:var(--toy-scene-position);filter:saturate(.92)contrast(1.03);position:absolute;inset:0}#app[data-visual-theme=foyer]:before{background-image:linear-gradient(180deg, #190a201f, #190a2061), var(--scene-image), radial-gradient(circle at 50% 30%, #7a4e8e9e, transparent 36%), radial-gradient(circle at 16% 84%, #e86f6f2b, transparent 24%), radial-gradient(circle at 84% 76%, #76caa429, transparent 26%), repeating-linear-gradient(90deg, #ffffff05 0 2px, transparent 2px 13px), linear-gradient(155deg, #3a2047, #1b1027 72%);background-size:cover;background-position:var(--toy-scene-position)}#app>.screen{z-index:1}.act-ambience{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.act-ambience-particle{opacity:0;width:10px;height:7px;animation:12s linear infinite garden-ambience;animation-delay:calc(var(--particle-index) * -2.15s);background:#f2a8b2;border-radius:70% 20%;display:block;position:absolute;top:-8%;left:12%;box-shadow:0 0 8px #ffd8808a}.act-ambience-particle:nth-child(2){left:29%}.act-ambience-particle:nth-child(3){left:47%}.act-ambience-particle:nth-child(4){left:68%}.act-ambience-particle:nth-child(5){left:86%}.act-ambience-particle:nth-child(6){left:56%}.act-ambience-library .act-ambience-particle{background:#ffe5a9c7;border-radius:50%;width:5px;height:5px;animation-name:library-ambience;animation-duration:15s}.act-ambience-library .act-ambience-particle:nth-child(3){background:#edd296b8;border-radius:2px 8px;width:12px;height:8px}.act-ambience-observatory .act-ambience-particle{background:#fff2b6;border-radius:50%;width:4px;height:4px;animation-name:observatory-ambience;animation-duration:7s;top:18%;box-shadow:0 0 5px 2px #ffe791cc}@keyframes garden-ambience{0%{opacity:0;transform:translateY(-4vh)rotate(0)}12%,70%{opacity:.64}to{opacity:0;transform:translate(8vw,112vh)rotate(340deg)}}@keyframes library-ambience{0%{opacity:0;transform:translateY(102vh)rotate(0)}20%,72%{opacity:.52}to{opacity:0;transform:translate(5vw,-12vh)rotate(90deg)}}@keyframes observatory-ambience{0%,to{opacity:.12;transform:rotate(0)translate(0)scale(.7)}50%{opacity:.9;transform:rotate(180deg)translate(10px)scale(1.5)}}#app>.screen:not(.map-screen):not(.combat-screen){position:relative}#app>.screen:not(.map-screen):not(.combat-screen):not(.cast-screen):before{content:"";left:max(28px,50vw - 472px);bottom:max(18px, env(safe-area-inset-bottom));aspect-ratio:1;z-index:-1;pointer-events:none;background:var(--theme-prop-image) center / contain no-repeat;opacity:.7;filter:drop-shadow(0 10px 9px #00000061);width:clamp(74px,12vw,138px);position:fixed}.art-image{place-items:center;line-height:1;display:inline-grid;position:relative}.art-image>*{grid-area:1/1}.art-image img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .16s;display:block}.art-image-fallback,.art-image.is-loaded img{opacity:1}.art-image.is-loaded .art-image-fallback{opacity:0}.art-image.is-error img{display:none}.tower-progress{top:max(86px, calc(env(safe-area-inset-top) + 82px));right:max(17px, env(safe-area-inset-right));z-index:82;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1f0f24cc;border:2px solid #ffe297b3;border-radius:999px;flex-direction:column-reverse;gap:6px;padding:7px 6px;display:flex;position:fixed;box-shadow:inset 0 0 0 2px #532c20e0,0 7px 16px #00000052}.tower-progress-floor{filter:grayscale(.8);opacity:.55;background:#321d3d;border:2px solid #785c70;border-radius:50%;place-items:center;width:34px;height:34px;font-size:1rem;display:grid;box-shadow:inset 0 -2px #0000004d}.tower-progress-floor.is-complete{border-color:var(--toy-jade);filter:none;opacity:.8}.tower-progress-floor.is-current{border-color:var(--toy-brass-light);color:var(--toy-ink);background:var(--toy-paper);filter:none;opacity:1;box-shadow:0 0 0 3px var(--toy-theme-glow), inset 0 -2px 0 var(--toy-paper-deep);transform:scale(1.08)}button{box-shadow:var(--toy-raised-shadow);border:2px solid #ffe1978f}button:focus-visible,[role=button]:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:4px;outline:4px solid #fff3a5}button:active:not(:disabled){box-shadow:0 2px 0 var(--toy-walnut-dark), 0 7px 14px #0c05124d;transform:translateY(3px)scale(.99)}.btn-primary{color:#3d261b;box-shadow:var(--toy-raised-shadow), var(--toy-inset);background:linear-gradient(#ffffff6b,#0000 42%),linear-gradient(#ffe489,#d99a2f);border-color:#fff0aa}.btn-secondary{color:var(--toy-cream);box-shadow:var(--toy-raised-shadow), var(--toy-inset);background:linear-gradient(#ffffff17,#0000 44%),linear-gradient(#654174,#3b244b);border-color:#ffe197a3}.btn-danger{background:linear-gradient(#ff9890,#c64f5d);border-color:#ffc0b3}.global-control-btn{color:var(--toy-cream);border:2px solid var(--toy-brass);box-shadow:0 4px 0 var(--toy-walnut-dark), 0 8px 18px #00000057;background:linear-gradient(#ffffff1a,#0000),#3a2247}.kid-prompt,.map-act-title,.options-section h2{color:var(--toy-brass-light);text-shadow:0 2px #371a22cc}.kid-stat,.mana-condition,.stat-pill{background:linear-gradient(#ffffff14,#0000),#2c1937eb;border-color:#ffe08ead;box-shadow:inset 0 1px #ffffff1f,0 3px #241017c7}.adult-text{color:#dfd0e4}.adult-coach{color:var(--toy-cream);background:linear-gradient(140deg,#542f5df5,#261630f7);border:2px dashed #ffde8eb8;box-shadow:0 5px #2b141beb,0 12px 24px #00000045}.adult-coach-head{box-shadow:none;border:0;transition:none}.adult-coach-head:active:not(:disabled){box-shadow:none;transform:none}.flash{border:3px solid var(--toy-brass-light);color:var(--toy-brass-light);box-shadow:var(--toy-raised-shadow);background:#301939f5}.title-screen{width:min(100%,760px);padding:28px 72px}.hero-preview{width:clamp(160px,27vw,250px);height:clamp(160px,27vw,250px);margin-bottom:-18px;font-size:4.5rem}.title-hero-art,.character-hero-art{filter:drop-shadow(0 13px 12px #0000006b);width:100%;height:100%}.title-zhuyin-row{gap:9px;font-size:clamp(1.8rem,4vw,2.6rem)}.title-zhuyin-row span{width:1.55em;height:1.55em;color:var(--toy-ink);border:3px solid var(--toy-brass);box-shadow:0 5px 0 var(--toy-walnut-dark), inset 0 2px 0 #fff;text-shadow:none;transform:rotate(var(--tile-turn,0deg));background:linear-gradient(155deg,#fff9e8,#e9ce9c);border-radius:12px}.title-zhuyin-row span:nth-child(2),.title-zhuyin-row span:nth-child(5){--tile-turn:2deg}.title-zhuyin-row span:nth-child(3){--tile-turn:-3deg}.profile-title-button{color:var(--toy-cream);border-color:var(--toy-brass);background:#361d41f0}.title-privacy-btn{box-shadow:none;color:#e2d4e7;border:0}.character-choices{width:min(100%,720px)}.character-card{color:var(--toy-ink);border:5px solid var(--toy-brass);box-shadow:0 9px 0 var(--toy-walnut-dark), 0 20px 40px #00000061, inset 0 0 0 3px #6c3d2b33;background:radial-gradient(circle at 50% 15%,#ffffffeb,#0000 29%),linear-gradient(160deg,#fff4d7,#e9cca0)}.character-emoji{width:clamp(150px,25vw,220px);height:clamp(150px,25vw,220px)}.character-name,.character-title,.character-theme,.character-card .adult-text{text-shadow:none;color:var(--toy-ink)!important}.character-status,.starter-deck-summary span,.starting-relic,.character-progress{color:var(--toy-ink);background:#fffae8a8;border-color:#693b2e4d}.relic-card,.rest-choice,.shop-card,.smith-preview,.remove-screen .card,.reward-screen .card{border-color:var(--toy-brass);box-shadow:var(--toy-paper-shadow)}.rest-choice,.relic-card:not(.character-card){color:var(--toy-ink);background:linear-gradient(155deg, #ffffff7a, transparent 40%), var(--toy-paper)}.rest-choice .kid-prompt{color:var(--toy-ink);text-shadow:none}.rest-choice .adult-text,.relic-card:not(.character-card) .adult-text{color:#604c60}.rest-screen,.shop-screen,.remove-screen,.reward-screen,.end-screen,.act-clear-screen,.smith-screen{width:min(100%,900px);margin-inline:auto;padding:82px 54px 40px}.end-body,.act-clear-screen>*,.rest-screen>*,.shop-screen>*,.reward-screen>*,.remove-screen>*,.smith-screen>*{z-index:1;position:relative}.act-clear-screen{isolation:isolate;border:7px solid var(--toy-walnut);min-height:min(720px,100dvh - 36px);box-shadow:0 0 0 3px var(--toy-brass), 0 16px 34px #0000006b;border-radius:34px;grid-template-columns:minmax(0,1fr);place-items:center;display:grid;position:relative;overflow:hidden}.act-clear-screen:before{display:none}.act-clear-screen .act-transition-backdrop{z-index:0;animation:.72s ease-out both act-transition-reveal;position:absolute;inset:0}.act-transition-art,.act-transition-art img{width:100%;height:100%}.act-transition-art img{object-fit:cover}.act-transition-content{width:min(88%,480px);color:var(--toy-cream);text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#281631e0;border:3px solid #ffdd8bd1;border-radius:26px;place-items:center;gap:10px;padding:22px 26px 26px;animation:.56s ease-out .18s both act-transition-content-lift;display:grid;box-shadow:inset 0 0 0 2px #643d2ee6,0 12px 30px #0006}.act-transition-content .adult-text,.act-transition-content .kid-prompt,.act-transition-content .kid-stat{color:inherit}.act-transition-next{font-size:1.1rem}@keyframes act-transition-reveal{0%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes act-transition-content-lift{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.card,.card.attack,.card.block,.card.skill,.card.power{color:var(--toy-ink);border:4px solid var(--toy-brass);box-shadow:var(--toy-paper-shadow), var(--toy-inset);background:linear-gradient(155deg,#ffffff8f,#0000 30%),linear-gradient(#fff7df,#e9cf9d)}.card.attack{border-color:#d86465}.card.block{border-color:#5796c2}.card.skill{border-color:#55a679}.card.power{border-color:#a77ac7}.card .zhuyin{color:var(--toy-ink);text-shadow:0 2px #fff9}.card-name{color:var(--toy-cream);background:#553552;border-color:#fff3}.card-desc-box{background:#fffae7c2;border-color:#55355247}.card-desc,.combat-stage .hand .card .card-desc,.combat-stage .hand .card .card-job,.combat-stage .hand .card .card-damage-preview{color:var(--toy-ink)}.combat-stage .hand .card .card-desc-box{background:#fffae7d1;border-color:#55355247}.card-job{color:#6a3b48;background:#cf9b4c33}.card .cost{background:radial-gradient(circle at 30% 28%,#fff8bc,#dda338);border-color:#9c621e;box-shadow:0 3px #764318,inset 0 2px #ffffff7a}.map-screen{background-image:linear-gradient(180deg, #1c0d2333, #190b1f73), var(--scene-image);background-size:cover;background-position:var(--toy-scene-position);position:fixed}.map-stage{background:linear-gradient(#21112a14,#21112a2e)}.map-stage-top,.map-stage-bottom{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#291533d6;border:2px solid #ffe195a8;border-radius:18px;width:fit-content;max-width:calc(100% - 40px);margin-inline:auto;padding:8px 18px;box-shadow:0 5px #361a18d1,0 12px 24px #00000047}.map-stage-top{max-width:calc(100% - 168px)}.map-panel{border:7px solid var(--toy-walnut);box-shadow:0 0 0 3px var(--toy-brass), 0 14px 36px #0000006b;background:#200f2770;border-radius:28px;padding:8px}.map-web{background-image:linear-gradient(#23102a8a, #23102ab3), var(--scene-image);background-size:cover;background-position:var(--toy-scene-position);border:2px solid #ffe7a48f;border-radius:18px;box-shadow:inset 0 0 48px #1107188c,inset 0 0 0 3px #ffefbf1a}.map-edge{stroke:#f7e1b294;stroke-width:4px;stroke-dasharray:5 8}.map-edge.edge-dim{stroke:#ffe5a6cc}.map-edge.edge-path{stroke:var(--toy-theme);stroke-width:6px;filter:drop-shadow(0 0 6px var(--toy-theme-glow))}.map-dot{isolation:isolate;background:var(--room-token-image) center / 126% 126% no-repeat;filter:saturate(.72);border:0;overflow:visible;box-shadow:0 5px #301817eb}.map-dot:before{content:"";z-index:-1;background:#331c38cc;border:2px solid #fff6d25c;border-radius:50%;position:absolute;inset:10%}.map-dot.locked{opacity:.68;background:var(--room-token-image) center / 126% 126% no-repeat;filter:grayscale(.68)brightness(.88)}.map-dot.done{background:var(--room-token-image) center / 126% 126% no-repeat;filter:saturate(.55)brightness(.8);border:0}.map-dot.current,.map-dot.available{filter:none;box-shadow:0 5px 0 #301817eb, 0 0 0 4px var(--toy-theme), 0 0 22px var(--toy-theme-glow);border:0}.map-dot.boss,.map-dot.boss.available{border:0;box-shadow:0 6px #301817eb,0 0 0 5px #ef7774,0 0 24px #ef77746b}.map-dot-emoji{z-index:2;filter:drop-shadow(0 2px 1px #0000006b);position:relative}.combat-screen{background-image:linear-gradient(180deg, #190b1f38, #190b1f85), var(--scene-image);background-size:cover;background-position:var(--toy-scene-position);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;display:flex;position:fixed}.combat-stage{background:radial-gradient(circle at 50% 32%,#ffedb421,#0000 28%),linear-gradient(#23112a26,#23112a4d)}.enemy-row{border:5px solid var(--toy-walnut);box-shadow:0 0 0 3px var(--toy-brass), 0 9px 0 var(--toy-walnut-dark), 0 16px 30px #00000052;background:linear-gradient(#fffae0ed,#e2c392eb)}.enemy-slot{color:var(--toy-ink);border-color:#0000}.enemy-slot.enemy-selected{border-color:var(--toy-coral);background:#fff7d3ad;box-shadow:0 0 0 4px #e86f6f47}.enemy-slot .adult-text,.enemy-slot .kid-hp-num{color:var(--toy-ink)}.enemy-emoji{min-width:64px;min-height:64px}.enemy-miniature-art{filter:drop-shadow(0 8px 6px #41211f52);width:clamp(74px,8vw,118px);height:clamp(74px,8vw,118px)}.combat-stage .intent,.combat-stage .intent-now{color:var(--toy-cream);background:#51324f;border-color:#ffe093a3}.hero-drop-zone{border:4px solid var(--toy-walnut);color:var(--toy-cream);box-shadow:0 0 0 2px var(--toy-brass), 0 6px 0 var(--toy-walnut-dark);background:linear-gradient(#5d3a66f0,#2b1935f5)}.combat-hero-art{filter:drop-shadow(0 8px 5px #0000005c);width:82px;height:82px}.combat-pile{border-color:var(--toy-brass);box-shadow:0 4px 0 var(--toy-walnut-dark);background:#321c3cf0}.combat-bottom-row{background:linear-gradient(#0000,#1c0d2270);border-radius:22px}.end-turn-btn{border-color:#ffc1a5}.cast-screen{background-image:linear-gradient(180deg, #1e0d2652, #190b1f94), var(--scene-image);background-size:cover;background-position:var(--toy-scene-position)}.practice-screen{background:radial-gradient(circle at 50% 35%,#6e4982b8,#0000 45%),#22122f}.cue-box{color:var(--toy-ink);border:7px solid var(--toy-walnut);background:linear-gradient(155deg, #ffffff9e, transparent 36%), var(--toy-paper);box-shadow:0 0 0 3px var(--toy-brass), 0 9px 0 var(--toy-walnut-dark), 0 19px 32px #0000005c}.spell-slot,.spell-key,.cast-choice-key{color:var(--toy-ink);border-color:var(--toy-brass);box-shadow:0 5px 0 var(--toy-walnut-dark), inset 0 2px 0 #fff;background:linear-gradient(155deg,#fffced,#e7cd9b)}.spell-slot{border-style:dashed}.spell-key.hint,.cast-choice-key.hint{border-color:var(--toy-jade);box-shadow:0 5px 0 var(--toy-walnut-dark), 0 0 0 4px #76caa447}.options-backdrop,.phone-menu-backdrop,.deck-viewer-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#140919d1}.options-dialog,.phone-menu-dialog,.deck-viewer{color:var(--toy-ink);border:7px solid var(--toy-walnut);box-shadow:0 0 0 3px var(--toy-brass), 0 15px 45px #0000007a;background:linear-gradient(155deg,#ffffff73,#0000 30%),linear-gradient(#fff4d8,#e5c58f)}.options-dialog .adult-text,.phone-menu-dialog .adult-text,.deck-viewer .adult-text,.relic-inspect-panel .adult-text{color:#604c60}.options-head{background:#fae8c5f5}.options-section{border-color:#5530373d}.options-subheading,.privacy-summary,.curriculum-range{color:var(--toy-ink)}.option-choice,.phone-menu-volume-btn,.phone-menu-links button{color:var(--toy-cream);background:#523452;border-color:#ffdf919e}.option-choice.on,.phone-menu-volume-btn.on{color:#183228;background:var(--toy-jade);border-color:#c6ffe8}.curriculum-range,.curriculum-advanced,.designer-effects,.designer-cues,.designer-balance-note{background:#fffbec80}@media (width<=760px){#app{max-width:none;box-shadow:none;border-inline:0}#app>.screen:not(.map-screen):not(.combat-screen):not(.cast-screen):before{opacity:.42;width:72px;bottom:6px;left:6px}.tower-progress{top:max(8px, env(safe-area-inset-top));right:auto;left:max(8px, env(safe-area-inset-left));flex-direction:row;padding:5px 6px}.tower-progress-floor{width:30px;height:30px;font-size:.86rem}.title-screen{width:100%;padding-inline:8px}.hero-preview{width:clamp(132px,38vw,184px);height:clamp(132px,38vw,184px);margin-bottom:-14px}.character-emoji{width:136px;height:136px}.rest-screen,.shop-screen,.remove-screen,.reward-screen,.end-screen,.act-clear-screen,.smith-screen{width:100%;padding-inline:10px}.act-clear-screen{border-radius:22px;min-height:calc(100dvh - 24px);padding:72px 8px 18px}.act-transition-content{width:min(92%,420px);padding:16px 14px 18px}.map-stage-top{width:calc(100% - 76px);max-width:none;margin-left:0;margin-right:auto;padding-inline:8px}.map-stage-top,.map-stage-bottom{border-radius:14px;max-width:calc(100% - 8px);padding:5px 9px}.map-panel{border-width:5px;border-radius:20px;padding:5px}.enemy-row{border-width:4px}.enemy-miniature-art{width:clamp(62px,18vw,86px);height:clamp(62px,18vw,86px)}.combat-hero-art{width:58px;height:58px}.combat-stage .enemy-slot{flex-basis:50px;min-width:50px;min-height:54px}html[data-screen=map] .tower-progress{top:max(76px, calc(env(safe-area-inset-top) + 74px));right:max(8px, env(safe-area-inset-right));flex-direction:column-reverse;left:auto}.cast-screen{flex:0 0 calc(100dvh - 12px);height:calc(100dvh - 12px);min-height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);overflow-y:auto}.card,.card.attack,.card.block,.card.skill,.card.power{border-width:3px}}@media (width>=601px) and (width<=760px) and (height<=820px){.cast-screen{width:100%;height:calc(100dvh - 24px);min-height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);padding:max(5px, env(safe-area-inset-top)) max(74px, calc(env(safe-area-inset-right) + 70px)) max(5px, env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));flex-basis:calc(100dvh - 24px);grid-template-rows:auto minmax(0,1fr);align-items:stretch;gap:6px;display:grid;overflow:hidden}.cast-header{grid-column:1/-1;justify-content:center;display:flex}.cast-layout{grid-template-columns:minmax(220px,40%) minmax(0,1fr);gap:8px;min-height:0;display:grid}.cast-cue-pane,.cast-answer-pane{overscroll-behavior:contain;flex-direction:column;align-items:center;gap:6px;min-width:0;min-height:0;padding:2px;display:flex;overflow-y:auto}.cast-screen .cue-box{flex:auto;align-content:center;width:100%;min-width:0;min-height:190px;padding:10px 14px;display:grid}.cast-screen .cue-emoji{font-size:3.2rem}.cast-screen .cue-word{font-size:2rem}.cast-screen .cast-kid-prompt{margin-top:3px;font-size:1.15rem}.cast-screen .replay-btn-big{flex:0 0 58px;width:100%;max-width:none;height:58px;min-height:58px}.cast-screen .adult-coach{width:100%;max-width:none;padding-block:4px}.cast-screen .adult-coach-head{min-height:40px}.cast-screen .spell-slots{flex:0 0 60px;height:60px;min-height:60px}.cast-screen .spell-slot{width:52px;height:60px;font-size:1.75rem}.cast-screen .spell-bank-wrap,.cast-screen .spell-bank{gap:6px}.cast-screen .spell-key{min-width:58px;min-height:58px;font-size:1.6rem}.cast-screen .spell-controls{gap:7px;width:100%;max-width:520px;min-height:58px}.cast-screen .spell-ctrl{min-height:58px}.cast-screen .hint-btn{min-height:44px;margin:0}}@media (width>=761px) and (height<=820px){.title-screen{gap:9px;padding-block:14px}.hero-preview{width:188px;height:188px;margin-bottom:-12px}.title-screen .btn-kid-main{min-height:64px}.title-screen .adult-coach{padding-block:5px}.title-screen .adult-coach-head{min-height:48px}.character-screen{gap:8px;padding-block:12px}.character-screen>.kid-prompt,.character-screen>.adult-text{margin:0}.character-screen .adult-coach{padding-block:5px}.character-screen .adult-coach-head{min-height:42px}.character-card{grid-template-rows:repeat(8,auto);grid-template-columns:190px minmax(0,1fr);gap:5px 18px;min-height:0;padding:14px 20px 18px;display:grid}.character-card .character-status{grid-area:1/1/auto/-1}.character-card .character-emoji{grid-area:2/1/9;place-self:center;width:176px;height:176px}.character-card .character-name,.character-card .character-title,.character-card .character-theme,.character-card .starter-deck-summary,.character-card .starting-relic,.character-card .character-progress,.character-card .character-pick-cta{grid-column:2}.character-card .character-name{grid-row:2;font-size:1.8rem}.character-card .character-title{grid-row:3}.character-card .character-theme{grid-row:4;line-height:1.35}.character-card .starter-deck-summary{grid-row:5}.character-card .starting-relic{grid-row:6;padding:7px 10px}.character-card .starting-relic-emoji{font-size:2rem}.character-card .character-progress{grid-row:7;padding:6px 10px}.character-card .character-pick-cta{grid-row:8;min-height:48px}.cast-screen{grid-template-rows:auto minmax(0,1fr);align-items:stretch;gap:8px;width:100%;max-width:none;height:calc(100dvh - 24px);min-height:calc(100dvh - 24px);padding:4px 76px 8px 20px;display:grid;overflow:hidden}.cast-header{grid-column:1/-1;justify-content:center;display:flex}.cast-layout{grid-template-columns:minmax(310px,42%) minmax(0,1fr);gap:14px;min-height:0;display:grid}.cast-cue-pane,.cast-answer-pane{overscroll-behavior:contain;flex-direction:column;align-items:center;gap:8px;min-width:0;min-height:0;padding:6px;display:flex;overflow-y:auto}.cast-screen .cue-box{flex:auto;align-content:center;width:100%;min-width:0;min-height:260px;padding:16px 24px;display:grid}.cast-screen .cue-emoji{font-size:4.2rem}.cast-screen .cue-word{font-size:2.45rem}.cast-screen .cast-kid-prompt{margin-top:6px;font-size:1.45rem}.cast-screen .replay-btn-big{flex:0 0 64px;width:100%;max-width:none;height:64px;min-height:64px}.cast-screen .adult-coach{width:100%;max-width:none;padding-block:5px}.cast-screen .adult-coach-head{min-height:42px}.cast-screen .spell-slots{flex:0 0 72px;height:72px;min-height:72px}.cast-screen .spell-slot{width:60px;height:72px;font-size:2.15rem}.cast-screen .spell-bank-wrap{gap:6px}.cast-screen .spell-bank{gap:7px}.cast-screen .spell-key{min-width:64px;min-height:64px;font-size:1.9rem}.cast-screen .spell-controls{gap:8px;width:100%;max-width:520px;min-height:64px}.cast-screen .spell-ctrl{min-height:64px}.cast-screen .hint-btn{min-height:48px;margin:0}}@media (height<=500px) and (orientation:landscape){.tower-progress{top:max(5px, env(safe-area-inset-top));left:auto;right:max(72px, calc(env(safe-area-inset-right) + 70px))}#app>.screen:not(.map-screen):not(.combat-screen):not(.cast-screen):before{display:none}.enemy-miniature-art{width:62px;height:62px}.combat-hero-art{width:52px;height:52px}.cast-screen{width:100%;height:100dvh;min-height:100dvh;max-height:100dvh;padding:max(4px, env(safe-area-inset-top)) max(74px, calc(env(safe-area-inset-right) + 70px)) max(4px, env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));flex-basis:100dvh;gap:4px;overflow:hidden}.cast-layout{grid-template-columns:minmax(190px,38%) minmax(0,1fr);gap:6px}.cast-cue-pane,.cast-answer-pane{gap:4px;padding:0}.cast-screen .cue-box{min-height:0;padding:5px 8px}.cast-screen .cue-emoji{font-size:2.7rem}.cast-screen .cue-word{font-size:1.6rem}.cast-screen .cast-kid-prompt{margin-top:2px;font-size:1.05rem}.cast-screen .replay-btn-big{flex-basis:58px;height:58px;min-height:58px}.cast-screen .adult-coach{padding:3px 7px}.cast-screen .adult-coach-head{min-height:36px;font-size:.78rem}.cast-screen .spell-slots{flex-basis:56px;height:56px;min-height:56px}.cast-screen .spell-slot{width:48px;height:56px;font-size:1.6rem}.cast-screen .spell-key{min-width:58px;min-height:58px;font-size:1.55rem}.cast-screen .spell-controls,.cast-screen .spell-ctrl{min-height:58px}.cast-screen .hint-btn{min-height:42px;padding-block:4px}}html[data-screen=combat] .tower-progress{display:none}.combat-stage{background:linear-gradient(180deg, #18142a14 0 58%, #18142ab3 75%), var(--scene-image);background-position:50%;background-size:cover;flex:auto;grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;align-items:stretch;gap:0;width:100%;height:100%;min-height:0;padding:0;display:grid}.combat-hud-strip{z-index:12;min-width:0;padding:7px max(84px, calc(env(safe-area-inset-right) + 78px)) 7px max(14px, env(safe-area-inset-left));color:var(--toy-cream);border-bottom:4px solid var(--toy-walnut-dark);background:linear-gradient(#fff4cc29,#0000 42%),#5f3824;grid-template-columns:minmax(180px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;display:grid;position:relative;box-shadow:0 5px 14px #180c1361}html[data-screen=combat] .global-controls{top:max(7px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right))}html[data-screen=combat] .global-control-btn{border-color:var(--toy-brass);width:50px;min-width:50px;height:50px;min-height:50px;color:var(--toy-cream);box-shadow:0 3px 0 var(--toy-walnut-dark);background:#37233f}.combat-hud-location,.combat-hud-resources,.combat-hud-relics{align-items:center;min-width:0;display:flex}.combat-potion-belt{grid-column:1/-1;justify-content:flex-end;padding-bottom:2px}.combat-hud-location{white-space:nowrap;gap:8px}.combat-hud-location>span{border:2px solid var(--toy-brass);width:42px;height:42px;box-shadow:0 3px 0 var(--toy-walnut-dark);background:#37233f;border-radius:13px;place-items:center;font-size:1.35rem;display:grid}.combat-hud-relics{gap:6px}.combat-hud-resources{justify-content:flex-end;gap:8px}.combat-hud-counter{border:2px solid var(--toy-brass);min-height:42px;color:var(--toy-cream);box-shadow:0 3px 0 var(--toy-walnut-dark);white-space:nowrap;font-variant-numeric:tabular-nums;background:#2d1c31f0;border-radius:999px;align-items:center;gap:5px;padding:6px 12px;display:inline-flex}.combat-hud-incoming{color:#ffd3c1;border-color:#dc876e}.combat-battlefield{z-index:2;grid-template-columns:minmax(220px,42%) minmax(0,58%);min-height:0;padding:14px 4.5% 8px;display:grid;position:relative;overflow:hidden}.combat-battlefield:after{content:"";z-index:-1;filter:blur(3px);pointer-events:none;background:radial-gradient(#25122d6b,#0000 68%);border-radius:50%;height:24%;position:absolute;bottom:7%;left:4%;right:4%}.combat-battlefield .hero-drop-zone,.combat-battlefield .enemy-row{min-width:0;min-height:0;max-height:none;box-shadow:none;background:0 0;border:0}.combat-battlefield .hero-drop-zone{border-radius:28px;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;padding:0 6% 8px;display:flex}.combat-battlefield .hero-drop-zone.drop-valid{outline-offset:-8px;background:radial-gradient(at bottom,#79d3b533,#0000 66%)}.combat-battlefield .hero-drop-zone.drop-hot{background:radial-gradient(at bottom,#79d3b557,#0000 70%);transform:translateY(-4px)}.combat-battlefield .hero-actor{place-items:end center;min-height:0;display:grid}.combat-battlefield .combat-hero-art{width:clamp(136px,21vh,190px);height:clamp(136px,21vh,190px)}.combat-battlefield .hero-vitals{width:min(190px,100%);min-width:0;max-width:190px;box-shadow:none;background:0 0;border:0;flex:none;gap:3px;padding:0}.combat-battlefield .hero-bars{background:#271c2de6;border-radius:8px;gap:3px;width:100%;padding:3px 5px}.combat-battlefield .hero-kid-hp{justify-content:center;align-items:center;gap:7px;min-width:80px;padding:2px 7px;display:flex}.combat-battlefield .hero-inline-shield{white-space:nowrap}.combat-battlefield .hero-inline-shield.shield-empty{opacity:.58}.combat-battlefield .hero-combat-powers{justify-content:center;margin-top:2px}.combat-battlefield .enemy-row{justify-content:space-evenly;align-items:flex-end;gap:clamp(4px,1.4vw,18px);padding:0 0 8px;display:flex;overflow:visible}.combat-battlefield .enemy-slot{border:3px solid #0000;border-radius:24px;grid-template-rows:auto minmax(74px,1fr) auto auto auto auto;align-self:stretch;place-items:end center;gap:3px;min-width:96px;max-width:230px;min-height:0;padding:0 6px 5px;display:grid}.combat-battlefield .enemy-row[data-count="4"],.combat-battlefield .enemy-row[data-count="5"]{justify-content:stretch;gap:2px}.combat-battlefield .enemy-row[data-count="4"] .enemy-slot,.combat-battlefield .enemy-row[data-count="5"] .enemy-slot{flex:1 1 0;min-width:48px;max-width:none;padding-inline:2px}.combat-battlefield .enemy-row[data-count="4"] .intent-next,.combat-battlefield .enemy-row[data-count="5"] .intent-next,.combat-battlefield .enemy-row[data-count="4"] .intent-multi-hint,.combat-battlefield .enemy-row[data-count="5"] .intent-multi-hint,.combat-battlefield .enemy-row[data-count="5"] .enemy-name-adult{display:none}.combat-battlefield .enemy-row[data-count="4"] .intent-now,.combat-battlefield .enemy-row[data-count="5"] .intent-now{min-height:38px;padding:2px}.combat-battlefield .enemy-row[data-count="4"] .intent-badge,.combat-battlefield .enemy-row[data-count="5"] .intent-badge{font-size:.62rem}.combat-battlefield .enemy-row[data-count="4"] .enemy-miniature-art,.combat-battlefield .enemy-row[data-count="5"] .enemy-miniature-art{width:clamp(64px,10vh,94px);height:clamp(64px,10vh,94px)}.combat-battlefield .enemy-row[data-count="5"] .kid-hp-num{min-width:0;padding-inline:3px;font-size:.7rem}.combat-battlefield .enemy-slot.enemy-selected{background:radial-gradient(at bottom,#ffd86a24,#0000 65%);border-color:#0000;box-shadow:inset 0 -5px #ffd86a85}.combat-battlefield .enemy-intent-stack{align-self:start;gap:4px;width:min(190px,100%);margin:0}.combat-battlefield .intent{border-color:var(--toy-brass);box-shadow:0 3px 0 var(--toy-walnut-dark);background:linear-gradient(#fff9dc1f,#0000),#563a39;border-radius:10px}.combat-battlefield .intent-now{min-height:44px}.combat-battlefield .intent-next{opacity:.88;min-height:34px}.combat-battlefield .enemy-emoji{place-items:end center;min-width:64px;min-height:64px;display:grid}.combat-battlefield .enemy-miniature-art{width:clamp(132px,22vh,196px);height:clamp(132px,22vh,196px)}.combat-battlefield .enemy-slot:not(:only-child) .enemy-miniature-art{width:clamp(82px,14vh,126px);height:clamp(82px,14vh,126px)}.combat-battlefield .enemy-name-adult{color:var(--toy-cream);text-shadow:0 2px 2px #000000b8}.combat-battlefield .enemy-bars{background:#271c2de6;border-radius:8px;width:min(190px,100%);padding:3px 5px}.combat-battlefield .kid-hp-num{border:2px solid var(--toy-walnut);min-width:80px;color:var(--toy-cream);text-align:center;background:#271c2df0;border-radius:999px;padding:2px 7px}.combat-stage .combat-log{display:none}.combat-bottom-row{z-index:10;width:100%;min-width:0;height:auto;min-height:min-content;padding:10px 12px max(10px, env(safe-area-inset-bottom));border-top:7px solid var(--toy-walnut);box-shadow:inset 0 3px 0 var(--toy-brass), 0 -10px 22px #190b1f57;background:linear-gradient(#fff7d91a,#0000 18%),#352e5a;border-radius:30px 30px 0 0;grid-template-columns:104px minmax(0,1fr) 112px;align-self:stretch;align-items:stretch;gap:8px;margin:0;display:grid;position:relative;overflow:hidden}.combat-command-rail,.combat-action-bar.combat-command-rail{flex-direction:column;order:0;justify-content:flex-end;align-items:stretch;gap:8px;min-width:0;display:flex}.combat-command-rail .combat-pile{border:3px solid var(--toy-brass);width:100%;min-width:0;min-height:94px;box-shadow:0 5px 0 var(--toy-walnut-dark), inset 0 0 0 2px #f7e7be24;background:repeating-linear-gradient(135deg,#f7e7be14 0 8px,#0000 8px 16px),#302347;border-radius:13px;flex:auto;padding:5px}.combat-command-rail .combat-pile-stack{font-size:clamp(1.55rem,3vw,2.2rem)}.combat-command-rail .combat-pile-count{font-variant-numeric:tabular-nums}.combat-action-energy{width:78px;min-width:78px;min-height:78px;color:var(--toy-cream);box-shadow:0 5px 0 var(--toy-walnut-dark), 0 0 0 3px var(--toy-brass);font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #243343;background:radial-gradient(circle at 40% 35%,#d6f3ff,#77bce8 38%,#31586f 74%);border:5px solid #446b83;border-radius:50%;align-self:center;place-items:center;gap:0;padding:7px;font-size:1.05rem;display:grid}.combat-action-energy>span{display:none}.combat-stage .hand,.combat-stage .hand.hand-fan{scroll-snap-type:x proximity;scrollbar-width:thin;touch-action:pan-x;justify-content:safe center;align-items:flex-end;gap:8px;width:100%;min-width:0;height:auto;min-height:198px;margin:0;padding:8px 10px 3px;scroll-padding-inline:12px;overflow:auto hidden}.combat-stage .hand .card,.combat-stage .hand.hand-fan .card,.combat-stage .hand.hand-fan-tight .card{scroll-snap-align:center;transform-origin:bottom;border-width:3px;border-radius:15px;flex:0 0 120px;gap:3px;width:120px;height:198px;min-height:198px;max-height:198px;margin-left:0;padding:7px}.combat-stage .hand .card:first-child,.combat-stage .hand.hand-fan .card:first-child,.combat-stage .hand.hand-fan-tight .card:first-child{margin-left:0}.combat-stage .hand .card:hover,.combat-stage .hand .card:focus-visible{z-index:12;transform:translateY(-10px)scale(1.035)}.combat-stage .hand .card .card-top{min-height:29px}.combat-stage .hand .card .cost{width:31px;height:31px;font-size:1rem}.combat-stage .hand .card .card-art{min-height:49px;padding:0}.combat-stage .hand .card .zhuyin{margin:0;font-size:2.25rem}.combat-stage .hand .card .card-emoji{font-size:1.2rem}.combat-stage .hand .card .card-name{padding:3px 4px;font-size:.82rem}.combat-stage .hand .card .card-desc-box{height:57px;min-height:57px;max-height:57px;padding:4px 5px}.combat-stage .hand .card .card-job{font-size:.56rem}.combat-stage .hand .card .card-desc{font-size:.69rem;line-height:1.15}.combat-stage .end-turn-btn{width:100%;min-width:0;height:72px;min-height:72px;color:var(--toy-ink);box-shadow:0 5px 0 var(--toy-walnut-dark);background:#d8bd78;border:3px solid #d49c4f;border-radius:14px;flex-direction:column;flex:0 0 72px;align-self:stretch;gap:2px;padding:7px 5px;transition:transform .18s,filter .18s,box-shadow .18s;position:static}.combat-stage .end-turn-btn .btn-emoji{font-size:1.55rem}.combat-stage .end-turn-btn .end-turn-label{font-size:.82rem;line-height:1;display:block}.combat-stage .end-turn-btn.end-turn-waiting{filter:saturate(.68)brightness(.84);transform:translateY(3px)}.combat-stage .end-turn-btn.end-turn-ready:not(:disabled){box-shadow:0 8px 0 var(--toy-walnut-dark), 0 0 0 4px #ffd86a42, 0 0 24px #ffd86abd;background:linear-gradient(#fff4a8,#ffd86a);border-color:#fff1a6;animation:1.25s ease-in-out infinite endTurnReady;transform:translateY(-7px)scale(1.035)}@keyframes endTurnReady{50%{filter:brightness(1.12);box-shadow:0 10px 0 var(--toy-walnut-dark), 0 0 0 6px #ffd86a2e, 0 0 30px #ffd86ae6}}.tutorial-active .combat-stage>.tutorial-guide{z-index:30;width:min(680px,100% - 180px);position:absolute;top:72px;left:50%;transform:translate(-50%)}.tutorial-step-shield~.combat-battlefield .intent-now{outline:5px solid var(--toy-gold);outline-offset:3px}@media (orientation:portrait) and (width<=900px){.combat-stage{grid-template-rows:auto minmax(0,1fr) auto}.combat-hud-strip{padding-right:max(78px, calc(env(safe-area-inset-right) + 72px));grid-template-columns:auto minmax(0,1fr) auto}.combat-hud-relics{justify-content:center}.combat-battlefield{grid-template-columns:minmax(180px,43%) minmax(0,57%);padding:16px 3% 10px}.combat-bottom-row{grid-template-columns:92px minmax(0,1fr) 98px}.combat-stage .hand .card,.combat-stage .hand.hand-fan .card,.combat-stage .hand.hand-fan-tight .card{flex-basis:126px;width:126px;height:218px;min-height:218px;max-height:218px;margin-left:0}}@media (width<=600px),(height<=500px) and (orientation:landscape){.combat-hud-relics{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--toy-brass) #24121c99;overflow:auto hidden}.combat-hud-relics .relic-badge-row{flex-wrap:nowrap;flex:none;max-width:none}.combat-hud-relics .relic-badge{scroll-snap-align:start;flex-basis:44px;width:44px;min-width:44px;height:44px;min-height:44px;font-size:1.3rem}.combat-hud-relics .relic-badge .relic-art{width:32px;height:32px}}@property --relic-scroll-fade{syntax:"<length>";inherits:false;initial-value:0}@keyframes relicScrollHint{0%{--relic-scroll-fade:28px}to{--relic-scroll-fade:0px}}@supports (animation-timeline:scroll()){@media (width<=600px),(height<=500px) and (orientation:landscape){.combat-hud-relics{-webkit-mask-image:linear-gradient(90deg, #000 calc(100% - var(--relic-scroll-fade)), transparent);mask-image:linear-gradient(90deg, #000 calc(100% - var(--relic-scroll-fade)), transparent);animation:linear both relicScrollHint;animation-timeline:scroll(self inline)}}}@media (width<=600px){.combat-stage{grid-template-rows:auto minmax(0,1fr) auto;gap:0;padding:0}.tutorial-active .combat-stage{grid-template-rows:auto minmax(0,1fr) auto}.combat-hud-strip{padding:5px max(66px, calc(env(safe-area-inset-right) + 62px)) 5px max(6px, env(safe-area-inset-left));border-bottom-width:3px;grid-template-columns:minmax(0,1fr) auto;gap:5px}html[data-screen=combat] .global-controls{top:max(4px, env(safe-area-inset-top));right:max(6px, env(safe-area-inset-right))}html[data-screen=combat] .global-control-btn{width:46px;min-width:46px;height:46px;min-height:46px}.combat-hud-location{gap:5px;font-size:.74rem;overflow:hidden}.combat-hud-location>span{border-radius:10px;width:34px;height:34px;font-size:1rem}.combat-hud-strip{grid-template-areas:"location resources""relics relics""potions potions"}.combat-potion-belt{grid-area:potions}.combat-hud-location{grid-area:location}.combat-hud-relics{grid-area:relics;justify-content:flex-start;display:flex}.combat-hud-resources{grid-area:resources}.combat-hud-incoming,.combat-hud-resources .combat-hud-counter:last-child{display:none}.combat-hud-counter{min-height:34px;padding:4px 7px;font-size:.73rem}.combat-battlefield{grid-template-columns:minmax(112px,40%) minmax(0,60%);padding:7px 2% 5px}.combat-battlefield:has(.enemy-row[data-count="4"]),.combat-battlefield:has(.enemy-row[data-count="5"]){grid-template-columns:minmax(108px,34%) minmax(0,66%)}.combat-battlefield .hero-drop-zone{gap:3px;min-height:0;max-height:none;padding:0 3px 4px}.combat-battlefield .combat-hero-art{width:clamp(66px,14vh,104px);height:clamp(66px,14vh,104px)}.combat-battlefield .hero-vitals{gap:2px;width:100%;max-width:128px;padding:0}.combat-battlefield .hero-kid-hp{gap:3px;padding:1px 4px;font-size:.66rem}.combat-battlefield .hero-combat-powers{display:none}.combat-battlefield .enemy-row{gap:1px;padding-bottom:4px}.combat-battlefield .enemy-slot,.combat-battlefield .enemy-slot:only-child{border-radius:13px;grid-template-rows:auto minmax(52px,1fr) auto auto auto;gap:1px;min-width:0;max-width:none;min-height:48px;margin:0;padding:0 2px 3px}.combat-battlefield .enemy-intent-stack{width:100%}.combat-battlefield .intent-next,.combat-battlefield .enemy-name-adult,.combat-battlefield .intent-multi-hint{display:none}.combat-battlefield .intent-now{min-height:36px;padding:2px 3px}.combat-battlefield .enemy-miniature-art{width:clamp(58px,13vh,92px);height:clamp(58px,13vh,92px)}.combat-battlefield .enemy-bars{padding:2px 3px}.combat-battlefield .kid-hp-num{min-width:0;padding:1px 4px;font-size:.68rem}.combat-battlefield .enemy-row[data-count="4"] .enemy-slot,.combat-battlefield .enemy-row[data-count="5"] .enemy-slot{min-width:48px;padding-inline:0}.combat-battlefield .enemy-row[data-count="4"] .enemy-miniature-art,.combat-battlefield .enemy-row[data-count="5"] .enemy-miniature-art{width:clamp(44px,9vh,64px);height:clamp(44px,9vh,64px)}.combat-battlefield .enemy-row[data-count="4"] .intent-badge,.combat-battlefield .enemy-row[data-count="5"] .intent-badge{display:none}.combat-bottom-row{height:auto;min-height:0;padding:7px 5px max(6px, env(safe-area-inset-bottom));border-top-width:5px;border-radius:19px 19px 0 0;grid-template-columns:62px minmax(0,1fr) 66px;gap:4px;display:grid}.combat-command-rail,.combat-action-bar.combat-command-rail{gap:5px}.combat-command-rail .combat-pile{border-width:2px;min-width:0;min-height:70px;padding:2px}.combat-command-rail .combat-pile-stack{font-size:1.35rem}.combat-command-rail .combat-pile-label{display:none}.combat-action-energy{border-width:3px;width:52px;min-width:52px;min-height:52px;padding:3px;font-size:.82rem}.combat-stage .hand,.combat-stage .hand.hand-fan{flex:initial;justify-content:flex-start;gap:7px;height:auto;min-height:202px;padding:5px 6px 2px;scroll-padding-inline:6px;overflow-x:auto}.combat-stage .hand .card,.combat-stage .hand.hand-fan .card,.combat-stage .hand.hand-fan-tight .card{scroll-snap-align:center;flex:0 0 108px;width:108px;height:202px;min-height:202px;max-height:202px;margin-left:0;padding:5px}.combat-stage .hand .card .zhuyin{font-size:1.9rem}.combat-stage .hand .card .card-name{font-size:.72rem}.combat-stage .hand .card .card-desc-box{height:54px;min-height:54px;max-height:54px;padding:3px}.combat-stage .hand .card .card-desc{font-size:.62rem}.combat-stage .end-turn-btn{border-width:2px;flex:0 0 58px;gap:0;width:100%;min-width:0;height:58px;min-height:58px;padding:4px 2px;position:static}.combat-stage .end-turn-btn .btn-emoji{font-size:1.25rem}.combat-stage .end-turn-btn .end-turn-label{font-size:.67rem;display:block}.tutorial-active .combat-stage>.tutorial-guide{width:calc(100% - 20px);top:58px}}@media (height<=500px) and (orientation:landscape){.combat-stage{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,58%) minmax(250px,42%)}.combat-hud-strip{grid-area:1/1/auto/-1;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"location resources""relics relics"}.combat-hud-location{grid-area:location;overflow:hidden}.combat-hud-resources{grid-area:resources}.combat-hud-relics{scrollbar-width:none;grid-area:relics;justify-content:flex-start;align-items:center;min-height:44px}.combat-battlefield{grid-area:2/1;grid-template-columns:minmax(105px,38%) minmax(0,62%);padding:4px 2%}.combat-bottom-row{border-top:0;border-left:5px solid var(--toy-walnut);border-radius:18px 0 0;grid-area:2/2;grid-template-columns:56px minmax(0,1fr) 60px;height:100%;min-height:0;padding:5px}.combat-stage .hand,.combat-stage .hand.hand-fan{height:100%;min-height:0}.combat-stage .hand .card,.combat-stage .hand.hand-fan .card,.combat-stage .hand.hand-fan-tight .card{flex-basis:104px;width:104px;height:174px;min-height:174px;max-height:174px}.combat-command-rail .combat-pile{min-height:58px}.combat-action-energy{width:48px;min-width:48px;min-height:48px}.combat-stage .end-turn-btn{flex-basis:52px;height:52px;min-height:52px}}@media (width<=760px) and (orientation:portrait){.act-transition-backdrop{background:linear-gradient(180deg, transparent 30%, #23142b57), var(--scene-image);background-position:50%;background-size:cover}.act-transition-art img{object-fit:contain;object-position:center top}.act-transition-content{place-self:end center;width:calc(100% - 36px);max-width:420px;margin-bottom:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important}.art-image img,.tower-progress-floor,.title-zhuyin-row span{transition:none}.title-screen .hero-preview,.map-dot.available,.combat-stage .end-turn-btn.end-turn-ready:not(:disabled),.act-ambience .act-ambience-particle,.act-clear-screen .act-transition-backdrop,.act-clear-screen .act-transition-content{animation:none}}.combat-casting.combat-screen{height:100%;max-height:100%;animation:none}.combat-casting>.combat-stage{grid-template-rows:auto minmax(168px,1fr) minmax(0,auto);overflow:hidden}.combat-casting>.combat-stage:has(>.cast-math){grid-template-rows:auto minmax(48px,.2fr) minmax(0,1fr)}.combat-casting .combat-bottom-row{display:none}.combat-casting>.combat-stage>.cast-dock{z-index:12;width:100%;max-width:none;height:auto;min-height:0;max-height:min(46dvh,440px);padding:8px 10px max(8px, env(safe-area-inset-bottom));text-align:center;border-top:7px solid var(--toy-walnut);box-shadow:inset 0 3px 0 var(--toy-brass), 0 -10px 22px #190b1f57;background:linear-gradient(#fff7d91a,#0000 18%),#352e5a;border-radius:30px 30px 0 0;flex:none;grid-template-rows:auto minmax(0,1fr);justify-content:stretch;align-items:stretch;gap:6px;margin:0;animation:none;display:grid;position:relative;overflow:hidden}.combat-casting .cast-dock.cast-answered{visibility:hidden}.combat-casting .cast-dock .cast-header,.combat-casting .cast-dock .cast-layout,.combat-casting .cast-dock .cast-cue-pane,.combat-casting .cast-dock .cast-answer-pane{min-width:0;min-height:0;display:flex}.combat-casting .cast-dock .cast-header{justify-content:center}.combat-casting .cast-dock .cast-layout{grid-template-columns:minmax(132px,34%) minmax(0,1fr);gap:8px;display:grid;overflow:hidden}.combat-casting .cast-dock .cast-cue-pane,.combat-casting .cast-dock .cast-answer-pane{overscroll-behavior:contain;flex-direction:column;align-items:center;gap:6px;overflow:auto}.combat-casting .cast-dock .cue-box{width:100%;min-width:0;min-height:0;padding:8px 10px}.combat-casting .cast-dock .cue-emoji{font-size:2.4rem}.combat-casting .cast-dock .cue-word{margin-top:2px;font-size:1.45rem}.combat-casting .cast-dock .cast-kid-prompt{margin:2px 0 0;font-size:1rem}.combat-casting .cast-dock .adult-coach,.combat-casting .cast-dock .adult-coach-float{opacity:1;pointer-events:auto;width:100%;max-width:100%;max-height:none;position:static;top:auto;left:auto}.combat-casting .cast-dock .spell-slots{gap:6px;min-height:0}.combat-casting .cast-dock .spell-slot{width:52px;height:56px;font-size:1.7rem}.combat-casting .cast-dock .spell-key{min-width:56px;min-height:52px;font-size:1.6rem}.combat-casting .cast-dock .spell-ctrl,.combat-casting .cast-dock .hint-btn,.combat-casting .cast-dock .replay-btn-big{min-height:48px}.combat-casting .cast-dock .mana-condition{width:100%;min-height:40px;padding:4px 8px;font-size:.82rem}.combat-casting>.combat-stage>.cast-dock.cast-math{flex-direction:column;height:100%;min-height:0;max-height:none;display:flex;overflow:hidden}.combat-casting .cast-dock.cast-math .cast-header{flex:none}.combat-casting .cast-dock.cast-math .cast-layout{flex-direction:column;flex:auto;gap:6px;min-height:0;display:flex;overflow:hidden}.combat-casting .cast-dock.cast-math .cast-cue-pane,.combat-casting .cast-dock.cast-math .cast-answer-pane{display:contents}.combat-casting .cast-dock.cast-math .cast-layout>*>*{min-width:0}.combat-casting .cast-dock.cast-math .cue-box{text-align:center;border-width:5px;border-radius:20px;flex:none;order:1;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;height:auto;min-height:min-content;padding:6px 14px;display:grid}.combat-casting .cast-dock.cast-math .cue-emoji{grid-row:1/span 2;font-size:2.2rem}.combat-casting .cast-dock.cast-math .cue-word{color:var(--toy-walnut-dark);letter-spacing:.02em;font-variant-numeric:tabular-nums;text-shadow:none;opacity:1;overflow-wrap:anywhere;margin:0;font-size:clamp(1.6rem,5.5vmin,2.8rem);line-height:1.15}.combat-casting .cast-dock.cast-math .cast-kid-prompt{color:var(--toy-walnut);margin:0;font-size:.95rem}.combat-casting .cast-dock.cast-math .spell-hint-reveal{flex:none;order:2;padding:2px 10px}.combat-casting .cast-dock.cast-math .spell-hint-reveal .spell-answer{letter-spacing:.04em;font-size:1.35rem;line-height:1.1}.combat-casting .cast-dock.cast-math .cast-choice-grid{flex:none;order:3;gap:10px;width:100%}.combat-casting .cast-dock.cast-math .cast-choice-key.cast-choice-lg{min-width:48px;min-height:64px;padding:0;font-size:2.2rem;font-weight:900}.combat-casting .cast-dock.cast-math .cast-layout .hint-btn{flex:none;order:4;align-self:stretch;width:100%;min-height:48px;margin:0}.combat-casting .cast-dock.cast-math .cast-layout .adult-coach{flex:auto;order:6;min-height:0;max-height:none;overflow:auto}.combat-casting .cast-dock.cast-math .speech-fallback-note{flex:none;order:5;width:100%;max-width:none;margin:0}@media (height>=681px){.combat-casting .cast-dock.cast-math .cast-choice-key.cast-choice-lg{min-height:96px;font-size:2.6rem}}@media (height<=680px){.combat-casting>.combat-stage:has(>.cast-math){grid-template-rows:auto minmax(40px,56px) minmax(0,1fr)}.combat-casting .cast-dock.cast-math .cast-choice-key.cast-choice-lg{min-height:64px;font-size:2rem}.combat-casting .cast-dock.cast-math .cue-word{font-size:1.35rem}.combat-casting .cast-dock.cast-math .speech-fallback-note{padding:4px 8px;font-size:.8rem;line-height:1.25}}@media (height<=500px) and (orientation:landscape){.combat-casting>.combat-stage:has(>.cast-math){grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(250px,50%)}.combat-casting>.combat-stage>.cast-dock.cast-math{height:100%;max-height:none;padding:6px 8px max(6px, env(safe-area-inset-bottom));border-radius:22px 0 0;grid-row:2}.combat-casting .cast-dock.cast-math .mana-condition{min-height:30px;padding:2px 8px}.combat-casting .cast-dock.cast-math .cast-kid-prompt,.combat-casting .cast-dock.cast-math .cue-emoji{display:none}.combat-casting .cast-dock.cast-math .cast-layout{gap:6px 8px}.combat-casting .cast-dock.cast-math .cue-box{grid-template-columns:minmax(0,1fr);padding:2px 8px}.combat-casting .cast-dock.cast-math .cue-word{letter-spacing:0;font-size:1.5rem;line-height:1.1}.combat-casting .cast-dock.cast-math .cast-choice-grid{gap:8px}.combat-casting .cast-dock.cast-math .cast-choice-key.cast-choice-lg{min-height:54px}.combat-casting .cast-dock.cast-math .adult-coach{padding-block:0}.combat-casting .cast-dock.cast-math .cast-layout .hint-btn,.combat-casting .cast-dock.cast-math .adult-coach-head{min-height:48px;padding-block:2px}.combat-casting .cast-dock.cast-math .cue-word{font-size:1.15rem}.combat-casting .cast-dock.cast-math .cast-choice-key.cast-choice-lg{min-height:48px;font-size:1.6rem}.combat-casting .cast-dock.cast-math .spell-hint-reveal .spell-answer{font-size:1.15rem}.combat-casting .cast-dock.cast-math .speech-fallback-note{padding:2px 6px;font-size:.72rem;line-height:1.25}.combat-casting .combat-hud-strip{grid-template-columns:minmax(0,auto) minmax(0,1fr) auto auto;grid-template-areas:"location resources relics potions";align-items:center;gap:4px 6px;padding-top:2px;padding-bottom:2px}.combat-casting .combat-hud-location>span{width:32px;height:32px;font-size:1.05rem}.combat-casting .combat-hud-counter{min-height:32px;padding:2px 6px}}@media (height<=340px) and (orientation:landscape){.combat-casting>.combat-stage>.cast-dock.cast-math{gap:2px;padding:2px 6px}.combat-casting .cast-dock.cast-math .mana-condition{min-height:24px;padding:0 6px}.combat-casting .cast-dock.cast-math .cast-layout{gap:2px}.combat-casting .cast-dock.cast-math .cue-box{border-width:3px;padding:1px 6px}.combat-casting .cast-dock.cast-math .spell-hint-reveal{padding:0 6px}.combat-casting .cast-dock.cast-math .speech-fallback-note{padding:1px 6px;font-size:.68rem;line-height:1.15}.combat-casting .cast-dock.cast-math .adult-coach:not(.collapsed){overflow:hidden auto}.combat-casting .cast-dock.cast-math .adult-coach:not(.collapsed) .adult-coach-head{z-index:1;background:linear-gradient(140deg,#542f5dfa,#261630fa);min-height:32px;padding-block:0;position:sticky;top:0}.combat-casting .cast-dock.cast-math .adult-coach:not(.collapsed) .adult-coach-early,.combat-casting .cast-dock.cast-math .adult-coach:not(.collapsed) .adult-coach-body{overflow-wrap:anywhere;margin-bottom:2px}}.combat-casting>.combat-stage>.cast-dock:not(.cast-math){--zk:60px;--zg:8px;grid-template-columns:minmax(0, 1fr) auto repeat(5, var(--zk));place-content:start center;gap:var(--zg);grid-template-rows:repeat(4,auto);grid-template-areas:"head head slots slots slots slots slots""cue replay keys keys keys keys keys""coach coach keys keys keys keys keys""note note ctrl ctrl ctrl hint hint";max-height:min(54dvh,480px);padding-inline:max(10px,50% - 490px)}.cast-dock:not(.cast-math) .cast-layout,.cast-dock:not(.cast-math) .cast-cue-pane,.cast-dock:not(.cast-math) .cast-answer-pane,.cast-dock:not(.cast-math) .spell-bank{display:contents}.cast-dock:not(.cast-math) .cast-layout *{min-width:0;margin:0}.cast-dock:not(.cast-math) .cast-header{flex-wrap:wrap;grid-area:head;justify-content:center;align-self:stretch;align-items:center;gap:4px 8px;width:100%;min-width:0;display:flex;position:relative}.cast-dock:not(.cast-math) .cue-box{border-width:5px;border-radius:18px;grid-area:cue;grid-template-columns:auto minmax(0,auto);justify-content:center;align-self:start;align-items:center;column-gap:8px;height:auto;min-height:min-content;max-height:none;padding:4px 12px;display:grid;overflow:visible}.cast-dock:not(.cast-math) .cue-emoji{grid-row:1;font-size:2rem;line-height:1}.cast-dock:not(.cast-math) .cue-word{color:var(--toy-walnut-dark);letter-spacing:.04em;text-shadow:none;opacity:1;grid-row:1;font-size:2.3rem;line-height:1.15}.cast-dock:not(.cast-math) .cue-word.listen-hidden{color:var(--toy-walnut)}.cast-dock:not(.cast-math) .cast-kid-prompt{color:var(--toy-walnut);grid-column:1/-1;font-size:.95rem}.cast-dock:not(.cast-math) .replay-btn{width:var(--zk);min-width:48px;max-width:none;height:var(--zk);flex-direction:column;grid-area:replay;justify-content:center;align-self:start;align-items:center;gap:0;min-height:48px;padding:0;font-size:1.3rem;line-height:1;display:flex}.cast-dock:not(.cast-math) .replay-btn .btn-emoji{font-size:1.35rem;line-height:1}.cast-dock:not(.cast-math) .replay-btn .replay-label{font-size:.7rem;line-height:1.1}.cast-dock:not(.cast-math) .adult-coach{grid-area:coach;align-self:start}.cast-dock:not(.cast-math) .speech-fallback-note{grid-area:note;align-self:start;max-width:none;padding:4px 8px;font-size:.75rem;line-height:1.3}.cast-dock:not(.cast-math) .cast-header{position:relative}.cast-dock:not(.cast-math) .spell-hint-reveal{z-index:2;background:var(--toy-panel);border-radius:12px;justify-content:center;align-items:center;margin:0;padding:2px 8px;display:flex;position:absolute;inset:0;overflow:hidden}.cast-dock:not(.cast-math) .spell-hint-reveal .adult-text{font-size:.75rem;line-height:1}.cast-dock:not(.cast-math) .spell-hint-reveal .spell-answer{letter-spacing:.06em;margin-left:4px;font-size:clamp(1.05rem,3vh,1.7rem);line-height:1}.cast-dock:not(.cast-math) .spell-slots{grid-area:slots;justify-content:flex-start;align-items:center;gap:4px;display:flex}.cast-dock:not(.cast-math) .spell-slot{width:var(--zk);height:var(--zk);flex:none;font-size:1.6rem}.cast-dock:not(.cast-math) .spell-bank-wrap{place-content:flex-start;gap:var(--zg);flex-flow:wrap;grid-area:keys;display:flex}.cast-dock:not(.cast-math) .tone-row-label{display:none}.cast-dock:not(.cast-math) .spell-key{width:var(--zk);min-width:0;height:var(--zk);flex:none;min-height:0;padding:0;font-size:1.6rem}.cast-dock:not(.cast-math) .spell-ctrl{width:100%;height:var(--zk);min-height:0;padding:0;font-size:1.4rem}.cast-dock:not(.cast-math) .spell-controls{gap:var(--zg);grid-area:ctrl;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:none;display:grid}.cast-dock:not(.cast-math) .hint-btn{width:100%;min-height:var(--zk);grid-area:hint;padding:2px 8px;font-size:.75rem;line-height:1.25}@media (width<=600px) and (orientation:portrait){.combat-casting>.combat-stage>.cast-dock:not(.cast-math),#app>.cast-screen.cast-dock:not(.cast-math){--zk:48px;--zg:5px;grid-template-rows:repeat(6,auto);grid-template-columns:repeat(7,minmax(0,1fr));grid-template-areas:"head head head head head head head""cue cue cue cue coach coach coach""slots slots slots slots ctrl ctrl ctrl""keys keys keys keys keys keys keys""hint hint hint hint hint hint hint""note note note note note note note";justify-content:stretch;max-height:min(54dvh,480px);padding-inline:8px}.combat-casting>.combat-stage>.cast-dock:not(.cast-math):has(.replay-btn),#app>.cast-screen.cast-dock:not(.cast-math):has(.replay-btn){grid-template-areas:"head head head head head head head""cue cue cue replay coach coach coach""slots slots slots slots ctrl ctrl ctrl""keys keys keys keys keys keys keys""hint hint hint hint hint hint hint""note note note note note note note"}.cast-dock:not(.cast-math) .cast-kid-prompt{display:none}.cast-dock:not(.cast-math) .cue-box{align-self:stretch}.cast-dock:not(.cast-math) .replay-btn{width:100%}.cast-dock:not(.cast-math) .spell-slots,.cast-dock:not(.cast-math) .spell-bank-wrap{justify-content:center}.combat-casting>.combat-stage>.cast-dock:not(.cast-math) .adult-coach:not(.collapsed),#app>.cast-screen.cast-dock:not(.cast-math) .adult-coach:not(.collapsed){z-index:auto;align-self:stretch;min-height:0;max-height:100%;overflow:auto}}@media (height>=501px),(orientation:portrait){.tutorial-active.combat-casting>.combat-stage>.combat-hud-strip{grid-area:1/1/auto/-1}.tutorial-active.combat-casting>.combat-stage>.combat-battlefield,.tutorial-active.combat-casting>.combat-stage>.tutorial-guide{grid-area:2/1/auto/-1}.tutorial-active.combat-casting>.combat-stage>.cast-dock{grid-area:3/1/auto/-1}.tutorial-active.combat-casting>.combat-stage>.tutorial-guide{z-index:6;place-self:start center;width:min(680px,100% - 16px);max-width:none;height:auto;min-height:0;margin:4px 8px 0;position:relative;top:auto;left:auto;right:auto;transform:none}}@media (height<=500px) and (orientation:landscape){.combat-casting>.combat-stage:has(>.cast-dock:not(.cast-math)){grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) min(70%,500px)}.combat-casting>.combat-stage>.cast-dock:not(.cast-math){--zk:48px;--zg:6px;height:100%;max-height:none;padding:6px 8px max(6px, env(safe-area-inset-bottom));grid-row:2;grid-template-columns:minmax(0, 1fr) auto repeat(5, var(--zk));border-radius:22px 0 0;grid-template-areas:"head head slots slots slots slots back""cue replay keys keys keys keys keys""coach coach keys keys keys keys keys""note note trash ok hint hint hint";justify-content:stretch}.combat-casting>.combat-stage>.cast-dock:not(.cast-math) .spell-controls{display:contents}.combat-casting>.combat-stage>.cast-dock:not(.cast-math) .spell-ctrl:first-child{grid-area:back}.combat-casting>.combat-stage>.cast-dock:not(.cast-math) .spell-ctrl:nth-child(2){grid-area:trash}.combat-casting>.combat-stage>.cast-dock:not(.cast-math) .spell-ctrl:nth-child(3){grid-area:ok}.cast-dock:not(.cast-math) .mana-condition{min-height:30px;padding:2px 8px}.cast-dock:not(.cast-math) .cast-kid-prompt{display:none}.cast-dock:not(.cast-math) .cue-box{border-width:4px;padding:2px 8px}.cast-dock:not(.cast-math) .cue-emoji{font-size:1.6rem}.cast-dock:not(.cast-math) .cue-word{font-size:1.9rem}.cast-dock:not(.cast-math) .speech-fallback-note{padding:3px 6px;font-size:.7rem;line-height:1.25}.cast-dock:not(.cast-math) .hint-btn{padding:2px 4px;font-size:.68rem}.tutorial-active.combat-casting>.combat-stage>.tutorial-guide{z-index:6;grid-area:2/1;place-self:start stretch;width:auto;max-width:none;height:auto;min-height:0;margin:4px 6px;padding:4px 8px;position:relative;top:auto;left:auto;right:auto;overflow:hidden;transform:none}}@media (height<=500px) and (height>=380px) and (orientation:landscape){.combat-casting>.combat-stage>.cast-dock:not(.cast-math){--zk:52px}}@media (width<=400px) and (orientation:portrait){#app:has(.combat-casting),#app:has(>.cast-screen.cast-dock){padding-left:0;padding-right:0}.combat-casting>.combat-stage>.cast-dock:not(.cast-math),#app>.cast-screen.cast-dock:not(.cast-math){--zg:2px;padding-inline:2px}.combat-casting>.combat-stage>.cast-dock:not(.cast-math) .spell-slots{min-height:var(--zk);flex-wrap:nowrap;gap:2px}}#app>.cast-screen.cast-dock:not(.cast-math){--zk:52px;--zg:6px;grid-template-columns:minmax(0, 1fr) auto repeat(5, var(--zk));place-content:start stretch;gap:var(--zg);flex:auto;grid-template-rows:auto;grid-template-areas:"head head slots slots slots slots slots""cue replay keys keys keys keys keys""coach coach keys keys keys keys keys""note note ctrl ctrl ctrl hint hint";grid-auto-rows:auto;width:100%;max-width:none;height:auto;min-height:0;max-height:100%;margin:0;padding:8px 78px 8px 10px;display:grid;overflow:hidden}#app>.cast-screen.cast-dock:not(.cast-math):has(.practice-leave-btn){grid-template-areas:"head head slots slots slots slots slots""cue replay keys keys keys keys keys""coach coach keys keys keys keys keys""note note ctrl ctrl ctrl hint hint""leave leave leave leave leave leave leave"}.cast-dock:not(.cast-math) .practice-leave-btn{width:100%;max-width:none;min-height:48px;height:var(--zk);grid-area:leave;margin:0;padding:0 8px}.cast-dock:not(.cast-math) .practice-hud{gap:8px;margin:0;font-size:.9rem;display:flex}@media (width<=600px) and (orientation:portrait){#app>.cast-screen.cast-dock:not(.cast-math){--zk:48px;--zg:2px;grid-template-rows:auto;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-areas:"head head head head head head head""cue cue cue cue coach coach coach""slots slots slots slots slots slots slots""ctrl ctrl ctrl ctrl ctrl ctrl ctrl""keys keys keys keys keys keys keys""hint hint hint hint hint hint hint""note note note note note note note";grid-auto-rows:auto;height:auto;max-height:none;padding:6px 4px 8px}#app>.cast-screen.cast-dock:not(.cast-math):has(.replay-btn){grid-template-areas:"head head head head head head head""cue cue cue replay coach coach coach""slots slots slots slots slots slots slots""ctrl ctrl ctrl ctrl ctrl ctrl ctrl""keys keys keys keys keys keys keys""hint hint hint hint hint hint hint""note note note note note note note"}#app>.cast-screen.cast-dock:not(.cast-math):has(.practice-leave-btn){grid-template-areas:"head head head head head head head""cue cue cue cue coach coach coach""slots slots slots slots slots slots slots""ctrl ctrl ctrl ctrl ctrl ctrl ctrl""keys keys keys keys keys keys keys""hint hint hint hint hint hint hint""note note note note note note note""leave leave leave leave leave leave leave"}#app>.cast-screen.cast-dock:not(.cast-math):has(.replay-btn):has(.practice-leave-btn){grid-template-areas:"head head head head head head head""cue cue cue replay coach coach coach""slots slots slots slots slots slots slots""ctrl ctrl ctrl ctrl ctrl ctrl ctrl""keys keys keys keys keys keys keys""hint hint hint hint hint hint hint""note note note note note note note""leave leave leave leave leave leave leave"}#app>.cast-screen.cast-dock:not(.cast-math) .cue-word{overflow-wrap:anywhere;font-size:1.5rem}}@media (height<=500px) and (orientation:landscape){#app>.cast-screen.cast-dock:not(.cast-math){--zk:48px;--zg:4px;height:100dvh;max-height:100dvh;padding:4px 74px 4px 6px}#app>.screen.character-screen{height:calc(100dvh - max(12px, env(safe-area-inset-top)) - max(12px, env(safe-area-inset-bottom)));min-height:0;padding:2px max(128px, calc(env(safe-area-inset-right) + 124px)) 2px 4px;grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 12px;display:grid;overflow-y:auto}.character-screen>.kid-prompt{grid-area:1/1;font-size:1.35rem}.character-screen>.adult-text{grid-area:2/1;max-width:220px;font-size:.72rem;line-height:1.3}.character-screen>.adult-coach{grid-area:1/2/3;width:100%;max-width:none;margin:0}.character-screen>.character-choices{grid-area:3/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;gap:10px;width:100%;max-width:none;margin:4px 0 0;display:grid}.character-screen .character-card{text-align:left;border-width:4px;border-radius:18px;grid-template-rows:auto auto auto auto 1fr auto;grid-template-columns:clamp(64px,11vw,96px) minmax(0,1fr);align-content:start;gap:4px 8px;width:auto;min-width:0;min-height:0;margin:0;padding:8px 10px 10px;display:grid}.character-screen .character-card .character-status,.character-screen .character-card .character-progress,.character-screen .character-card .character-progress-unreleased{display:none}.character-screen .character-card .character-emoji{grid-area:1/1/4;place-self:center;width:clamp(64px,11vw,96px);height:clamp(64px,11vw,96px);margin:0;font-size:2.8rem}.character-screen .character-card .character-name,.character-screen .character-card .character-title,.character-screen .character-card .character-theme{grid-column:2;margin:0}.character-screen .character-card .character-name{grid-row:1;font-size:1.3rem;line-height:1.15}.character-screen .character-card .character-title{grid-row:2;font-size:.8rem!important}.character-screen .character-card .character-theme,.character-screen .character-card .character-teaching-note{grid-row:3;font-size:.8rem;line-height:1.3}.character-screen .character-card .character-teaching-note{grid-area:4/1/auto/-1}.character-screen .character-card .starter-deck-summary{grid-area:4/1/auto/-1;justify-content:flex-start;gap:4px;font-size:.8rem}.character-screen .character-card .starter-deck-summary span{padding:2px 7px}.character-screen .character-card .starting-relic{border-radius:12px;grid-area:5/1/auto/-1;align-self:start;gap:6px;width:100%;padding:4px 8px;font-size:.74rem;line-height:1.3}.character-screen .character-card .starting-relic-emoji{font-size:1.4rem}.character-screen .character-card .starting-relic-emoji .relic-art{width:1.6rem;height:1.6rem}.character-screen .character-card .character-pick-cta{grid-area:6/1/auto/-1;min-height:44px;padding:4px 10px;font-size:1rem}}@media (width<=600px) and (orientation:portrait){.character-screen .character-card{gap:6px}.character-screen .character-card .character-emoji{width:116px;height:116px}.character-screen .character-card .starting-relic{padding:8px 12px;line-height:1.35}}@media (height<=500px) and (orientation:landscape) and (width<=760px){#app>.screen.character-screen{padding-right:max(74px, calc(env(safe-area-inset-right) + 70px))}.character-screen>.adult-coach{width:auto;margin-right:122px}}.spell-reveal-overlay.spell-reveal-docked{pointer-events:none;padding:0 12px max(8px, env(safe-area-inset-bottom));background:0 0;justify-content:center;align-items:end}.spell-reveal-overlay.spell-reveal-docked .spell-reveal-card{pointer-events:auto;width:min(440px,92vw);max-height:min(40dvh,320px);margin-bottom:4px;overflow:auto}@media (height<=640px){.spell-reveal-overlay.spell-reveal-docked{align-items:center;padding:8px}.spell-reveal-overlay.spell-reveal-docked .spell-reveal-card{width:min(520px,100vw - 16px);max-height:none;padding:8px 12px 10px;overflow:visible}.spell-reveal-overlay.spell-reveal-docked .spell-reveal-emoji{font-size:1.6rem}.spell-reveal-overlay.spell-reveal-docked .spell-reveal-word{margin-top:2px;font-size:1.15rem}.spell-reveal-overlay.spell-reveal-docked .spell-reveal-spell{margin-top:2px;font-size:1.45rem}.spell-reveal-overlay.spell-reveal-docked .spell-reveal-ok{margin-top:2px;font-size:1.05rem}.spell-reveal-overlay.spell-reveal-docked .spell-reveal-continue{min-height:48px;margin-top:6px}}.potion-belt{background:repeating-linear-gradient(90deg, #ffffff09 0 2px, transparent 2px 10px), linear-gradient(180deg, #fff4cc29, transparent 52%), var(--toy-walnut);border:2px solid #ffe08eb8;border-radius:28px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:max-content;max-width:100%;padding:4px 8px 4px 5px;display:inline-flex;box-shadow:inset 0 1px #ffffff24,0 3px #241017c7}.screen>.potion-belt{align-self:center}.potion-belt-mark{background:#160c1c80;border-radius:999px;place-items:center;width:30px;height:30px;font-size:1.05rem;display:grid}.potion-belt .potion-slot{flex:0 0 46px;width:46px;min-width:46px;height:46px;min-height:46px;font-size:1.4rem}.potion-belt .potion-slot:not(.is-empty){border:3px solid var(--toy-brass);box-shadow:inset 0 0 0 2px #ffe7a038, 0 0 10px #ffd67852, 0 3px 0 var(--toy-walnut-dark);background:radial-gradient(circle at 36% 28%,#fff7e573,#0000 40%),radial-gradient(circle at 50% 62%,#7d4f8f,#3b2249 72%)}.potion-belt .potion-slot.is-empty{opacity:1;cursor:default;color:#ffe49480;background:#160c1c94;border:2px dashed #ffe08e73;font-size:1.05rem;font-weight:900;box-shadow:inset 0 3px 6px #00000073}.potion-belt .potion-slot.is-empty:active{transform:none}.potion-belt .potion-aim-hint{color:var(--toy-brass-light);font-weight:800}.map-potion-row{justify-content:center}.combat-potion-belt{justify-self:end}@media (height<=500px) and (orientation:landscape){.combat-hud-strip{grid-template-areas:"location resources""relics potions"}.combat-potion-belt{grid-area:potions;padding-block:2px}.combat-potion-belt .potion-slot{flex-basis:44px;width:44px;min-width:44px;height:44px;min-height:44px;font-size:1.3rem}}.event-intro,.event-body{flex-direction:column;align-items:center;gap:8px;width:min(100%,560px);min-width:0;display:flex}.event-intro{border:2px solid var(--toy-panel-border);box-shadow:var(--toy-raised-shadow), var(--toy-inset);background:linear-gradient(#fff4cc14,#0000 40%),#24132eeb;border-radius:24px;padding:14px 18px 16px}.event-intro .event-icon{filter:drop-shadow(0 3px #1e0c1499)}.event-intro h2{color:var(--toy-brass-light);text-shadow:0 2px #371a22cc;margin:0;font-size:1.7rem;line-height:1.2}.event-intro h2:focus{outline:none}.event-presentation{color:var(--toy-cream);line-height:1.45}.event-intro .kid-status{gap:10px;font-size:1.15rem}.event-intro .kid-stat{padding:4px 12px}.event-body .kid-prompt{margin:0}.event-body .event-choices{gap:10px;max-width:460px}.event-choice{border:3px solid var(--toy-brass);min-height:52px;color:var(--toy-cream);box-shadow:var(--toy-raised-shadow), var(--toy-inset);background:linear-gradient(#ffffff1a,#0000 46%),linear-gradient(#5d3a6c,#3a2349);flex-flow:wrap;gap:4px 6px;padding:8px 14px;font-size:1.15rem;font-weight:800}.event-choice-label{flex-basis:100%}.event-chips{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.event-chip{color:var(--toy-cream);background:#160c1c8c;border:1px solid #ffe08e6b;border-radius:999px;align-items:center;padding:2px 9px;font-weight:800;display:inline-flex}.event-choice:disabled{color:#d9cbe0;background:#1e1226eb;border:3px dashed #ffe08e80;box-shadow:inset 0 2px 6px #0006}.event-choice:disabled .event-chip{opacity:.75}.event-choice-reason{color:#ffcfae;flex-basis:100%;font-weight:700}.event-result{color:var(--toy-cream);font-weight:700}.event-results{background:#24132ee0;border-radius:18px;flex-direction:column;gap:4px;padding:10px 16px;display:flex}@media (height<=500px) and (orientation:landscape){#app>.screen.event-screen{height:calc(100dvh - max(12px, env(safe-area-inset-top)) - max(12px, env(safe-area-inset-bottom)));min-height:0;padding:2px max(128px, calc(env(safe-area-inset-right) + 124px)) 2px 2px;grid-template:"coach body""intro body"minmax(0,1fr)/minmax(0,.95fr) minmax(0,1.05fr);align-items:stretch;gap:6px 12px;display:grid;overflow:hidden}.event-screen>.adult-coach{grid-area:coach;width:100%;max-width:none;max-height:40dvh;margin:0;overflow-y:auto}.event-screen>.event-intro{grid-area:intro;justify-content:center;gap:6px;width:100%;min-height:0;padding:10px 12px;overflow-y:auto}.event-screen>.event-body{overscroll-behavior:contain;grid-area:body;gap:8px;width:100%;min-height:0;padding:2px 2px 8px;overflow-y:auto}.event-screen>.event-body>:first-child{margin-top:auto}.event-screen>.event-body>:last-child{margin-bottom:auto}.event-intro .event-icon{font-size:2.2rem}.event-intro h2{font-size:1.35rem}.event-presentation{font-size:.98rem;line-height:1.35}.event-intro .kid-status{gap:8px;font-size:1rem}.event-intro .kid-stat{padding:3px 10px}.event-body .event-choices{gap:8px;max-width:none}.event-choice{border-radius:16px;min-height:48px;padding:6px 10px;font-size:1.05rem}.event-choice-label{font-size:1.05rem}.event-chip,.event-choice-reason{font-size:.84rem}.event-body .kid-prompt{font-size:1.05rem}}@media (height<=500px) and (orientation:landscape) and (width<=760px){#app>.screen.event-screen{padding-right:max(74px, calc(env(safe-area-inset-right) + 70px))}.event-screen>.event-body{padding-top:46px}}.combat-stage .intent{position:relative}.intent-chips{pointer-events:none;gap:1px;display:flex;position:absolute;top:2px;right:3px}.intent-cue-chip{background:#2d1714c7;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 2px;font-size:.8rem;line-height:1;display:grid;box-shadow:0 0 0 1px #ffe093b3}.intent-strength-mark{background:#8f2f1f;box-shadow:0 0 0 1px #ffb36b}.combat-stage .intent.intent-cue-brace{box-shadow:0 0 0 2px #e4b84c8c, 0 3px 0 var(--toy-walnut-dark);border-color:var(--toy-brass)!important;color:#d8eeff!important;background:linear-gradient(#2f5f8f,#1c3757)!important}.combat-stage .intent.intent-cue-summon{color:#d6ffe9!important;background:linear-gradient(#2b5c4c,#1a3a33)!important;border-color:#8fe3b8!important}.combat-stage .intent.intent-cue-buff-allies,.combat-stage .intent.intent-cue-buff-self{color:#ffe0bd!important;background:linear-gradient(#7a3d1a,#4f2412)!important;border-color:#ffa654!important}.combat-stage .enemy-emoji{position:relative}.enemy-cue-badges{pointer-events:none;z-index:2;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;inset:0 -4px auto}.enemy-cue-col{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.enemy-cue-col:last-child{align-items:flex-end}.enemy-cue-badge{white-space:nowrap;border-radius:999px;padding:1px 6px;font-family:inherit;font-size:.86rem;font-weight:900;line-height:1.3}.enemy-strength-badge{border:2px solid var(--toy-brass);color:#fff4e0;box-shadow:0 2px 0 var(--toy-walnut-dark);background:linear-gradient(#e0582f,#a52f1d)}.enemy-new-badge{color:#e6fff1;box-shadow:0 2px 0 var(--toy-walnut-dark);background:#1f5a45;border:2px solid #8fe3b8}.enemy-brace-badge{border:2px solid var(--toy-brass);color:#fff;box-shadow:0 0 10px #7ac4ff8c, 0 2px 0 var(--toy-walnut-dark);background:linear-gradient(#3d78b0,#1f4369);animation:1.6s ease-in-out infinite braceGlint}@keyframes braceGlint{0%,to{box-shadow:0 0 6px #7ac4ff59, 0 2px 0 var(--toy-walnut-dark)}50%{box-shadow:0 0 14px #7ac4ffd9, 0 2px 0 var(--toy-walnut-dark)}}.enemy-slot.enemy-arriving .enemy-miniature-art,.enemy-slot.enemy-arriving .enemy-new-badge{animation:.6s cubic-bezier(.34,1.56,.64,1) both enemyArrive}@keyframes enemyArrive{0%{opacity:0;transform:translateY(14px)scale(.6)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=600px),(height<=500px) and (orientation:landscape){.intent-cue-chip{min-width:16px;height:16px;font-size:.66rem}.enemy-cue-badge{border-width:1.5px;padding:0 4px;font-size:.7rem}}@media (prefers-reduced-motion:reduce){.enemy-brace-badge,.enemy-slot.enemy-arriving .enemy-miniature-art,.enemy-slot.enemy-arriving .enemy-new-badge{animation:none}}.map-stage{grid-template-columns:auto minmax(0,1fr)}.map-stage>.map-stage-top,.map-stage>.map-stage-bottom{grid-column:1/-1}.map-stage>.map-stage-top{grid-row:1}.map-stage>.map-stage-bottom{grid-row:3}.map-stage>.map-panel{grid-area:2/2}.map-stage .adult-coach,.map-stage .adult-coach-float{box-sizing:border-box;overscroll-behavior:contain;grid-area:2/1;align-self:start;width:300px;max-width:300px;max-height:100%;position:relative;top:auto;left:auto;overflow-y:auto}.map-stage .adult-coach.collapsed{width:150px;max-width:150px}@media (height<=500px) and (orientation:landscape){.map-stage{padding-right:max(76px, calc(env(safe-area-inset-right) + 70px))}html[data-screen=map] .tower-progress{top:max(76px, calc(env(safe-area-inset-top) + 72px));right:max(14px, env(safe-area-inset-right));flex-direction:column-reverse}.map-stage-top{flex-wrap:wrap;width:auto;min-height:0;margin-inline:auto;padding:3px 8px}.map-stage-top .map-relic-badges{order:2}.map-stage-top .map-potion-row{order:1;width:auto;margin:0}.map-stage .adult-coach,.map-stage .adult-coach-float{width:200px;max-width:200px}.map-stage .adult-coach.collapsed{width:132px;max-width:132px;padding:2px 8px}}@media (orientation:portrait) and (width<=900px){.map-stage{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.map-stage>.map-panel{grid-area:3/1}.map-stage>.map-stage-bottom{grid-row:4}.map-stage .adult-coach,.map-stage .adult-coach-float{grid-row:2;width:auto;max-width:none;max-height:32dvh}.map-stage .adult-coach.collapsed{justify-self:start;width:auto;max-width:220px}}.screen.rest-screen>.rest-choices{gap:10px}.screen.rest-screen .rest-choice{gap:4px;min-height:96px;padding:10px 12px}.screen.rest-screen .rest-choice-emoji{font-size:2.4rem}@media (orientation:landscape){.screen.rest-screen{flex-flow:wrap;place-content:flex-start center;align-items:center;gap:10px 14px}.screen.rest-screen>.rest-fire{font-size:3.2rem}.screen.rest-screen>.rest-choices{flex-direction:row;flex:1 0 100%;justify-content:center;max-width:none}.screen.rest-screen .rest-choice{flex:0 240px;min-width:0}}@media (height<=500px) and (orientation:landscape){#app>.screen.rest-screen{padding-top:max(56px, calc(env(safe-area-inset-top) + 52px));padding-right:max(76px, calc(env(safe-area-inset-right) + 70px))}}@media (height<=500px) and (orientation:landscape) and (width>=761px){#app>.screen.rest-screen{padding-right:max(130px, calc(env(safe-area-inset-right) + 124px))}}.native-modal-shell{width:100%;max-width:none;height:100%;max-height:none;color:inherit;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0}.native-modal-shell::backdrop{background:0 0}.card-choice-panel{margin:max(20px, env(safe-area-inset-top)) auto;color:#271c2d;background:#f7e7be;border-radius:20px;width:min(92%,600px);max-height:90dvh;padding:24px;overflow:auto}.card-choice-button{width:100%;min-height:64px;margin:12px 0;display:block}
