.bs-root{--bs-green:#1fb85a;--bs-green-700:#149247;--bs-green-50:#eaf8f0;--bs-green-100:#d6f1e0;--bs-amber:#f2a93b;--bs-amber-50:#fdf4e5;--bs-amber-100:#f8e6c4;--bs-ink:#0f1b14;--bs-ink-2:#3c4a41;--bs-muted:#7e8b83;--bs-line:#e7ece8;--bs-bg:#eef2ef;--bs-card:#fff;--bs-radius:22px;--bs-radius-sm:14px;--bs-shadow:0 1px 2px #0f1b140a, 0 8px 24px #0f1b140f;--bs-ui:"Nunito",system-ui,sans-serif;--bs-zh:"Noto Sans SC",sans-serif;font-family:var(--bs-ui);color:var(--bs-ink);-webkit-font-smoothing:antialiased;max-width:480px;margin:0 auto;padding:8px 12px 28px;line-height:1.5}.bs-root *{box-sizing:border-box}.bs-topbar{align-items:center;gap:10px;padding:6px 4px 14px;display:flex}.bs-iconbtn{border:1px solid var(--bs-line);background:var(--bs-card);cursor:pointer;width:40px;height:40px;box-shadow:var(--bs-shadow);color:var(--bs-ink-2);border-radius:13px;flex:none;place-items:center;font-size:17px;transition:transform .15s;display:grid}.bs-iconbtn:active{transform:scale(.94)}.bs-ttl{flex:1;min-width:0}.bs-ttl h1{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:700;overflow:hidden}.bs-ttl p{color:var(--bs-muted);font-size:12px;font-family:var(--bs-zh);margin:0}.bs-progress{background:var(--bs-line);border-radius:99px;height:4px;margin:0 4px 18px;overflow:hidden}.bs-progress>span{background:linear-gradient(90deg,var(--bs-green),#46d07c);border-radius:99px;height:100%;transition:width .35s;display:block}.bs-card{background:var(--bs-card);border-radius:var(--bs-radius);box-shadow:var(--bs-shadow);margin:0 4px 16px;padding:20px;animation:.45s cubic-bezier(.2,.7,.2,1) both bs-fadeUp}.bs-label{letter-spacing:.09em;text-transform:uppercase;color:var(--bs-green-700);align-items:center;gap:7px;margin-bottom:12px;font-size:11px;font-weight:700;display:flex}.bs-label .bs-dot{background:var(--bs-green);border-radius:99px;width:6px;height:6px}@keyframes bs-fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.bs-hero h2{color:var(--bs-muted);letter-spacing:.02em;margin:0;font-size:13px;font-weight:600}.bs-hero .bs-zh-title{font-family:var(--bs-zh);letter-spacing:.02em;margin:2px 0;font-size:34px;font-weight:900}.bs-hero .bs-mn-title{letter-spacing:-.01em;font-size:19px;font-weight:700}.bs-hero .bs-py{color:var(--bs-green-700);margin-top:3px;font-size:14px;font-weight:600}.bs-teacher{background:var(--bs-amber-50);border:1px solid var(--bs-amber-100);border-radius:18px;align-items:flex-start;gap:12px;margin-top:18px;padding:14px;display:flex}.bs-mascot{background:radial-gradient(circle at 35% 30%, #ffd389, var(--bs-amber));border-radius:13px;flex:none;place-items:center;width:42px;height:42px;font-size:22px;display:grid;box-shadow:0 4px 12px #f2a93b4d}.bs-teacher .bs-who{color:#b9791b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-size:11px;font-weight:700}.bs-teacher p{color:var(--bs-ink-2);margin:0;font-size:13.5px;line-height:1.55}.bs-learn-title{margin:20px 0 10px;font-size:13px;font-weight:700}.bs-chips{flex-wrap:wrap;gap:8px;display:flex}.bs-chip{background:var(--bs-green-50);border:1px solid var(--bs-green-100);color:var(--bs-green-700);border-radius:99px;align-items:center;gap:7px;padding:7px 12px;font-size:12.5px;font-weight:600;display:flex}.bs-chip .bs-n{font-weight:800}.bs-steps{flex-direction:column;gap:2px;margin-top:22px;display:flex}.bs-step{align-items:center;gap:14px;padding:12px 4px;display:flex;position:relative}.bs-step:not(:last-child):after{content:"";background:var(--bs-line);width:2px;position:absolute;top:40px;bottom:-2px;left:21px}.bs-step .bs-s-ic{background:var(--bs-green-50);width:42px;height:42px;color:var(--bs-green-700);border:1px solid var(--bs-green-100);z-index:1;border-radius:13px;flex:none;place-items:center;font-size:18px;display:grid}.bs-step .bs-s-tx{flex:1}.bs-step .bs-s-tx b{font-size:14.5px;font-weight:700;display:block}.bs-step .bs-s-tx span{color:var(--bs-muted);font-size:12px}.bs-step .bs-s-go{color:var(--bs-muted);font-size:18px}.bs-step-btn{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;font-family:inherit;transition:transform .12s,background .15s}.bs-step-btn:hover{background:var(--bs-green-50)}.bs-step-btn:active{transform:scale(.99)}.bs-cta{cursor:pointer;background:var(--bs-green);color:#fff;width:calc(100% - 8px);font-family:var(--bs-ui);border:none;border-radius:17px;margin:6px 4px 0;padding:16px;font-size:15.5px;font-weight:700;transition:transform .15s,box-shadow .15s;display:block;box-shadow:0 8px 20px #1fb85a47}.bs-cta:active{transform:scale(.985)}.bs-cta:disabled{opacity:.4;cursor:default;box-shadow:none}.bs-cta-secondary{color:var(--bs-green);box-shadow:inset 0 0 0 2px var(--bs-green);background:#fff;margin-bottom:8px}.bs-vtop{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.bs-counter{color:var(--bs-green-700);background:var(--bs-green-50);border-radius:99px;padding:4px 10px;font-size:12px;font-weight:700}.bs-vcard{text-align:center;border:1px solid var(--bs-line);background:linear-gradient(#fff,#fcfdfc);border-radius:18px;margin-top:12px;padding:26px 18px 22px}.bs-vcard .bs-hanzi{font-family:var(--bs-zh);letter-spacing:.04em;font-size:52px;font-weight:900;line-height:1}.bs-vcard .bs-vpy{color:var(--bs-green-700);margin-top:10px;font-size:18px;font-weight:600}.bs-vcard .bs-vmn{color:var(--bs-ink-2);margin-top:6px;font-size:16px;font-weight:500}.bs-vcard .bs-vmn-pending{color:#94a3b8}.bs-vcard .bs-vmn-badge{letter-spacing:.02em;color:#94a3b8;margin-top:6px;font-size:10px;font-weight:600;display:block}.bs-vcard .bs-pos{color:var(--bs-muted);border:1px solid var(--bs-line);border-radius:99px;margin-top:10px;padding:3px 10px;font-size:11px;display:inline-block}.bs-vcard .bs-beyond{color:#b9791b;background:var(--bs-amber-50);border:1px solid var(--bs-amber-100);border-radius:99px;margin-top:10px;margin-left:6px;padding:3px 10px;font-size:11px;display:inline-block}.bs-vcard .bs-vmeta{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:12px;display:flex}.bs-vcard .bs-vbadge-hsk{letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--bs-green);border-radius:99px;padding:4px 9px;font-size:10px;font-weight:800}.bs-vcard .bs-vchip-pos{color:var(--bs-green-700);background:var(--bs-green-50);border:1px solid var(--bs-green-100);border-radius:99px;padding:3px 9px;font-size:10.5px;font-weight:600}.bs-vcard .bs-vlabel{color:var(--bs-muted);padding:2px 4px;font-size:10.5px}.bs-vcard .bs-vlabel b{color:var(--bs-ink-2);font-weight:700}.bs-vcard .bs-vlabel-zh{font-family:var(--bs-zh);font-weight:600}.bs-vcard .bs-vfreq{color:var(--bs-green-700);background:var(--bs-green-50);border:1px dashed var(--bs-green-100);border-radius:99px;padding:3px 9px;font-size:10px;font-weight:700}.bs-vcard .bs-vclassifiers{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;width:100%;margin-top:2px;display:flex}.bs-vcard .bs-vclassifiers-title{color:var(--bs-muted);letter-spacing:.02em;margin-right:2px;font-size:10px;font-weight:700}.bs-vcard .bs-vchip-cls{color:var(--bs-ink-2);border:1px solid var(--bs-line);background:#fff;border-radius:99px;padding:3px 8px;font-size:10.5px;font-weight:600}.bs-example{background:var(--bs-green-50);text-align:left;border-radius:14px;align-items:flex-start;gap:11px;margin-top:16px;padding:14px;display:flex}.bs-example .bs-ex-zh{font-family:var(--bs-zh);font-size:16px;font-weight:500;line-height:1.4}.bs-example .bs-ex-py{color:var(--bs-green-700);margin-top:4px;font-size:11.5px;font-weight:600}.bs-example .bs-ex-mn{color:var(--bs-ink-2);margin-top:4px;font-size:12.5px}.bs-speak{border:1px solid var(--bs-green-100);width:38px;height:38px;color:var(--bs-green-700);cursor:pointer;background:#fff;border-radius:11px;flex:none;place-items:center;font-size:17px;transition:transform .15s;display:grid}.bs-speak:active{transform:scale(.9)}.bs-speak.bs-lg{border-radius:16px;width:54px;height:54px;margin:16px auto 0;font-size:22px}.bs-vbtns{gap:9px;margin-top:16px;display:flex}.bs-vbtn{border:1px solid var(--bs-line);font-family:var(--bs-ui);cursor:pointer;color:var(--bs-ink);background:#fff;border-radius:14px;flex:1;padding:13px;font-size:14px;font-weight:700;transition:transform .15s,background .15s,border-color .15s}.bs-vbtn:active{transform:scale(.97)}.bs-vbtn.bs-know{background:var(--bs-green);color:#fff;border-color:var(--bs-green)}.bs-vbtn.bs-again{color:#b9791b;background:var(--bs-amber-50);border-color:var(--bs-amber-100)}.bs-navrow{gap:9px;margin:6px 4px 0;display:flex}.bs-navbtn{border:1px solid var(--bs-line);font-family:var(--bs-ui);cursor:pointer;color:var(--bs-ink-2);background:#fff;border-radius:14px;flex:1;padding:13px;font-size:14px;font-weight:700;transition:transform .15s}.bs-navbtn:active{transform:scale(.98)}.bs-navbtn:disabled{opacity:.4;cursor:default}.bs-soon{text-align:center;color:var(--bs-muted);padding:30px 18px}.bs-soon .bs-soon-ic{font-size:34px}.bs-soon p{margin-top:8px;font-size:13px}.bs-char-writer{margin-top:8px}.bs-char-step{color:var(--bs-muted);margin:0 0 12px;font-size:12px;font-weight:600}.bs-char-head{text-align:center;margin-bottom:14px}.bs-char-glyph{font-family:var(--bs-zh);font-size:42px;font-weight:900;line-height:1.1;display:block}.bs-char-pinyin{color:var(--bs-green-700);margin-top:4px;font-size:14px;font-weight:600;display:block}.bs-char-meaning{color:var(--bs-ink-2);margin-top:2px;font-size:13px;display:block}.bs-mizige{color:#d1d5db;background:#fff;border:2px solid #c5cfc8;border-radius:12px;width:280px;height:280px;margin:0 auto;position:relative;overflow:hidden}.bs-mizige-lines{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.bs-mizige-canvas{z-index:1;width:100%;height:100%;position:relative}.bs-mizige-loading{color:var(--bs-muted);z-index:1;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.bs-stroke-progress{text-align:center;color:var(--bs-green-700);margin:10px 0 0;font-size:14px;font-weight:700}.bs-stroke-success{text-align:center;color:var(--bs-green-700);margin:8px 0 0;font-size:15px;font-weight:700}.bs-char-meta{grid-template-columns:auto 1fr;gap:4px 12px;margin:16px 0 0;font-size:13px;display:grid}.bs-char-meta dt{color:var(--bs-muted);font-weight:700}.bs-char-meta dd{color:var(--bs-ink-2);margin:0}.bs-char-decomp{font-family:var(--bs-zh);font-size:15px;font-weight:600}.bs-decomp-hint-stack{text-align:left;flex-direction:column;gap:8px;margin-top:10px;display:flex}.bs-decomp-hint{background:var(--bs-green-50);border:1px solid var(--bs-green-100);text-align:left;border-radius:12px;margin-top:10px;padding:10px 12px}.bs-char-head .bs-decomp-hint{margin-top:8px;margin-bottom:2px}.bs-decomp-hint-label{letter-spacing:.04em;text-transform:uppercase;color:var(--bs-green-700);margin:0 0 6px;font-size:10px;font-weight:800}.bs-decomp-hint-char{font-family:var(--bs-zh);color:var(--bs-ink);text-transform:none;letter-spacing:0;font-size:12px;font-weight:900}.bs-decomp-hint-row{flex-wrap:wrap;gap:6px;display:flex}.bs-decomp-chip{border:1px solid var(--bs-line);background:#fff;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;line-height:1.2;display:inline-flex}.bs-decomp-chip-icon{font-size:14px;line-height:1}.bs-decomp-chip-glyph{font-family:var(--bs-zh);color:var(--bs-ink);font-size:13px;font-weight:800}.bs-decomp-chip-name{color:var(--bs-muted);font-weight:600}.bs-decomp-etym{color:var(--bs-ink-2);margin:8px 0 0;font-size:11px;line-height:1.45}.bs-cta-muted{color:var(--bs-ink-2);border:1px solid var(--bs-line);box-shadow:none;background:#fff;margin-top:8px}
