:root{color:#21313a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bottom-reserve:calc(86px + env(safe-area-inset-bottom,0px));--page-bg:#f5f7f5;--panel:#fff;--panel-strong:#eaf8ef;--text:#1f2933;--muted:#667085;--line:#dbe8df;--brand:#07c160;--brand-dark:#06ad56;--accent:#10aeff;--blue:#2f78c6;--tint:#e8f8ef;--shadow:0 12px 30px #07c1601a;background:#f7f3ea;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;min-height:100%;margin:0}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}body{background:var(--page-bg)}button,input,textarea{font:inherit}button{box-shadow:none!important}.app-shell{min-height:100vh;background:linear-gradient(180deg, #eefbf4 0%, var(--page-bg) 42%, #e9f8ef 100%);max-width:520px;min-height:100dvh;padding-bottom:86px;padding-bottom:var(--bottom-reserve);margin:0 auto}.page{min-height:calc(100vh - var(--bottom-reserve));padding:18px 16px 24px}@supports (height:100dvh){.page{min-height:calc(100dvh - var(--bottom-reserve))}}.page-title{color:var(--text);margin:0;font-size:30px;font-weight:800;line-height:1.15}.page-subtitle{color:var(--muted);margin:8px 0 0;font-size:18px;line-height:1.45}.section{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:14px;margin-top:16px;padding:18px}.section-title{margin:0 0 12px;font-size:22px;font-weight:800;line-height:1.25}.muted{color:var(--muted)}.big-action{color:#fff;background:var(--brand);border:0;border-radius:14px;width:100%;min-height:68px;font-size:24px;font-weight:800;box-shadow:0 10px 20px #07c16038}.big-action:active{background:var(--brand-dark)}.big-action.secondary{color:var(--text);border:2px solid var(--brand);box-shadow:none;background:#fff}.big-action.warn{background:var(--accent)}.row{align-items:center;gap:10px;display:flex}.no-flexgap .row{gap:0}.no-flexgap .row>:not(:last-child){margin-right:10px}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.no-flexgap .spread{gap:0}.no-flexgap .spread>:not(:last-child){margin-right:12px}.speaker-btn{width:48px;min-width:48px;height:48px;color:var(--brand);background:#fffef9;border:2px solid #07c1602e;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 6px 14px #344c451a}.tag{min-height:32px;color:var(--brand-dark);background:var(--tint);border-radius:999px;align-items:center;padding:4px 10px;font-size:16px;font-weight:700;display:inline-flex}.tag.old{color:#8f3f13;background:#ffe2c1}.tag.danger{color:#a83220;background:#ffe0d9}.word-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.word-card{text-align:left;background:#fffefb;border:2px solid #0000;border-radius:14px;min-height:112px;padding:14px;box-shadow:0 8px 18px #344c451a}.word-card.active{border-color:var(--brand);background:var(--panel-strong)}.word-name{color:var(--text);margin:8px 0;font-size:30px;font-weight:900;line-height:1.15}.word-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:15px;display:flex}.no-flexgap .word-meta{gap:0}.no-flexgap .word-meta>:not(:last-child){margin-right:8px}.empty-state{border:2px dashed var(--line);color:var(--muted);text-align:center;border-radius:8px;padding:24px 14px;font-size:18px;line-height:1.5}.app-loading{min-height:calc(100vh - var(--bottom-reserve));place-items:center;display:grid}@supports (height:100dvh){.app-loading{min-height:calc(100dvh - var(--bottom-reserve))}}.app-spinner{border:3px solid #07c16040;border-top-color:#07c160;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite app-spin}@keyframes app-spin{to{transform:rotate(360deg)}}.bottom-tabs{--van-tabbar-height:76px;border-top:1px solid var(--line);max-width:520px;transform:translate(-50%);left:50%!important}.van-tabbar-item{flex-direction:column;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.van-tabbar-item--active{color:var(--brand)}.van-button{border-radius:8px}.van-cell{font-size:18px;line-height:1.45}@media (max-width:360px){.page{padding-left:12px;padding-right:12px}.page-title{font-size:27px}.word-name{font-size:26px}.big-action{font-size:22px}}@keyframes speakerWiggle{0%{transform:scale(1)rotate(0)}25%{transform:scale(1.15)rotate(-7deg)}50%{transform:scale(1.05)rotate(6deg)}75%{transform:scale(1.12)rotate(-4deg)}to{transform:scale(1)rotate(0)}}.speaking svg{transform-origin:50%;animation:.8s ease-in-out infinite speakerWiggle}.contact-mask[data-v-d02197b7]{z-index:1500;background:#0000008c;justify-content:center;align-items:center;padding:16px;animation:.18s ease-out contact-fade-d02197b7;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.contact-card[data-v-d02197b7]{text-align:center;background:#fff;border-radius:20px;width:88vw;max-width:380px;padding:28px 16px 22px;position:relative}.contact-close[data-v-d02197b7]{color:#98a2b3;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:flex;position:absolute;top:2px;right:2px}.contact-title[data-v-d02197b7]{color:var(--text);margin:0;font-size:20px;font-weight:600}.contact-phone[data-v-d02197b7]{font-size:34px;letter-spacing:.02em;color:var(--brand);white-space:nowrap;font-variant-numeric:tabular-nums;margin:18px 0 0;font-size:min(11vw,48px);font-weight:700;line-height:1.2;overflow:hidden}.contact-actions[data-v-d02197b7]{justify-content:center;gap:40px;margin-top:22px;display:flex}.no-flexgap .contact-actions[data-v-d02197b7]{gap:0}.no-flexgap .contact-actions[data-v-d02197b7]>:not(:last-child){margin-right:40px}.contact-btn[data-v-d02197b7]{color:var(--text);-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:0;text-decoration:none;display:flex}.no-flexgap .contact-btn[data-v-d02197b7]{gap:0}.no-flexgap .contact-btn[data-v-d02197b7]>:not(:last-child){margin-bottom:8px}.contact-circle[data-v-d02197b7]{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;transition:transform .1s;display:flex}.contact-btn:active .contact-circle[data-v-d02197b7]{background:var(--brand-dark);transform:scale(.94)}.wechat-icon[data-v-d02197b7]{width:38px;height:38px}.contact-label[data-v-d02197b7]{font-size:17px;font-weight:600}@keyframes contact-fade-d02197b7{0%{opacity:0}to{opacity:1}}.auth-loading[data-v-a9f62e22]{min-height:calc(100vh - var(--bottom-reserve));color:var(--muted);place-items:center;font-size:18px;display:grid}@supports (height:100dvh){.auth-loading[data-v-a9f62e22]{min-height:calc(100dvh - var(--bottom-reserve))}}.access-block[data-v-a9f62e22]{z-index:9999;background:var(--bg,#f7f7f9);place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.access-block-card[data-v-a9f62e22]{text-align:center;max-width:320px}.access-block-title[data-v-a9f62e22]{color:var(--text,#222);margin:0 0 12px;font-size:22px;font-weight:600}.access-block-desc[data-v-a9f62e22]{color:var(--muted,#888);margin:0;font-size:16px;line-height:1.6}.gate-screen[data-v-b8d4de8d]{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;height:100%;padding:24px 20px;display:flex}.no-flexgap .gate-screen[data-v-b8d4de8d]{gap:0}.no-flexgap .gate-screen[data-v-b8d4de8d]>:not(:last-child){margin-bottom:14px}.gate-head[data-v-b8d4de8d]{text-align:center}.gate-badge[data-v-b8d4de8d]{color:#f59e0b;background:#fff3e0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:8px;display:inline-flex}.gate-title[data-v-b8d4de8d]{color:#1f2937;margin:0;font-size:22px;font-weight:700}.gate-sub[data-v-b8d4de8d]{color:#6b7280;margin:6px 0 0;font-size:15px}.gate-player[data-v-b8d4de8d]{aspect-ratio:16/9;background:#000;border-radius:14px;width:100%;max-width:520px;position:relative;overflow:hidden}.gate-video[data-v-b8d4de8d]{object-fit:contain;width:100%;height:100%}@supports not (aspect-ratio:16 / 9){.gate-player[data-v-b8d4de8d]{height:calc(min(100vw - 40px,520px)/1.77778)}}.gate-loading[data-v-b8d4de8d]{color:#fff;justify-content:center;align-items:center;font-size:15px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.gate-retry[data-v-b8d4de8d]{color:#fff;background:#0000008c;border:0;align-content:center;place-items:center;gap:10px;width:100%;height:100%;padding:0 16px;font-size:16px;line-height:1.4;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.gate-play[data-v-b8d4de8d]{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;display:flex;position:absolute;bottom:12px;right:12px}.gate-hint[data-v-b8d4de8d]{color:#9ca3af;margin:0;font-size:13px}.gate-list[data-v-b8d4de8d]{flex-direction:column;gap:8px;width:100%;max-width:520px;margin:0;padding:0;list-style:none;display:flex}.no-flexgap .gate-list[data-v-b8d4de8d]{gap:0}.no-flexgap .gate-list[data-v-b8d4de8d]>:not(:last-child){margin-bottom:8px}.gate-item[data-v-b8d4de8d]{color:#374151;cursor:pointer;background:#f3f4f6;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:15px;display:flex}.no-flexgap .gate-item[data-v-b8d4de8d]{gap:0}.no-flexgap .gate-item[data-v-b8d4de8d]>:not(:last-child){margin-right:10px}.gate-item.is-current[data-v-b8d4de8d]{color:#3730a3;background:#e0e7ff}.gate-item.is-done[data-v-b8d4de8d]{color:#059669}.gate-item-mark[data-v-b8d4de8d]{background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;display:flex}.gate-item-title[data-v-b8d4de8d]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.gate-progress[data-v-b8d4de8d]{color:#4b5563;margin:0;font-size:14px;font-weight:600}.popup-mask[data-v-0cff0bc4]{z-index:90;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.popup-card[data-v-0cff0bc4]{background:#000;border-radius:14px;width:86%;max-width:420px;max-height:88vh;overflow:hidden}.popup-player[data-v-0cff0bc4]{aspect-ratio:9/16;background:#000;width:100%;max-height:88vh;position:relative}.popup-video[data-v-0cff0bc4]{object-fit:contain;width:100%;height:100%}@supports not (aspect-ratio:1 / 1){.popup-player[data-v-0cff0bc4]{height:min(1.77778*min(86vw,420px),88vh)}.popup-tap-ring[data-v-0cff0bc4]{height:min(max(min(86vw,420px)/2.94118,92px),150px)}}.popup-loading[data-v-0cff0bc4]{color:#fff;justify-content:center;align-items:center;font-size:15px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.popup-retry[data-v-0cff0bc4]{color:#fff;background:#0000008c;border:0;align-content:center;place-items:center;gap:10px;width:100%;height:100%;padding:0 16px;font-size:16px;line-height:1.4;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.popup-unmute[data-v-0cff0bc4]{color:#fff;background:#0000008c;border:0;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;line-height:1;display:flex;position:absolute;top:10px;left:10px}.no-flexgap .popup-unmute[data-v-0cff0bc4]{gap:0}.no-flexgap .popup-unmute[data-v-0cff0bc4]>:not(:last-child){margin-right:5px}.popup-tap[data-v-0cff0bc4]{color:#fff;background:#00000073;border:0;place-items:center;width:100%;height:100%;padding:0;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.popup-tap-ring[data-v-0cff0bc4]{aspect-ratio:1;color:#111827;background:#fffffff2;border-radius:50%;place-items:center;width:34%;min-width:92px;max-width:150px;display:grid;box-shadow:0 6px 26px #00000080}.popup-tap-ring svg[data-v-0cff0bc4]{width:42%;height:42%;margin-left:6%}.popup-close[data-v-0cff0bc4]{color:#fff;cursor:pointer;background:#0000008c;border:1.5px solid #ffffffe6;border-radius:18px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #00000059}.popup-close.is-locked[data-v-0cff0bc4]{color:#ffffffe0;background:#0000008c;border-color:#ffffff40;padding:0 12px}.popup-close-text[data-v-0cff0bc4]{white-space:nowrap;font-size:12px;line-height:1}.popup-toast[data-v-0cff0bc4]{color:#fff;background:#000000b8;border-radius:8px;max-width:78%;margin:0;padding:6px 9px;font-size:13px;line-height:1.4;position:absolute;top:46px;right:10px}.name-card[data-v-efda1064]{background:#fff;border-radius:28px;align-content:center;gap:18px;width:min(88vw,460px);max-height:100%;padding:32px 16px 26px;display:grid;box-shadow:0 14px 34px #07c16024}.name-card-head[data-v-efda1064]{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.name-card-fav[data-v-efda1064]{color:#c2c9d2;background:#fff;border:2px solid #dfe4ea;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;display:grid;position:relative}.name-card-fav[data-v-efda1064]:after{content:"";border-radius:50%;position:absolute;top:-13px;bottom:-13px;left:-13px;right:-13px}.name-card-fav.on[data-v-efda1064]{color:#ffb300;background:#fff8e1;border-color:#ffc93c}.name-card-fav[data-v-efda1064]:active{transform:scale(.94)}.name-card-title[data-v-efda1064]{background:var(--tint);height:40px;color:var(--brand-dark);white-space:nowrap;border:2px solid #bfe9d1;border-radius:20px;align-items:center;padding:0 14px;font-size:19px;font-weight:900;display:inline-flex}.name-card-tiles[data-v-efda1064]{gap:10px;display:grid}.name-card-tile[data-v-efda1064]{border:2px solid var(--line);color:var(--text);background:#f4fcf7;border-radius:18px;place-items:center;padding:0;display:grid;position:relative}.name-card-tile span[data-v-efda1064]{font-weight:900;line-height:1;position:relative;top:-.05em}.name-card-tile-speaker[data-v-efda1064]{color:var(--brand);position:absolute;bottom:6px;right:7px}.name-card-tile.speaking[data-v-efda1064]{border-color:var(--brand);color:var(--brand-dark);background:#e4f7ec}.name-card-tile[data-v-efda1064]:active{background:#e4f7ec}.name-card-n2 .name-card-tiles[data-v-efda1064]{grid-template-columns:repeat(2,1fr)}.name-card-n2 .name-card-tile[data-v-efda1064]{aspect-ratio:1/1.2}.name-card-n2 .name-card-tile span[data-v-efda1064]{font-size:min(36.08vw - 17.22px,170px)}.name-card-n3 .name-card-tiles[data-v-efda1064]{grid-template-columns:repeat(3,1fr)}.name-card-n3 .name-card-tile[data-v-efda1064]{aspect-ratio:1/1.45}.name-card-n3 .name-card-tile span[data-v-efda1064]{font-size:min(26.4vw - 15.6px,124px)}.name-card-n4 .name-card-tiles[data-v-efda1064]{grid-template-columns:repeat(2,1fr)}.name-card-n4 .name-card-tile[data-v-efda1064]{aspect-ratio:1/.9}.name-card-n4 .name-card-tile span[data-v-efda1064]{font-size:min(30.8vw - 14.7px,150px)}.name-card-all[data-v-efda1064]{color:#fff;background:var(--brand);border:0;border-radius:14px;place-items:center;min-height:72px;display:grid;box-shadow:0 8px 18px #07c16047}.name-card-all[data-v-efda1064]:active{background:var(--brand-dark);transform:scale(.99)}@media (max-height:640px){.name-card[data-v-efda1064]{gap:12px;padding:20px 14px 18px}.name-card-head[data-v-efda1064]{margin-top:0}.name-card-n2 .name-card-tile[data-v-efda1064]{aspect-ratio:1}.name-card-n3 .name-card-tile[data-v-efda1064]{aspect-ratio:1/1.15}.name-card-n4 .name-card-tile[data-v-efda1064]{aspect-ratio:1/.68}.name-card-n4 .name-card-tile span[data-v-efda1064]{font-size:min(24.64vw - 11.76px,150px)}.name-card-all[data-v-efda1064]{min-height:58px}}@supports not (aspect-ratio:1 / 1){.name-card-n2 .name-card-tile[data-v-efda1064]{height:calc(min(88vw,460px)/1.66667 - 25.2px)}.name-card-n3 .name-card-tile[data-v-efda1064]{height:calc(min(88vw,460px)/2.06897 - 25.1333px)}.name-card-n4 .name-card-tile[data-v-efda1064]{height:calc(min(88vw,460px)/2.22222 - 18.9px)}@media (max-height:640px){.name-card-n2 .name-card-tile[data-v-efda1064]{height:calc(min(88vw,460px)/2 - 19px)}.name-card-n3 .name-card-tile[data-v-efda1064]{height:calc(min(88vw,460px)/2.6087 - 18.4px)}.name-card-n4 .name-card-tile[data-v-efda1064]{height:calc(min(88vw,460px)/2.94118 - 12.92px)}}}.learn-page[data-v-1726da35]{height:calc(100vh - var(--bottom-reserve));background:#e6f7ee;position:relative;overflow:hidden}@supports (height:100dvh){.learn-page[data-v-1726da35]{height:calc(100dvh - var(--bottom-reserve))}}.learn-loading[data-v-1726da35]{place-items:center;height:100%;display:grid}.load-failed[data-v-1726da35]{color:var(--muted);margin:0;font-size:18px;font-weight:700}.learn-spinner[data-v-1726da35]{border:3px solid #07c16040;border-top-color:#07c160;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite learn-spin-1726da35}@keyframes learn-spin-1726da35{to{transform:rotate(360deg)}}.learn-flow[data-v-1726da35]{scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;height:100%;position:relative;overflow-y:scroll}.learn-flow[data-v-1726da35]::-webkit-scrollbar{display:none}.screen[data-v-1726da35]{scroll-snap-align:start;scroll-snap-stop:always;place-items:center;height:100%;padding:16px;display:grid}.word-screen[data-v-1726da35]{--char-size:min(56vw, 34vh, 340px);background:#fff;border:0;border-radius:28px;align-content:center;place-items:center;gap:18px;width:min(88vw,460px);max-height:100%;padding:32px 16px 26px;display:grid;box-shadow:0 14px 34px #07c16024}.word-screen.pressed[data-v-1726da35]{background:#eaf8ef;transform:scale(.99)}.char-head[data-v-1726da35]{justify-content:space-between;align-items:center;width:100%;margin-top:8px;display:flex}.char-fav-btn[data-v-1726da35]{color:#c2c9d2;z-index:2;background:#fff;border:2px solid #dfe4ea;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;display:grid;position:relative}.char-fav-btn.on[data-v-1726da35]{color:#ffb300;background:#fff8e1;border-color:#ffc93c}.char-fav-btn[data-v-1726da35]:active{transform:scale(.94)}.char-speak-btn[data-v-1726da35]{color:#fff;background:var(--brand);z-index:2;border:0;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:relative;box-shadow:0 6px 14px #07c1604d}.char-speak-btn[data-v-1726da35]:active{background:var(--brand-dark);transform:scale(.94)}.char-fav-btn[data-v-1726da35]:after,.char-speak-btn[data-v-1726da35]:after{content:"";border-radius:50%;position:absolute;top:-13px;bottom:-13px;left:-13px;right:-13px}.big-char[data-v-1726da35]{color:var(--text);font-size:var(--char-size);font-weight:900;line-height:1.05;position:relative;top:-.055em}.phrase-list[data-v-1726da35]{gap:8px;width:100%;margin:0;padding:0;list-style:none;display:grid}.phrase-row[data-v-1726da35]{border:2px solid var(--line);background:#f4fcf7;border-radius:14px;grid-template-columns:1fr 80px;width:100%;min-height:72px;display:grid;overflow:hidden}.phrase-zone[data-v-1726da35]{font:inherit;color:inherit;text-align:left;background:0 0;border:0;align-items:center;display:grid}.phrase-zone[data-v-1726da35]:active{background:#e4f7ec}.phrase-zone-text[data-v-1726da35]{grid-template-columns:auto 1fr;gap:10px;padding:8px 10px 8px 16px}.phrase-zone-speak[data-v-1726da35]{border-left:2px solid var(--line);place-items:center}.phrase-word[data-v-1726da35]{color:var(--brand-dark);white-space:nowrap;font-size:38px;font-weight:900;line-height:1.2}.phrase-sentence[data-v-1726da35]{color:var(--text);font-size:31px;font-weight:700;line-height:1.25}.phrase-speaker[data-v-1726da35]{width:44px;height:44px;color:var(--brand);place-items:center;display:grid}.phrase-speaker[data-v-1726da35] svg{width:28px;height:28px}.zoom-layer[data-v-1726da35]{z-index:95;touch-action:none;background:#063e228c;place-items:center;padding:16px;animation:.16s ease-out zoom-fade-1726da35;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.zoom-card[data-v-1726da35]{background:#fff;border-radius:28px;align-content:center;justify-items:center;gap:10px;width:100%;max-height:92vh;padding:92px 18px 30px;animation:.18s cubic-bezier(.2,.9,.3,1.2) zoom-pop-1726da35;display:grid;position:relative;box-shadow:0 20px 50px #0000004d}.zoom-speak-btn[data-v-1726da35]{color:#fff;background:var(--brand);border:0;border-radius:50%;place-items:center;width:64px;height:64px;padding:0;display:grid;position:absolute;top:12px;right:18px;box-shadow:0 6px 14px #07c16057}.zoom-speak-btn[data-v-1726da35]:after{content:"";border-radius:50%;position:absolute;top:-16px;bottom:-16px;left:-16px;right:-16px}.zoom-speak-btn[data-v-1726da35]:active{background:var(--brand-dark);transform:scale(.94)}.zoom-word[data-v-1726da35]{text-align:center;width:100%;color:var(--brand-dark);letter-spacing:.02em;white-space:nowrap;font-weight:900;line-height:1.12;display:block;overflow:hidden}.zoom-sentence[data-v-1726da35]{text-align:center;width:100%;color:var(--text);white-space:nowrap;font-weight:800;line-height:1.15;display:block;overflow:hidden}.zoom-hint[data-v-1726da35]{top:calc(14px + env(safe-area-inset-top,0px));color:#fff;background:#1f2933d1;border-radius:999px;padding:7px 16px;font-size:15px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}@keyframes zoom-fade-1726da35{0%{opacity:0}to{opacity:1}}@keyframes zoom-pop-1726da35{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.zoom-layer[data-v-1726da35],.zoom-card[data-v-1726da35]{animation:none}}@media (max-height:720px),(max-width:340px){.word-screen[data-v-1726da35]{gap:8px;padding:12px}.char-head[data-v-1726da35]{margin-top:4px}.char-speak-btn[data-v-1726da35],.char-fav-btn[data-v-1726da35]{width:44px;height:44px}.char-fav-btn[data-v-1726da35]:after,.char-speak-btn[data-v-1726da35]:after{top:-17px;bottom:-17px;left:-17px;right:-17px}.phrase-row[data-v-1726da35]{grid-template-columns:1fr 72px;min-height:58px}.phrase-zone-text[data-v-1726da35]{padding:6px 8px 6px 12px}.phrase-word[data-v-1726da35]{font-size:32px}.phrase-sentence[data-v-1726da35]{font-size:26px}.phrase-speaker[data-v-1726da35]{width:40px;height:40px}.phrase-speaker[data-v-1726da35] svg{width:26px;height:26px}}@media (max-height:600px){.word-screen[data-v-1726da35]{gap:4px;padding:6px 10px 8px}.char-head[data-v-1726da35]{margin-top:2px}.char-speak-btn[data-v-1726da35],.char-fav-btn[data-v-1726da35]{width:40px;height:40px}.char-fav-btn[data-v-1726da35]:after,.char-speak-btn[data-v-1726da35]:after{top:-19px;bottom:-19px;left:-19px;right:-19px}.phrase-list[data-v-1726da35]{gap:6px}.phrase-row[data-v-1726da35]{grid-template-columns:1fr 64px;min-height:46px}.phrase-zone-text[data-v-1726da35]{padding:4px 6px 4px 10px}.phrase-word[data-v-1726da35]{font-size:25px}.phrase-sentence[data-v-1726da35]{font-size:22px}.phrase-speaker[data-v-1726da35]{width:36px;height:36px}.phrase-speaker[data-v-1726da35] svg{width:22px;height:22px}}.ad-screen[data-v-1726da35],.locked-screen[data-v-1726da35]{text-align:center;background:#fff;border-radius:28px;place-items:center;gap:10px;width:min(88vw,460px);padding:40px 20px;display:grid;box-shadow:0 14px 34px #07c16024}.ad-placeholder[data-v-1726da35]{color:var(--muted);margin:0;font-size:20px;font-weight:700}.locked-icon[data-v-1726da35]{font-size:62px;line-height:1}.locked-text[data-v-1726da35]{color:var(--text);margin:0;font-size:26px;font-weight:900;line-height:1.3}.member-screen[data-v-1726da35]{background:#fffaf0;border:2px solid #f59e0b4d}.member-screen[data-v-1726da35]:active{background:#fff4e0}.member-screen .locked-text[data-v-1726da35]{color:#b45309}.member-speak-hint[data-v-1726da35]{color:#b45309;opacity:.85;align-items:center;gap:6px;margin-top:6px;font-size:17px;font-weight:800;display:inline-flex}.no-flexgap .member-speak-hint[data-v-1726da35]{gap:0}.no-flexgap .member-speak-hint[data-v-1726da35]>:not(:last-child),.no-flexgap .member-speak-hint>svg[data-v-1726da35]{margin-right:6px}.write-page[data-v-e22cbeb4]{min-height:calc(100vh - var(--bottom-reserve));background:#e6f7ee;flex-direction:column;justify-content:center;display:flex}@supports (height:100dvh){.write-page[data-v-e22cbeb4]{min-height:calc(100dvh - var(--bottom-reserve))}}.write-head[data-v-e22cbeb4]{align-items:center;gap:10px;margin-bottom:14px;display:flex}.no-flexgap .write-head[data-v-e22cbeb4]{gap:0}.no-flexgap .write-head[data-v-e22cbeb4]>:not(:last-child){margin-right:10px}.page-title[data-v-e22cbeb4]{margin:0;font-size:27px;font-weight:900}.head-action[data-v-e22cbeb4]{border:2px solid var(--brand);min-width:86px;min-height:34px;color:var(--text);touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:4px;font-size:16px;font-weight:900;line-height:1;display:inline-flex}.no-flexgap .head-action[data-v-e22cbeb4]{gap:0}.no-flexgap .head-action[data-v-e22cbeb4]>:not(:last-child),.no-flexgap .head-action>svg[data-v-e22cbeb4]{margin-right:4px}.head-action[data-v-e22cbeb4]:first-of-type{margin-left:auto}.head-action.dictation-on[data-v-e22cbeb4]{background:var(--brand);color:#fff}.head-action.stroke-btn-armed[data-v-e22cbeb4]{background:var(--brand);color:#fff;transition:transform .15s;transform:scale(1.1)}.practice-panel[data-v-e22cbeb4]{box-shadow:var(--shadow);background:#fff;border-radius:18px;gap:18px;padding:20px;display:grid}.name-strip[data-v-e22cbeb4]{justify-content:center;gap:10px;display:flex}.no-flexgap .name-strip[data-v-e22cbeb4]{gap:0}.no-flexgap .name-strip[data-v-e22cbeb4]>:not(:last-child){margin-right:10px}.name-chip[data-v-e22cbeb4]{border:2px solid var(--line);width:64px;height:64px;color:var(--text);background:#fff;border-radius:14px;place-items:center;padding:0;font-size:38px;font-weight:900;line-height:1;display:grid;position:relative}.name-chip.on[data-v-e22cbeb4]{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 6px 14px #07c1604d}.name-chip.done[data-v-e22cbeb4]:after{content:"✓";background:var(--brand);color:#fff;text-align:center;border:2px solid #fff;border-radius:50%;width:22px;height:22px;font-size:14px;font-weight:900;line-height:18px;position:absolute;top:-8px;right:-7px}.with-name-strip .hanzi-writer-box[data-v-e22cbeb4]{width:min(92%,460px)}.hanzi-card[data-v-e22cbeb4]{place-items:center;width:100%;display:grid}.hanzi-writer-box[data-v-e22cbeb4]{aspect-ratio:1;touch-action:none;background:#fffdf8;border:3px solid #263238;border-radius:14px;width:min(100%,460px);position:relative;overflow:hidden}.hanzi-writer-box[data-v-e22cbeb4]:before{content:"";pointer-events:none;z-index:0;background-image:repeating-linear-gradient(#c9cdd3 0,#c9cdd3 10px,#0000 10px,#0000 18px),repeating-linear-gradient(90deg,#c9cdd3 0,#c9cdd3 10px,#0000 10px,#0000 18px);background-position:calc(50% - 1px) 0,0 calc(50% - 1px);background-repeat:no-repeat;background-size:2px 100%,100% 2px;position:absolute;top:0;bottom:0;left:0;right:0}.hanzi-writer-box[data-v-e22cbeb4]>*{z-index:1;position:relative}@supports not (aspect-ratio:1 / 1){.hanzi-writer-box[data-v-e22cbeb4]:not(.fallback-box):after{content:"";padding-top:100%;display:block}}.stroke-layer[data-v-e22cbeb4]{z-index:1;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.stroke-layer.inert[data-v-e22cbeb4]{pointer-events:none}.stroke-layer>svg[data-v-e22cbeb4]{width:100%;height:100%;display:block}.ink-layer[data-v-e22cbeb4]{z-index:2;touch-action:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.fallback-box[data-v-e22cbeb4]{place-items:center;display:grid}.fallback-char[data-v-e22cbeb4]{z-index:1;color:var(--text);font-size:min(52vw,260px);font-weight:900;line-height:1;position:relative}.step-text[data-v-e22cbeb4]{color:var(--muted);text-align:center;margin:0;font-size:20px;font-weight:800}.write-actions[data-v-e22cbeb4]{justify-items:center;display:grid}.write-actions-trio[data-v-e22cbeb4]{justify-content:center;gap:8px;display:flex}.no-flexgap .write-actions-trio[data-v-e22cbeb4]{gap:0}.no-flexgap .write-actions-trio[data-v-e22cbeb4]>:not(:last-child){margin-right:8px}.write-actions-trio .center-action[data-v-e22cbeb4]{border:2px solid var(--line);width:auto;color:var(--text);background:#fff;flex:1 1 0;font-size:19px}.write-actions-trio .center-action-exit[data-v-e22cbeb4]{color:var(--muted);flex:.66 1 0}.write-actions-trio .center-action-answer[data-v-e22cbeb4]{border-color:var(--brand);background:var(--tint);color:var(--brand-dark)}.center-action[data-v-e22cbeb4]{color:#fff;background:var(--brand);border:0;border-radius:14px;width:min(60%,220px);min-height:58px;font-size:20px;font-weight:900}.center-action-muted[data-v-e22cbeb4]{border:2px solid var(--line);color:var(--text);background:#fff}.empty-state[data-v-e22cbeb4]{box-shadow:var(--shadow);text-align:center;color:var(--muted);background:#fff;border-radius:18px;padding:30px 20px;font-size:19px;font-weight:700}.thumb-feedback[data-v-e22cbeb4]{z-index:30;pointer-events:none;background:#fffffff0;border-radius:50%;place-items:center;width:128px;height:128px;font-size:78px;animation:.9s both thumbPop-e22cbeb4;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 45px #07c16047}@keyframes thumbPop-e22cbeb4{0%{opacity:0;transform:translate(-50%,-50%)scale(.45)rotate(-12deg)}30%{opacity:1;transform:translate(-50%,-50%)scale(1.18)rotate(6deg)}62%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}to{opacity:0;transform:translate(-50%,-50%)scale(.9)rotate(0)}}.zoom-layer[data-v-e22cbeb4]{z-index:95;touch-action:none;background:#063e228c;justify-content:center;align-items:center;padding:8px;animation:.16s ease-out zoom-fade-e22cbeb4;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.zoom-card[data-v-e22cbeb4]{background:#fff;border-radius:28px;align-content:center;justify-items:center;gap:8px;width:100%;max-height:92vh;padding:18px 8px 16px;animation:.18s cubic-bezier(.2,.9,.3,1.2) zoom-pop-e22cbeb4;display:grid;box-shadow:0 20px 50px #0000004d}.zoom-label[data-v-e22cbeb4]{letter-spacing:.04em;color:var(--muted);font-size:16px;font-weight:900}.zoom-label-right[data-v-e22cbeb4]{color:#d94f3d}.zoom-card[data-v-e22cbeb4]{--answer-size:min(150px, 26vh);--mine-size:min(240px, 42vh)}.zoom-answer[data-v-e22cbeb4]{width:var(--answer-size);height:var(--answer-size);place-items:center;display:grid}.zoom-answer>svg[data-v-e22cbeb4]{width:100%;height:100%;display:block}.zoom-answer-fallback span[data-v-e22cbeb4]{color:#d94f3d;font-size:calc(var(--answer-size) * .86);font-weight:900;line-height:1}.zoom-mine[data-v-e22cbeb4]{width:var(--mine-size);height:var(--mine-size);position:relative}.zoom-mine canvas[data-v-e22cbeb4]{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.zoom-hint[data-v-e22cbeb4]{top:calc(14px + env(safe-area-inset-top,0px));color:#fff;background:#1f2933d1;border-radius:999px;padding:7px 16px;font-size:15px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}@keyframes zoom-fade-e22cbeb4{0%{opacity:0}to{opacity:1}}@keyframes zoom-pop-e22cbeb4{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.zoom-layer[data-v-e22cbeb4],.zoom-card[data-v-e22cbeb4]{animation:none}}@media (max-height:700px){.zoom-card[data-v-e22cbeb4]{padding:14px 8px 12px}.zoom-label[data-v-e22cbeb4]{font-size:15px}}.page[data-v-4cf5fba4]{height:calc(100vh - var(--bottom-reserve));flex-direction:column;padding-top:8px;display:flex;overflow-y:auto}@supports (height:100dvh){.page[data-v-4cf5fba4]{height:calc(100dvh - var(--bottom-reserve))}}.profile[data-v-4cf5fba4]{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.name-wrap[data-v-4cf5fba4]{min-width:0}.profile-card[data-v-4cf5fba4],.locked-card[data-v-4cf5fba4]{border:1px solid var(--line);text-align:left;width:100%}.avatar[data-v-4cf5fba4]{background:#fff;border-radius:12px;width:68px;height:68px}.avatar-fallback[data-v-4cf5fba4]{color:#fff;background:var(--brand);place-items:center;font-size:30px;font-weight:900;display:inline-grid}.name[data-v-4cf5fba4]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:12px 0 0;font-size:24px;line-height:1.2;overflow:hidden}.locked-card[data-v-4cf5fba4]{color:var(--muted);font-size:19px;font-weight:700}.member-card[data-v-4cf5fba4]{background:linear-gradient(135deg,#fffaf0 0%,#fff0c8 100%);border:1px solid #f1d68c;border-radius:14px;align-items:center;gap:10px;min-height:56px;margin-top:16px;padding:6px 14px;display:flex}.no-flexgap .member-card[data-v-4cf5fba4]{gap:0}.no-flexgap .member-card[data-v-4cf5fba4]>:not(:last-child){margin-right:10px}.member-badge[data-v-4cf5fba4]{color:#fff;background:linear-gradient(135deg,#ffd666,#f5a800);border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}.member-title[data-v-4cf5fba4]{color:#8a5a00;white-space:nowrap;font-size:21px;font-weight:900}.member-expiry[data-v-4cf5fba4]{white-space:nowrap;margin-left:auto}.member-expiry small[data-v-4cf5fba4]{color:#b7791f;margin-right:4px;font-size:15px;font-weight:800}.member-expiry b[data-v-4cf5fba4]{color:#6b4500;font-variant-numeric:tabular-nums;font-size:20px;font-weight:900}.member-card-none[data-v-4cf5fba4]{cursor:pointer;background:#fff;border-color:#fde2c2}.member-card-none .member-badge[data-v-4cf5fba4]{color:#c2410c;background:#fff3e6}.member-card-none .member-title[data-v-4cf5fba4]{color:#b45309;font-size:21px}.member-speak[data-v-4cf5fba4]{color:#c2410c;flex:none;margin-left:auto}.member-card-none[data-v-4cf5fba4]:active{filter:brightness(.97);transform:scale(.99)}.progress-section[data-v-4cf5fba4]{flex:none;padding:6px 18px}.progress-section .section-title[data-v-4cf5fba4]{margin:12px 0 4px;font-size:20px;font-weight:700}.progress-row[data-v-4cf5fba4]{color:#475467;text-align:left;background:0 0;border:0;border-top:1px solid #eef2ef;align-items:center;width:100%;min-height:68px;padding:0;font-size:20px;font-weight:400;display:flex}.progress-row[data-v-4cf5fba4]:first-of-type{border-top:0}.progress-row[data-v-4cf5fba4]:active{background:#f4fcf7}.progress-icon[data-v-4cf5fba4]{flex:none;margin-right:8px}.progress-icon-learned[data-v-4cf5fba4]{color:var(--brand)}.progress-icon-name[data-v-4cf5fba4]{color:var(--blue)}.progress-value.progress-value-name[data-v-4cf5fba4]{color:var(--text);letter-spacing:3px;font-size:24px;font-weight:800}.progress-icon-fav[data-v-4cf5fba4]{color:#ffb300}.progress-label[data-v-4cf5fba4]{flex:1;min-width:0}.progress-value[data-v-4cf5fba4]{color:#98a2b3;white-space:nowrap;margin-right:4px;font-size:15px;font-weight:400}.progress-value b[data-v-4cf5fba4]{color:var(--brand);margin-right:3px;font-size:28px;font-weight:800}.progress-chevron[data-v-4cf5fba4]{color:#98a2b3;flex:none}@media (max-width:360px){.member-card[data-v-4cf5fba4]{gap:6px;padding:6px 10px 6px 8px}.no-flexgap .member-card[data-v-4cf5fba4]{gap:0}.no-flexgap .member-card[data-v-4cf5fba4]>:not(:last-child){margin-right:6px}.member-badge[data-v-4cf5fba4]{width:28px;height:28px}.member-badge svg[data-v-4cf5fba4]{width:18px;height:18px}.member-title[data-v-4cf5fba4]{font-size:19px}.member-card-none .member-title[data-v-4cf5fba4]{font-size:18px}.member-expiry small[data-v-4cf5fba4]{margin-right:2px;font-size:13px}.member-expiry b[data-v-4cf5fba4]{font-size:17px}.progress-value.progress-value-name[data-v-4cf5fba4]{letter-spacing:2px;font-size:21px}}.mine-action-panel[data-v-4cf5fba4]{background:#fff;padding:18px 16px 20px}.mine-action-panel h2[data-v-4cf5fba4]{color:var(--text);text-align:center;margin:0 0 8px;font-size:22px;font-weight:900;line-height:1.25}.mine-action-panel p[data-v-4cf5fba4]{color:var(--muted);text-align:center;margin:0 0 12px;font-size:16px}.mine-action-panel button[data-v-4cf5fba4]{color:#fff;background:var(--brand);border:0;border-radius:12px;width:100%;min-height:52px;margin-top:10px;font-size:18px;font-weight:900}.mine-action-panel button.cancel[data-v-4cf5fba4]{color:var(--text);background:#f3f7f5}.mine-action-panel button.danger[data-v-4cf5fba4]{color:#b42318;background:#fff0ef}.words-page[data-v-f04e8949]{height:calc(100vh - var(--bottom-reserve));flex-direction:column;padding-top:8px;display:flex;overflow:hidden}@supports (height:100dvh){.words-page[data-v-f04e8949]{height:calc(100dvh - var(--bottom-reserve))}}.words-head[data-v-f04e8949]{flex:none;justify-content:space-between;align-items:baseline;margin:10px 2px 0;display:flex}.words-title[data-v-f04e8949]{color:var(--text);margin:0;font-size:27px;font-weight:900}.words-count[data-v-f04e8949]{color:var(--muted);font-size:20px;font-weight:700}.words-count b[data-v-f04e8949]{color:var(--brand-dark);margin-right:3px;font-size:26px;font-weight:900}.words-section[data-v-f04e8949]{flex-direction:column;min-height:0;display:flex}.words-grid[data-v-f04e8949]{-webkit-overflow-scrolling:touch;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:max-content;gap:8px;min-height:0;display:grid;overflow-y:auto}.word-cell[data-v-f04e8949]{color:#3b82f6;background:linear-gradient(#f8fafc 0%,#eef2f7 100%);border:1px solid #64748b24;border-radius:12px;justify-content:center;align-items:center;min-height:52px;padding:6px 4px;font-size:30px;font-weight:900;line-height:1.15;display:inline-flex}.words-grid-fav .word-cell[data-v-f04e8949]{color:#b7791f;background:linear-gradient(#fffdf5 0%,#fff6d6 100%);border-color:#ffe08a}.word-cell.speaking[data-v-f04e8949]{border-color:var(--brand);color:var(--brand-dark);box-shadow:inset 0 0 0 1px var(--brand);background:#e4f7ec}.word-cell[data-v-f04e8949]:active{transform:scale(.96)}.lesson-row[data-v-f04e8949]{text-align:left;background:#fff8e1;border:2px solid #ffc93c;border-radius:14px;flex:none;align-items:center;gap:10px;margin-bottom:10px;padding:10px 14px;display:flex}.no-flexgap .lesson-row[data-v-f04e8949]{gap:0}.no-flexgap .lesson-row[data-v-f04e8949]>:not(:last-child){margin-right:10px}.lesson-row-star[data-v-f04e8949]{color:#ffb300;flex:none}.lesson-row-name[data-v-f04e8949]{color:var(--text);letter-spacing:6px;white-space:nowrap;font-size:34px;font-weight:900}.lesson-row-title[data-v-f04e8949]{color:#8a5a00;white-space:nowrap;margin-left:auto;font-size:15px;font-weight:800}.words-empty[data-v-f04e8949]{color:var(--muted);margin:0;font-size:18px;font-weight:700;line-height:1.6}.name-page[data-v-dedf05ad]{height:calc(100vh - var(--bottom-reserve));flex-direction:column;padding-top:8px;display:flex;overflow-y:auto}@supports (height:100dvh){.name-page[data-v-dedf05ad]{height:calc(100dvh - var(--bottom-reserve))}}.name-page-head[data-v-dedf05ad]{flex:none;margin:10px 2px 0}.name-page-title[data-v-dedf05ad]{color:var(--text);margin:0;font-size:27px;font-weight:900}.name-page-body[data-v-dedf05ad]{flex:1;place-items:center;min-height:0;padding:12px 0;display:grid}.name-page-empty[data-v-dedf05ad]{color:var(--muted);margin:24px 2px;font-size:18px;font-weight:700}.method-page[data-v-cae12181]{height:calc(100vh - var(--bottom-reserve));-webkit-overflow-scrolling:touch;background:#e6f7ee;overflow-y:auto}@supports (height:100dvh){.method-page[data-v-cae12181]{height:calc(100dvh - var(--bottom-reserve))}}.method-hint[data-v-cae12181]{place-items:center;height:100%;display:grid}.method-hint-text[data-v-cae12181]{color:var(--muted);margin:0;font-size:18px;font-weight:700}.method-spinner[data-v-cae12181]{border:3px solid #07c16040;border-top-color:#07c160;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite method-spin-cae12181}@keyframes method-spin-cae12181{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.method-spinner[data-v-cae12181]{animation:none}}.method-list[data-v-cae12181]{flex-direction:column;gap:12px;padding:12px 12px 24px;display:flex}.no-flexgap .method-list[data-v-cae12181]{gap:0}.no-flexgap .method-list[data-v-cae12181]>:not(:last-child){margin-bottom:12px}.method-card[data-v-cae12181]{aspect-ratio:16/9;background:#0e2a1c;border:0;border-radius:18px;width:100%;padding:0;display:block;position:relative;overflow:hidden}@supports not (aspect-ratio:16 / 9){.method-card[data-v-cae12181]{height:200px}}.method-card[data-v-cae12181]:active{transform:scale(.985)}.method-cover[data-v-cae12181]{object-fit:cover;background:#0e2a1c;width:100%;height:100%;display:block}.method-number[data-v-cae12181]{color:#fff;text-align:center;font-variant-numeric:tabular-nums;background:#00000080;border-radius:14px;min-width:44px;height:44px;padding:0 10px;font-size:30px;font-weight:800;line-height:44px;position:absolute;top:10px;left:10px}.method-duration[data-v-cae12181]{color:#fff;font-variant-numeric:tabular-nums;background:#0000008c;border-radius:8px;padding:3px 9px;font-size:16px;font-weight:700;position:absolute;bottom:10px;right:10px}.method-play[data-v-cae12181]{color:#07c160;background:#fffffff0;border-radius:50%;place-items:center;width:72px;height:72px;padding-left:5px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.method-done[data-v-cae12181]{color:#fff;background:#094a2c73;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.play-page[data-v-06fee752]{height:calc(100vh - var(--bottom-reserve));background:#000;position:relative;overflow:hidden}@supports (height:100dvh){.play-page[data-v-06fee752]{height:calc(100dvh - var(--bottom-reserve))}}.play-hint[data-v-06fee752]{align-content:center;place-items:center;gap:18px;height:100%;display:grid}.play-hint-text[data-v-06fee752]{color:#d8e6de;margin:0;font-size:18px;font-weight:700}.play-back[data-v-06fee752]{color:#fff;background:#07c160;border:0;border-radius:14px;padding:12px 32px;font-size:20px;font-weight:800}.play-spinner[data-v-06fee752]{border:3px solid #ffffff47;border-top-color:#fff;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite play-spin-06fee752}@keyframes play-spin-06fee752{to{transform:rotate(360deg)}}.play-flow[data-v-06fee752]{scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;height:100%;position:relative;overflow-y:scroll}.play-flow[data-v-06fee752]::-webkit-scrollbar{display:none}.play-screen[data-v-06fee752]{scroll-snap-align:start;scroll-snap-stop:always;background:#000;height:100%;position:relative}.play-video[data-v-06fee752]{object-fit:contain;background:#000;width:100%;height:100%;display:block}.play-big[data-v-06fee752]{color:#07c160;background:#ffffffeb;border:0;border-radius:50%;place-items:center;width:96px;height:96px;padding-left:6px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.play-retry[data-v-06fee752]{color:#1f2933;white-space:nowrap;background:#fffffff0;border:0;border-radius:16px;justify-items:center;gap:8px;padding:16px 22px;font-size:19px;font-weight:800;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.play-number[data-v-06fee752]{color:#fff;text-align:center;font-variant-numeric:tabular-nums;background:#00000073;border-radius:14px;min-width:44px;height:44px;padding:0 10px;font-size:28px;font-weight:800;line-height:44px;position:absolute;top:12px;left:12px}.play-chevron[data-v-06fee752]{color:#ffffffbf;animation:1.8s ease-in-out infinite play-bob-06fee752;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@keyframes play-bob-06fee752{50%{transform:translate(-50%,8px)}}@media (prefers-reduced-motion:reduce){.play-chevron[data-v-06fee752],.play-spinner[data-v-06fee752]{animation:none}}.play-rail[data-v-06fee752]{flex-direction:column;gap:7px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.no-flexgap .play-rail[data-v-06fee752]{gap:0}.no-flexgap .play-rail[data-v-06fee752]>:not(:last-child){margin-bottom:7px}.play-rail i[data-v-06fee752]{background:#ffffff73;border-radius:50%;width:8px;height:8px;display:block}.play-rail i.on[data-v-06fee752]{background:#fff;border-radius:4px;height:20px}html.video-learning-active,html.video-learning-active body{height:100%;overflow:hidden}html.video-learning-active .app-shell{padding-bottom:0;overflow:hidden}.video-shell[data-v-c62b52de]{padding:0;display:grid}.video-page[data-v-c62b52de]{height:calc(100vh - 64px - env(safe-area-inset-bottom,0px));box-shadow:none;background:0 0;border:0;grid-template-rows:1fr;margin:0;padding:0;display:grid}@supports (height:100dvh){.video-page[data-v-c62b52de]{height:calc(100dvh - 64px - env(safe-area-inset-bottom,0px))}}.video-frame[data-v-c62b52de],.video-placeholder[data-v-c62b52de]{background:radial-gradient(circle,#2d2d2deb 0,#2d2d2deb 110px,#0000 240px),linear-gradient(#171717 0%,#0f0f0f 100%);border-radius:0;width:100%;height:100%;min-height:0;overflow:hidden}.video-frame[data-v-c62b52de]{cursor:pointer;display:grid;position:relative}.lesson-video[data-v-c62b52de]{object-fit:contain;background:0 0;width:100%;height:100%;min-height:0}.video-placeholder[data-v-c62b52de]{color:#fff;text-align:center;place-items:center;padding:20px;font-size:20px;display:grid}.video-loading[data-v-c62b52de]{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.video-spinner[data-v-c62b52de]{border:4px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;animation:.8s linear infinite videoSpin-c62b52de;position:absolute;top:50%;left:50%}@keyframes videoSpin-c62b52de{to{transform:rotate(360deg)}}.video-loading-text[data-v-c62b52de]{text-align:center;color:#ffffffeb;margin-top:34px;font-size:15px;position:absolute;top:50%;left:0;right:0}.video-play-overlay[data-v-c62b52de]{width:96px;height:96px;color:var(--brand);background:#fffffff0;border:0;border-radius:50%;place-items:center;margin:auto;display:grid;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:0 22px 42px #00000059}.video-retry-overlay[data-v-c62b52de]{width:220px;height:130px;color:var(--brand);background:#fffffff0;border:0;border-radius:20px;align-content:center;place-items:center;gap:10px;margin:auto;padding:0 14px;font-size:17px;line-height:1.4;display:grid;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:0 22px 42px #00000059}.video-controls[data-v-c62b52de]{color:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid;position:absolute;bottom:34px;left:14px;right:14px}.control-btn[data-v-c62b52de]{color:#fff;background:0 0;border:0;place-items:center;width:28px;height:32px;padding:0;display:grid}.control-indicator[data-v-c62b52de]{color:#fff;place-items:center;width:28px;height:32px;display:grid}.volume-control[data-v-c62b52de]{grid-template-columns:auto 72px;align-items:center;gap:6px;display:inline-grid}.volume-slider[data-v-c62b52de]{accent-color:#fff;background:0 0;width:72px;height:30px;margin:0}.progress-track[data-v-c62b52de]{cursor:pointer;touch-action:none;background:0 0;height:30px;padding:13px 0 12px}.progress-track[data-v-c62b52de]:before,.progress-track span[data-v-c62b52de]{border-radius:999px;height:5px;display:block}.progress-track[data-v-c62b52de]:before{content:"";background:#ffffff59;width:100%}.progress-track span[data-v-c62b52de]{background:#fff;margin-top:-5px}.auth-page[data-v-f065f83d]{background:var(--page-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card[data-v-f065f83d]{width:min(100%,360px);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:16px;padding:32px 20px}.auth-card h1[data-v-f065f83d]{color:var(--text);margin:0;font-size:22px;line-height:1.4}.auth-page[data-v-40eb368e]{background:var(--page-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card[data-v-40eb368e]{width:min(100%,360px);box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:28px 20px}.auth-card h1[data-v-40eb368e]{color:var(--text);margin:0 0 10px;font-size:24px}.auth-card p[data-v-40eb368e]{color:var(--muted);margin:0 0 20px;font-size:16px;line-height:1.5}.error-text[data-v-40eb368e]{color:#b42318}.skip-btn[data-v-40eb368e]{margin-top:12px}.snapshot-text[data-v-ef551a11]{color:#1f2d3d;text-align:center;margin:20px 0 0;font-size:24px;line-height:1.6}.snapshot-text b[data-v-ef551a11]{color:#07c160}.snapshot-arrow[data-v-ef551a11]{color:#07c160;margin:0;font-size:64px;line-height:1;position:fixed;bottom:24px;right:24px}.login-page[data-v-ef551a11]{background:#e6f7ee;justify-content:center;align-items:center;min-height:100vh;padding:30px 16px;display:flex;position:relative}.redirect-tip[data-v-ef551a11]{color:var(--muted);margin:0;font-size:15px;font-weight:700}.login-back[data-v-ef551a11]{min-height:36px;color:var(--brand);background:0 0;border:0;align-items:center;gap:4px;font-size:18px;font-weight:800;display:inline-flex;position:absolute;top:30px;left:16px}.no-flexgap .login-back[data-v-ef551a11]{gap:0}.no-flexgap .login-back[data-v-ef551a11]>:not(:last-child),.no-flexgap .login-back>svg[data-v-ef551a11]{margin-right:4px}.login-back.ghost[data-v-ef551a11]{color:#07c1608c}.welcome[data-v-ef551a11]{text-align:center;width:100%;max-width:340px;padding:0 8px}.brand-logo[data-v-ef551a11]{background:var(--brand);color:#fff;letter-spacing:.5px;border-radius:20px;justify-content:center;align-items:center;width:84px;height:84px;margin:0 auto 24px;font-size:30px;font-weight:900;display:flex}.welcome-title[data-v-ef551a11]{color:var(--text);margin:0;font-size:26px;font-weight:900}.welcome-sub[data-v-ef551a11]{color:var(--muted);margin:10px 0 0;font-size:15px}.wechat-login[data-v-ef551a11]{color:#fff;background:#07c160;border:0;border-radius:27px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:54px;margin-top:56px;font-size:19px;font-weight:900;display:inline-flex;box-shadow:0 8px 20px #07c1604d}.no-flexgap .wechat-login[data-v-ef551a11]{gap:0}.no-flexgap .wechat-login[data-v-ef551a11]>:not(:last-child),.no-flexgap .wechat-login>svg[data-v-ef551a11]{margin-right:8px}.wechat-login[data-v-ef551a11]:active{background:#06ad56}.wechat-icon[data-v-ef551a11]{flex-shrink:0;display:block}.other-divider[data-v-ef551a11]{color:var(--muted);align-items:center;gap:12px;margin:26px 4px 16px;font-size:13px;display:flex}.no-flexgap .other-divider[data-v-ef551a11]{gap:0}.no-flexgap .other-divider[data-v-ef551a11]>:not(:last-child){margin-right:12px}.other-divider[data-v-ef551a11]:before,.other-divider[data-v-ef551a11]:after{content:"";background:#07c1602e;flex:1;height:1px}.no-flexgap .other-divider[data-v-ef551a11]:before{margin-right:12px}.no-flexgap .other-divider[data-v-ef551a11]:after{margin-left:12px}.account-entry[data-v-ef551a11]{width:100%;min-height:50px;color:var(--brand);background:#fff;border:1px solid #07c16073;border-radius:25px;font-size:18px;font-weight:800}.account-entry[data-v-ef551a11]:active{background:#07c16014}.account-tip[data-v-ef551a11]{color:var(--muted);margin:12px 0 0;font-size:13px}.login-card[data-v-ef551a11]{width:100%;max-width:360px;box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:22px 18px 20px}.login-card h1[data-v-ef551a11]{color:var(--text);margin:0 0 18px;font-size:28px;font-weight:900;line-height:1.2}.mode-tabs[data-v-ef551a11]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.mode-tab[data-v-ef551a11]{min-height:48px;color:var(--muted);background:var(--panel-strong);border:1px solid #07c1602e;border-radius:12px;font-size:17px;font-weight:800}.mode-tab.active[data-v-ef551a11]{color:#fff;background:var(--brand);border-color:var(--brand)}.login-submit[data-v-ef551a11]{border-radius:12px;height:52px;margin-top:18px;font-size:18px;font-weight:900}.preview-page[data-v-8efee7ee]{height:calc(100vh - var(--bottom-reserve));background:#e6f7ee;position:relative;overflow:hidden}@supports (height:100dvh){.preview-page[data-v-8efee7ee]{height:calc(100dvh - var(--bottom-reserve))}}.fake-learn[data-v-8efee7ee]{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;top:0;bottom:0;left:0;right:0}.fake-screen[data-v-8efee7ee]{place-items:center;height:100%;padding:16px;display:grid}.word-screen[data-v-8efee7ee]{--char-size:min(56vw, 34vh, 340px);background:#fff;border-radius:28px;align-content:center;place-items:center;gap:18px;width:min(88vw,460px);max-height:100%;padding:32px 16px 26px;display:grid;box-shadow:0 14px 34px #07c16024}.char-head[data-v-8efee7ee]{justify-content:space-between;align-items:center;width:100%;margin-top:8px;display:flex}.char-fav-btn[data-v-8efee7ee]{color:#c2c9d2;background:#fff;border:2px solid #dfe4ea;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.char-speak-btn[data-v-8efee7ee]{color:#fff;background:var(--brand);border-radius:50%;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 6px 14px #07c1604d}.big-char[data-v-8efee7ee]{color:var(--text);font-size:var(--char-size);font-weight:900;line-height:1.05;position:relative;top:-.055em}.phrase-list[data-v-8efee7ee]{gap:8px;width:100%;margin:0;padding:0;list-style:none;display:grid}.phrase-btn[data-v-8efee7ee]{border:2px solid var(--line);text-align:left;background:#f4fcf7;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;min-height:72px;padding:8px 10px 8px 16px;display:grid}.phrase-word[data-v-8efee7ee]{color:var(--brand-dark);white-space:nowrap;font-size:38px;font-weight:900;line-height:1.2}.phrase-sentence[data-v-8efee7ee]{color:var(--text);font-size:31px;font-weight:700;line-height:1.25}.phrase-speaker[data-v-8efee7ee]{width:44px;height:44px;color:var(--brand);grid-column:3;place-items:center;display:grid}.phrase-speaker[data-v-8efee7ee] svg{width:28px;height:28px}@media (max-height:720px),(max-width:340px){.word-screen[data-v-8efee7ee]{gap:8px;padding:12px}.char-head[data-v-8efee7ee]{margin-top:4px}.char-speak-btn[data-v-8efee7ee],.char-fav-btn[data-v-8efee7ee]{width:44px;height:44px}.phrase-btn[data-v-8efee7ee]{min-height:58px;padding:6px 8px 6px 12px}.phrase-word[data-v-8efee7ee]{font-size:32px}.phrase-sentence[data-v-8efee7ee]{font-size:26px}.phrase-speaker[data-v-8efee7ee]{width:40px;height:40px}.phrase-speaker[data-v-8efee7ee] svg{width:26px;height:26px}}@media (max-height:600px){.word-screen[data-v-8efee7ee]{gap:4px;padding:6px 10px 8px}.phrase-list[data-v-8efee7ee]{gap:6px}.phrase-btn[data-v-8efee7ee]{min-height:44px;padding:4px 6px 4px 10px}.phrase-word[data-v-8efee7ee]{font-size:24px}.phrase-sentence[data-v-8efee7ee]{font-size:21px}.phrase-speaker[data-v-8efee7ee]{width:36px;height:36px}}.fake-tabbar[data-v-8efee7ee]{height:var(--bottom-reserve);padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;border-top:1px solid #ebedf0;grid-template-columns:repeat(3,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.fake-tab[data-v-8efee7ee]{color:#7d7e80;place-items:center;gap:2px;font-size:12px;display:grid}.fake-tab i[data-v-8efee7ee]{font-style:normal}.fake-tab.on[data-v-8efee7ee]{color:var(--brand)}.preview-hint[data-v-8efee7ee]{text-align:center;color:#888;padding-top:44vh;font-size:16px;position:relative}.preview-panel[data-v-8efee7ee]{text-align:center;background:#fff;border-radius:14px;width:86%;max-width:420px;margin:0 auto;padding:22px 20px 24px;position:relative;top:26vh;box-shadow:0 10px 30px #00000024}.preview-panel-title[data-v-8efee7ee]{color:#222;margin:0 0 10px;font-size:20px;font-weight:600}.preview-panel-text[data-v-8efee7ee]{color:#555;margin:0;font-size:15px;line-height:1.7}.preview-done[data-v-8efee7ee]{z-index:95;text-align:center;background:#fffffff7;border-radius:14px;padding:14px 16px 16px;position:absolute;top:10px;left:10px;right:10px;box-shadow:0 8px 24px #00000029}.preview-done-title[data-v-8efee7ee]{color:#222;margin:0 0 6px;font-size:18px;font-weight:800}.preview-done-text[data-v-8efee7ee]{color:#555;margin:0;font-size:14px;line-height:1.6}.preview-done-warn[data-v-8efee7ee]{color:#ad6800;text-align:left;background:#fff7e6;border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:13px;line-height:1.6}.preview-done-note[data-v-8efee7ee]{color:#999;margin:8px 0 0;font-size:12px;line-height:1.6}.preview-btn[data-v-8efee7ee]{background:var(--brand,#16a34a);color:#fff;border:0;border-radius:20px;margin-top:12px;padding:9px 26px;font-size:15px}.preview-btn[data-v-8efee7ee]:active{opacity:.85}.done-fade-enter-active[data-v-8efee7ee]{transition:opacity .25s,transform .25s}.done-fade-enter-from[data-v-8efee7ee]{opacity:0;transform:translateY(-8px)}.invite-page[data-v-efaedc9b]{background:var(--page-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.invite-card[data-v-efaedc9b]{width:min(100%,380px);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:16px;padding:36px 24px}.invite-card h1[data-v-efaedc9b]{color:var(--text);margin:0;font-size:26px;line-height:1.4}.who[data-v-efaedc9b]{color:var(--text);margin:14px 0 0;font-size:22px;font-weight:600}.hint[data-v-efaedc9b]{color:var(--text-muted,#666);margin:16px 0 0;font-size:17px;line-height:1.7}.code[data-v-efaedc9b]{color:#999;letter-spacing:1px;margin:20px 0 0;font-size:14px}.share-page[data-v-e2be9e49]{background:#ededed;min-height:100vh;padding:24px 16px 48px}.chat-card[data-v-e2be9e49]{background:#fff;border-radius:8px;max-width:320px;margin:8px auto 0;padding:14px 14px 12px}.chat-title[data-v-e2be9e49]{color:#111;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:17px;line-height:1.4;display:-webkit-box;overflow:hidden}.chat-body[data-v-e2be9e49]{gap:12px;margin-top:8px;display:flex}.no-flexgap .chat-body[data-v-e2be9e49]{gap:0}.no-flexgap .chat-body[data-v-e2be9e49]>:not(:last-child){margin-right:12px}.chat-desc[data-v-e2be9e49]{color:#888;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;margin:0;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.chat-thumb[data-v-e2be9e49]{object-fit:cover;border-radius:4px;flex:none;width:56px;height:56px}.share-panel[data-v-e2be9e49]{text-align:center;background:#fff;border-radius:14px;max-width:380px;margin:20px auto 0;padding:20px}.share-panel h1[data-v-e2be9e49]{color:var(--text);margin:0;font-size:22px}.status[data-v-e2be9e49]{color:#666;margin:0;font-size:18px;font-weight:600}.status.ok[data-v-e2be9e49]{color:#07883f}.status.err[data-v-e2be9e49]{color:#d93025;word-break:break-word;font-size:15px}.steps[data-v-e2be9e49]{text-align:left;color:#333;max-width:260px;margin:16px auto 0;padding-left:1.4em;font-size:16px;line-height:1.9;list-style:decimal}.note[data-v-e2be9e49],.hint[data-v-e2be9e49]{color:#999;margin:14px 0 0;font-size:13px;line-height:1.7}.code[data-v-e2be9e49]{color:#999;margin:16px 0 0;font-size:13px}
