.pinyin-hidden .fc-front #fcPinyin,.pinyin-hidden .fc-pinyin,.pinyin-hidden .fc-pinyin-back,.pinyin-hidden .fc-pinyin-toggle,.pinyin-hidden .fc-ex-py,.pinyin-hidden .pc-pinyin,.pinyin-hidden .pc-pinyin-toggle,.pinyin-hidden .mcq-pinyin,.pinyin-hidden .mcq-pinyin-toggle,.pinyin-hidden .ty-ans-pinyin,.pinyin-hidden .ls-ans-pinyin,.pinyin-hidden #tyHint{display:none!important}.pinyin-hidden .cs-vn-dlg-pinyin,.pinyin-hidden .cs-vn-choice-py,.pinyin-hidden .cs-warmup-py,.pinyin-hidden .cs-gn-ex-py,.pinyin-hidden .cs-vn-wp-py,.pinyin-hidden .cs-vc-ex-py,.pinyin-hidden .cs-vc-pinyin,.pinyin-hidden .cs-listen-py,.pinyin-hidden #csCoursePage .hz-ruby rt,.pinyin-hidden button.cs-vn-py-toggle[data-call="Course._togglePinyin"]{display:none!important}.pinyin-hidden .dict-pinyin,.pinyin-hidden .dd-pinyin,.pinyin-hidden .dd-char-py,.pinyin-hidden .dd-ex-py,.pinyin-hidden .dd-conf-ex-py,.pinyin-hidden .wd-pinyin,.pinyin-hidden .wd-ex-py,.pinyin-hidden .wd-conf-ex-py,.pinyin-hidden #radDetailPinyin,.pinyin-hidden .lp-pinyin,.pinyin-hidden .lp-ex-py,.pinyin-hidden .ddwl-pinyin,.pinyin-hidden .esi-pinyin,.pinyin-hidden .mv-card-pinyin{display:none!important}.pinyin-hidden .lp-chip-p,.pinyin-hidden .lp-reveal-py,.pinyin-hidden #lpPage .hz-ruby rt,.pinyin-hidden #lpPage .lp-doc-bar .lp-btn:first-child{display:none!important}.pinyin-hidden .ho-py,.pinyin-hidden .ho-cue-pinyin,.pinyin-hidden .ho-nb-pinyin,.pinyin-hidden .line-py,.pinyin-hidden #handoutPage ruby rt{display:none!important}.pinyin-hidden .cht-leaf-py,.pinyin-hidden .cht-ex-py,.pinyin-hidden #chtModalPy,.pinyin-hidden .ex-passage-py,.pinyin-hidden .ex-bank-py,.pinyin-hidden .ex-opt-py,.pinyin-hidden .ex-rv-opt-py,.pinyin-hidden .ex-rv-py,.pinyin-hidden .num-card-pinyin,.pinyin-hidden .num-compound-py,.pinyin-hidden .num-day-py,.pinyin-hidden .num-phrase-py,.pinyin-hidden .stroke-demo-pinyin,.pinyin-hidden .hskk-q-py,.pinyin-hidden .hskk-d-py{display:none!important}.pinyin-hidden .hw-cc-py,.pinyin-hidden .hw-pinyin-hint,.pinyin-hidden .row-pinyin,.pinyin-hidden .grid-pinyin,.pinyin-hidden .sent-py,.pinyin-hidden .hw-check:has(#hwShowPinyin){display:none!important}.pinyin-hidden .lm-weak-pinyin,.pinyin-hidden .q-sub,.pinyin-hidden .qr-ex-py,.pinyin-hidden .qr-pinyin,.pinyin-hidden .wi-pinyin,.pinyin-hidden .sq-pinyin,.pinyin-hidden .weak-pinyin{display:none!important}.pinyin-hidden .rd-py,.pinyin-hidden .read-pinyin-toggle,.pinyin-hidden #rdTogPy,.pinyin-hidden #readingView ruby rt,.pinyin-hidden #rdView ruby rt,.pinyin-hidden #grammarList .hz-ruby rt,.pinyin-hidden .gram-fb-py{display:none!important}.pinyin-hidden .sp-line-pinyin,.pinyin-hidden .sp-pinyin-toggle,.pinyin-hidden .tr-sentence-pinyin,.pinyin-hidden .tr-word-py,.pinyin-hidden .vi-word-pinyin,.pinyin-hidden .word-pinyin,.pinyin-hidden .wotd-pinyin,.pinyin-hidden .wotd-ex-py{display:none!important}.pinyin-hidden .ytl-pinyin-line,.pinyin-hidden #ytlPinyinBtn,.pinyin-hidden #ytlShadowPinyinBtn,.pinyin-hidden #ytlRoot .ytl-sl-hanzi ruby rt{display:none!important}.pinyin-hidden .rs-qs-row:has(#qsPinyin){display:none!important}.pinyin-hidden .sl-say-py,.pinyin-hidden .weak-review-pinyin,.pinyin-hidden .rad-ctc-py,.pinyin-hidden .rad-ctc-ex-py{display:none!important}

.desktop-topbar{display:none;height:calc(56px + env(safe-area-inset-top,0px));align-items:center;justify-content:space-between;gap:16px;padding:env(safe-area-inset-top,0px) 4px 0 0;border-bottom:1px solid var(--border);margin-bottom:28px;position:sticky;top:0;z-index:50;background:var(--bg)}@media(min-width:768px){.desktop-topbar{display:flex}}.topbar-search{flex:1;max-width:400px;min-width:0;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0 14px;height:38px;cursor:pointer;transition:border-color var(--d-fast);font:inherit;color:inherit;text-align:left;appearance:none}.topbar-search:hover,.topbar-search:focus-within{border-color:var(--primary)}.topbar-search:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.topbar-search-text{flex:1;min-width:0;font-size:13px;color:var(--text3);font-family:var(--font-ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-search-kbd{font-size:12px;font-weight:600;padding:2px 7px;border-radius:5px;border:1px solid var(--border);background:var(--surface2);color:var(--text3)}.topbar-chips{display:flex;align-items:center;gap:10px}.topbar-chip{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;color:var(--text);cursor:default;white-space:nowrap}.topbar-chip--gold{border-color:#f59e0b66;color:var(--accent-ink)}.topbar-chip--fire{border-color:#dc262659;color:var(--accent-text)}.topbar-chip--quest{border-color:#10b98166;color:var(--success)}.topbar-chip--due{border-color:#4f46e566;color:var(--info);cursor:pointer;font:inherit;font-weight:600}.topbar-chip--due.is-zero{color:var(--text2);border-color:var(--border)}.topbar-chip--purple{border-color:#8b5cf666;color:var(--hsk-5)}.topbar-chip--fire.is-zero{color:var(--text2);border-color:var(--border)}.topbar-chip--due:hover{border-color:var(--primary)}#topbarTokenBadge.is-zero{color:var(--text2);border-color:var(--border)}#topbarTokenBadge:before,#topbarStreakBadge:before,#topbarAICreditBadge:before{content:"";width:16px;height:16px;flex:0 0 16px;background-size:contain;background-repeat:no-repeat;background-position:center}#topbarTokenBadge:before{background-image:url(/assets/icons/zh2d-v1/xp-64.webp)}#topbarStreakBadge:before{background-image:url(/assets/icons/zh2d-v1/streak-64.webp)}#topbarAICreditBadge:before{background-image:url(/assets/icons/zh2d-v1/ai-credit-64.webp)}.topbar-chip svg{flex-shrink:0}.topbar-user-btn{width:36px;height:36px;border-radius:50%;background:var(--primary);color:var(--me-bach);border:none;cursor:pointer;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity var(--d-fast)}.topbar-user-btn:hover{opacity:.85}.topbar-focus-btn{width:32px;height:32px;border-radius:50%;background:var(--surface2);color:var(--text2);border:1px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color var(--d-fast) var(--ease-out),border-color var(--d-fast) var(--ease-out)}.topbar-focus-btn:hover{color:var(--accent-text);border-color:var(--primary)}.topbar-focus-btn[hidden]{display:none}@media(min-width:768px)and (max-width:1023px){.topbar-search{flex:0 0 38px;width:38px;max-width:38px;padding:0;justify-content:center}.topbar-search-text,.topbar-search-kbd{display:none}}.topbar-chip-lbl{font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--text2)}@media(max-width:1100px){.topbar-chip-lbl{display:none}}@media(min-width:1024px){.desktop-topbar{justify-content:flex-start;gap:12px}.topbar-chips{gap:8px;margin-right:auto}.desktop-topbar>.topbar-focus-btn,.desktop-topbar>.topbar-user-btn{margin-left:-8px}.desktop-topbar>.topbar-focus-btn{width:40px;height:40px;border-radius:10px;background:transparent;border-color:transparent}.desktop-topbar>.topbar-focus-btn:hover{background:var(--surface2);border-color:var(--border)}}html[data-web-bg] .desktop-topbar{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:env(safe-area-inset-top,0px) 8px 0 8px;top:8px;margin-top:8px}
