:root{--theme-bg-top: #74c0fc;--theme-bg-mid: #a5d8ff;--theme-bg-bottom: #e7f5ff;--theme-primary: #ff6b9d;--theme-primary-soft: #ffc9e0;--theme-blue: #4dabf7;--theme-blue-deep: #228be6;--theme-accent: #ffd43b;--theme-surface: rgba(255, 255, 255, .92);--theme-surface-strong: rgba(255, 255, 255, .96);--theme-border: rgba(255, 255, 255, .7);--theme-text: #ffffff;--theme-text-on-light: #343a40;--theme-text-soft: rgba(255, 255, 255, .96);--theme-text-muted: #868e96;--theme-link: #364fc7;--panel-bg: linear-gradient( 165deg, rgba(255, 255, 255, .94) 0%, rgba(231, 245, 255, .88) 48%, rgba(186, 230, 253, .72) 100% );--panel-border: rgba(255, 255, 255, .85);--card-shadow: 0 10px 36px rgba(34, 139, 230, .16), inset 0 1px 0 rgba(255, 255, 255, .95);--char-bg: linear-gradient(165deg, #ffffff 0%, #f8fbff 50%, #e7f5ff 100%);--char-color: #343a40;--char-border: 2px solid rgba(255, 255, 255, .98);--char-shadow: 0 1px 0 rgba(255, 255, 255, .95) inset, 0 5px 0 #74c0fc, 0 10px 22px rgba(34, 139, 230, .26);--char-shadow-active: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 2px 0 #4dabf7, 0 5px 12px rgba(34, 139, 230, .22);--char-learned-bg: linear-gradient(165deg, #ecfdf5 0%, #d3f9d8 55%, #b2f2bb 100%);--char-learned-color: #2b8a3e;--char-learned-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 5px 0 #51cf66, 0 10px 20px rgba(47, 158, 68, .24);--content-max-width: 920px;--page-pad-x: 16px;--grid-max-cell: 148px;--grid-fill-ratio: .98;--grid-gap-min: 22px;--grid-gap-max: 40px}@media(min-width:768px){:root{--page-pad-x: 20px;--grid-max-cell: 168px;--grid-gap-min: 26px;--grid-gap-max: 48px}}@media(min-width:768px)and (orientation:landscape){:root{--grid-max-cell: 152px;--grid-fill-ratio: .96}}.char-grid-wrap[data-v-898ddc0c]{flex:1 1 0;min-height:0;min-width:0;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:clamp(16px,3vmin,28px)}.char-panel[data-v-898ddc0c]{--cols: 4;--rows: 2;--cell: 96px;--gap: 16px;--panel-pad: 14px;display:grid;grid-template-columns:repeat(var(--cols),var(--cell));grid-template-rows:repeat(var(--rows),auto);gap:var(--gap);padding:var(--panel-pad);max-width:100%;max-height:100%}.char-panel.has-illus[data-v-898ddc0c]{padding-top:calc(var(--panel-pad) + 2px)}.char-unit[data-v-898ddc0c]{width:var(--cell);display:flex;flex-direction:column;align-items:center;gap:clamp(5px,calc(var(--cell) * .06),8px)}.illus-btn[data-v-898ddc0c]{flex-shrink:0;width:92%;height:clamp(28px,calc(var(--cell) * .34),38px);border:2px solid rgba(255,255,255,.92);border-radius:999px;background:linear-gradient(145deg,#ff6b9d,#ff922b);color:#fff;font-family:KaiTi,STKaiti,楷体,serif;font-size:clamp(13px,calc(var(--cell) * .19),17px);letter-spacing:.08em;line-height:1;cursor:pointer;touch-action:manipulation;box-shadow:0 2px #e8590c,0 5px 12px #ff6b9d52;transition:transform .12s ease,box-shadow .12s ease}.illus-btn[data-v-898ddc0c]:active{transform:translateY(2px);box-shadow:0 1px #e8590c,0 3px 8px #ff6b9d47}.char-cell[data-v-898ddc0c]{width:100%;height:var(--cell);position:relative;border:var(--char-border);border-radius:clamp(14px,2vmin,20px);background:var(--char-bg);box-shadow:var(--char-shadow);transition:transform .12s ease,box-shadow .12s ease}.char-tap[data-v-898ddc0c]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;touch-action:manipulation;padding:0}.char-glyph[data-v-898ddc0c]{font-family:KaiTi,STKaiti,楷体,Songti SC,SimSun,serif;font-size:calc(var(--cell) * .52);font-weight:700;color:var(--char-color);line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.85);pointer-events:none}.char-cell[data-v-898ddc0c]:has(.char-tap:active),.char-cell.bounce[data-v-898ddc0c]{transform:translateY(3px);box-shadow:var(--char-shadow-active)}.char-cell.learned[data-v-898ddc0c]{background:var(--char-learned-bg);border-color:#fffffff2;box-shadow:var(--char-learned-shadow)}.char-cell.learned .char-glyph[data-v-898ddc0c]{color:var(--char-learned-color)}.char-cell.learned[data-v-898ddc0c]:after{content:"✓";position:absolute;top:clamp(3px,calc(var(--cell) * .07),8px);right:clamp(4px,calc(var(--cell) * .08),10px);width:clamp(16px,calc(var(--cell) * .22),24px);height:clamp(16px,calc(var(--cell) * .22),24px);border-radius:50%;background:linear-gradient(145deg,#34d399,#059669);color:#fff;font-size:clamp(9px,calc(var(--cell) * .14),13px);font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #065f4673;pointer-events:none}.lesson-nav[data-v-74081fe3]{flex-shrink:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(8px,1.6vw,12px);width:100%;max-width:var(--content-max-width);margin:0 auto;padding:10px max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left))}.nav-btn[data-v-74081fe3]{border:none;border-radius:999px;padding:clamp(8px,1.5vmin,11px) clamp(12px,2.4vw,16px);background:#fffffff0;color:var(--theme-link);font-family:KaiTi,STKaiti,楷体,serif;font-size:clamp(13px,2.6vw,15px);cursor:pointer;touch-action:manipulation;white-space:nowrap;box-shadow:0 2px 8px #00000014;min-width:clamp(88px,18vw,108px);text-align:center}.nav-btn[data-v-74081fe3]:first-child{justify-self:start}.nav-btn[data-v-74081fe3]:last-child{justify-self:end}.nav-btn[data-v-74081fe3]:disabled{cursor:not-allowed;background:#ffffffb8;color:#adb5bd;box-shadow:none}.lesson-chip[data-v-74081fe3]{border:none;background:#fffffff5;border-radius:999px;padding:clamp(6px,1.2vmin,9px) clamp(16px,3.2vw,24px);cursor:pointer;touch-action:manipulation;display:flex;flex-direction:column;align-items:center;gap:1px;box-shadow:0 3px 12px #00000014;max-width:min(52vw,280px)}.subtitle[data-v-74081fe3]{font-family:KaiTi,STKaiti,楷体,serif;font-size:clamp(11px,2.2vw,13px);color:#868e96;line-height:1.2}.title[data-v-74081fe3]{font-family:KaiTi,STKaiti,楷体,serif;font-size:clamp(14px,3vw,17px);color:#343a40;white-space:nowrap;line-height:1.2}@media(min-width:768px)and (orientation:landscape){.lesson-nav[data-v-74081fe3]{padding-top:6px}.lesson-chip[data-v-74081fe3]{flex-direction:row;gap:6px;max-width:none}.subtitle[data-v-74081fe3]{font-size:clamp(13px,2vw,15px)}.subtitle[data-v-74081fe3]:after{content:"·";margin-left:6px;color:#ced4da}.title[data-v-74081fe3]{font-size:clamp(14px,2.2vw,17px)}}.explore[data-v-1521055d]{flex:1 1 0;min-height:0;min-width:0;width:100%;display:flex;flex-direction:column;overflow:hidden;padding:0 var(--page-pad-x) max(10px,env(safe-area-inset-bottom));padding-left:max(var(--page-pad-x),env(safe-area-inset-left));padding-right:max(var(--page-pad-x),env(safe-area-inset-right))}.explore-shell[data-v-1521055d]{flex:1;min-height:0;width:100%;max-width:var(--content-max-width);margin:0 auto;display:flex;flex-direction:column}.content-card[data-v-1521055d]{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;margin-top:8px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:22px;box-shadow:var(--card-shadow);overflow:hidden}.map-overlay[data-v-75f31d30]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:50;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.map-panel[data-v-75f31d30]{background:linear-gradient(180deg,#fff,#fff9f0);border-radius:24px;padding:20px 16px 22px;max-width:520px;width:100%;max-height:min(85vh,720px);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 12px 40px #0003}.map-header[data-v-75f31d30]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-shrink:0}.map-header h2[data-v-75f31d30]{font-family:KaiTi,STKaiti,楷体,serif;font-size:22px;color:#343a40;font-weight:400}.close-btn[data-v-75f31d30]{width:36px;height:36px;border:none;border-radius:50%;background:#e9ecef;font-size:18px;cursor:pointer}.vol-tabs[data-v-75f31d30]{display:flex;gap:8px;margin-bottom:14px;flex-shrink:0}.vol-tab[data-v-75f31d30]{flex:1;border:none;border-radius:12px;padding:10px 8px;background:#e9ecef;color:#495057;font-family:KaiTi,STKaiti,楷体,serif;font-size:16px;cursor:pointer;touch-action:manipulation}.vol-tab.active[data-v-75f31d30]{background:linear-gradient(145deg,#74c0fc,#4dabf7);color:#fff;box-shadow:0 4px 12px #4dabf759}.lesson-grid[data-v-75f31d30]{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:grid;grid-template-columns:1fr;gap:10px}.lesson-btn[data-v-75f31d30]{border:none;border-radius:14px;background:linear-gradient(145deg,#a5d8ff,#74c0fc);color:#fff;font-family:KaiTi,STKaiti,楷体,serif;cursor:pointer;touch-action:manipulation;text-align:left;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.lesson-btn.cleared[data-v-75f31d30]{background:linear-gradient(145deg,#69db7c,#51cf66)}.lesson-btn.current[data-v-75f31d30]{box-shadow:0 0 0 3px #ffd43b}.lesson-name[data-v-75f31d30]{font-size:18px}.lesson-chars[data-v-75f31d30]{font-size:clamp(15px,3.8vw,18px);opacity:.95;line-height:1.55;letter-spacing:.12em}@media(min-width:768px){.map-panel[data-v-75f31d30]{padding:24px 20px 26px}.lesson-grid[data-v-75f31d30]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media(orientation:landscape)and (max-height:520px){.map-panel[data-v-75f31d30]{max-height:92vh}.lesson-btn[data-v-75f31d30]{padding:10px 12px}.lesson-name[data-v-75f31d30]{font-size:16px}.lesson-chars[data-v-75f31d30]{font-size:14px}}.start-screen[data-v-2a492355]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#74c0fc,#a5d8ff,#e7f5ff);padding:24px}.start-card[data-v-2a492355]{text-align:center;background:#fffffff2;border-radius:28px;padding:40px 36px 36px;box-shadow:0 16px 48px #0000001f;max-width:320px;width:100%}.start-emoji[data-v-2a492355]{font-size:56px;line-height:1;margin-bottom:8px}.start-title[data-v-2a492355]{font-family:KaiTi,STKaiti,楷体,serif;font-size:32px;color:#ff6b9d;margin-bottom:8px}.start-sub[data-v-2a492355]{font-family:KaiTi,STKaiti,楷体,serif;font-size:17px;color:#868e96;margin-bottom:28px}.start-btn[data-v-2a492355]{width:100%;border:none;border-radius:999px;padding:16px 24px;font-family:KaiTi,STKaiti,楷体,serif;font-size:22px;color:#fff;background:linear-gradient(145deg,#ff6b9d,#ff922b);box-shadow:0 8px 24px #ff6b9d73;cursor:pointer;touch-action:manipulation}.start-btn[data-v-2a492355]:active{transform:scale(.97)}@media(min-width:768px){.start-screen[data-v-2a492355]{padding:max(32px,env(safe-area-inset-top)) max(32px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(32px,env(safe-area-inset-left))}.start-card[data-v-2a492355]{max-width:400px;padding:48px 44px 44px}.start-title[data-v-2a492355]{font-size:40px}.start-btn[data-v-2a492355]{font-size:24px;padding:18px 28px}}.hud[data-v-f8fabcc8]{flex-shrink:0;padding:max(6px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));background:linear-gradient(180deg,#74c0fc 0%,#74c0fc 75%,transparent 100%)}.hud-bar[data-v-f8fabcc8]{width:100%;max-width:var(--content-max-width);margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(8px,2vw,14px)}.logo[data-v-f8fabcc8]{font-size:clamp(16px,3.2vw,21px);color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.15);font-family:KaiTi,STKaiti,楷体,serif;white-space:nowrap}.mode-nav[data-v-f8fabcc8]{justify-self:center;display:inline-flex;gap:6px;padding:4px;max-width:100%;background:#ffffff73;border-radius:999px}.mode-btn[data-v-f8fabcc8]{border:none;border-radius:999px;padding:clamp(8px,1.6vmin,11px) clamp(14px,3.2vw,24px);font-family:KaiTi,STKaiti,楷体,serif;font-size:clamp(13px,2.6vw,16px);background:transparent;color:#495057;cursor:pointer;touch-action:manipulation;white-space:nowrap;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.mode-btn.active[data-v-f8fabcc8]{background:linear-gradient(145deg,#ff6b9d,#ff922b);color:#fff;box-shadow:0 4px 14px #ff6b9d59}.tool-group[data-v-f8fabcc8]{justify-self:end;display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:999px;background:#ffffff59}.tool-btn[data-v-f8fabcc8]{width:clamp(36px,7.5vw,42px);height:clamp(36px,7.5vw,42px);border:none;border-radius:50%;background:#fffffff2;font-size:clamp(15px,3vw,17px);flex-shrink:0;cursor:pointer;touch-action:manipulation;box-shadow:0 2px 8px #00000014}.tool-btn.off[data-v-f8fabcc8]{opacity:.55}@media(min-width:768px)and (orientation:portrait){.hud[data-v-f8fabcc8]{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.mode-btn[data-v-f8fabcc8]{padding:10px 26px;font-size:16px}}.teacher-wrap[data-v-817003c7]{display:flex;flex-direction:column;align-items:center;flex-shrink:0;pointer-events:none}.teacher-canvas[data-v-817003c7]{display:block;width:100%;height:100%}.teacher-wrap.sm[data-v-817003c7]{width:100px;height:120px}.teacher-wrap.md[data-v-817003c7]{width:140px;height:168px}.teacher-wrap.lg[data-v-817003c7]{width:175px;height:210px}.teacher-label[data-v-817003c7]{margin-top:-2px;font-family:KaiTi,STKaiti,楷体,serif;font-size:14px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.15);background:linear-gradient(135deg,#ff9ebb,#ffc9e0);padding:3px 12px;border-radius:12px;box-shadow:0 2px 8px #ff6b9d59}@media(orientation:landscape)and (max-width:767px){.teacher-wrap.md[data-v-817003c7]{width:110px;height:130px}}@media(min-width:768px){.teacher-wrap.md[data-v-817003c7]{width:160px;height:192px}.teacher-wrap.lg[data-v-817003c7]{width:200px;height:240px}.teacher-wrap.sm[data-v-817003c7]{width:120px;height:144px}}@media(orientation:landscape){.teacher-wrap.md[data-v-817003c7]{width:clamp(100px,18vw,140px);height:clamp(120px,22vh,168px)}.teacher-label[data-v-817003c7]{font-size:12px;padding:2px 10px}}.stage[data-v-3e8eb275]{flex:1;min-height:0;min-width:0;width:100%;display:flex;flex-direction:column;overflow:hidden;position:relative;padding:0 var(--page-pad-x) max(10px,env(safe-area-inset-bottom));padding-left:max(var(--page-pad-x),env(safe-area-inset-left));padding-right:max(var(--page-pad-x),env(safe-area-inset-right))}.stage-shell[data-v-3e8eb275]{flex:1;min-height:0;width:100%;max-width:var(--content-max-width);margin:0 auto;display:flex;flex-direction:column}.screen-flash[data-v-3e8eb275]{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(255,230,100,.55) 0%,transparent 70%);pointer-events:none;z-index:40}.flash-enter-active[data-v-3e8eb275]{animation:flash-in-3e8eb275 .45s ease}.flash-leave-active[data-v-3e8eb275]{animation:flash-out-3e8eb275 .35s ease}@keyframes flash-in-3e8eb275{0%{opacity:0}to{opacity:1}}@keyframes flash-out-3e8eb275{to{opacity:0}}.lesson-progress[data-v-3e8eb275]{flex-shrink:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 8px;padding:2px 0 6px}.mini-star[data-v-3e8eb275]{font-size:clamp(12px,2.4vmin,16px);line-height:1;filter:grayscale(1) opacity(.35);transform:scale(.9);transition:all .35s cubic-bezier(.34,1.56,.64,1)}.mini-star.on[data-v-3e8eb275]{filter:none;opacity:1;transform:scale(1.1)}.progress-text[data-v-3e8eb275]{font-family:KaiTi,STKaiti,楷体,serif;font-size:clamp(13px,2.6vw,15px);color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.1)}.play-card[data-v-3e8eb275]{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;margin-top:4px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:22px;box-shadow:var(--card-shadow);overflow:hidden}.coach-bar[data-v-3e8eb275]{flex-shrink:0;display:flex;align-items:center;gap:clamp(8px,2vw,12px);padding:10px 14px;border-bottom:1px solid #f1f3f5;background:linear-gradient(180deg,#fff,#f8f9fa)}.coach-bar.intro[data-v-3e8eb275]{background:linear-gradient(180deg,#fff9db,#fff)}.coach-bar.correct[data-v-3e8eb275]{animation:zone-glow-3e8eb275 .5s ease}@keyframes zone-glow-3e8eb275{0%,to{transform:scale(1)}50%{transform:scale(1.01)}}.coach-text[data-v-3e8eb275]{flex:1;min-width:0}.hint[data-v-3e8eb275]{font-family:KaiTi,STKaiti,楷体,serif;font-size:clamp(15px,3.2vw,19px);color:#495057;line-height:1.4}.hint.intro-line[data-v-3e8eb275]{color:#e67700;line-height:1.5}.replay-btn[data-v-3e8eb275]{flex-shrink:0;border:none;border-radius:999px;padding:8px 16px;font-family:KaiTi,STKaiti,楷体,serif;font-size:clamp(13px,2.6vw,15px);background:linear-gradient(145deg,#fff9db,#ffe066);color:#495057;font-weight:700;box-shadow:0 4px 12px #00000014;cursor:pointer;touch-action:manipulation}.fb[data-v-3e8eb275]{margin-top:4px;font-size:clamp(14px,2.8vw,16px);font-family:KaiTi,STKaiti,serif;font-weight:700}.fb.wrong[data-v-3e8eb275]{color:#e03131}.fb.ok[data-v-3e8eb275]{color:#f59f00;animation:ok-bounce-3e8eb275 .5s ease}@keyframes ok-bounce-3e8eb275{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.grid-area[data-v-3e8eb275]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:clamp(10px,2vmin,16px) clamp(12px,2.5vw,18px);overflow:hidden}.grid-area.locked[data-v-3e8eb275]{opacity:.5;pointer-events:none}.char-grid[data-v-3e8eb275]{--cols: 4;--rows: 2;--cell: 96px;--gap: 16px;--panel-pad: 14px;display:grid;grid-template-columns:repeat(var(--cols),var(--cell));grid-template-rows:repeat(var(--rows),var(--cell));gap:var(--gap);padding:var(--panel-pad);max-width:100%;max-height:100%}.char-cell[data-v-3e8eb275]{width:var(--cell);height:var(--cell);display:flex;align-items:center;justify-content:center;border:var(--char-border);border-radius:clamp(14px,2vmin,20px);background:var(--char-bg);box-shadow:var(--char-shadow);cursor:pointer;touch-action:manipulation;position:relative;transition:transform .12s ease,box-shadow .12s ease,background .25s ease}.char-glyph[data-v-3e8eb275]{font-family:KaiTi,STKaiti,楷体,serif;font-size:calc(var(--cell) * .54);font-weight:700;color:var(--char-color);line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.85);pointer-events:none}.char-cell[data-v-3e8eb275]:active:not(:disabled){transform:translateY(3px);box-shadow:var(--char-shadow-active)}.char-cell.bounce[data-v-3e8eb275]{transform:translateY(3px);box-shadow:var(--char-shadow-active)}.char-cell[data-v-3e8eb275]:disabled{cursor:default}.char-cell.solved[data-v-3e8eb275]{background:var(--char-learned-bg);box-shadow:var(--char-learned-shadow)}.char-cell.solved .char-glyph[data-v-3e8eb275]{color:var(--char-learned-color)}.char-cell.flash[data-v-3e8eb275]{animation:correct-burst-3e8eb275 .65s ease;z-index:2}@keyframes correct-burst-3e8eb275{0%{transform:scale(1);box-shadow:0 0 #ffd60ae6}40%{transform:scale(1.1) translateY(-2px);box-shadow:0 0 0 12px #ffd60a59;background:linear-gradient(165deg,#fffef5,#fff3bf)}to{transform:translateY(0);box-shadow:var(--char-learned-shadow)}}.char-cell.wrong[data-v-3e8eb275]{animation:shake-3e8eb275 .35s ease;background:#ffe3e3;box-shadow:0 1px #ffffffe6 inset,0 4px #fa5252,0 8px 16px #e0313140}@keyframes shake-3e8eb275{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.cell-star[data-v-3e8eb275]{position:absolute;top:clamp(3px,calc(var(--cell) * .06),8px);right:clamp(3px,calc(var(--cell) * .06),8px);font-size:clamp(12px,calc(var(--cell) * .2),18px);line-height:1}.float-star[data-v-3e8eb275]{position:absolute;left:50%;top:0;transform:translate(-50%);font-size:clamp(20px,calc(var(--cell) * .35),28px);animation:float-up-3e8eb275 .7s ease forwards;pointer-events:none;z-index:3}@keyframes float-up-3e8eb275{0%{opacity:1;transform:translate(-50%) scale(.5)}to{opacity:0;transform:translate(-50%,-32px) scale(1.15)}}.clear-card[data-v-3e8eb275]{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;animation:clear-in-3e8eb275 .5s ease}.clear-stars[data-v-3e8eb275]{font-size:40px;animation:clear-stars-3e8eb275 .8s ease infinite alternate}@keyframes clear-stars-3e8eb275{0%{transform:scale(1) rotate(-5deg)}to{transform:scale(1.15) rotate(5deg)}}@keyframes clear-in-3e8eb275{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.clear-title[data-v-3e8eb275]{font-family:KaiTi,STKaiti,楷体,serif;font-size:clamp(32px,8vw,44px);color:#ffd43b;text-shadow:0 0 20px rgba(255,107,157,.4)}.clear-sub[data-v-3e8eb275]{font-family:KaiTi,STKaiti,serif;color:#fff;font-size:18px}.primary-btn[data-v-3e8eb275]{border:none;border-radius:16px;padding:14px 36px;font-family:KaiTi,STKaiti,楷体,serif;font-size:20px;background:linear-gradient(145deg,#ff6b9d,#ff922b);color:#fff;cursor:pointer;touch-action:manipulation;box-shadow:0 6px 20px #ff6b9d59;animation:btn-pulse-3e8eb275 1.2s ease infinite}@keyframes btn-pulse-3e8eb275{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.overlay[data-v-4ef73580]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#0f172a73;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.dialog[data-v-4ef73580]{position:relative;width:min(420px,100%);max-height:min(88dvh,820px);display:flex;flex-direction:column;align-items:center;padding:20px 18px 18px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:24px;box-shadow:var(--card-shadow);overflow:hidden}.close-btn[data-v-4ef73580]{position:absolute;top:10px;right:10px;width:36px;height:36px;border:none;border-radius:50%;background:#ffffffe6;color:#495057;font-size:16px;cursor:pointer;touch-action:manipulation;box-shadow:0 2px 8px #00000014}.char-title[data-v-4ef73580]{font-family:KaiTi,STKaiti,楷体,serif;font-size:clamp(48px,14vw,72px);line-height:1;color:#343a40;margin-top:8px}.caption-row[data-v-4ef73580]{width:100%;display:flex;align-items:flex-start;gap:8px;margin:8px 0 12px}.caption[data-v-4ef73580]{flex:1;min-width:0;padding:10px 12px;border-radius:12px;background:#74c0fc1f;border:1px solid rgba(116,192,252,.25);font-family:KaiTi,STKaiti,楷体,serif;font-size:15px;line-height:1.5;color:#495057;text-align:left}.speak-btn[data-v-4ef73580]{flex-shrink:0;width:40px;height:40px;border:none;border-radius:50%;background:#fffffff2;font-size:18px;cursor:pointer;touch-action:manipulation;box-shadow:0 2px 8px #00000014}.speak-btn[data-v-4ef73580]:active{transform:scale(.94)}.frame[data-v-4ef73580]{width:100%;flex:1;min-height:0;aspect-ratio:720 / 1280;max-height:min(62dvh,560px);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#f8fbff,#e7f5ff);border:1px solid rgba(116,192,252,.35);display:flex;align-items:center;justify-content:center}.illus[data-v-4ef73580]{width:100%;height:100%;object-fit:cover;display:block}.state[data-v-4ef73580]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center;font-family:KaiTi,STKaiti,楷体,serif;color:#495057}.state.error .hint[data-v-4ef73580]{font-size:13px;color:#868e96}.text-only-hint[data-v-4ef73580]{font-size:15px;color:#495057}.spinner[data-v-4ef73580]{width:40px;height:40px;border:4px solid rgba(116,192,252,.25);border-top-color:#4dabf7;border-radius:50%;animation:spin-4ef73580 .8s linear infinite}@keyframes spin-4ef73580{to{transform:rotate(360deg)}}.retry-btn[data-v-4ef73580]{margin-top:4px;border:none;border-radius:999px;padding:10px 22px;font-family:KaiTi,STKaiti,楷体,serif;font-size:16px;color:#fff;background:linear-gradient(145deg,#ff6b9d,#ff922b);cursor:pointer;touch-action:manipulation}.modal-enter-active[data-v-4ef73580],.modal-leave-active[data-v-4ef73580]{transition:opacity .22s ease}.modal-enter-active .dialog[data-v-4ef73580],.modal-leave-active .dialog[data-v-4ef73580]{transition:transform .22s ease}.modal-enter-from[data-v-4ef73580],.modal-leave-to[data-v-4ef73580]{opacity:0}.modal-enter-from .dialog[data-v-4ef73580],.modal-leave-to .dialog[data-v-4ef73580]{transform:scale(.94) translateY(8px)}@media(orientation:landscape)and (max-height:900px){.overlay[data-v-4ef73580]{padding:max(28px,5dvh) max(20px,env(safe-area-inset-right)) max(28px,5dvh) max(20px,env(safe-area-inset-left))}.dialog[data-v-4ef73580]{max-height:min(78dvh,640px);padding:16px 16px 14px}.char-title[data-v-4ef73580]{font-size:clamp(40px,10vw,56px);margin-top:4px}.caption-row[data-v-4ef73580]{margin:6px 0 10px}.frame[data-v-4ef73580]{max-height:min(48dvh,380px)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{height:100%;height:-webkit-fill-available}html,body,#app{width:100%;height:100%;min-height:100dvh;min-height:-webkit-fill-available;overflow:hidden}body{background:#74c0fc}.app[data-v-065c019c]{display:flex;flex-direction:column;width:100%;height:100%;height:100svh;height:100dvh;max-height:100svh;max-height:100dvh;overflow:hidden;background:linear-gradient(180deg,var(--theme-bg-top) 0%,var(--theme-bg-mid) 45%,var(--theme-bg-bottom) 100%)}.stage-wrap[data-v-065c019c]{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;width:100%}
