:root{--brand: #ff7a3d;--brand-2: #ffb703;--brand-soft: #fff0e3;--en: #3a86ff;--en-soft: #e6efff;--zh: #e63946;--zh-soft: #ffe7e9;--bg: #fff8ef;--card: #ffffff;--ink: #2b2140;--muted: #7a6f8a;--line: #f0e4d4;--ok: #2bb673;--ok-soft: #e3f7ec;--no: #ff5d5d;--no-soft: #ffe8e8;--radius: 22px;--shadow: 0 6px 0 rgba(43, 33, 64, .08), 0 10px 24px rgba(43, 33, 64, .06);--font: "Baloo 2", "Segoe UI", system-ui, sans-serif;--font-zh: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", "Baloo 2", sans-serif;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:500 17px/1.45 var(--font);min-height:100dvh;overscroll-behavior-y:none}#app{max-width:760px;margin:0 auto;min-height:100dvh;padding:0 16px calc(24px + env(safe-area-inset-bottom))}button{font:inherit;color:inherit;cursor:pointer}.zh{font-family:var(--font-zh)}.py{font-family:Segoe UI,Roboto,Noto Sans,Helvetica Neue,Arial,sans-serif;font-weight:600}.py .tone1{color:#e03131}.py .tone2{color:#e8590c}.py .tone3{color:#2b8a3e}.py .tone4{color:#1864ab}.py .tone5{color:#868e96}h1,h2,h3{margin:0 0 8px;line-height:1.15}p{margin:0 0 10px}.muted{color:var(--muted)}.row{display:flex;align-items:center}.gap{gap:12px}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1}.center{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.screen{padding-top:14px}.screen.center{min-height:80dvh;gap:12px}.big-emoji{font-size:96px;line-height:1}.btn{border:0;border-radius:999px;padding:14px 26px;min-height:56px;font-weight:800;font-size:19px;background:var(--card);box-shadow:var(--shadow);transition:transform .12s ease,box-shadow .12s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:active{transform:translateY(3px);box-shadow:0 2px #2b21401a}.btn:focus-visible,.card-btn:focus-visible{outline:4px solid var(--brand-2);outline-offset:3px}.btn.primary{background:var(--brand);color:#fff;box-shadow:0 6px #d85a20}.btn.ok{background:var(--ok);color:#fff;box-shadow:0 6px #1d8a55}.btn.ghost{background:transparent;box-shadow:none;color:var(--muted)}.btn.big{min-height:72px;font-size:22px;padding:16px 36px}.btn.icon{width:56px;padding:0}.btn[disabled]{opacity:.5;pointer-events:none}.topbar{display:flex;align-items:center;gap:10px;padding:12px 0;position:sticky;top:0;z-index:5;background:var(--bg)}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--card);border-radius:999px;padding:6px 14px;font-weight:800;box-shadow:var(--shadow);white-space:nowrap}.avatar{width:52px;height:52px;border-radius:50%;background:var(--card);box-shadow:var(--shadow);font-size:32px;display:grid;place-items:center;border:0}.lang-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 16px}.lang-switch button{border:3px solid transparent;border-radius:var(--radius);padding:12px;background:var(--card);box-shadow:var(--shadow);font-weight:800;font-size:19px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px}.lang-switch button[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft)}.lang-switch button[aria-pressed=true].en{border-color:var(--en);background:var(--en-soft)}.lang-switch button[aria-pressed=true].zh{border-color:var(--zh);background:var(--zh-soft)}.hello{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#ffd6a5,#ffadad);border-radius:var(--radius);padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}.hello .mascot{font-size:64px;line-height:1}.hello b{font-size:22px;display:block}.goal-bar{height:14px;background:#fff9;border-radius:99px;overflow:hidden;margin-top:6px}.goal-bar>i{display:block;height:100%;background:var(--ok);border-radius:99px;transition:width .4s}button.hello{border:0;width:100%;text-align:left;font:inherit;color:inherit}.hello .goal-txt{display:block;margin-top:4px;font-weight:700;opacity:.85}.hello.pet-love .mascot,.hello.pet-happy .mascot{animation:bob 2.4s ease-in-out infinite}.hello.pet-sleep .mascot{filter:saturate(.6)}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px) rotate(-3deg)}}.quests{display:grid;grid-template-columns:1fr auto;grid-auto-rows:auto;gap:8px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;margin-bottom:16px}.quest{grid-column:1;display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:14px;background:var(--brand-soft);font-weight:700}.quest.done{background:var(--ok-soft)}.quest .qi{font-size:22px}.quest .qt{flex:1}.quest .qv{color:var(--muted);font-variant-numeric:tabular-nums}.chest{grid-column:2;grid-row:1 / span 3;width:84px;border:0;border-radius:18px;background:#fff3c4;font-size:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:var(--shadow)}.chest small{font-size:13px;font-weight:800}.chest.ready{animation:pulse 1.2s infinite;background:var(--brand-2)}.chest[disabled]{opacity:.75}.pet-panel{text-align:center;margin-bottom:16px}.pet-stage{position:relative;height:190px;display:grid;place-items:center;background:radial-gradient(circle at 50% 70%,#d8f3dc,transparent 65%);border-radius:20px;overflow:hidden}.pet-body{font-size:130px;line-height:1}.pet-stage.pet-happy .pet-body,.pet-stage.pet-love .pet-body{animation:bob 2.4s ease-in-out infinite}.pet-stage.pet-sleep .pet-body{transform:rotate(-12deg);filter:saturate(.6)}.pet-outfit{position:absolute;top:14px;left:50%;transform:translate(-50%);font-size:54px}.pet-mood{position:absolute;top:16px;right:22px;font-size:34px}.food-fly{position:absolute;bottom:10px;left:50%;font-size:48px;animation:fly .9s ease-in forwards}@keyframes fly{to{transform:translate(-50%,-90px) scale(.3);opacity:0}}.food-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;margin-bottom:18px}.food{border:3px solid transparent;border-radius:18px;background:var(--card);box-shadow:var(--shadow);padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;font-weight:700;font-size:15px;min-height:104px}.food .fe{font-size:40px;line-height:1.1}.food small{color:var(--muted);font-weight:800}.food.on{border-color:var(--brand);background:var(--brand-soft)}.food.locked{opacity:.55}.review-card{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);margin-bottom:16px;border:3px dashed var(--brand-2);width:100%;text-align:left}.review-card .e{font-size:40px}.units{display:grid;gap:16px}.unit{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.unit-head{display:flex;align-items:center;gap:12px;padding:14px 16px;color:#fff}.unit-head .e{font-size:44px;line-height:1;filter:drop-shadow(0 2px 0 rgba(0,0,0,.15))}.unit-head h3{margin:0;font-size:22px}.unit-head small{opacity:.9;font-weight:700}.lessons{display:flex;gap:10px;padding:14px 16px;overflow-x:auto}.lesson-dot{flex:0 0 auto;width:76px;height:76px;border-radius:50%;border:0;background:var(--brand-soft);font-size:30px;position:relative;box-shadow:inset 0 -5px #00000014}.lesson-dot.done{background:#fff3c4}.lesson-dot.next{background:var(--brand);color:#fff;animation:pulse 1.6s infinite}.lesson-dot .stars{position:absolute;bottom:-2px;left:0;right:0;font-size:13px}.lesson-dot .lbl{position:absolute;top:100%;left:0;right:0;font-size:12px;color:var(--muted);font-weight:700;margin-top:2px}.lessons{padding-bottom:30px}.unit.locked .unit-head{filter:saturate(.85)}.lock-note{padding:0 16px 14px;color:var(--muted);font-size:15px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.lesson-top{display:flex;align-items:center;gap:10px;padding:12px 0}.progress{flex:1;height:18px;background:#f1e6d8;border-radius:99px;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--brand-2),var(--brand));border-radius:99px;transition:width .35s}.stage{min-height:70dvh;display:flex;flex-direction:column}.stage>*{animation:pop-in .28s ease}@keyframes pop-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.result{text-align:center;padding-top:24px}.result .stars-big{font-size:64px;letter-spacing:6px;margin:8px 0}.result>.btn{display:flex;margin:0 auto}.result .stat{display:inline-flex;gap:10px;margin:8px 0 18px;flex-wrap:wrap;justify-content:center}.avatars{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:420px;margin-inline:auto}.avatars button{font-size:40px;aspect-ratio:1;border-radius:20px;border:3px solid transparent;background:var(--card);box-shadow:var(--shadow)}.avatars button[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft)}.field{width:100%;font:700 22px var(--font);padding:14px 18px;border-radius:18px;border:3px solid var(--line);background:var(--card);color:var(--ink);text-align:center}.field:focus{outline:none;border-color:var(--brand)}.ages{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ages button{width:56px;height:56px;border-radius:50%;border:3px solid transparent;background:var(--card);box-shadow:var(--shadow);font-weight:800;font-size:20px}.ages button[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft)}.panel{background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);width:100%}.steps-dots{display:flex;gap:6px;justify-content:center;margin:4px 0 10px}.steps-dots i{width:10px;height:10px;border-radius:50%;background:var(--line)}.steps-dots i.on{background:var(--brand);width:26px;border-radius:9px}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:10px}.sticker{aspect-ratio:1;display:grid;place-items:center;font-size:44px;background:var(--card);border-radius:20px;box-shadow:var(--shadow)}.sticker.empty{opacity:.35;filter:grayscale(1);font-size:30px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;background:var(--ink);color:#fff;padding:12px 20px;border-radius:999px;font-weight:700;z-index:60;transition:.25s;max-width:calc(100% - 32px);text-align:center}.guide-bubble{position:fixed;left:50%;top:calc(10px + env(safe-area-inset-top));pointer-events:none;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:#fff;color:var(--ink);border:3px solid var(--brand-2);border-radius:22px;padding:8px 16px 8px 10px;font-weight:700;font-size:17px;box-shadow:var(--shadow);z-index:55;max-width:calc(100% - 32px);animation:pop-in .25s ease;transition:opacity .35s}.guide-bubble>span:first-child{font-size:30px}.guide-bubble.out{opacity:0}.toast.show{opacity:1;transform:translate(-50%)}.modal-wrap{position:fixed;inset:0;background:#2b214073;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--card);border-radius:26px;padding:22px;width:min(420px,100%);text-align:center;box-shadow:0 20px 50px #00000040}.gate-icon{font-size:44px}.gate-q{font-size:34px;font-weight:800;margin:6px 0 10px}.gate-input{width:100%;font:800 28px var(--font);text-align:center;padding:10px;border:3px solid var(--line);border-radius:16px;margin-bottom:6px}.gate-msg{color:var(--no);min-height:22px;font-weight:700}.modal .row{justify-content:center;margin-top:8px}.confetti{position:fixed;inset:0;pointer-events:none;z-index:70;overflow:hidden}.confetti span{position:absolute;top:-40px;animation:fall linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(540deg)}}.limit-screen .big-emoji{font-size:110px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:380px){body{font-size:16px}.lang-switch button{font-size:16px;padding:10px 6px}.lesson-dot{width:66px;height:66px;font-size:26px}.avatars button{font-size:32px}}.bbav{display:inline-flex;align-items:center;justify-content:center;line-height:1}.bbav-svg{width:1.4em;height:1.4em;display:block}.bbav-m .bbav-svg{width:56px;height:56px}.bbav-l .bbav-svg{width:72px;height:72px}.bbav-xl .bbav-svg{width:120px;height:120px}.avatars button.av-pick{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 2px;aspect-ratio:auto}.av-pick small{font-size:12px;font-weight:800;color:var(--muted);line-height:1.1;text-align:center}.av-pick[aria-pressed=true] .bbav-svg{animation:avPop .35s ease-out}@keyframes avPop{0%{transform:scale(.8)}60%{transform:scale(1.12)}to{transform:scale(1)}}.big-emoji .bbav-svg{width:120px;height:120px}.avatar .bbav-svg{width:44px;height:44px}@media(prefers-reduced-motion:reduce){.av-pick[aria-pressed=true] .bbav-svg{animation:none}}.unit{overflow:visible;position:relative;margin-top:22px;min-width:0;max-width:100%}.unit-head{position:relative;min-height:96px;padding:16px 14px 16px 112px;border-radius:var(--radius) var(--radius) 0 0;background:radial-gradient(circle at 88% 18%,rgba(255,255,255,.38),transparent 42%),radial-gradient(circle at 10% 110%,rgba(0,0,0,.1),transparent 45%),var(--uc, #ff7a3d)}.unit-head h3{font-size:23px;text-shadow:0 2px 0 rgba(0,0,0,.12)}.unit-ico{position:absolute;left:10px;top:-22px;width:96px;height:96px;object-fit:contain;cursor:pointer;filter:drop-shadow(0 8px 8px rgba(43,33,64,.22));animation:unitFloat 3.2s ease-in-out infinite;animation-delay:var(--d, 0s)}.unit-ico-emoji{display:grid;place-items:center;font-size:64px}@keyframes unitFloat{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}.unit-ico.wiggle{animation:unitWiggle .6s ease-in-out}@keyframes unitWiggle{0%,to{transform:rotate(0) scale(1)}20%{transform:rotate(-14deg) scale(1.12)}40%{transform:rotate(12deg) scale(1.12)}60%{transform:rotate(-8deg)}80%{transform:rotate(5deg)}}.unit.locked .unit-ico{filter:drop-shadow(0 6px 6px rgba(43,33,64,.18))}.unit-next{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--brand),var(--shadow)}.unit-next .unit-ico{width:104px;height:104px;top:-28px}.unit-go{flex:0 0 auto;padding:6px 12px;border-radius:999px;background:#fff;color:var(--ink);font-weight:800;font-size:14px;box-shadow:0 3px #0000001f;animation:unitGo 1.4s ease-in-out infinite}@keyframes unitGo{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media(max-width:380px){.unit-head{padding-left:100px}.unit-ico{width:86px;height:86px}.unit-head h3{font-size:20px}}@media(prefers-reduced-motion:reduce){.unit-ico,.unit-go{animation:none}}.mt-bar{height:14px;border-radius:999px;background:var(--line, #eee);overflow:hidden;margin:8px 0 12px}.mt-meter{display:block;height:100%;width:0;background:#2f9e44;transition:width .08s}.mt-btns{display:flex;flex-direction:column;gap:10px}.mt-btn{min-height:56px;font-size:17px}.mt-log{display:flex;flex-direction:column;gap:10px;margin-top:12px}.mt-res{background:#fff;border-radius:16px;padding:10px 12px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px}.mt-res b.ok{color:#2f9e44}.mt-res b.no{color:#c92a2a}.mt-res small{color:var(--muted);word-break:break-all}.mt-res audio{width:100%}.rd-entry .e .emo{width:40px;height:40px}.rd-mic-ic{display:inline-flex;align-items:flex-end;gap:2px}.rd-mic-ic i{font-style:normal;font-size:26px}.rd-note{margin:8px 0 12px;font-size:14px}.rd-got{color:sienna!important;font-weight:700}.rd{display:grid;gap:10px}.rd-card{width:100%;box-sizing:border-box;background:#fff;border-radius:24px;padding:14px;box-shadow:0 2px 10px #7850281f;text-align:center;display:grid;gap:8px;justify-items:center}.rd-art{font-size:60px;line-height:1;min-height:70px}.rd-art .emo{width:64px;height:64px}.rd-art .scene-img{max-width:min(60vw,230px);border-radius:20px}.rd-art .scene-ai{font-size:11px}.rd-line{display:grid;gap:4px;transition:transform .3s}.rd-line.reading .rd-t{color:#c2410c;transform:scale(1.04)}.rd-t{margin:0;font-size:24px;font-weight:800;line-height:1.3;transition:transform .3s}.rd-t.zh{font-family:var(--font-zh)}.rd-t small{display:block;font-family:Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:600;color:sienna}.rd-vi{color:#8a7262;font-size:15px}.rd-dots{justify-content:center}.ph-dots.rd-dots i.rec{background:#e9a23b}.rd-actions{align-items:flex-end}.rd-mic-wrap{display:grid;justify-items:center;gap:4px}.rd-face{min-height:44px}.rd-navs{gap:8px;flex-wrap:wrap;justify-content:center}.rd-nav{min-height:48px}.rd-end{text-align:center}.rd-show{display:grid;gap:12px;justify-items:center;text-align:center;padding:14px;background:#fff;border-radius:24px}.rd-show-title{font-size:18px;color:sienna}.rd-show .rd-art{font-size:80px}.rd-show .rd-art .emo{width:84px;height:84px}.rd .bbg-listen-btn:disabled{opacity:.45}.rd-end .bbm-actions{display:grid;gap:10px;width:100%;max-width:320px;margin:8px auto 0}.rd-end .bbm-actions .btn{width:100%}.bbg{--bbg-r: var(--radius, 24px);display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:720px;margin:0 auto;padding:12px 16px 24px;box-sizing:border-box;color:var(--ink, #2b2d42);text-align:center;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.bbg *,.bbg *:before,.bbg *:after{box-sizing:border-box}.bbg button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}.bbg-hidden{display:none!important}.bbg-head{display:flex;align-items:center;gap:10px;width:100%;padding:8px 8px 8px 16px;background:var(--card, #fff);border-radius:999px;box-shadow:0 4px #0000000f;font-size:20px;font-weight:700;min-height:64px}.bbg-head-icon{font-size:32px;line-height:1}.bbg-head-text{flex:1;text-align:left}.bbg-replay,.bbg-listen-btn{flex:none;width:56px;height:56px;border:0;border-radius:50%;background:var(--brand, #ff7a59);color:#fff;font-size:28px;line-height:1;box-shadow:0 4px #00000026;transition:transform .1s}.bbg-replay:active,.bbg-listen-btn:active{transform:translateY(3px) scale(.96);box-shadow:0 1px #00000026}.bbg-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;width:100%}.bbg-btn{min-height:64px;min-width:160px;padding:12px 28px;border:0;border-radius:999px;background:var(--brand, #ff7a59);color:#fff!important;font-size:24px;font-weight:800;box-shadow:0 6px #0000002e;transition:transform .1s,box-shadow .1s}.bbg-btn:active{transform:translateY(4px);box-shadow:0 2px #0000002e}.bbg-btn-ok{background:var(--ok, #2ec4b6)}.bbg-btn-ghost{background:var(--card, #fff);color:var(--ink, #2b2d42)!important;font-size:20px;box-shadow:0 4px #0000001a}.bbg-emoji-xl{font-size:clamp(96px,32vw,160px);line-height:1.1}.bbg-emoji-l{font-size:clamp(64px,18vw,88px);line-height:1.1}.bbg-emoji-m{font-size:56px;line-height:1.1}.bbg-main{font-size:clamp(34px,10vw,52px);font-weight:800;line-height:1.15;word-break:break-word}.bbg-main-sentence{font-size:clamp(26px,7vw,38px)}.bbg-sub{font-size:clamp(20px,5.5vw,26px);color:var(--muted, #6c757d);font-weight:600}.bbg-extra{display:inline-block;padding:4px 14px;border-radius:999px;background:#ffb70333;font-size:18px;font-weight:700}.bbg-vi{font-size:18px;color:var(--muted, #6c757d)}.bbg-status{font-size:22px;font-weight:700;min-height:30px}.bbg-learn-card,.bbg-speak-card{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:440px;padding:24px 16px;background:var(--card, #fff);border-radius:var(--bbg-r);box-shadow:0 8px #00000012;cursor:pointer}.bbg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;max-width:460px}.bbg-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.bbg-pic-card,.bbg-big-pic{display:flex;align-items:center;justify-content:center;min-height:120px;border:4px solid transparent;border-radius:var(--bbg-r);background:var(--card, #fff);box-shadow:0 6px #00000014;transition:transform .12s,opacity .2s,border-color .2s}.bbg-grid-3 .bbg-pic-card{min-height:96px}.bbg-grid-3 .bbg-pic-card .bbg-emoji-l{font-size:56px}.bbg-pic-card{aspect-ratio:1 / 1}.bbg-pic-card:active{transform:scale(.96)}.bbg-big-pic{padding:12px 32px;min-width:180px}.bbg-word-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:460px}.bbg-word-list-1{grid-template-columns:minmax(0,1fr);max-width:360px}.bbg-word-btn,.bbg-piece,.bbg-match-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:88px;padding:10px 12px;border:4px solid transparent;border-radius:var(--bbg-r);background:var(--card, #fff);box-shadow:0 6px #00000014;transition:transform .12s,opacity .2s,border-color .2s,background .2s}.bbg-word-btn:active,.bbg-piece:active,.bbg-match-item:active{transform:scale(.96)}.bbg-word-main{font-size:clamp(24px,7vw,32px);font-weight:800;line-height:1.15;word-break:break-word}.bbg-word-sub{font-size:16px;color:var(--muted, #6c757d);font-weight:600}.bbg-word-extra{font-size:14px;color:var(--muted, #6c757d)}.bbg-right{border-color:var(--ok, #2ec4b6)!important;background:color-mix(in srgb,var(--ok, #2ec4b6) 18%,var(--card, #fff))!important;animation:bbg-bounce .6s ease}.bbg-dim{opacity:.45}.bbg-shake{animation:bbg-shake .45s ease;border-color:var(--no, #ef476f)!important}.bbg-solved .bbg-pic-card:not(.bbg-right),.bbg-solved .bbg-word-btn:not(.bbg-right){opacity:.35;pointer-events:none}.bbg-enter{animation:bbg-enter .45s cubic-bezier(.2,1.4,.4,1)}@keyframes bbg-shake{0%,to{transform:translate(0)}20%{transform:translate(-10px) rotate(-2deg)}40%{transform:translate(10px) rotate(2deg)}60%{transform:translate(-7px)}80%{transform:translate(7px)}}@keyframes bbg-bounce{0%{transform:scale(1)}35%{transform:scale(1.12)}60%{transform:scale(.96)}to{transform:scale(1)}}@keyframes bbg-enter{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.bbg-match-board{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%;max-width:520px}.bbg-match-col{display:flex;flex-direction:column;gap:12px}.bbg-match-item{width:100%}.bbg-selected{border-color:var(--brand, #ff7a59)!important;transform:scale(1.05);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand, #ff7a59) 30%,transparent)}.bbg-matched{border-color:var(--ok, #2ec4b6)!important;background:color-mix(in srgb,var(--ok, #2ec4b6) 18%,var(--card, #fff))!important;opacity:.7;pointer-events:none;animation:bbg-bounce .6s ease}.bbg-speak-actions{display:flex;align-items:center;justify-content:center;gap:20px}.bbg-listen-btn{width:72px;height:72px;font-size:34px}.bbg-mic{display:flex;flex-direction:column;align-items:center;justify-content:center;width:128px;height:128px;border:0;border-radius:50%;background:var(--no, #ef476f);color:#fff!important;box-shadow:0 8px #0000002e;transition:transform .1s}.bbg-mic:active{transform:translateY(4px)}.bbg-mic-icon{font-size:56px;line-height:1}.bbg-mic-text{font-size:15px;font-weight:800;margin-top:2px}.bbg-mic:disabled{cursor:default}.bbg-listening{animation:bbg-pulse 1s ease-in-out infinite}@keyframes bbg-pulse{0%,to{transform:scale(1);box-shadow:0 0 color-mix(in srgb,var(--no, #ef476f) 50%,transparent)}50%{transform:scale(1.08);box-shadow:0 0 0 18px color-mix(in srgb,var(--no, #ef476f) 0%,transparent)}}.bbg-stars{display:flex;gap:8px;justify-content:center;font-size:56px;line-height:1}.bbg-star{color:var(--muted, #adb5bd);animation:bbg-enter .5s cubic-bezier(.2,1.4,.4,1) both}.bbg-star:not(.on){opacity:.4}.bbg-hz-stage{display:flex;flex-direction:column;align-items:center;gap:16px;border-radius:var(--bbg-r);border:4px solid transparent;padding:4px}.bbg-hz-canvas{position:relative;background-color:var(--card, #fff);border-radius:16px;box-shadow:0 6px #00000014;background-image:linear-gradient(to right,transparent calc(50% - 1px),rgba(239,71,111,.25) calc(50% - 1px),rgba(239,71,111,.25) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(to bottom,transparent calc(50% - 1px),rgba(239,71,111,.25) calc(50% - 1px),rgba(239,71,111,.25) calc(50% + 1px),transparent calc(50% + 1px));touch-action:none}.bbg-hz-canvas svg{display:block}.bbg-hz-big{font-size:clamp(140px,45vw,220px);line-height:1.1;padding:8px 24px;background:var(--card, #fff);border-radius:var(--bbg-r);box-shadow:0 6px #00000014;cursor:pointer}.bbg-hz-py{font-size:30px;cursor:pointer}.bbg-build-top{display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer}.bbg-answer{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;min-height:88px;padding:12px;border:4px dashed color-mix(in srgb,var(--muted, #6c757d) 40%,transparent);border-radius:var(--bbg-r);background:color-mix(in srgb,var(--card, #fff) 60%,transparent)}.bbg-answer.bbg-right{border-style:solid}.bbg-slot{display:inline-flex;align-items:center;justify-content:center;min-width:56px;min-height:56px;padding:4px 12px;border-radius:16px;background:#0000000d;color:var(--muted, #adb5bd);font-size:clamp(22px,6vw,30px);font-weight:800}.bbg-slot.bbg-filled{background:var(--brand, #ff7a59);color:#fff;animation:bbg-enter .35s cubic-bezier(.2,1.4,.4,1)}.bbg-pool{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%}.bbg-piece{min-width:88px;min-height:72px}.bbg-piece-zh{min-width:72px}.bbg-piece.bbg-used{opacity:.2;pointer-events:none;transform:scale(.9)}.bbg-dots{display:flex;gap:10px;justify-content:center}.bbg-dot{width:18px;height:18px;border-radius:50%;background:#0000001f;transition:background .3s,transform .3s}.bbg-dot.now{background:var(--brand, #ff7a59);transform:scale(1.25)}.bbg-dot.done{background:var(--ok, #2ec4b6)}.bbg-arena{--bbg-bub: clamp(84px, 24vw, 112px);position:relative;width:100%;height:clamp(320px,55vh,460px);overflow:hidden;border-radius:var(--bbg-r);background:linear-gradient(to bottom,#e0f4ff,#fdf1ff)}.bbg-bubble{position:absolute;bottom:calc(-1 * var(--bbg-bub));width:var(--bbg-bub);height:var(--bbg-bub);margin-left:calc(var(--bbg-bub) / -2);animation:bbg-rise var(--dur, 9s) linear var(--delay, 0s) infinite;will-change:transform}.bbg-sway{width:100%;height:100%;animation:bbg-sway 3s ease-in-out infinite}.bbg-bub-btn{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;border:3px solid rgba(255,255,255,.9);border-radius:50%;background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.95) 0 10%,transparent 24%),radial-gradient(circle at 50% 55%,color-mix(in srgb,var(--bub-color, #8ecae6) 45%,transparent),var(--bub-color, #8ecae6));box-shadow:inset 0 -6px 12px #00000014,0 6px 14px #0000001a}.bbg-bub-emoji{font-size:56px;line-height:1;pointer-events:none}.bbg-bub-emoji .emo.wpic{width:calc(var(--bbg-bub) * .66);height:calc(var(--bbg-bub) * .66);border-radius:50%;background:#fff;mix-blend-mode:normal;padding:5%;box-sizing:border-box;object-fit:contain;vertical-align:middle}.bbg-bub-btn.bbg-shake{border-color:var(--no, #ef476f)!important}.bbg-popped{animation:bbg-pop .45s ease-out forwards;pointer-events:none}@keyframes bbg-rise{0%{transform:translateY(0)}to{transform:translateY(calc(-1 * var(--rise, 560px)))}}@keyframes bbg-sway{0%,to{transform:translate(-8px)}50%{transform:translate(8px)}}@keyframes bbg-pop{0%{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.9}to{transform:scale(1.7);opacity:0}}@media(max-width:400px){.bbg{padding:8px 12px 20px;gap:12px}.bbg-head{font-size:18px}.bbg-btn{font-size:22px;min-width:140px;padding:10px 22px}.bbg-grid,.bbg-word-list,.bbg-match-board{gap:10px}.bbg-mic{width:112px;height:112px}}@media(prefers-reduced-motion:reduce){.bbg *,.bbg{animation-duration:.01ms!important;animation-iteration-count:1!important}.bbg-bubble,.bbg-sway{animation:none!important;transform:none!important}.bbg-bubble{bottom:auto;top:var(--y, 30%)}.bbg-popped{animation:none!important;opacity:0}.bbg-listening{animation:none!important;outline:6px solid color-mix(in srgb,var(--no, #ef476f) 40%,transparent)}}.bbg-flip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:460px}.bbg-flip-grid.bbg-flip-8{grid-template-columns:repeat(4,minmax(0,1fr));max-width:560px;gap:10px}.bbg-flip-card{position:relative;aspect-ratio:3 / 4;min-height:96px;padding:0;border:0;background:none;perspective:600px}.bbg-flip-inner{position:absolute;inset:0;display:block;transform-style:preserve-3d;transition:transform .4s ease}.bbg-flip-open .bbg-flip-inner{transform:rotateY(180deg)}.bbg-flip-back,.bbg-flip-front{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:6px;border:4px solid transparent;border-radius:18px;box-shadow:0 6px #0000001a;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.bbg-flip-back{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35) 0 18%,transparent 19%),linear-gradient(135deg,var(--brand, #ff7a59),var(--brand-2, #ffb703));color:#fff;font-size:36px}.bbg-flip-front{background:var(--card, #fff);transform:rotateY(180deg)}.bbg-flip-emoji{font-size:clamp(40px,13vw,60px);line-height:1}.bbg-flip-text{font-size:clamp(20px,6vw,28px);font-weight:800;line-height:1.1;word-break:break-word}.bbg-flip-zh{font-size:clamp(30px,9vw,44px)}.bbg-flip-long{font-size:clamp(15px,4.4vw,22px)}.bbg-flip-zh.bbg-flip-long{font-size:clamp(22px,6.5vw,32px)}.bbg-flip-card.bbg-matched{opacity:1;background:none!important;border:0}.bbg-flip-card.bbg-matched .bbg-flip-front{border-color:var(--ok, #2ec4b6);background:color-mix(in srgb,var(--ok, #2ec4b6) 18%,var(--card, #fff))}.bbg-flip-card.bbg-shake .bbg-flip-front{border-color:var(--no, #ef476f)}.bbg-flip-card:active:not(.bbg-flip-open){transform:scale(.96)}.bbg-tone{--bbg-t1: #e03131;--bbg-t2: #e8590c;--bbg-t3: #2b8a3e;--bbg-t4: #1864ab;--bbg-t5: #868e96}.bbg-tone-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;max-width:300px;min-height:200px;padding:16px;border:4px solid transparent;border-radius:var(--bbg-r);background:var(--card, #fff);box-shadow:0 8px #00000012}.bbg-tone-ear{font-size:56px;line-height:1}.bbg-tone-q{font-size:64px;font-weight:800;color:var(--muted, #6c757d);line-height:1}.bbg-tone-emoji{position:absolute;top:10px;right:14px;font-size:36px}.bbg-tone-reveal{display:flex;flex-direction:column;align-items:center;gap:4px;animation:bbg-enter .45s cubic-bezier(.2,1.4,.4,1)}.bbg-tone-char{font-size:clamp(88px,28vw,120px);line-height:1.1}.bbg-tone-py{font-size:36px;font-weight:800}.bbg-tone-btns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:420px}.bbg-tone-btns-5{grid-template-columns:repeat(6,minmax(0,1fr))}.bbg-tone-btns-5 .bbg-tone-btn{grid-column:span 2}.bbg-tone-btns-5 .bbg-tone-btn:nth-child(4){grid-column:2 / span 2}.bbg-tone-btn{--c: var(--bbg-t5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:96px;padding:8px;border:4px solid color-mix(in srgb,var(--c) 35%,transparent);border-radius:var(--bbg-r);background:var(--card, #fff);box-shadow:0 6px #00000014;transition:transform .12s,opacity .2s}.bbg-tone-btn:active{transform:scale(.96)}.bbg-tone-1{--c: var(--bbg-t1)}.bbg-tone-2{--c: var(--bbg-t2)}.bbg-tone-3{--c: var(--bbg-t3)}.bbg-tone-4{--c: var(--bbg-t4)}.bbg-tone-svg{width:72px;height:48px;overflow:visible}.bbg-tone-svg path{fill:none;stroke:var(--c);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.bbg-tone-svg circle{fill:var(--c)}.bbg-tone-num{font-size:24px;font-weight:800;color:var(--c);line-height:1}.bbg-solved .bbg-tone-btn:not(.bbg-right){opacity:.35;pointer-events:none}.bbg-story-body{width:100%;display:flex;justify-content:center}.bbg-story-scene{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:520px}.bbg-story-art{width:100%;padding:12px 8px;border-radius:var(--bbg-r);background:linear-gradient(to bottom,#e0f4ff,#fff6e0);font-size:clamp(72px,22vw,120px);line-height:1.15;letter-spacing:4px;word-break:break-word}.bbg-story-text{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:14px 16px;border:0;border-radius:var(--bbg-r);background:var(--card, #fff);box-shadow:0 6px #00000012}.bbg-story-text:active{transform:scale(.98)}.bbg-story-line{font-size:clamp(24px,7vw,34px);font-weight:800;line-height:1.2}.bbg-story-zh{font-size:clamp(28px,8.5vw,40px)}.bbg-story-py{font-size:clamp(18px,5vw,24px);font-weight:700}.bbg-story-vi{font-size:16px;color:var(--muted, #6c757d)}.bbg-story-qicon{font-size:48px;line-height:1}.bbg-story-navs{display:flex;justify-content:space-between;gap:16px;width:100%;max-width:520px}.bbg-story-nav{width:80px;height:80px;border:0;border-radius:50%;background:var(--brand, #ff7a59);color:#fff!important;font-size:48px;line-height:1;box-shadow:0 6px #0000002e;transition:transform .1s,opacity .2s}.bbg-story-nav:active{transform:translateY(4px);box-shadow:0 2px #0000002e}.bbg-story-nav:disabled{opacity:.25;cursor:default;transform:none}@media(max-width:400px){.bbg-flip-grid{gap:8px}.bbg-flip-grid.bbg-flip-8{gap:6px}.bbg-flip-back,.bbg-flip-front{border-radius:14px;padding:4px}.bbg-tone-btn{min-height:88px}.bbg-story-nav{width:72px;height:72px}}@media(prefers-reduced-motion:reduce){.bbg-flip-inner{transition:none}}.bbg-my-voice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;font-size:26px;line-height:1}.bbg-my-voice small{font:800 12px/1.2 var(--font, inherit);margin-top:4px}.bbg-my-voice.bbg-off{opacity:.45}.bbg-my-voice.bbg-playing{animation:bbg-pulse-voice .9s ease-in-out infinite}@keyframes bbg-pulse-voice{50%{transform:scale(1.08)}}.bbg-heard{text-align:center;color:var(--muted);font-size:14px;min-height:1.2em;margin-top:2px}@media(prefers-reduced-motion:reduce){.bbg-my-voice.bbg-playing{animation:none;outline:3px solid var(--brand)}}.bbg-verdict{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:6px auto 0;padding:8px 16px;border-radius:999px;font-size:18px;width:fit-content;max-width:100%}.bbg-verdict b{font-weight:800}.bbg-verdict span{font-size:14px;font-weight:700;opacity:.8}.bbg-v-ok{background:var(--ok-soft, #e3f7ec);color:#1d7a4b}.bbg-v-near{background:#fff3c4;color:#8a5a00}.bbg-v-no{background:var(--no-soft, #ffe8e8);color:#c0392b}.bbm{display:inline-flex;flex-direction:column;align-items:center;flex:0 0 auto}.bbm-svg{width:140px;height:140px;display:block}.bbm-s .bbm-svg{width:84px;height:84px}.bbm-l .bbm-svg{width:220px;height:220px}.bbm-talk .bbm-svg{filter:drop-shadow(0 0 10px rgba(255,122,61,.5))}.bbm-cap{margin-top:6px;font-weight:800;font-size:15px;color:var(--brand);text-align:center}.bbm-box{margin-top:12px}.bbm-row{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 12px;border-radius:20px;background:var(--brand-soft)}.bbm-side{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.bbm-side small{color:var(--muted);font-weight:700}.bbm-slow{min-height:44px;padding:6px 14px;font-size:16px}.bbm-tip{margin-top:8px;padding:8px 12px;border-radius:16px;background:#fff;border:2px solid var(--line);text-align:left}.bbm-tip summary{cursor:pointer;font-weight:800;color:var(--brand)}.bbm-tip p{margin:6px 0 0;font-size:15px}.bbm-trap{color:#9c3d0a}.bbm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}.bbm-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border-radius:20px;border:2px solid var(--line);background:#fff;box-shadow:var(--shadow);text-align:center}.bbm-tile b{font-size:20px}.bbm-tile small{color:var(--muted);font-size:13px;line-height:1.25}.bbm-hero{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center;padding:16px;border-radius:24px;background:#fff;box-shadow:var(--shadow)}.bbm-how{flex:1 1 260px}.bbm-how h3{margin:0 0 6px}.bbm-how ol{margin:0;padding-left:20px}.bbm-how li{margin:4px 0}.bbm-how .bbm-trap{margin-top:10px;padding:10px 12px;border-radius:14px;background:#fff3e8}.bbm-ex{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.bbm-card{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;border-radius:22px;background:#fff;box-shadow:var(--shadow)}.bbm-word{display:flex;flex-direction:column;gap:2px;flex:1 1 120px}.bbm-word .e{font-size:34px;line-height:1}.bbm-word b{font-size:24px}.bbm-word b.zh{font-family:var(--font-zh)}.bbm-word .ipa,.bbm-word small{color:var(--muted)}.bbm-actions{display:flex;flex-wrap:wrap;gap:6px;width:100%}.bbm-actions .btn{flex:1 1 0;min-width:0;min-height:44px;padding:6px 8px;font-size:15px}.bbm-verdict{width:100%;font-weight:800;min-height:1.2em}.bbm-verdict.ok{color:var(--ok)}.bbm-verdict.near{color:#c98a00}.bbm-verdict.no{color:var(--no)}.bbm-card .bbm-svg{width:120px;height:120px}@media(max-width:380px){.bbm-svg{width:124px;height:124px}.bbm-l .bbm-svg{width:200px;height:200px}}.bbm-eyes{transform-box:view-box;transform-origin:80px 66px;animation:bbmBlink 4.6s infinite}@keyframes bbmBlink{0%,93%,to{transform:scaleY(1)}95.5%{transform:scaleY(.08)}}.bbm-blush{transition:opacity .3s}.bbm-talk .bbm-blush{opacity:.8}.bbm-talk .bbm-svg{animation:bbmBob .42s ease-in-out infinite alternate}@keyframes bbmBob{0%{transform:translateY(0) rotate(-1.2deg)}to{transform:translateY(-3px) rotate(1.2deg)}}@media(prefers-reduced-motion:reduce){.bbm-eyes,.bbm-talk .bbm-svg{animation:none}}.bbm-xs .bbm-svg{width:58px;height:58px}.bbm-entry{align-items:center}.bbm-duo{display:flex;gap:2px;flex:0 0 auto}.bbm-pal{position:relative;display:inline-flex}.bbm-bub{position:absolute;top:-14px;left:50%;transform:translate(-50%) scale(.6);opacity:0;padding:1px 7px;border-radius:999px;background:#fff;border:2px solid var(--line);font-size:12px;font-weight:800;white-space:nowrap;transition:opacity .25s,transform .25s;z-index:1}.bbm-bub.en{color:var(--en)}.bbm-bub.zh{color:var(--zh);font-family:var(--font-zh)}.bbm-say-en .bbm-bub.en,.bbm-say-zh .bbm-bub.zh{opacity:1;transform:translate(-50%) scale(1)}.bbm-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;font-size:17px;padding-left:8px;padding-right:8px}.bbm-tabs .bbm-xs .bbm-svg{width:40px;height:40px}@media(prefers-reduced-motion:reduce){.bbm-bub{opacity:1;transform:translate(-50%)}}.emo{display:inline-block;width:1.18em;height:1.18em;object-fit:contain;vertical-align:-.2em;filter:drop-shadow(0 .05em .05em rgba(43,33,64,.18));-webkit-user-drag:none;user-select:none;pointer-events:none;animation:emoIn .45s cubic-bezier(.2,.9,.3,1.3) both}@keyframes emoIn{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.bbg-emoji-xl .emo{animation:emoIn .45s cubic-bezier(.2,.9,.3,1.3) both,emoFloat 3s ease-in-out .5s infinite}@keyframes emoFloat{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-.06em) rotate(2deg)}}.bbg-story-art .emo{width:1.1em;height:1.1em;margin:0 .02em}@media(prefers-reduced-motion:reduce){.emo,.bbg-emoji-xl .emo{animation:none}}.bt-night{margin:0 -16px;padding:4px 16px 30px;min-height:100dvh;background:radial-gradient(circle at 80% 0%,#3b3a7a 0,transparent 45%),linear-gradient(180deg,#1d1b45,#2b2160);color:#e9e6ff}.bt-night .topbar .btn{background:#fff2;color:#fff}.bt-lead{color:#c9c4f2;margin:4px 0 12px}.bt-panel{display:grid;gap:8px;padding:14px;border-radius:20px;background:#ffffff14;margin-bottom:14px}.bt-panel b{font-size:15px;color:#fff}.bt-chips{display:flex;flex-wrap:wrap;gap:6px}.bt-chip{padding:8px 14px;border-radius:999px;border:2px solid #ffffff33;background:transparent;color:#e9e6ff;font-weight:800;font-size:15px;min-height:44px}.bt-chip[aria-pressed=true]{background:#ffd166;color:#2b2140;border-color:#ffd166}.bt-check{display:flex;align-items:center;gap:8px;font-weight:700;color:#e9e6ff}.bt-check input{width:22px;height:22px}.bt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.bt-book{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border-radius:20px;border:0;background:#ffffff16;color:#fff;text-align:center}.bt-book.locked{opacity:.7}.bt-book{position:relative}.bt-weekly{background:linear-gradient(160deg,#ffffff26,#ffd36b2e);box-shadow:inset 0 0 0 2px #ffd36b66}.bt-new{display:inline-block;padding:3px 9px;border-radius:999px;background:#ffd36b;color:#5a3300;font-size:12px;font-weight:900;letter-spacing:.5px}.bt-book .bt-new{position:absolute;top:8px;right:8px}.bt-sec{margin:18px 0 2px;color:#fff;font-size:19px}.bt-sub{margin:0 0 10px;color:#c9c4f2;font-size:14px}.wk-entry{background:linear-gradient(135deg,#7a3e17,#c2642b)}.bt-cover{font-size:52px;line-height:1}.bt-book b{font-size:17px}.bt-book small{color:#c9c4f2;font-size:13px}.bt-entry{background:linear-gradient(135deg,#2b2160,#3b3a7a);color:#fff}.bt-entry .muted{color:#d6d1ff}.bt-player{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px 18px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 10%,#2f2c6e 0,transparent 55%),linear-gradient(180deg,#14123a,#231a4f);color:#f3f0ff;text-align:center}.bt-stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(2px 2px at 20% 15%,#fff8,transparent),radial-gradient(1.5px 1.5px at 70% 25%,#fff7,transparent),radial-gradient(2px 2px at 85% 60%,#fff6,transparent),radial-gradient(1.5px 1.5px at 35% 75%,#fff6,transparent),radial-gradient(1.5px 1.5px at 55% 45%,#fff5,transparent);animation:btTw 4s ease-in-out infinite alternate}@keyframes btTw{0%{opacity:.5}to{opacity:1}}.bt-close{position:absolute;top:calc(12px + env(safe-area-inset-top));right:14px;width:46px;height:46px;border-radius:50%;border:0;background:#fff2;color:#fff;font-size:20px}.bt-title{font-weight:800;font-size:20px;color:#ffd166}.bt-art{font-size:72px;line-height:1;min-height:80px}.bt-narr{min-height:110px}.bt-narr .bbm-svg{width:110px;height:110px}.bt-lines{display:grid;gap:8px;max-width:520px}.bt-line{margin:0;font-size:22px;font-weight:700;opacity:.55;transition:opacity .3s,transform .3s}.bt-line.zh{font-family:var(--font-zh)}.bt-line.zh small{display:block;font-family:Segoe UI,Roboto,sans-serif;font-size:15px;font-weight:600;opacity:.85}.bt-line.vi{font-size:17px;font-weight:600}.bt-line.reading{opacity:1;transform:scale(1.04);color:#fff;text-shadow:0 0 18px #ffd16688}.bt-line.read{opacity:.75}.bt-dots{display:flex;gap:6px}.bt-dots i{width:9px;height:9px;border-radius:50%;background:#fff3}.bt-dots i.on{background:#ffd166}.bt-ctls{display:flex;gap:16px;margin-top:6px}.bt-ctl{width:60px;height:60px;border-radius:50%;border:0;background:#fff2;color:#fff;font-size:24px}.bt-goodnight{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:26px}.bt-goodnight small{font-size:15px;opacity:.7}.bt-moon{font-size:90px;animation:btTw 3s ease-in-out infinite alternate}@media(prefers-reduced-motion:reduce){.bt-stars,.bt-moon{animation:none}}.bt-night .topbar{background:#1d1b45f2;box-shadow:none;margin:0 -16px;padding-left:16px;padding-right:16px}.bt-night .topbar h2{color:#fff}.scene-img{display:block;width:100%;max-width:420px;aspect-ratio:1;object-fit:cover;margin:0 auto;border-radius:22px;box-shadow:0 8px 24px #2b21402e;animation:sceneIn .6s ease-out both,sceneKen 9s ease-in-out .6s infinite alternate}@keyframes sceneIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes sceneKen{0%{transform:scale(1)}to{transform:scale(1.04)}}.bbg-story-art:has(.scene-img){padding:0;background:none}.bt-art .scene-img{max-width:min(78vw,360px);border-radius:26px;box-shadow:0 0 40px #ffd1662e}@media(prefers-reduced-motion:reduce){.scene-img{animation:none}}.scene-box{margin:0}.scene-ai{margin-top:4px;font-size:11px;opacity:.55;text-align:center}.bbg-story-art:has(.scene-box){padding:0;background:none}.ph-entry .ph-abc{display:flex;align-items:center;gap:2px;flex:0 0 auto}.ph-entry .ph-abc span{font-weight:900;font-size:24px;color:#b5651d}.ph-intro{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:22px;background:var(--brand-soft)}.ph-intro p{margin:0;font-size:15px;line-height:1.4}.ph-play{width:100%;margin-top:12px;min-height:52px;font-size:18px}.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px;margin-top:12px}.ph-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px 8px;border-radius:18px;border:2px solid var(--line);background:#fff;box-shadow:var(--shadow);min-width:0}.ph-tile b{font-size:30px;line-height:1;color:#2b2140;font-weight:900}.ph-tile b small{font-size:20px;font-weight:800;color:#b5651d;margin-left:2px}.ph-tile .ph-e .emo{width:32px;height:32px}.ph-tile .ph-e{font-size:28px;line-height:1;min-height:32px}.ph-tile .ph-s{font-size:13px;color:var(--muted);font-weight:700}.ph-tile.done:after{content:"✓";position:absolute;top:4px;right:6px;width:20px;height:20px;border-radius:50%;background:var(--ok);color:#fff;font-size:12px;font-weight:900;display:grid;place-items:center}.ph-tile.locked{opacity:.6}.ph-free{text-align:center;margin-top:10px}.ph-hero{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;padding:16px;border-radius:24px;background:#fff;box-shadow:var(--shadow)}.ph-letter{font-size:96px;line-height:1;font-weight:900;color:#2b2140;letter-spacing:-2px}.ph-letter span{color:#b5651d;font-size:72px;margin-left:4px}.ph-how{flex:1 1 260px;display:flex;flex-direction:column;gap:8px}.ph-sound{font-size:18px;font-weight:700}.ph-sound b{font-family:Segoe UI,Arial,sans-serif;font-size:26px;color:var(--brand);margin-left:4px}.ph-pose{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:16px;background:var(--brand-soft)}.ph-pose p{margin:0;font-size:15px;line-height:1.4}.ph-pose .bbm-cap{font-size:12px;max-width:96px}.ph-note{margin:0;padding:8px 12px;border-radius:14px;background:#fff3e8;font-size:14px;color:#9c3d0a}.ph-nav{display:flex;justify-content:space-between;gap:8px;margin-top:16px}.ph-nav .btn{min-height:48px;flex:0 1 auto}.ph-game{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:8px}.ph-dots{display:flex;gap:6px}.ph-dots i{width:12px;height:12px;border-radius:50%;background:var(--line)}.ph-dots i.on{background:var(--brand)}.ph-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 28px;border-radius:26px;border:3px solid var(--line);background:#fff;box-shadow:var(--shadow);max-width:100%}.ph-card .ph-e .emo{width:110px;height:110px}.ph-card .ph-e{font-size:96px;line-height:1}.ph-word{font-size:34px;font-weight:900;letter-spacing:1px;word-break:break-word}.ph-gap{display:inline-block;min-width:1.1em;margin-right:2px;border-bottom:4px solid var(--brand);color:var(--brand);text-align:center}.ph-word.ok .ph-gap{color:var(--ok);border-color:var(--ok)}.ph-card small{color:var(--muted)}.ph-q{display:flex;align-items:center;gap:8px}.ph-q p{margin:0;font-weight:800;font-size:17px}.ph-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:420px}.ph-opt{min-height:84px;border-radius:22px;border:3px solid var(--line);background:#fff;font-size:40px;font-weight:900;color:#2b2140;box-shadow:var(--shadow)}.ph-opt small{font-size:26px;color:#b5651d;margin-left:2px}.ph-opt.ok{border-color:var(--ok);background:#e3f7ec}.ph-opt.no{border-color:var(--no);background:#ffe8e8;opacity:.6}.ph-end{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:20px}.ph-end .ph-e .emo{width:96px;height:96px}.ph-end b{font-size:22px}@media(max-width:380px){.ph-letter{font-size:80px}.ph-letter span{font-size:60px}}.bbm-word .e .emo{width:40px;height:40px}.py-entry .ph-abc span{font-family:Segoe UI,Arial,sans-serif;color:#c0392b}.py-tabs{margin-top:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.py-tabs button{min-height:52px;padding:8px 4px;font-size:16px}.py-ch{font-family:var(--font-zh,"Microsoft YaHei",sans-serif)}.py-tile b{font-family:Segoe UI,Arial,sans-serif;font-size:28px}.py-tile .py-ch{font-size:22px;line-height:1.1;color:#b5651d}.py-tile .ph-s{font-family:Segoe UI,Arial,sans-serif}.py-big{display:flex;flex-direction:column;align-items:center;gap:2px}.py-big b{font-family:Segoe UI,Arial,sans-serif;font-size:84px;line-height:1;font-weight:900;color:#2b2140}.py-big .py-ch{font-size:40px;color:#b5651d}.py-big small{font-size:22px;font-weight:700}.py-tiplink{min-height:44px;font-size:15px;justify-content:flex-start;text-align:left}.py-tone-hero{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border-radius:22px;background:#fff;box-shadow:var(--shadow)}.py-tone-hero p{margin:0;font-weight:700;font-size:15px;line-height:1.4}.py-tones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.py-tone{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border-radius:20px;border:2px solid var(--line);background:#fff;box-shadow:var(--shadow);text-align:center;min-width:0}.py-tone b{font-family:Segoe UI,Arial,sans-serif;font-size:30px;line-height:1.1}.py-tone .py-ch{font-size:26px}.py-tone small{color:var(--muted);font-weight:700}.py-tone p{margin:4px 0 0;font-size:13px;line-height:1.35;color:#5b4a6b}.py-contour{width:64px;height:44px;background:repeating-linear-gradient(to bottom,transparent 0 9px,#f1e4d6 9px 10px);border-radius:8px}.py-contour path{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.py-contour.tone1,.py-tone b.tone1{color:#e03131}.py-contour.tone2,.py-tone b.tone2{color:#e8590c}.py-contour.tone3,.py-tone b.tone3{color:#2b8a3e}.py-contour.tone4,.py-tone b.tone4{color:#1864ab}.py-qch{font-size:64px;line-height:1.1}.py-q{font-family:Segoe UI,Arial,sans-serif;font-size:28px}.py-opts{grid-template-columns:repeat(4,1fr)}.py-opt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:96px;font-size:16px;padding:6px 2px}.py-opt small{font-size:14px;font-weight:800;color:#5b4a6b;margin:0}.ws-units{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.ws-unit{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:14px;border:2px solid var(--line);background:#fff;font-weight:700;font-size:14px;text-align:left;min-height:48px;min-width:0}.ws-unit.locked{opacity:.55}.ws-unit small{margin-left:auto}.ws-e .emo{width:56px;height:56px}.ws-e{font-size:48px;line-height:1}.ws-e.sm .emo{width:28px;height:28px}.ws-e.sm{font-size:24px}.ws-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.ws-bar .grow{flex:1 1 160px;min-width:0}.ws{background:#fff;color:#222;border-radius:16px;box-shadow:var(--shadow);padding:18px;max-width:794px;margin:0 auto;font-family:"Baloo 2",Segoe UI,sans-serif}.ws h3{margin:12px 0 6px;font-size:17px}.ws-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap;border-bottom:2px dashed #e4d3c0;padding-bottom:8px}.ws-brand{display:flex;align-items:center;gap:8px}.ws-brand img{width:40px;height:40px;border-radius:10px}.ws-brand div{display:flex;flex-direction:column;line-height:1.15}.ws-brand small{color:#7a6a5a}.ws-name{font-size:15px;font-weight:700}.ws-line{display:inline-block;width:150px;border-bottom:1.5px solid #555;margin:0 6px}.ws-line.short{width:80px}.ws-match{display:grid;grid-template-columns:1fr 1.5fr;gap:110px}.ws-col{display:flex;flex-direction:column;gap:10px}.ws-pic,.ws-word{display:flex;align-items:center;gap:10px;min-height:58px}.ws-pic{justify-content:space-between}.ws-dot{width:12px;height:12px;border-radius:50%;background:#333;flex:0 0 auto}.ws-word b{font-size:22px;margin-right:10px}.ws-zh{font-size:22px}.ws-zh small{font-family:Segoe UI,Arial,sans-serif;font-size:15px}.ws-hz{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.ws-hz-info{display:flex;flex-direction:column;align-items:center;width:84px;line-height:1.2}.ws-hz-big{font-size:40px}.ws-hz-info small{font-family:Segoe UI,Arial,sans-serif;font-size:13px;text-align:center}.ws-vi{color:#7a6a5a;font-family:inherit!important}.ws-tzs{display:flex;gap:4px;flex-wrap:wrap}.ws-tz{width:56px;height:56px;border:1.5px solid #c0392b;position:relative;display:grid;place-items:center;font-size:42px;line-height:1;color:#222;background:linear-gradient(#0000 calc(50% - .5px),#e6b8b1 calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px)),linear-gradient(90deg,#0000 calc(50% - .5px),#e6b8b1 calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px))}.ws-tz.faint{color:#d9d9d9}.ws-en{display:flex;flex-direction:column;gap:6px}.ws-enrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ws-trace{display:inline-block;min-width:150px;padding:0 8px;font-size:30px;line-height:1.5;letter-spacing:2px;color:#222;background:linear-gradient(#0000 30%,#f0c9a8 30% calc(30% + 1px),#0000 calc(30% + 1px) 72%,#999 72% calc(72% + 1.5px),#0000 calc(72% + 1.5px))}.ws-trace.faint{color:#d4d4d4}.ws-trace.blank{min-width:160px}.ws-draw{height:140px;border:2px dashed #d9c3ad;border-radius:14px}.ws-foot{margin-top:12px;font-size:12px;color:#7a6a5a;border-top:1px dashed #e4d3c0;padding-top:6px}@media(max-width:480px){.ws{padding:12px}.ws-match{gap:16px}.ws-tz{width:46px;height:46px;font-size:34px}.ws-trace{min-width:110px;font-size:24px}.ws-word b,.ws-zh{font-size:18px}}@media print{@page{size:A4;margin:10mm}body{background:#fff!important}body *{visibility:hidden}.ws,.ws *{visibility:visible}.ws{position:absolute;left:0;top:0;width:100%;max-width:none;box-shadow:none;border-radius:0;padding:0;zoom:.9}.ws-noprint{display:none!important}}.emo.wpic{width:1.5em;height:1.5em;vertical-align:-.3em;filter:none;mix-blend-mode:multiply}.ws-e .emo.wpic{width:64px;height:64px}.ws-e.sm .emo.wpic{width:34px;height:34px}.ph-tile .ph-e .emo.wpic{width:40px;height:40px}.ph-card .ph-e .emo.wpic{width:140px;height:140px}.bbm-word .e .emo.wpic{width:56px;height:56px}.bbg-pic-card .emo.wpic,.bbg-grid-3 .bbg-pic-card .bbg-emoji-l .emo.wpic{width:1.9em;height:1.9em}.bbg-emoji-m .emo.wpic{width:1.8em;height:1.8em}.bbg-flip-emoji .emo.wpic{width:1.7em;height:1.7em}.bbg-learn{gap:12px}.bbg-learn .bbg-learn-card{padding:14px 16px 16px;gap:4px}.bbg-learn .bbg-emoji-xl{font-size:clamp(80px,min(26vw,15vh),130px)}.bbg-learn .bbg-emoji-xl .emo.wpic{width:1.4em;height:1.4em}.bbg-learn .bbg-main{font-size:clamp(30px,9vw,46px)}.bbg-learn .bbm-box{margin-top:0}.bbg-learn .bbm-row{padding:6px 10px;gap:10px}.bbg-learn .bbm-row .bbm-svg{width:96px;height:96px}.bbg-learn .bbm-tip{margin-top:6px;padding:6px 12px}.bbg .bbg-btn-next{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:5;box-shadow:0 6px #0000001f,0 8px 24px #2b214040}.bbg-speak{gap:10px}.bbg-speak .bbg-speak-card{padding:12px 16px 14px;gap:4px}.bbg-speak .bbg-emoji-l{font-size:clamp(64px,min(20vw,12vh),88px)}.bbg-speak .bbg-main{font-size:clamp(28px,8.5vw,44px)}.bbg-speak .bbm-box{margin-top:0}.bbg-speak .bbm-row{padding:6px 10px;gap:10px}.bbg-speak .bbm-row .bbm-svg{width:84px;height:84px}.bbg-speak .bbm-tip{margin-top:6px;padding:6px 12px}.bbg-speak-dock{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:6;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:8px 12px;border-radius:28px;background:#fff8eff0;box-shadow:0 8px 24px #2b214029}.bbg-speak-dock .bbg-row:empty{display:none}.bbg-speak .bbg-mic{width:96px;height:96px}.bbg-my-voice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:80px;height:80px;font-size:28px}.bbg-my-voice small{font-size:11px;font-weight:800;line-height:1.1}.bbg-recording{animation:bbg-pulse-voice .9s ease-in-out infinite;outline:3px solid #e03131}.bbg-speak-dock .bbg-btn-next{position:static;box-shadow:0 6px #0000001f}.bbg-speak-dock .bbg-stars{margin:0;font-size:26px}.bbg-speak-dock .bbg-verdict{margin:0;padding:4px 14px;font-size:16px}.bbg-attn{animation:bbg-pulse-voice .9s ease-in-out infinite;outline:3px solid #fab005;outline-offset:2px}.tk-duo{display:inline-flex;gap:4px}.tk-list{display:grid;gap:10px}.tk-unit{display:flex;align-items:center;gap:10px;background:#fff;border-radius:16px;padding:10px 12px;box-shadow:0 2px 8px #7850281a}.tk-unit.locked{opacity:.6}.tk-unit small{display:block;color:#8a7262}.tk-ic{font-size:30px}.tk-go{display:flex;gap:6px;flex-wrap:wrap}.tk-go .btn{padding:8px 10px;font-size:14px}.bbg.tk{display:flex;flex-direction:column;gap:8px}.tk-top{display:flex;align-items:center;justify-content:center;gap:16px}.tk-pic{font-size:64px;min-width:80px;text-align:center}.tk-pic .emo.wpic{width:88px;height:88px}.tk-chat{display:flex;flex-direction:column;gap:8px;max-height:38vh;overflow-y:auto;padding:2px}.tk-b{max-width:85%;padding:8px 12px;border-radius:18px;position:relative;font-size:18px;line-height:1.3}.tk-b small{display:block;font-size:13px;color:#8a7262}.tk-b.bear{align-self:flex-start;background:#fff3e0;border-bottom-left-radius:4px;padding-right:40px}.tk-b.kid{align-self:flex-end;background:#fde2c8;border-bottom-right-radius:4px}.tk-py{font-size:14px;color:sienna}.tk-replay{position:absolute;right:6px;top:6px;border:0;background:none;font-size:20px;cursor:pointer}.tk-replay.sm{position:static;font-size:18px;margin-left:4px;vertical-align:middle}.tk-sc{display:block;font-size:13px;margin-top:2px}.tk-sc.ok{color:#2e7d32}.tk-sc.no{color:#c0392b}.tk-hint{background:#fff8ec;border:2px dashed #e8b67a;border-radius:14px;padding:6px 10px;font-size:16px;text-align:center}.tk-hint small{color:#8a7262}.tk-status{margin:0 0 4px;font-size:15px;min-height:1.2em}
