.sm-section-recovery{background:#e74c3c0a;border-bottom-color:#e74c3c26!important}[data-theme=dark] .sm-section-recovery{background:#e74c3c0f}.sm-desc-muted{font-size:.8rem;color:var(--text-muted, #888);margin:4px 0 8px}.sm-desc-muted strong{color:var(--text)}.sm-sync-btns{display:flex;gap:8px;margin-top:12px}.sm-btn-sync-push,.sm-btn-sync-pull{flex:1;padding:9px 12px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-ui);transition:background var(--d-fast),border-color var(--d-fast),color var(--d-fast);white-space:nowrap}.sm-btn-sync-push{border:1.5px solid color-mix(in srgb,var(--danger) 55%,transparent);background:color-mix(in srgb,var(--danger) 9%,transparent);color:var(--danger)}.sm-btn-sync-push:hover{background:color-mix(in srgb,var(--danger) 18%,transparent);border-color:var(--danger)}.sm-btn-sync-pull{border:1.5px solid var(--border);background:var(--surface);color:var(--text2)}.sm-btn-sync-pull:hover{border-color:var(--info);color:var(--info);background:color-mix(in srgb,var(--info) 8%,transparent)}SYNC WINDOW — Banner & Closed Modal .sync-banner{position:fixed;top:0;left:0;right:0;z-index:1200;padding:10px 48px 10px 20px;font-size:13px;display:none;align-items:center;justify-content:center;gap:10px;text-align:center;line-height:1.5}.sync-banner-warn{background:var(--warning-bg);color:var(--status-learning);border-bottom:1px solid color-mix(in srgb,var(--warning) 60%,var(--surface))}.sync-banner-urgent{background:var(--danger-bg);color:var(--danger);border-bottom:2px solid color-mix(in srgb,var(--primary) 35%,var(--surface));animation:swBannerPulse 2s var(--ease-in-out) infinite}@keyframes swBannerPulse{0%,to{opacity:1}50%{opacity:.82}}.sw-banner-link{color:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.sw-banner-link:hover{opacity:.8}.sw-banner-close{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:14px;color:inherit;opacity:.55;padding:4px 6px;border-radius:4px}.sw-banner-close:hover{opacity:1;background:#00000014}body:has(#syncWindowBanner[style*=flex]) .sidebar,body:has(#syncWindowBanner[style*=flex]) .main-content{margin-top:42px}

@media(max-width:768px){.sidebar{display:none}.main-content{margin-left:0;padding:16px 16px calc(76px + env(safe-area-inset-bottom,0px));max-width:100%}.mobile-header{display:flex;align-items:center;gap:var(--s-2);height:56px;padding:0;margin-bottom:var(--s-3);position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border);min-width:0}.mobile-logo-img{height:32px;padding:3px 6px;flex:0 0 auto}.header-actions{display:flex;align-items:center;gap:var(--s-1);flex:0 1 auto;min-width:0;margin-left:auto;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none}.header-actions::-webkit-scrollbar{width:0;height:0}.header-actions>*{flex:0 0 auto}.header-actions .header-token,.header-actions .mh-chip{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px;border-radius:var(--r-pill);background:var(--surface2);border:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text2);white-space:nowrap;line-height:1}.header-actions .header-token{padding:0 10px 0 8px}.header-actions #token-count{font-size:13px;color:var(--accent-text)}.header-actions .mh-chip svg,.header-actions .mh-chip img{width:14px;height:14px;flex-shrink:0}.header-actions .mh-chip--streak{color:var(--accent-text)}.header-actions .mh-chip--quest{color:var(--success)}.header-actions .mh-chip--mood{padding:0 6px;font-size:16px;background:transparent;border-color:transparent}.header-actions .mh-chip--credit{color:var(--info)}.header-actions .mh-chip--focus{padding:0 8px;cursor:pointer;color:var(--text2)}.header-actions .mh-chip--focus:hover{color:var(--accent-text);border-color:var(--primary)}.header-actions .mh-chip--streak.is-zero,.header-actions #token-count.is-zero{color:var(--text2)}.header-actions .btn-icon,.header-actions .btn-lang-sm,.header-actions .auth-login-btn-sm{width:32px;height:32px;padding:0;border-radius:var(--r-pill);background:var(--surface2);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--text2);cursor:pointer}.header-actions .btn-lang-sm{width:auto;padding:0 10px;font-size:12px}.header-actions .btn-icon svg{width:16px;height:16px;flex-shrink:0}@media(max-width:430px){.header-actions .mh-chip--credit,.header-actions .mh-chip--mood{display:none}.header-actions .header-token{padding:0 6px;font-size:11px}.header-actions .mh-chip--quest span,.header-actions .mh-chip--streak span{display:none}.header-actions{gap:4px}}.bottom-nav{display:flex;align-items:stretch;position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom,0px));padding:0 0 env(safe-area-inset-bottom,0px);background:var(--surface);border-top:1px solid var(--border);z-index:100}.bnav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:48px;min-height:48px;padding:6px 4px 4px;text-decoration:none;color:var(--text3);font-size:10px;font-weight:500;transition:color var(--d-fast);touch-action:manipulation;position:relative}.bottom-nav::-webkit-scrollbar{display:none}.bnav-item svg{width:24px;height:24px;stroke-width:2}.bnav-item.active{color:var(--accent-text)}.bnav-item.active:before{content:"";position:absolute;top:4px;width:4px;height:4px;border-radius:50%;background:var(--primary)}.bnav-fab{width:56px;height:56px;border-radius:50%;background:var(--primary);border:none;color:var(--on-accent);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;position:relative;top:-12px;box-shadow:var(--shadow-red);touch-action:manipulation;transition:transform var(--d-fast) var(--ease-out),box-shadow var(--d-fast) var(--ease-out)}.bnav-fab svg{width:24px;height:24px;stroke-width:2.4}.bnav-fab:active{transform:scale(.95)}.bnav-fab:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.bnav-fab--active{box-shadow:0 0 0 3px var(--surface),0 0 0 6px var(--primary),var(--shadow-red)}body.session-active .bottom-nav{display:none}.stats-row{grid-template-columns:repeat(2,1fr);gap:10px}.streak-card{display:none}.stat-num{font-size:32px}.level-grid{grid-template-columns:repeat(2,1fr)}.q-options{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:20px}.page-header h1{font-size:22px}.fc-hanzi{font-size:56px}input[type=text],input[type=search],input[type=email],input[type=password],input[type=number],textarea,select{font-size:16px}.lh-chip-row,.lh-timeline,.practice-tabs,.pr-tabs,.tools-cat-tabs,.profile-tabs,.prof-tabs,.deck-filter-row,.topic-chips{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain}.lh-chip-row::-webkit-scrollbar,.lh-timeline::-webkit-scrollbar,.practice-tabs::-webkit-scrollbar,.pr-tabs::-webkit-scrollbar,.tools-cat-tabs::-webkit-scrollbar,.profile-tabs::-webkit-scrollbar,.prof-tabs::-webkit-scrollbar,.deck-filter-row::-webkit-scrollbar,.topic-chips::-webkit-scrollbar{display:none}.lh-chip-row>*,.lh-timeline>*,.practice-tabs>*,.pr-tabs>*,.tools-cat-tabs>*,.profile-tabs>*,.prof-tabs>*,.topic-chips>*{scroll-snap-align:start}.btn-exit{width:44px;height:44px}.fc-pinyin-toggle{padding:8px 14px;min-height:36px}.wotd-tts-sm{padding:10px}.hsk-map-bubble{width:44px;height:44px}.hsk-map-line{width:22px}.topbar-user-btn{width:40px;height:40px}.dict-search-input{padding:14px 16px}.tool-card:hover,.tool-card:active,.pr-card:hover,.pr-card:active,.prof-card:hover,.prof-card:active,.com-card:hover,.com-card:active,.lh-card:hover,.lh-card:active{border-color:var(--primary)}}
