:root{--radius: 12px;--shadow: 0 10px 26px rgba(20, 24, 32, .12)}:root,:root[data-theme=light]{color-scheme:light;--zen-paper: #f8f5ef;--zen-ink: #1f2228;--zen-muted: #59616e;--zen-card: #fffdf8;--zen-surface: #ffffff;--zen-border: #ddd5c8;--zen-primary: #c9493a;--zen-primary-soft: #f7e6e0;--zen-jade: #2f8f72;--zen-pinyin: #a54134;--zen-blue: #4d86bf;--zen-yellow: #c89a3c;--zen-red: #c55649;--zen-success-bg: rgba(47, 143, 114, .14);--zen-error-bg: rgba(197, 86, 73, .15)}:root[data-theme=dark]{color-scheme:dark;--zen-paper: #0f131a;--zen-ink: #e9edf4;--zen-muted: #b1bccd;--zen-card: #171d27;--zen-surface: #1c2431;--zen-border: #313d52;--zen-primary: #ff7b63;--zen-primary-soft: #3b2723;--zen-jade: #53d1a9;--zen-pinyin: #ffc1a6;--zen-blue: #7ca5f0;--zen-yellow: #edc574;--zen-red: #f68f7f;--zen-success-bg: rgba(83, 209, 169, .2);--zen-error-bg: rgba(246, 143, 127, .2)}:root{--bg: var(--zen-paper);--bg2: var(--zen-card);--bg3: var(--zen-surface);--surface: var(--zen-card);--border: var(--zen-border);--text: var(--zen-ink);--text1: var(--zen-ink);--text2: var(--zen-muted);--accent: var(--zen-primary);--accent2: var(--zen-pinyin);--green: var(--zen-jade);--blue: var(--zen-blue);--yellow: var(--zen-yellow);--red: var(--zen-red)}body{background:radial-gradient(980px 380px at 10% -12%,color-mix(in srgb,var(--zen-primary) 14%,transparent) 0%,transparent 64%),radial-gradient(760px 320px at 95% 2%,color-mix(in srgb,var(--zen-jade) 12%,transparent) 0%,transparent 58%),var(--zen-paper);color:var(--zen-ink);font-family:Plus Jakarta Sans,Manrope,Noto Sans SC,Segoe UI,system-ui,-apple-system,sans-serif;min-height:100vh;overflow-x:hidden;transition:background-color .25s ease,color .25s ease}#root{min-height:100vh;overflow-x:hidden}::selection{background:color-mix(in srgb,var(--zen-primary) 22%,transparent)}*,*:before,*:after{box-sizing:border-box}:root{line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px}button{font-family:inherit}._auth-modal-overlay_16x37_1{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}._auth-modal_16x37_1{position:relative;width:100%;max-width:420px;max-height:calc(100dvh - 24px);overflow:auto}._auth-modal-close_16x37_21{position:absolute;top:8px;right:14px;z-index:10;background:var(--bg3);border:1px solid var(--border);color:var(--text2);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:all .15s}._auth-modal-close_16x37_21:hover{color:var(--text);border-color:var(--text2)}._auth-modal_16x37_1 ._auth-screen_16x37_45{min-height:auto;padding:0;background:transparent}._auth-modal_16x37_1 ._auth-card_16x37_51{margin-top:0;max-height:calc(100dvh - 40px);overflow-y:auto;padding:28px 24px 24px}._reset-modal-shell_16x37_58{max-width:460px}._reset-modal-card_16x37_62{align-items:stretch;gap:12px}._reset-modal-title_16x37_67{font-size:1.25rem;margin:0}._reset-modal-actions_16x37_72{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}._reset-confirm-btn_16x37_79{width:auto;min-width:132px;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}._reset-modal-actions_16x37_72 .btn-secondary{width:auto}._auth-screen_16x37_45{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:20px}._auth-loading_16x37_102{display:flex;flex-direction:column;align-items:center;gap:16px}._auth-loading-text_16x37_109{color:var(--text2);font-size:.9rem}._auth-card_16x37_51{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:40px 36px;width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:20px}._auth-logo_16x37_127{font-size:3rem;color:var(--accent);font-weight:700;line-height:1}._auth-title_16x37_134{font-size:1.2rem;font-weight:600;color:var(--text2);margin-top:-10px}._auth-tabs_16x37_141{display:flex;gap:0;background:var(--bg3);border-radius:10px;padding:4px;width:100%}._auth-tab_16x37_141{flex:1;background:none;border:none;color:var(--text2);padding:8px;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}._auth-tab-active_16x37_163{background:var(--accent);color:#fff}._auth-form_16x37_168{display:flex;flex-direction:column;gap:14px;width:100%}._auth-field_16x37_175{display:flex;flex-direction:column;gap:6px}._auth-label_16x37_181{font-size:.82rem;color:var(--text2);font-weight:500}._auth-input_16x37_187{background:var(--bg3);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:11px 14px;font-size:.95rem;outline:none;transition:border-color .2s;font-family:inherit}._auth-input_16x37_187:focus{border-color:var(--accent)}._auth-input_16x37_187::placeholder{color:var(--text2);opacity:.6}._auth-password-row_16x37_208{position:relative;display:flex;align-items:center}._auth-password-row_16x37_208 ._auth-input_16x37_187{padding-right:44px;width:100%}._auth-password-toggle_16x37_219{position:absolute;right:10px;border:none;background:transparent;color:var(--text2);cursor:pointer;font-size:1rem;line-height:1}._auth-password-rules_16x37_230{list-style:none;padding:0;margin:-6px 0 2px;display:grid;gap:4px;width:100%}._auth-password-rules_16x37_230 li{font-size:.76rem;color:var(--text2)}._auth-password-rule-ok_16x37_244{color:var(--green)}._auth-error_16x37_248{background:color-mix(in srgb,var(--red) 15%,var(--bg3));border:1px solid var(--red);color:var(--red);padding:10px 14px;border-radius:8px;font-size:.85rem}._auth-message_16x37_257{background:color-mix(in srgb,var(--green) 15%,var(--bg3));border:1px solid var(--green);color:var(--green);padding:10px 14px;border-radius:8px;font-size:.85rem}._auth-submit_16x37_266{background:var(--accent);border:none;color:#fff;padding:13px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s;margin-top:4px;font-family:inherit}._auth-submit_16x37_266:hover:not(:disabled){opacity:.9}._auth-submit_16x37_266:disabled{opacity:.5;cursor:not-allowed}._auth-link-btn_16x37_289{align-self:flex-start;background:none;border:none;color:var(--accent);font-size:.85rem;cursor:pointer;padding:2px 0}._auth-link-btn_16x37_289:hover{text-decoration:underline}._auth-callback-card_16x37_303{text-align:center}._auth-status-icon_16x37_307{width:52px;height:52px;border-radius:50%;border:1px solid color-mix(in srgb,var(--green) 50%,var(--border));background:color-mix(in srgb,var(--green) 18%,var(--bg3));color:var(--green);display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700}._auth-status-icon-error_16x37_321{border-color:color-mix(in srgb,var(--red) 50%,var(--border));background:color-mix(in srgb,var(--red) 18%,var(--bg3));color:var(--red)}._auth-submit-link_16x37_327{text-decoration:none;display:inline-flex;justify-content:center;align-items:center}._auth-hint_16x37_334{font-size:.78rem;color:var(--text2);text-align:center;opacity:.7;line-height:1.4}._auth-consent_16x37_342{display:flex;align-items:flex-start;gap:8px;font-size:.78rem;color:var(--text2);line-height:1.35}._auth-consent_16x37_342 input{margin-top:2px}._auth-consent_16x37_342 a{color:var(--accent2)}._auth-legal-links_16x37_359{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.75rem;color:var(--text2);opacity:.8}._auth-legal-links_16x37_359 a{color:var(--text2);text-decoration:none}._auth-legal-links_16x37_359 a:hover{color:var(--text);text-decoration:underline}._public-page_2ueha_1{min-height:100vh;background:var(--bg);color:var(--text);display:flex;flex-direction:column}._public-back-link_2ueha_9{color:var(--text2);text-decoration:none;font-size:.9rem;transition:color .2s}._public-back-link_2ueha_9:hover{color:var(--text)}._public-word-main_2ueha_20{flex:1;display:flex;flex-direction:column;align-items:center;gap:32px;padding:48px 24px 64px;max-width:560px;margin:0 auto;width:100%}._public-word-card_2ueha_32{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:40px 36px;width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}._public-word-hanzi_2ueha_44{font-size:7rem;line-height:1;font-weight:400}._public-word-head_2ueha_50{display:flex;align-items:center;gap:12px}._public-word-audio-btn_2ueha_56{width:36px;height:36px;font-size:1rem}._public-word-pinyin_2ueha_62{font-size:1.5rem;color:var(--accent2);font-style:italic;font-weight:500}._public-word-transcription_2ueha_69{font-size:1.1rem;color:var(--text2)}._public-word-meaning_2ueha_74{font-size:1.2rem;color:var(--text);text-align:center;margin:4px 0}._public-word-radical_2ueha_81{display:flex;align-items:center;gap:8px;background:var(--bg3);padding:6px 16px;border-radius:8px;margin-top:4px}._public-word-radical-char_2ueha_91{font-size:1.4rem;color:var(--blue)}._public-word-radical-text_2ueha_96{font-size:.85rem;color:var(--text2)}._public-word-meta_2ueha_101{display:flex;gap:8px;margin-top:8px}._public-word-tag_2ueha_107{background:var(--bg3);color:var(--text2);font-size:.75rem;padding:3px 10px;border-radius:8px}._public-word-cta_2ueha_115{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}._public-word-cta-text_2ueha_123{color:var(--text2);font-size:.95rem}._public-word-nav_2ueha_128{display:flex;justify-content:space-between;width:100%;gap:12px}._public-word-nav-btn_2ueha_135{background:var(--bg2);border:1px solid var(--border);color:var(--text2);padding:10px 16px;border-radius:var(--radius);text-decoration:none;font-size:.9rem;transition:all .15s;display:flex;align-items:center;gap:8px}._public-word-nav-btn_2ueha_135 span{color:var(--text2);font-size:.8rem}._public-word-nav-btn_2ueha_135:hover{border-color:var(--accent);color:var(--text)}._public-list-main_2ueha_159{flex:1;padding:0 24px 64px;max-width:960px;margin:0 auto;width:100%}._public-list-hero_2ueha_167{padding:48px 0 32px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}._public-list-title_2ueha_176{font-size:2.2rem;font-weight:800}._public-list-subtitle_2ueha_181{color:var(--text2);font-size:1rem}._public-list-search_2ueha_186{max-width:400px;margin-top:8px}._public-list-count_2ueha_191{color:var(--text2);font-size:.85rem;margin-bottom:16px}._public-list-grid_2ueha_197{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}._public-list-card_2ueha_203{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-decoration:none;display:flex;flex-direction:column;gap:4px;transition:border-color .15s,transform .15s}._public-list-card-wrap_2ueha_215{position:relative}._public-list-audio-btn_2ueha_219{position:absolute;top:8px;right:8px;z-index:2}._public-list-card_2ueha_203:hover{border-color:var(--accent);transform:translateY(-2px)}._public-list-hanzi_2ueha_231{font-size:2rem;line-height:1;color:var(--text)}._public-list-pinyin_2ueha_237{font-size:.82rem;color:var(--accent2);font-style:italic}._public-list-transcription_2ueha_243{font-size:.75rem;color:var(--text2)}._public-list-meaning_2ueha_248{font-size:.82rem;color:var(--text2);margin-top:2px}._public-list-filters_2ueha_254{display:flex;flex-direction:column;gap:10px;align-items:center;margin-top:10px}._public-list-cta_2ueha_262{text-align:center;padding:64px 0 0;display:flex;flex-direction:column;align-items:center;gap:12px}._public-list-cta_2ueha_262 h2{font-size:1.6rem}._public-list-cta_2ueha_262 p{color:var(--text2)}._public-not-found_2ueha_279{padding:60px;text-align:center;display:flex;flex-direction:column;gap:16px;align-items:center;color:var(--text2)}._legal-main_2ueha_289{max-width:860px;margin:0 auto;width:100%;padding:32px 16px 48px}._legal-title_2ueha_296{font-size:1.8rem;margin-bottom:18px}._legal-card_2ueha_301{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:12px;color:var(--text2);line-height:1.5}@media(max-width:640px){._public-word-hanzi_2ueha_44{font-size:5rem}._public-word-main_2ueha_20{padding:32px 16px 48px}._public-list-grid_2ueha_197{grid-template-columns:repeat(2,1fr)}._public-list-hero_2ueha_167{padding:32px 0 24px}._public-list-title_2ueha_176{font-size:1.7rem}}.dev-notice-banner{margin:10px auto 0;max-width:1100px;width:calc(100% - 24px);padding:10px 14px;border:1px solid rgba(230,145,56,.45);border-radius:12px;background:linear-gradient(90deg,#fff4e4f2,#ffecd0eb);color:#6a3c00;font-size:.92rem;line-height:1.4;text-align:center}@media(max-width:760px){.dev-notice-banner{width:calc(100% - 16px);padding:9px 10px;font-size:.86rem;border-radius:10px}}.card-modal-overlay{position:fixed;inset:0;background:#000000bf;display:block;z-index:500;padding:16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeInOverlay .15s ease;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.card-modal{background:var(--bg2);border:1px solid var(--border);border-radius:20px;width:100%;max-width:400px;max-height:none;overflow:visible;padding:32px 28px 28px;position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;animation:slideUp .2s ease;touch-action:pan-y;margin:8px auto}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card-modal-close{position:absolute;top:14px;right:14px;background:var(--bg3);border:1px solid var(--border);color:var(--text2);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.card-modal-close:hover{color:var(--text);border-color:var(--text2)}.card-modal-hanzi{font-size:5rem;line-height:1;font-weight:400;color:var(--text);margin-bottom:4px}.card-modal-head{display:flex;align-items:center;gap:10px}.card-modal-pinyin{font-size:1.3rem;color:var(--accent2);font-style:italic;font-weight:500}.card-modal-transcription{font-size:.95rem;color:var(--text2)}.card-modal-meaning{font-size:1.05rem;color:var(--text);text-align:center;margin:4px 0}.card-modal-radical{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:var(--bg3);padding:6px 14px;border-radius:8px;margin:4px 0 12px}.card-modal-radical-secondary{justify-content:center}.card-modal-radical-char{font-size:1.3rem;color:var(--blue)}.card-modal-radical-label{font-size:.82rem;color:var(--text2)}.card-item-clickable{cursor:pointer}.card-item-clickable:hover{border-color:var(--accent)!important}@media(max-width:640px){.card-modal-overlay{padding:10px 10px calc(env(safe-area-inset-bottom) + 18px)}.card-modal{padding:28px 20px 24px;margin:0 auto}.card-modal-hanzi{font-size:4rem}}.profile-modal-shell{max-width:700px;margin:0 auto;display:flex;justify-content:center}.profile-modal-card{position:relative;width:100%;max-width:none;margin:0 auto;align-items:stretch;gap:12px;background:radial-gradient(140% 120% at 0% 0%,color-mix(in srgb,var(--zen-primary) 10%,#fff) 0%,transparent 60%),radial-gradient(120% 95% at 100% 100%,color-mix(in srgb,var(--zen-jade) 8%,#fff) 0%,transparent 58%),color-mix(in srgb,var(--zen-card) 94%,#fff);border-color:color-mix(in srgb,var(--zen-border) 86%,#fff)}.profile-modal-title{font-size:1.5rem;margin:0;color:var(--zen-ink)}.profile-header{display:grid;gap:6px}.profile-header-tag{width:fit-content;border-radius:999px;border:1px solid color-mix(in srgb,var(--zen-primary) 34%,#fff);background:color-mix(in srgb,var(--zen-primary-soft) 66%,#fff);color:var(--zen-primary);font-size:.74rem;font-weight:700;letter-spacing:.12em;padding:4px 10px}.profile-header-subtitle{color:var(--zen-muted);font-size:.84rem;margin:0}.profile-layout{display:grid;gap:12px;width:100%}.profile-layout>section{width:100%}.profile-identity-card{border:1px solid color-mix(in srgb,var(--zen-border) 88%,#fff);border-radius:16px;background:radial-gradient(120% 120% at 100% 0%,color-mix(in srgb,var(--zen-primary) 10%,#fff) 0%,transparent 60%),color-mix(in srgb,var(--zen-card) 92%,#fff);padding:12px;display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px}.profile-avatar-col{display:grid;gap:7px;justify-items:center;align-content:start}.profile-avatar-image,.profile-avatar-fallback{width:94px;height:94px;border-radius:999px;border:2px solid color-mix(in srgb,var(--zen-border) 78%,#fff);background:color-mix(in srgb,var(--zen-card) 88%,#fff);box-shadow:0 8px 22px #1f222814}.profile-avatar-image{object-fit:cover}.profile-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:1.55rem;font-weight:700;color:var(--zen-primary)}.profile-user-main{min-width:0;display:grid;gap:8px}.profile-display-name{font-size:1.2rem;font-weight:700;color:var(--zen-ink);line-height:1.2}.profile-meta-list{display:grid;gap:7px}.profile-meta-item{border:1px solid color-mix(in srgb,var(--zen-border) 85%,#fff);border-radius:11px;background:color-mix(in srgb,var(--zen-card) 88%,#fff);padding:7px 10px;display:flex;justify-content:space-between;align-items:center;gap:8px}.profile-field-label{font-size:.76rem;color:var(--zen-muted);display:block;margin-bottom:6px;font-weight:600;letter-spacing:.03em}.profile-meta-key{font-size:.74rem;color:var(--zen-muted)}.profile-meta-value{font-size:.8rem;color:var(--zen-ink);font-weight:600;text-align:right;overflow-wrap:anywhere}.profile-upload-row{display:flex;align-items:center;gap:10px}.profile-upload-row-compact{flex-direction:column;gap:4px;align-items:center}.profile-upload-btn{position:relative;overflow:hidden}.profile-upload-btn-compact{width:auto;min-width:0;padding:7px 11px;font-size:.76rem;border-radius:10px;border-color:color-mix(in srgb,var(--zen-border) 82%,#fff);color:var(--zen-muted);background:#fff}.profile-upload-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.profile-upload-hint{font-size:.75rem;color:var(--text2)}.profile-upload-hint-compact{font-size:.66rem;text-align:center;max-width:120px;line-height:1.25;color:var(--zen-muted)}.profile-edit-card,.profile-stats-card,.profile-badges-block,.profile-theme-card{border:1px solid color-mix(in srgb,var(--zen-border) 88%,#fff);border-radius:14px;background:color-mix(in srgb,var(--zen-card) 90%,#fff);padding:11px}.profile-edit-state{margin-top:7px;font-size:.74rem;color:var(--zen-muted)}.profile-edit-state.dirty{color:color-mix(in srgb,var(--zen-primary) 80%,#9d3a2e)}.profile-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.profile-stat-card{border:1px solid color-mix(in srgb,var(--zen-border) 86%,#fff);background:linear-gradient(180deg,color-mix(in srgb,var(--zen-card) 88%,#fff),#fff);border-radius:12px;padding:9px}.profile-stat-top{display:flex;align-items:center;gap:6px}.profile-stat-icon{width:20px;height:20px;border-radius:6px;background:color-mix(in srgb,var(--zen-primary-soft) 84%,#fff);border:1px solid color-mix(in srgb,var(--zen-primary) 26%,#fff);color:var(--zen-primary);display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700}.profile-stat-label{color:var(--zen-muted);font-size:.72rem}.profile-stat-value{margin-top:6px;font-size:1.05rem;font-weight:700;color:var(--zen-primary)}.profile-badges-head{display:flex;align-items:center;justify-content:space-between;font-size:.83rem;font-weight:600;margin-bottom:9px;color:var(--zen-ink)}.profile-badges-open{width:100%;background:none;border:none;cursor:pointer;padding:0;text-align:left;color:inherit}.profile-empty{font-size:.8rem;color:var(--zen-muted)}.profile-badges-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-badge-item{border:1px solid color-mix(in srgb,var(--zen-border) 85%,#fff);border-radius:10px;padding:7px 8px;display:flex;gap:8px;align-items:center;background:color-mix(in srgb,var(--zen-card) 86%,#fff)}.profile-badge-icon{font-size:1.03rem}.profile-badge-name{font-size:.75rem;font-weight:600;color:var(--zen-ink)}.profile-badge-meta{font-size:.67rem;color:var(--zen-muted)}.profile-actions{display:flex;align-items:center;justify-content:center;gap:10px}.profile-actions-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}.profile-actions-main .btn-primary,.profile-actions-main .btn-secondary{width:100%;min-width:0}.profile-danger-zone{display:flex;justify-content:center;padding-top:2px}.profile-reset-btn{color:var(--zen-muted);font-size:.74rem}.profile-reset-btn:hover{color:#b74135}.profile-achievements-overlay{position:fixed;inset:0;background:#16141294;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:14px}.profile-achievements-modal{position:relative;background:color-mix(in srgb,var(--zen-card) 92%,#fff);border:1px solid color-mix(in srgb,var(--zen-border) 88%,#fff);border-radius:16px;width:100%;max-width:560px;max-height:82dvh;overflow-y:auto;padding:16px 14px}.profile-password-modal{position:relative;background:color-mix(in srgb,var(--zen-card) 92%,#fff);border:1px solid color-mix(in srgb,var(--zen-border) 88%,#fff);border-radius:16px;width:100%;max-width:480px;padding:17px 14px 14px}.profile-password-fields{display:grid;gap:9px;margin-top:8px}.profile-achievements-title{font-size:1.12rem;margin-bottom:4px;color:var(--zen-ink)}.profile-achievements-subtitle{font-size:.77rem;color:var(--zen-muted);margin-bottom:10px}.profile-achievements-list{display:flex;flex-direction:column;gap:8px}.profile-achievement-item{border:1px solid color-mix(in srgb,var(--zen-border) 85%,#fff);border-radius:10px;background:color-mix(in srgb,var(--zen-card) 88%,#fff)}.profile-achievement-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 10px}.profile-achievement-item summary::-webkit-details-marker{display:none}.profile-achievement-item.earned{border-color:color-mix(in srgb,var(--zen-jade) 45%,var(--zen-border))}.profile-achievement-main{display:flex;flex-direction:column;min-width:0}.profile-achievement-desc{font-size:.82rem;color:var(--zen-muted);padding:0 10px 10px 40px;line-height:1.4}.card-modal-mnemonic-image{width:100%;max-width:320px;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;border:1px solid var(--border);margin:4px 0 8px}.admin-words{display:flex;flex-direction:column;gap:14px}.admin-words-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-words-topbar h2{margin:0}.admin-words-actions{display:flex;gap:8px}.admin-preview-controls{display:inline-flex;gap:8px}.admin-preview-select{background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 10px}.admin-words-hint,.admin-words-warning,.admin-words-message,.admin-words-error{margin:0;font-size:.88rem}.admin-words-hint{color:var(--text2)}.admin-words-warning{color:#d7b04f}.admin-words-message{color:#6cd19a}.admin-words-error{color:#f57a7a}.admin-validation{border:1px solid var(--border);border-radius:10px;background:var(--bg2);padding:10px 12px}.admin-validation-title{font-size:.82rem;color:var(--text);font-weight:700;margin-bottom:6px}.admin-validation-list{margin:0;padding-left:18px;color:#f57a7a;font-size:.82rem;display:flex;flex-direction:column;gap:3px}.admin-validation-ok{margin:0;color:#6cd19a;font-size:.82rem}.admin-words-layout{display:grid;grid-template-columns:260px 1fr;gap:14px}.admin-words-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);padding:8px;max-height:72vh;overflow:auto;display:flex;flex-direction:column;gap:6px}.admin-list-head{position:sticky;top:0;z-index:1;background:var(--bg2);padding-bottom:6px;display:flex;flex-direction:column;gap:6px}.admin-list-title{font-size:.78rem;color:var(--text2)}.admin-list-filter-tabs{display:flex;gap:6px}.admin-filter-tab{border:1px solid var(--border);background:var(--bg3);color:var(--text2);border-radius:999px;padding:4px 10px;font-size:.74rem;cursor:pointer}.admin-filter-tab.active{border-color:var(--accent);color:var(--text)}.admin-word-row{background:var(--bg3);border:1px solid var(--border);border-radius:10px;color:var(--text);text-align:left;padding:8px 10px;display:flex;flex-direction:column;gap:2px;cursor:pointer}.admin-word-row.active{border-color:var(--accent)}.admin-word-row-hanzi{font-size:1.2rem}.admin-word-row-meta,.admin-word-row-flag{font-size:.78rem;color:var(--text2)}.admin-word-row-flag{color:#d7b04f}.admin-word-row-badge{font-size:.74rem;width:fit-content;border-radius:999px;padding:2px 8px;border:1px solid transparent}.admin-word-row-badge.draft{color:#d7b04f;background:color-mix(in srgb,#d7b04f 16%,var(--bg3));border-color:color-mix(in srgb,#d7b04f 36%,var(--border))}.admin-word-row-badge.published{color:#6cd19a;background:color-mix(in srgb,#6cd19a 16%,var(--bg3));border-color:color-mix(in srgb,#6cd19a 36%,var(--border))}.admin-words-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);padding:14px;display:flex;flex-direction:column;gap:10px}.admin-words-form label{display:flex;flex-direction:column;gap:4px;color:var(--text2);font-size:.82rem}.admin-words-form input,.admin-words-form textarea,.admin-words-form select{background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:.9rem}.admin-words-form textarea{resize:vertical}.admin-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.admin-checkbox{justify-content:flex-end}.admin-checkbox input{margin-right:6px}.admin-image-block{display:flex;flex-direction:column;gap:8px}.admin-upload-btn{display:inline-flex;width:fit-content;align-items:center;gap:8px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--text);cursor:pointer}.admin-upload-btn input{display:none}.admin-image-path{color:var(--text2);font-size:.75rem}.admin-image-preview{width:min(420px,100%);aspect-ratio:4 / 3;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.admin-tts-block{border:1px dashed var(--border);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;background:color-mix(in srgb,var(--bg3) 70%,transparent)}.admin-tts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-tts-player audio{width:min(420px,100%)}.admin-public-preview-modal{max-width:560px}.admin-public-preview-card{width:100%}@media(max-width:920px){.admin-words-layout{grid-template-columns:1fr}.admin-words-list{max-height:220px}.admin-grid,.admin-tts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 24px;background:var(--bg2);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:10px;justify-self:start}.app-logo{font-size:1.6rem;font-weight:700;color:var(--accent)}.app-title{font-size:1rem;font-weight:600;color:var(--text2);display:none}@media(min-width:480px){.app-title{display:block}}.app-nav{display:flex;gap:10px;justify-self:center}.header-user{display:flex;align-items:center;gap:10px;margin-left:12px;justify-self:end}.sync-indicator{font-size:.85rem;color:var(--blue);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.user-email{font-size:.78rem;color:var(--text2);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:none}.user-email-btn{background:none;border:none;padding:0;cursor:pointer;text-align:left}.profile-open-btn{width:34px;height:34px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 16%,#fff),var(--bg3));color:var(--accent);box-shadow:0 2px 10px #c9493a2e;font-size:.9rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.profile-open-btn:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 4px 14px #c9493a3d}.profile-open-avatar{width:100%;height:100%;border-radius:inherit;object-fit:cover}@media(min-width:600px){.user-email{display:block}}.sign-out-btn{background:none;border:1px solid var(--border);color:var(--text2);padding:5px 12px;border-radius:8px;cursor:pointer;font-size:.78rem;transition:all .2s;white-space:nowrap}.sign-out-btn:hover{border-color:var(--red);color:var(--red)}.support-btn{background:none;border:1px solid var(--border);color:var(--text2);padding:5px 10px;border-radius:8px;cursor:pointer;font-size:.78rem;transition:all .2s;white-space:nowrap}.support-btn:hover{border-color:var(--accent);color:var(--accent)}.nav-btn{background:none;border:1px solid transparent;color:var(--text2);padding:9px 18px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s;display:flex;align-items:center;gap:6px}.nav-btn:hover{background:var(--bg3);color:var(--text)}.nav-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.badge{background:#fff;color:var(--accent);font-size:.72rem;font-weight:700;padding:1px 6px;border-radius:10px;min-width:20px;text-align:center}.app-main{flex:1;padding:24px 16px;max-width:860px;margin:0 auto;width:100%}.words-subnav{display:flex;gap:8px;margin:0 0 16px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--bg2);overflow-x:auto}.words-subnav-btn{border:1px solid var(--border);background:var(--bg3);color:var(--text2);padding:8px 12px;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap}.words-subnav-btn.active{color:#fff;background:var(--accent);border-color:var(--accent)}.admin-subnav{margin-bottom:14px}.mobile-action-bar{display:none}.support-view{display:flex;flex-direction:column;gap:14px}.support-top h2{font-size:1.4rem}.support-top p{color:var(--text2);margin-top:4px}.support-create{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:14px}.support-create h3{font-size:.98rem;margin-bottom:10px}.support-create-grid{display:grid;gap:10px}.support-create-grid input,.support-create-grid textarea,.support-reply textarea{background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:.9rem;font-family:inherit}.support-layout{display:grid;grid-template-columns:280px 1fr;gap:12px}.support-list{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;max-height:70vh;overflow:auto}.support-list-head{font-size:.82rem;color:var(--text2);padding:4px 2px}.support-ticket{text-align:left;border:1px solid var(--border);background:var(--bg3);color:var(--text);border-radius:10px;padding:10px;display:grid;gap:6px;cursor:pointer}.support-ticket.active{border-color:var(--accent)}.support-ticket-subject{font-size:.92rem;font-weight:600}.support-ticket-meta{color:var(--text2);font-size:.74rem}.support-ticket-status{display:inline-flex;width:fit-content;font-size:.72rem;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text2)}.support-ticket-status.s-new{border-color:var(--accent);color:var(--accent)}.support-ticket-status.s-in_progress{border-color:var(--blue);color:var(--blue)}.support-ticket-status.s-answered{border-color:var(--green);color:var(--green)}.support-ticket-status.s-closed{border-color:var(--text2);color:var(--text2)}.support-thread{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:420px}.support-thread-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.support-thread-title{font-size:1rem;font-weight:700}.support-thread-meta{margin-top:2px;color:var(--text2);font-size:.78rem}.support-messages{border:1px solid var(--border);border-radius:10px;background:var(--bg3);padding:10px;display:flex;flex-direction:column;gap:8px;min-height:220px;max-height:50vh;overflow:auto}.support-msg{border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:var(--bg2)}.support-msg.admin{border-color:color-mix(in srgb,var(--green) 35%,var(--border))}.support-msg-meta{font-size:.74rem;color:var(--text2);margin-bottom:5px}.support-msg-body{white-space:pre-wrap;line-height:1.45}.support-reply{display:grid;gap:8px}.support-empty{color:var(--text2);font-size:.86rem;padding:8px}.home-view{display:flex;flex-direction:column;align-items:center;gap:32px;padding-top:24px}.home-title{font-size:2.4rem;font-weight:800;text-align:center}.accent{color:var(--accent)}.home-subtitle{color:var(--text2);font-size:1rem;text-align:center;margin-top:-20px}.stats-row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px 28px;text-align:center;min-width:100px}.stat-card.highlight{border-color:var(--accent)}.stat-card.green{border-color:var(--green)}.stat-card.blue{border-color:var(--blue)}.stat-card-num{font-size:2rem;font-weight:800;line-height:1}.stat-card.highlight .stat-card-num{color:var(--accent)}.stat-card.green .stat-card-num{color:var(--green)}.stat-card.blue .stat-card-num{color:var(--blue)}.stat-card-label{font-size:.8rem;color:var(--text2);margin-top:6px}.gamification-row{display:grid;grid-template-columns:repeat(2,minmax(240px,320px));justify-content:center;gap:12px;width:100%}.lesson-progress-row{display:grid;grid-template-columns:minmax(260px,420px);justify-content:center;width:100%}.gamification-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px}.gamification-title{font-size:.74rem;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;justify-content:space-between;gap:8px}.gamification-value{font-size:1.1rem;font-weight:700;color:var(--text)}.gamification-badges{display:flex;flex-wrap:wrap;gap:6px}.gamification-hint{font-size:.82rem;color:var(--text2)}.goal-settings-btn{border:1px solid var(--border);background:var(--bg3);color:var(--text2);border-radius:8px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem}.goal-settings-btn:hover{color:var(--accent);border-color:var(--accent)}.home-actions{display:flex;flex-direction:column;gap:12px;align-items:center;width:100%;max-width:360px}.btn-primary{background:var(--accent);color:#fff;border:none;padding:14px 28px;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;width:100%;transition:opacity .2s,transform .1s}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-large{font-size:1.1rem;padding:16px 32px}.btn-secondary{background:var(--bg3);color:var(--text);border:1px solid var(--border);padding:12px 24px;border-radius:var(--radius);font-size:.95rem;cursor:pointer;width:100%;transition:background .2s}.btn-secondary:hover{background:var(--border)}.btn-reset{background:none;border:none;color:var(--text2);font-size:.8rem;cursor:pointer;text-decoration:underline;opacity:.6}.btn-reset:hover{opacity:1;color:var(--red)}.how-it-works{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:24px;width:100%;max-width:500px}.how-it-works h3{color:var(--text2);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}.steps{display:flex;flex-direction:column;gap:12px}.step{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;color:var(--text2);line-height:1.4}.step-icon{background:var(--bg3);color:var(--accent);font-weight:700;font-size:.8rem;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.review-mode{display:flex;flex-direction:column;align-items:center;gap:24px}.review-progress{width:100%;max-width:420px;box-sizing:border-box;border-radius:16px;overflow:hidden;padding:10px 12px}.progress-text{font-size:1.7rem;color:var(--accent);text-align:center;margin-bottom:8px;font-weight:700;line-height:1}.progress-bar{height:6px;background:var(--bg3);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .3s}.review-done{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 20px;text-align:center}.done-icon{font-size:4rem}.review-done h2{font-size:1.8rem}.review-done p{color:var(--text2);font-size:1rem}.review-done strong{color:var(--text)}.done-hint{font-size:.85rem!important}.card-list{display:flex;flex-direction:column;gap:16px}.list-stats{display:flex;gap:16px;flex-wrap:wrap;font-size:.85rem}.stat{color:var(--text2)}.stat-num{font-weight:700;color:var(--text)}.stat-new .stat-num{color:var(--text2)}.stat-difficult .stat-num{color:#d98b4f}.stat-studying .stat-num{color:var(--blue)}.stat-due .stat-num{color:var(--accent)}.stat-learned .stat-num{color:var(--green)}.list-controls{display:flex;flex-direction:column;gap:10px}.search-input{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:10px 14px;font-size:.95rem;width:100%;outline:none;transition:border-color .2s}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--text2)}.filter-tabs{display:flex;gap:6px;flex-wrap:wrap}.filter-tab{background:var(--bg2);border:1px solid var(--border);color:var(--text2);padding:6px 14px;border-radius:20px;cursor:pointer;font-size:.82rem;transition:all .15s}.filter-tab:hover{border-color:var(--accent);color:var(--text)}.filter-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.card-item{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s,transform .15s}.card-item:hover{transform:translateY(-1px);border-color:var(--text2)}.card-item.status-new{opacity:.55}.card-item.status-studying{border-color:var(--blue)}.card-item.status-due{border-color:var(--accent)}.card-item.status-learned{opacity:.45;border-color:var(--green)}.card-item-hanzi{font-size:2rem;line-height:1;font-weight:400}.card-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-item-pinyin{font-size:.85rem;color:var(--accent2);font-style:italic}.card-item-transcription{font-size:.78rem;color:var(--text2)}.card-item-meaning{font-size:.82rem;color:var(--text2);line-height:1.3}.card-item-radical{display:flex;align-items:center;gap:6px;margin-top:4px}.radical-badge{background:var(--bg3);color:var(--blue);padding:2px 8px;border-radius:6px;font-size:1rem}.radical-name{font-size:.75rem;color:var(--text2)}.card-item-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.card-interval{font-size:.75rem;color:var(--text2)}.status-btn{background:var(--bg3);border:1px solid var(--border);color:var(--text2);padding:4px 10px;border-radius:6px;font-size:.72rem;cursor:pointer;transition:all .15s;white-space:nowrap;font-weight:600}.status-btn-new{color:var(--text2)}.status-btn-new:hover{border-color:var(--blue);color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,var(--bg3))}.status-btn-studying{border-color:var(--blue);color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,var(--bg3))}.status-btn-studying:hover,.status-btn-learned{background:var(--green);border-color:var(--green);color:#fff}.status-btn-learned:hover{background:color-mix(in srgb,var(--blue) 60%,var(--bg3));border-color:var(--blue);color:#fff}.empty-message{text-align:center;color:var(--text2);padding:40px;font-size:.9rem}.radical-list{display:flex;flex-direction:column;gap:20px}.radical-list-title{font-size:1.4rem;font-weight:700;display:flex;align-items:center;gap:10px}.radical-count{background:var(--bg3);color:var(--text2);font-size:.8rem;font-weight:600;padding:2px 10px;border-radius:12px}.radical-list-subtitle{color:var(--text2);font-size:.85rem;margin-top:4px}.radical-controls{display:flex;flex-direction:column;gap:10px}.strokes-filter{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.stroke-btn{background:var(--bg2);border:1px solid var(--border);color:var(--text2);padding:4px 10px;border-radius:16px;cursor:pointer;font-size:.78rem;transition:all .15s;min-width:32px;text-align:center}.stroke-btn:hover{border-color:var(--blue);color:var(--text)}.stroke-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}.radical-group-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.radical-group-strokes{font-size:1.1rem;font-weight:700;color:var(--blue)}.radical-group-label{font-size:.8rem;color:var(--text2)}.radical-group-count{margin-left:auto;font-size:.75rem;color:var(--text2);background:var(--bg3);padding:2px 8px;border-radius:8px}.radical-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.radical-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 6px 8px;cursor:pointer;text-align:center;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative}.radical-card:hover{border-color:var(--blue);transform:translateY(-1px)}.radical-card.active{border-color:var(--blue);background:var(--bg3)}.radical-card.has-words{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.rc-char{font-size:1.8rem;line-height:1;font-weight:400}.rc-pinyin{font-size:.68rem;color:var(--accent2);font-style:italic}.rc-transcription{font-size:.6rem;color:var(--text2)}.rc-meaning{font-size:.65rem;color:var(--text2);line-height:1.2;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-badge{position:absolute;top:4px;right:4px;background:var(--accent);color:#fff;font-size:.55rem;font-weight:700;padding:1px 4px;border-radius:4px;line-height:1.4}.radical-detail{background:var(--bg2);border:1px solid var(--blue);border-radius:16px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.radical-detail-close{position:absolute;top:12px;right:12px;background:var(--bg3);border:none;color:var(--text2);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center}.radical-detail-close:hover{color:var(--text);background:var(--border)}.radical-detail-char{font-size:5rem;line-height:1;font-weight:400;color:var(--text)}.radical-detail-char-row{display:flex;align-items:center;gap:10px}.radical-detail-pinyin{font-size:1.3rem;color:var(--accent2);font-style:italic}.radical-detail-transcription{font-size:1rem;color:var(--text2)}.radical-detail-meaning{font-size:1.05rem;color:var(--text)}.radical-detail-meta{display:flex;gap:8px;margin-top:4px}.radical-detail-tag{background:var(--bg3);color:var(--text2);font-size:.75rem;padding:3px 10px;border-radius:8px}.radical-words{width:100%;margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.radical-words-title{font-size:.8rem;color:var(--text2);margin-bottom:10px;text-transform:uppercase;letter-spacing:.06em}.radical-words-list{display:flex;flex-direction:column;gap:6px}.radical-word-item{display:flex;align-items:center;gap:12px;padding:6px 10px;background:var(--bg3);border-radius:8px}.rwi-hanzi{font-size:1.3rem;min-width:40px}.rwi-phonetics{display:flex;flex-direction:column;gap:2px;min-width:80px}.rwi-pinyin{font-size:.82rem;color:var(--accent2);font-style:italic}.rwi-transcription{font-size:.72rem;color:var(--text2)}.rwi-meaning{font-size:.82rem;color:var(--text2)}.card-audio-btn{width:30px;height:30px}.rc-audio-btn{position:absolute;left:4px;top:4px;width:24px;height:24px;font-size:.72rem;z-index:2}.bottom-nav{display:none}@media(max-width:640px){.desktop-nav{display:none}.user-email{display:none!important}.app-header{display:flex;justify-content:space-between;padding:10px 16px}.header-user{margin-left:0;justify-self:auto;margin-right:0}.support-btn{font-size:.72rem;padding:4px 8px}.profile-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-badges-list{grid-template-columns:1fr}.profile-identity-card{grid-template-columns:1fr;justify-items:stretch;text-align:center}.profile-avatar-col{justify-self:center}.profile-user-main,.profile-meta-list,.profile-meta-item,.profile-edit-card,.profile-stats-card,.profile-badges-block,.profile-actions-main,.profile-danger-zone{width:100%}.profile-meta-item{justify-content:center;gap:6px;flex-direction:column}.profile-meta-value{max-width:100%}.profile-actions-main{grid-template-columns:1fr}.profile-actions-main .btn-primary,.profile-actions-main .btn-secondary{width:100%;min-width:0}.profile-danger-zone{justify-content:center}.profile-modal-overlay{align-items:flex-start;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-top:max(10px,env(safe-area-inset-top));padding-right:8px;padding-left:8px;padding-bottom:calc(env(safe-area-inset-bottom) + 86px)}.profile-modal-shell{width:100%;max-width:100%;max-height:none;overflow:visible}.profile-modal-card{width:100%;padding:20px 10px 16px;border-radius:18px;gap:10px;overflow-x:hidden}.profile-modal-card .profile-modal-close{top:10px;right:10px}.profile-avatar-image,.profile-avatar-fallback{width:86px;height:86px}.profile-upload-btn-compact{padding:6px 10px;font-size:.74rem}.profile-upload-hint-compact{font-size:.64rem}.words-subnav{margin-bottom:12px;padding:6px;gap:6px}.words-subnav-btn{font-size:.8rem;padding:8px 10px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--bg2);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;background:none;border:none;color:var(--text2);cursor:pointer;transition:color .15s;position:relative}.bottom-nav-btn.active{color:var(--accent)}.bottom-nav-icon{font-size:1.3rem;line-height:1;position:relative}.bottom-nav-label{font-size:.65rem;font-weight:500}.bottom-badge{position:absolute;top:-4px;right:-8px;background:var(--accent);color:#fff;font-size:.55rem;font-weight:700;padding:1px 4px;border-radius:8px;line-height:1.4;font-style:normal}.app-main{padding-bottom:calc(128px + env(safe-area-inset-bottom,0px))}.stats-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.stat-card{padding:16px 12px;min-width:unset}.gamification-row{grid-template-columns:1fr}.cards-grid{grid-template-columns:repeat(2,1fr)}.radical-grid{grid-template-columns:repeat(auto-fill,minmax(75px,1fr))}.home-title{font-size:1.8rem}.home-view{padding-top:12px;gap:20px}.mobile-action-bar{display:block;position:fixed;left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom,0px));padding:8px 12px;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--border);z-index:15}.mobile-action-bar .btn-primary{width:100%;max-width:none;margin:0}.lessons-grid{grid-template-columns:1fr}.lesson-tabs{gap:6px}.lesson-tab{padding:6px 10px;font-size:.8rem}.lesson-words{grid-template-columns:repeat(2,1fr)}.lesson-quest-stats{grid-template-columns:1fr}.match-columns{flex-direction:column;gap:8px}.match-col{flex-direction:row;flex-wrap:wrap}.match-btn{flex:1;min-width:80px}.support-layout{grid-template-columns:1fr}.support-list{max-height:220px}}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.lesson-card{display:flex;align-items:center;gap:14px;background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:16px;cursor:pointer;transition:border-color .15s,transform .1s}.lesson-card:hover{border-color:var(--accent);transform:translateY(-1px)}.lesson-card-done{border-color:var(--green)}.lesson-card-started{border-color:var(--accent2)}.lesson-card-num{width:40px;height:40px;border-radius:50%;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:var(--accent);flex-shrink:0}.lesson-card-done .lesson-card-num{background:var(--green);color:#fff;border-color:var(--green)}.lesson-card-started .lesson-card-num{background:var(--accent);color:#fff;border-color:var(--accent)}.lesson-card-body{flex:1;min-width:0}.lesson-card-title{font-weight:600;font-size:1rem;color:var(--text1);margin-bottom:2px}.lesson-card-meta{font-size:.78rem;color:var(--text2);margin-bottom:8px}.lesson-card-progress-bar{height:4px;background:var(--bg3);border-radius:2px;overflow:hidden;margin-bottom:6px}.lesson-card-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.lesson-card-done .lesson-card-progress-fill{background:var(--green)}.lesson-card-stats{font-size:.75rem}.lesson-badge-new{color:var(--text2)}.lesson-badge-started{color:var(--accent2);font-weight:600}.lesson-badge-done{color:var(--green);font-weight:600}.lesson-card-arrow{color:var(--text2);font-size:1.4rem;flex-shrink:0}.lesson-page{display:flex;flex-direction:column;gap:0}.lesson-page-header{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:16px;flex-wrap:wrap}.lesson-back-btn{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:6px 12px;color:var(--text2);cursor:pointer;font-size:.85rem;white-space:nowrap;transition:color .15s,border-color .15s}.lesson-back-btn:hover{color:var(--accent);border-color:var(--accent)}.lesson-page-title{flex:1}.lesson-page-num{font-size:.75rem;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:2px}.lesson-page-title h2{margin:0;font-size:1.3rem;color:var(--text1)}.lesson-mission-context{margin-top:4px;font-size:.84rem;color:var(--text2)}.lesson-add-all-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s}.lesson-add-all-btn:hover{opacity:.85}.lesson-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.lesson-step-progress{width:100%;display:flex;flex-direction:column;gap:6px}.lesson-step-text{font-size:.78rem;color:var(--text2)}.lesson-tab{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:7px 14px;font-size:.85rem;font-weight:500;color:var(--text2);cursor:pointer;transition:all .15s}.lesson-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}@media(hover:hover)and (pointer:fine){.lesson-tab:hover{border-color:var(--accent);color:var(--accent)}}.lesson-goals,.lesson-dialogues,.lesson-control{display:flex;flex-direction:column;gap:16px}.theory-section{margin-bottom:16px}.theory-section h4{margin:0 0 6px;font-size:.95rem;color:var(--accent)}.theory-content{color:var(--text2);font-size:.9rem;line-height:1.6}.theory-content p{margin:0 0 8px}.practice-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.practice-item{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:4px}.practice-item-pinyin{font-size:1.05rem;font-weight:600;display:flex;align-items:center;gap:6px}.practice-item-desc{font-size:.82rem;color:var(--text2)}.lesson-quest-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;font-size:.84rem;color:var(--text2)}.lesson-quest-stats strong{color:var(--text)}.lesson-block{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:16px}.lesson-block h3{margin:0 0 10px;font-size:1rem}.lesson-block h4{margin:10px 0 6px;font-size:.88rem;color:var(--text2)}.lesson-list-check{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;color:var(--text1);font-size:.9rem}.lesson-service-words{color:var(--text1);font-size:.9rem}.lesson-cover-image{width:100%;max-height:400px;object-fit:contain;border-radius:10px;margin-top:10px}.lesson-audio{width:100%;margin-top:8px;height:36px}.lesson-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.lesson-word-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:16px 14px 12px;cursor:pointer;transition:border-color .15s;display:flex;flex-direction:column;gap:4px;min-height:120px}.lesson-word-card:hover{border-color:var(--accent)}.lesson-word-card.status-studying{border-color:var(--accent2)}.lesson-word-card.status-learned{border-color:var(--green)}.lesson-word-hanzi{font-size:2rem;font-weight:700;color:var(--text1);line-height:1.1}.lesson-word-hanzi-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.lesson-word-pinyin{font-size:.82rem;color:var(--accent2);font-style:italic}.lesson-word-transcription{font-size:.72rem;color:var(--text2)}.lesson-word-meaning{font-size:.9rem;color:var(--text1);font-weight:600}.lesson-word-radical{display:flex;align-items:center;gap:6px;margin-top:4px}.lesson-word-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px;gap:6px}.lesson-word-hint{font-size:.68rem;color:var(--text2)}.lesson-grammar{display:flex;flex-direction:column;gap:20px}.grammar-rule{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:14px 16px;font-size:.95rem;color:var(--text1);line-height:1.6}.grammar-examples{display:flex;flex-direction:column;gap:10px}.grammar-example{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.example-zh{font-size:1.2rem;font-weight:600;color:var(--text1);margin-bottom:2px}.example-pinyin{font-size:.8rem;color:var(--accent2);font-style:italic;margin-bottom:2px}.example-ru{font-size:.85rem;color:var(--text2)}.lesson-text{display:flex;flex-direction:column;gap:16px}.text-title{font-size:1.1rem;font-weight:600;color:var(--text1);margin:0}.text-lines{display:flex;flex-direction:column;gap:10px}.text-line{display:flex;gap:10px;align-items:flex-start;background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.text-speaker{font-size:.78rem;font-weight:700;color:var(--accent);min-width:60px;padding-top:3px;flex-shrink:0}.text-line-content{display:flex;flex-direction:column;gap:2px}.text-zh-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.text-zh{font-size:1.05rem;font-weight:600;color:var(--text1)}.text-pinyin{font-size:.78rem;color:var(--accent2);font-style:italic}.text-ru{font-size:.82rem;color:var(--text2)}.reading-text-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.speak-btn{border:1px solid var(--border);background:var(--bg3);color:var(--text2);border-radius:8px;font-size:.9rem;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.speak-btn:hover{border-color:var(--accent);color:var(--accent)}.lesson-exercises{display:flex;flex-direction:column;gap:24px}.exercises-complete-actions{display:flex;flex-wrap:wrap;gap:8px}.exercise-block{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:14px}.exercise-num{font-size:.72rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.exercise-question{font-size:.95rem;color:var(--text1);font-weight:500;margin:0}.exercise-sentence{font-size:1.1rem;color:var(--text1);font-weight:600;margin:0}.exercise-hint{font-size:.8rem;color:var(--text2);margin:0}.exercise-options{display:flex;flex-wrap:wrap;gap:8px}.exercise-option{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:8px 16px;font-size:1rem;color:var(--text1);cursor:pointer;transition:all .15s}.exercise-option:hover{border-color:var(--accent);color:var(--accent)}.exercise-option.correct{background:#34c75926;border-color:var(--green);color:var(--green)}.exercise-option.wrong{background:#ff3b3026;border-color:#ff3b30;color:#ff3b30}.exercise-result{font-size:.9rem;font-weight:600;padding:8px 12px;border-radius:8px;margin:0}.result-correct{background:#34c7591f;color:var(--green)}.result-wrong{background:#ff3b301f;color:#ff3b30}.match-columns{display:flex;gap:12px}.match-col{flex:1;display:flex;flex-direction:column;gap:8px}.match-btn{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:.95rem;color:var(--text1);cursor:pointer;transition:all .15s;text-align:center}.match-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.match-btn.selected{background:color-mix(in srgb,var(--accent) 14%,#fff);border-color:var(--accent);color:var(--accent)}.match-btn.matched{background:#34c7591f;border-color:var(--green);color:var(--green);opacity:.8}.match-btn.wrong{background:#ff3b301f;border-color:#ff3b30;color:#ff3b30}.match-btn:disabled{cursor:default}.exercises-complete{text-align:center;padding:32px 20px;background:var(--bg2);border:1px solid var(--green);border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:12px}.exercises-complete-icon{font-size:2.5rem}.exercises-complete h3{margin:0;color:var(--text1);font-size:1.2rem}.exercises-complete p{margin:0;color:var(--text2);font-size:.9rem}.lesson-reading{display:flex;flex-direction:column;gap:28px;padding-bottom:32px}.reading-empty{color:var(--text2);text-align:center;padding:40px 0;font-size:.95rem}.reading-block{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.reading-num{font-size:.75rem;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.08em;padding:10px 18px 0}.reading-text{font-size:1.45rem;line-height:2;color:var(--text1);padding:12px 18px 18px;border-bottom:1px solid var(--border);letter-spacing:.05em;word-break:break-all}.reading-questions{display:flex;flex-direction:column;gap:18px;padding:18px}.reading-question-block{display:flex;flex-direction:column;gap:10px}.reading-question{margin:0;font-size:.95rem;color:var(--text1);font-weight:500}.mnemonic-block{margin-top:14px;background:color-mix(in srgb,var(--accent) 7%,#fff);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.mnemonic-block-inline{margin-top:10px;font-size:.82rem}.mnemonic-title{font-size:.7rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.mnemonic-structure{font-size:.82rem;color:var(--accent2);font-style:italic}.mnemonic-association{font-size:.85rem;color:var(--text2);line-height:1.5}.mnemonic-char-row{display:flex;gap:10px;align-items:flex-start}.mnemonic-char{font-size:1.4rem;font-weight:700;color:var(--text1);min-width:32px;line-height:1.2}.mnemonic-char-info{display:flex;flex-direction:column;gap:2px;flex:1}.level-select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:.9rem;font-weight:600;cursor:pointer;outline:none}.level-select:focus{border-color:var(--accent)}.rwi-level{font-size:.7rem;padding:1px 6px;border-radius:4px;background:var(--surface);color:var(--text2);white-space:nowrap}.app{color:var(--zen-ink)}.app-header{background:color-mix(in srgb,var(--zen-paper) 84%,white);border-bottom:1px solid color-mix(in srgb,var(--zen-border) 80%,#fff);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-logo{color:var(--zen-primary);font-size:1.8rem}.nav-btn,.support-btn,.sign-out-btn{border-radius:12px;border-color:var(--zen-border);background:color-mix(in srgb,var(--zen-card) 88%,#fff);color:var(--zen-muted)}.nav-btn.active{background:var(--zen-primary);border-color:var(--zen-primary);color:#fff}.badge{color:var(--zen-primary)}.app-main{max-width:980px;padding-top:30px}.words-subnav{background:color-mix(in srgb,var(--zen-card) 92%,white);border-color:var(--zen-border)}.words-subnav-btn{background:#fff;border-color:var(--zen-border);color:var(--zen-muted)}.words-subnav-btn.active{background:var(--zen-primary);border-color:var(--zen-primary)}.home-view{align-items:stretch;gap:22px;padding-top:4px}.home-hero{display:grid;grid-template-columns:1fr minmax(280px,360px);gap:14px;align-items:stretch}.home-hero-head,.home-hero-card,.home-character-card,.stat-card,.gamification-card,.lesson-progress-row .gamification-card,.how-it-works{background:color-mix(in srgb,var(--zen-card) 92%,white);border:1px solid var(--zen-border);box-shadow:0 6px 30px #211c140f}.home-hero-head{border-radius:26px;padding:24px}.home-title{text-align:left;font-size:2rem;color:var(--zen-ink)}.home-subtitle{text-align:left;margin-top:8px;color:var(--zen-muted)}.home-hero-card{border-radius:26px;padding:20px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(160deg,#c9493a14,#fffffff2),color-mix(in srgb,var(--zen-card) 96%,#fff)}.home-hero-pill{align-self:flex-start;background:var(--zen-primary-soft);color:var(--zen-primary);border:1px solid color-mix(in srgb,var(--zen-primary) 24%,#fff);border-radius:999px;font-size:.76rem;padding:4px 10px;font-weight:700}.home-hero-card h2{font-size:1.2rem}.home-hero-card p{color:var(--zen-muted);font-size:.9rem}.home-hero-cta{margin-top:auto;border:none;border-radius:14px;padding:12px 14px;color:#fff;background:linear-gradient(90deg,#c9493a,#df6d4f);cursor:pointer;font-weight:700}.home-character-card{border-radius:22px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#c9493a14,#2f8f7214)}.home-character-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--zen-primary);font-weight:700}.home-character-pinyin{margin-top:6px;color:var(--accent2);font-style:italic}.home-character-meaning{margin-top:3px;font-size:.88rem;color:var(--zen-ink)}.home-character-hanzi{font-size:4rem;line-height:1;color:var(--zen-primary)}.stats-row{justify-content:stretch;width:100%}.stat-card{flex:1;border-radius:18px;text-align:left;min-width:150px}.stat-card-num{color:var(--zen-ink)}.stat-card-label{color:var(--zen-muted)}.stat-card.highlight .stat-card-num{color:var(--zen-primary)}.stat-card.green .stat-card-num{color:var(--zen-jade)}.stat-card.blue .stat-card-num{color:#3f6fc7}.gamification-card{border-radius:18px;border-color:var(--zen-border)}.gamification-title,.gamification-hint{color:var(--zen-muted)}.goal-settings-btn{background:#fff;border-color:var(--zen-border)}.btn-primary{background:var(--zen-primary)}.btn-secondary{background:#fff;color:var(--zen-ink);border-color:var(--zen-border)}.bottom-nav{background:color-mix(in srgb,var(--zen-paper) 92%,#fff);border-top-color:var(--zen-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bottom-nav-btn{color:var(--zen-muted)}.bottom-nav-btn.active{color:var(--zen-primary)}.bottom-badge{background:var(--zen-primary)}@media(max-width:900px){.home-hero{grid-template-columns:1fr}}.card-list,.review-mode,.radical-list{color:var(--zen-ink)}.list-stats{background:color-mix(in srgb,var(--zen-card) 94%,white);border:1px solid var(--zen-border);border-radius:16px;padding:12px 14px}.list-stats .stat{color:var(--zen-muted)}.list-stats .stat-num{color:var(--zen-ink)}.search-input,.filter-tab,.stroke-btn{background:#fff;border-color:var(--zen-border);color:var(--zen-muted);border-radius:12px}.search-input{color:var(--zen-ink)}.search-input:focus{border-color:color-mix(in srgb,var(--zen-primary) 70%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--zen-primary) 16%,#fff)}.filter-tab.active,.stroke-btn.active{background:var(--zen-primary);border-color:var(--zen-primary);color:#fff}.cards-grid{gap:14px}.card-item{background:color-mix(in srgb,var(--zen-card) 92%,white);border:1px solid var(--zen-border);border-radius:16px;box-shadow:0 4px 20px #231c120d}.card-item:hover{border-color:color-mix(in srgb,var(--zen-primary) 35%,var(--zen-border));transform:translateY(-2px)}.card-item.status-studying{border-color:color-mix(in srgb,#3f6fc7 32%,var(--zen-border))}.card-item.status-due{border-color:color-mix(in srgb,var(--zen-primary) 40%,var(--zen-border))}.card-item.status-learned{border-color:color-mix(in srgb,var(--zen-jade) 38%,var(--zen-border))}.card-item-pinyin,.rwi-pinyin,.radical-detail-pinyin,.rc-pinyin{color:var(--zen-pinyin)}.card-item-transcription,.rwi-transcription,.radical-detail-transcription,.rc-transcription{color:var(--zen-muted)}.card-item-radical,.radical-detail-tag{background:color-mix(in srgb,var(--zen-paper) 65%,white);border-color:var(--zen-border)}.radical-badge,.radical-detail-char,.rc-char,.rwi-hanzi{color:var(--zen-primary)}.status-btn{border-radius:12px;border-color:var(--zen-border);background:#fff}.status-btn-new{color:var(--zen-muted)}.status-btn-studying{border-color:color-mix(in srgb,#3f6fc7 38%,#fff);color:#3f6fc7;background:color-mix(in srgb,#3f6fc7 8%,#fff)}.status-btn-learned{border-color:var(--zen-jade);background:var(--zen-jade);color:#fff}.review-progress{background:color-mix(in srgb,var(--zen-card) 94%,white);border:1px solid var(--zen-border);border-radius:14px}.progress-text{color:var(--zen-primary);text-align:center}.progress-bar{background:color-mix(in srgb,var(--zen-paper) 60%,#fff)}.progress-fill{background:linear-gradient(90deg,#c9493a,#df6d4f)}.radical-list-title,.radical-group-strokes,.radical-count{color:var(--zen-primary)}.radical-list-subtitle,.radical-group-label,.radical-group-count,.radical-detail-meaning,.radical-words-title,.rwi-meaning,.radical-name{color:var(--zen-muted)}.radical-group-header,.radical-detail,.radical-word-item,.radical-card,.radical-controls{background:color-mix(in srgb,var(--zen-card) 93%,white);border:1px solid var(--zen-border);border-radius:14px}.radical-card:hover,.radical-card.active{border-color:color-mix(in srgb,var(--zen-primary) 38%,var(--zen-border))}@media(max-width:640px){.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@keyframes zenFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes zenSoftPulse{0%,to{box-shadow:0 0 #c9493a29}50%{box-shadow:0 0 0 8px #c9493a00}}.lesson-page,.lesson-words,.lesson-exercises,.lesson-reading{animation:zenFadeUp .34s ease both}.lesson-page-title h2,.lesson-block h3,.text-title{color:var(--zen-ink)}.lesson-page-num,.lesson-mission-context,.lesson-card-meta,.lesson-step-text,.lesson-word-transcription,.lesson-word-hint,.example-ru,.text-ru,.exercise-hint,.reading-question,.reading-num{color:var(--zen-muted)}.lessons-grid{gap:14px}.lesson-card{background:color-mix(in srgb,var(--zen-card) 94%,white);border:1px solid var(--zen-border);border-radius:16px;box-shadow:0 5px 24px #221d140f;transition:transform .18s ease,box-shadow .2s ease,border-color .18s ease}.lesson-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--zen-primary) 34%,var(--zen-border));box-shadow:0 10px 28px #221d141a}.lesson-card-done{border-color:color-mix(in srgb,var(--zen-jade) 42%,var(--zen-border))}.lesson-card-started{border-color:color-mix(in srgb,var(--zen-primary) 32%,var(--zen-border))}.lesson-card-locked{opacity:.72;cursor:not-allowed}.lesson-card-locked:hover{transform:none;box-shadow:0 5px 24px #221d140f;border-color:var(--zen-border)}.lesson-card-num{background:color-mix(in srgb,var(--zen-paper) 70%,white);border-color:var(--zen-border);color:var(--zen-primary)}.lesson-card-started .lesson-card-num,.lesson-card-done .lesson-card-num{box-shadow:0 0 #c9493a29}.lesson-card-title,.lesson-word-meaning,.grammar-rule,.exercise-question,.exercise-sentence,.text-zh,.example-zh,.reading-text,.reading-translation{color:var(--zen-ink)}.lesson-card-progress-bar,.lesson-card-progress-fill,.progress-bar,.progress-fill{border-radius:999px}.lesson-card-progress-bar,.progress-bar{background:color-mix(in srgb,var(--zen-paper) 55%,white)}.lesson-card-progress-fill,.progress-fill{background:linear-gradient(90deg,#c9493a,#df6d4f)}.lesson-card-done .lesson-card-progress-fill{background:linear-gradient(90deg,#2f8f72,#57b493)}.lesson-page-header{border-bottom:1px solid var(--zen-border)}.lesson-back-btn,.lesson-add-all-btn,.lesson-tab,.speak-btn,.exercise-option,.match-btn{border-radius:12px}.lesson-back-btn,.lesson-tab,.speak-btn,.exercise-option,.match-btn{background:#fff;border:1px solid var(--zen-border);color:var(--zen-muted)}.lesson-tab.active{background:var(--zen-primary);border-color:var(--zen-primary);color:#fff}.lesson-step-actions{margin-top:18px;display:flex;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--border)}.lesson-add-all-btn,.lesson-next-btn,.exercises-complete .btn-primary{background:linear-gradient(90deg,#c9493a,#df6d4f);border:none;color:#fff}.lesson-goals,.lesson-dialogues,.lesson-control{gap:14px}.practice-items-grid{gap:10px}.practice-item{background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--zen-primary-soft) 42%,#fff) 0%,transparent 62%),linear-gradient(180deg,color-mix(in srgb,var(--zen-card) 90%,#fff),#fff);border:1px solid color-mix(in srgb,var(--zen-border) 90%,#fff);border-radius:12px;box-shadow:0 5px 16px #211d160d}.practice-item-pinyin{color:var(--zen-primary)}.practice-item-desc{color:var(--zen-muted)}.lesson-block,.grammar-rule,.grammar-example,.text-line,.exercise-block,.exercises-complete,.reading-block,.mnemonic-block{background:color-mix(in srgb,var(--zen-card) 95%,white);border:1px solid var(--zen-border);border-radius:14px;box-shadow:0 4px 20px #211d160d}.lesson-block,.exercise-block,.reading-block{animation:zenFadeUp .28s ease both}.lesson-word-card{background:radial-gradient(140% 110% at 0% 0%,color-mix(in srgb,var(--zen-primary-soft) 48%,#fff) 0%,transparent 58%),linear-gradient(180deg,color-mix(in srgb,var(--zen-card) 86%,#fff),#fff);border:1px solid color-mix(in srgb,var(--zen-border) 88%,#fff);border-radius:14px;box-shadow:0 7px 20px #211d160f;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.lesson-word-card:hover{border-color:color-mix(in srgb,var(--zen-primary) 35%,var(--zen-border));box-shadow:0 10px 24px #c9493a1f;transform:translateY(-1px)}.lesson-word-card.status-studying{border-color:color-mix(in srgb,var(--zen-primary) 28%,var(--zen-border))}.lesson-word-card.status-learned{border-color:color-mix(in srgb,var(--zen-jade) 32%,var(--zen-border))}.lesson-word-hanzi,.text-speaker,.exercise-num,.mnemonic-title{color:var(--zen-primary)}.lesson-word-pinyin,.example-pinyin,.text-pinyin{color:var(--zen-pinyin)}.mnemonic-structure{color:var(--zen-muted)}.exercise-option:hover,.match-btn:hover:not(:disabled),.speak-btn:hover,.lesson-back-btn:hover{border-color:color-mix(in srgb,var(--zen-primary) 40%,var(--zen-border));color:var(--zen-primary)}.exercise-option.correct,.match-btn.matched,.result-correct{background:color-mix(in srgb,var(--zen-jade) 14%,white);border-color:color-mix(in srgb,var(--zen-jade) 48%,var(--zen-border));color:var(--zen-jade)}.exercise-option.wrong,.match-btn.wrong,.result-wrong{background:color-mix(in srgb,#d9534f 12%,white);border-color:color-mix(in srgb,#d9534f 45%,var(--zen-border));color:#b93e3a}.reading-text{border-bottom:1px solid var(--zen-border);line-height:1.9}.mnemonic-block{background:linear-gradient(180deg,#c9493a14,#ffffffeb);border-color:color-mix(in srgb,var(--zen-primary) 28%,var(--zen-border))}@media(max-width:900px){.lessons-grid{grid-template-columns:1fr}.lesson-page-title h2{font-size:1.15rem}.lesson-word-card{min-height:106px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important}}.home-view{width:100%;max-width:920px;margin:0 auto;align-items:center}.home-view>*{width:100%;margin-left:auto;margin-right:auto}.home-hero,.home-character-card,.stats-row,.gamification-row,.lesson-progress-row,.home-actions,.how-it-works{max-width:920px}.home-hero{grid-template-columns:minmax(0,1fr) 330px;align-items:stretch}.home-hero.home-hero-single{grid-template-columns:minmax(0,1fr)}.home-hero-head,.home-hero-card,.home-character-card,.how-it-works,.stat-card,.gamification-card{min-width:0}.stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-card{width:100%;min-width:0}.gamification-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-actions{max-width:420px}.home-actions .btn-primary,.home-actions .btn-secondary{width:100%}@media(max-width:900px){.home-view{max-width:100%}.home-hero{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.gamification-row{grid-template-columns:minmax(0,520px);justify-content:center}.home-character-hanzi{font-size:3.2rem}}@media(max-width:520px){.home-view{gap:16px}.home-hero-head,.home-hero-card,.home-character-card,.how-it-works{border-radius:16px;padding:14px}.home-title{font-size:1.55rem}.home-subtitle{font-size:.88rem}.home-character-card{gap:10px;align-items:flex-start}.home-character-hanzi{font-size:2.6rem;align-self:flex-end}}.card-modal .mnemonic-block{background:#fff;border:1px solid color-mix(in srgb,var(--zen-primary) 26%,var(--zen-border));border-radius:14px;padding:14px;box-shadow:0 6px 18px #211d160f;position:relative;overflow:hidden;width:100%}.card-modal .mnemonic-block:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#c9493a,#df6d4f)}.card-modal .mnemonic-title{color:var(--zen-primary);font-size:.76rem;letter-spacing:.08em;margin-bottom:4px}.card-modal .mnemonic-structure{color:#7f3c33;font-size:.84rem;font-weight:600;font-style:normal;line-height:1.4}.card-modal .mnemonic-association{color:#2b2f35;font-size:.9rem;line-height:1.55}.card-modal .mnemonic-char-row{background:color-mix(in srgb,var(--zen-paper) 48%,#fff);border:1px solid var(--zen-border);border-radius:10px;padding:8px 10px}.card-modal .mnemonic-char{color:var(--zen-primary);min-width:28px}.lesson-word-card .mnemonic-block{background:color-mix(in srgb,var(--zen-paper) 58%,#fff);border-color:var(--zen-border)}.lesson-word-card .mnemonic-structure{color:#7f3c33;font-style:normal}.lesson-word-card .mnemonic-association{color:#2f343b}.meta-row{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.meta-card{border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--bg2) 90%,#fff);padding:12px;display:grid;gap:8px}.meta-title{font-size:.84rem;color:var(--text2);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.meta-value{font-size:1.35rem;font-weight:700}.pet-main{display:flex;align-items:center;gap:10px}.pet-avatar{width:54px;height:54px;border-radius:50%;border:1px solid color-mix(in srgb,#e4c76a 55%,var(--border));background:color-mix(in srgb,#fff6d8 88%,#fff);display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem}.pet-name{font-size:1rem;font-weight:700}.pet-hint{color:var(--text2);font-size:.8rem}.shop-card{margin-top:10px;border:1px solid var(--border);border-radius:14px;padding:12px;background:color-mix(in srgb,var(--bg2) 92%,#fff)}.shop-grid{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.shop-item-btn{border-radius:10px;border:1px solid color-mix(in srgb,#4d86bf 40%,var(--border));background:color-mix(in srgb,#4d86bf 8%,#fff);color:var(--text);padding:9px;cursor:pointer;text-align:left;display:grid;gap:6px}.shop-item-btn strong{color:#1f5f9a}:root[data-meta-theme=theme_calligraphy] .app{background-image:radial-gradient(circle at 0% 0%,rgba(111,70,37,.08),transparent 45%)}@media(max-width:860px){.meta-row,.shop-grid{grid-template-columns:1fr}}.admin-login-shell{min-height:100vh;padding:32px;display:grid;grid-template-columns:minmax(280px,420px) minmax(320px,520px);justify-content:center;gap:28px;align-items:center;background:radial-gradient(circle at top left,rgba(230,85,77,.18),transparent 32%),radial-gradient(circle at bottom right,rgba(77,134,191,.14),transparent 36%),linear-gradient(180deg,#fbf8f2,#f2ede3)}.admin-login-copy,.admin-access-card{padding:28px;border-radius:28px;border:1px solid rgba(110,78,52,.12);background:#fffbf4e0;box-shadow:0 24px 60px #5236201a}.admin-login-kicker{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:#e6554d1a;color:#a83f37;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.admin-login-copy h1,.admin-access-card h1,.admin-header h1{margin:16px 0 10px;color:#261710;line-height:1.05}.admin-login-copy p,.admin-access-card p,.admin-header p,.admin-summary-card p{margin:0;color:#6b5a4f;line-height:1.6}.admin-shell{min-height:100vh;padding:32px;background:radial-gradient(circle at top left,rgba(230,85,77,.08),transparent 22%),linear-gradient(180deg,#f7f2e8,#efe6d8)}.admin-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:24px 28px;border-radius:28px;border:1px solid rgba(110,78,52,.12);background:#fffbf4d6;box-shadow:0 24px 60px #52362014}.admin-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.admin-user-chip{padding:10px 14px;border-radius:999px;background:#2518100f;color:#4d3a30;font-weight:600}.admin-header-btn{border:0;border-radius:999px;padding:10px 16px;cursor:pointer;font:inherit;font-weight:700;color:#fff;background:#1f5f9a}.admin-header-btn.danger{background:#b54940}.admin-summary-grid{margin:22px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-summary-card{padding:18px 20px;border-radius:22px;border:1px solid rgba(110,78,52,.12);background:#fffbf4bd}.admin-summary-card span{display:block;margin-bottom:10px;color:#9a5e43;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.admin-summary-card strong{display:block;margin-bottom:8px;color:#261710;font-size:1.02rem}@media(max-width:980px){.admin-login-shell,.admin-summary-grid{grid-template-columns:1fr}.admin-header{flex-direction:column}.admin-header-actions{justify-content:flex-start}}@media(max-width:720px){.admin-shell,.admin-login-shell{padding:18px}.admin-login-copy,.admin-access-card,.admin-header,.admin-summary-card{border-radius:22px;padding:20px}}.legal-shell{min-height:100vh;padding:24px;background:radial-gradient(circle at top left,rgba(230,85,77,.1),transparent 24%),linear-gradient(180deg,#faf6ee,#efe6d8)}.legal-header,.legal-footer-bar{max-width:980px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.legal-header{margin-bottom:24px}.legal-footer-bar{margin-top:24px;color:#6b5a4f}.legal-brand,.legal-link-btn{text-decoration:none}.legal-brand{color:#261710;font-size:1.5rem;font-weight:800}.legal-link-btn{padding:10px 16px;border-radius:999px;background:#2518100f;color:#4d3a30;font-weight:700}@media(max-width:720px){.legal-shell{padding:18px}.legal-header,.legal-footer-bar{flex-direction:column;align-items:flex-start}}.le-module-header{padding:5px 12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#888;background:#f4f4f6;border-top:1px solid #e5e5e8;margin-top:6px;-webkit-user-select:none;user-select:none}.le-module-header:first-child{margin-top:0;border-top:none}.le-editor-header{padding:10px 0 8px;border-bottom:1px solid #e5e5e8;margin-bottom:12px}.le-editor-meta{font-size:11px;color:#999;margin-top:3px;font-family:monospace}.le-dirty-badge{color:#f59e0b;font-size:12px;font-weight:600;margin-left:8px}.le-tabs{display:flex;gap:2px;margin-bottom:16px;border-bottom:2px solid #e5e5e8}.le-tab{padding:7px 16px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:500;color:#888;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;border-radius:4px 4px 0 0}.le-tab:hover{color:#333}.le-tab.active{color:#4f46e5;border-bottom-color:#4f46e5;background:none}.le-tab-content{display:flex;flex-direction:column;gap:10px}.le-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#aaa;padding-top:10px;border-top:1px solid #eee;margin-top:2px}.le-section-title:first-child{border-top:none;padding-top:0;margin-top:0}.le-checkbox-label{display:flex;align-items:center;gap:6px;font-weight:400;cursor:pointer}.le-checkbox-label input[type=checkbox]{width:auto;margin:0}.le-array-field{display:flex;flex-direction:column;gap:5px}.le-array-label{font-size:11px;font-weight:600;color:#999;margin-bottom:1px}.le-array-row{display:flex;gap:5px;align-items:center}.le-array-input{flex:1;min-width:0}.le-btn-icon{padding:4px 7px;border:1px solid #e0e0e0;background:#fff;cursor:pointer;border-radius:4px;font-size:13px;line-height:1;flex-shrink:0;transition:background .12s;color:#555}.le-btn-icon:hover:not(:disabled){background:#f0f0f2}.le-btn-icon:disabled{opacity:.35;cursor:default}.le-btn-icon.le-btn-danger{color:#ef4444;border-color:#fca5a5}.le-btn-icon.le-btn-danger:hover:not(:disabled){background:#fee2e2}.le-btn-sm{padding:4px 12px;font-size:12px}.le-ex-tab-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #eee}.le-ex-count{font-size:12px;color:#888;font-weight:600}.le-ex-card{border:1px solid #e5e5e8;border-radius:8px;margin-bottom:8px;overflow:hidden}.le-ex-header{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#f8f8fa;border-bottom:1px solid #e5e5e8}.le-ex-num{font-size:11px;font-weight:700;color:#aaa;min-width:22px;flex-shrink:0}.le-ex-type-select{flex:1;padding:4px 8px;font-size:13px;border:1px solid #e0e0e0;border-radius:4px;background:#fff;min-width:0}.le-ex-actions{display:flex;gap:4px;flex-shrink:0}.le-ex-body{padding:12px;display:flex;flex-direction:column;gap:10px}.le-lines-editor{display:flex;flex-direction:column;gap:7px}.le-lines-item{display:flex;gap:8px;align-items:flex-start;padding:8px;border:1px solid #eee;border-radius:6px;background:#fafafa}.le-lines-ctrl{display:flex;flex-direction:column;gap:3px;align-items:center;flex-shrink:0}.le-lines-num{font-size:10px;color:#bbb;font-weight:700;line-height:1;margin-bottom:2px}.le-lines-fields{flex:1;display:grid;grid-template-columns:120px 1fr 1fr 1fr;gap:6px;min-width:0}.le-lines-fields input{min-width:0}.le-grammar-row{display:grid;grid-template-columns:1fr 1.3fr 2fr auto;gap:6px;align-items:center}.le-theory-sections{display:flex;flex-direction:column;gap:0}.le-theory-card{border:1px solid #e5e5e8;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;margin-bottom:8px;background:#fafafa}.le-theory-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:#555}.le-theory-ctrl{display:flex;gap:4px}.le-btn-preview{font-weight:700;color:#4f46e5!important;border-color:#c7d2fe!important;font-size:13px;flex-shrink:0}.le-btn-preview:hover:not(:disabled){background:#eef2ff!important}.le-preview-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999;animation:le-fade-in .15s ease}@keyframes le-fade-in{0%{opacity:0}to{opacity:1}}.le-preview-popup{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000040;width:340px;max-height:90vh;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.le-preview-header{display:flex;align-items:center;justify-content:space-between}.le-preview-title{font-size:16px;font-weight:700;color:#1e1e2e}.le-preview-desc{font-size:13px;color:#666;line-height:1.45}.le-preview-phone{border:2.5px solid #1e1e2e;border-radius:24px;background:#f8f9fb;padding:0;overflow:hidden;position:relative}.le-preview-phone-notch{width:80px;height:6px;background:#1e1e2e;border-radius:0 0 8px 8px;margin:0 auto}.le-preview-phone-screen{padding:14px 12px 18px;min-height:260px}.le-mp{display:flex;flex-direction:column;gap:10px}.le-mp-instruction{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.04em}.le-mp-sentence{font-size:18px;text-align:center;color:#1e1e2e;padding:6px 0}.le-mp-blank{display:inline-block;min-width:40px;border-bottom:2px solid #4f46e5;color:#4f46e5;margin:0 2px}.le-mp-question{font-size:20px;font-weight:600;text-align:center;color:#1e1e2e;padding:4px 0}.le-mp-options{display:flex;flex-direction:column;gap:6px}.le-mp-options--sm{gap:5px}.le-mp-options--grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.le-mp-opt{padding:8px 12px;border:1.5px solid #e0e0e5;border-radius:10px;font-size:14px;text-align:center;background:#fff;color:#333}.le-mp-opt--correct{border-color:#4f46e5;background:#eef2ff;color:#4f46e5;font-weight:600}.le-mp-match{display:flex;gap:10px}.le-mp-match-col{flex:1;display:flex;flex-direction:column;gap:6px}.le-mp-match-item{padding:7px 10px;border:1.5px solid #e0e0e5;border-radius:8px;font-size:13px;text-align:center;background:#fff}.le-mp-match-col:first-child .le-mp-match-item{border-color:#c7d2fe;background:#f5f3ff;font-weight:600}.le-mp-audio{text-align:center;font-size:28px;padding:8px 0;-webkit-user-select:none;user-select:none}.le-mp-audio-wave{font-size:16px;color:#4f46e5;letter-spacing:2px}.le-mp-tones{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.le-mp-tone{padding:10px 4px;border:1.5px solid #e0e0e5;border-radius:10px;text-align:center;font-size:14px;font-weight:600;background:#fff}.le-mp-tone.le-mp-opt--correct{border-color:#4f46e5;background:#eef2ff;color:#4f46e5}.le-mp-hanzi-big{font-size:52px;text-align:center;font-weight:300;color:#1e1e2e;line-height:1.2}.le-mp-input-mock{padding:10px 12px;border:1.5px solid #d0d0d5;border-radius:10px;font-size:16px;background:#fff;color:#333}.le-mp-cursor{color:#4f46e5;animation:le-blink 1s steps(1) infinite}@keyframes le-blink{0%,50%{opacity:1}51%,to{opacity:0}}.le-mp-hint{font-size:11px;color:#aaa;text-align:center}.le-mp-reading{font-size:14px;color:#333;background:#f5f3ff;border-radius:8px;padding:8px 10px;line-height:1.5;border-left:3px solid #4f46e5}.le-mp-picture{font-size:48px;text-align:center;padding:6px 0;background:#f0f0f3;border-radius:10px}.le-mp-dropzone{text-align:center;padding:10px;border:1.5px dashed #ccc;border-radius:10px;color:#bbb;font-size:16px;letter-spacing:4px}.le-mp-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.le-mp-chip{padding:6px 12px;background:#eef2ff;border:1.5px solid #c7d2fe;border-radius:8px;font-size:14px;font-weight:500;color:#4338ca;cursor:default}.le-mp-target{font-size:13px;color:#666;text-align:center;font-style:italic}.le-mp-dialogue{display:flex;flex-direction:column;gap:6px}.le-mp-bubble{padding:7px 10px;border-radius:12px;font-size:13px;max-width:80%;line-height:1.35}.le-mp-bubble--left{background:#f0f0f3;color:#333;align-self:flex-start;border-bottom-left-radius:4px}.le-mp-bubble--right{background:#4f46e5;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.le-mp-bubble--empty{background:#e0e7ff;color:#6366f1;border:1.5px dashed #818cf8;font-weight:600}.le-mp-statement{font-size:15px;text-align:center;color:#333;padding:6px 8px;font-style:italic}.le-mp-tf{display:grid;grid-template-columns:1fr 1fr;gap:8px}.le-mp-tf-btn{padding:12px 8px;border-radius:10px;text-align:center;font-size:14px;font-weight:600}.le-mp-tf-btn--true{background:#ecfdf5;border:1.5px solid #86efac;color:#16a34a}.le-mp-tf-btn--false{background:#fef2f2;border:1.5px solid #fca5a5;color:#dc2626}.le-mp-pinyin-big{font-size:28px;text-align:center;font-weight:600;color:#4f46e5;padding:6px 0}.le-mp-error-sent{font-size:16px;text-align:center;color:#333;padding:4px 0}.le-mp-error-word{background:#fef2f2;color:#dc2626;text-decoration:line-through;padding:1px 4px;border-radius:4px}.le-mp-stroke-area{text-align:center;padding:12px;border:1.5px solid #e0e0e5;border-radius:12px;background:#fff}.le-mp-stroke-ghost{font-size:72px;color:#e0e0e5;line-height:1.1;font-weight:300}.le-mp-stroke-hint{font-size:12px;color:#888;margin-top:6px}.le-mp-words{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:12px 0}.le-mp-word{display:inline-block;padding:8px 14px;border-radius:10px;background:#f5f3ff;border:1.5px solid #e0e0e5;font-size:18px;font-weight:600;color:#1c1c1e;cursor:pointer}.le-mp-word--wrong{background:#fef2f2;border-color:#fca5a5;color:#dc2626;text-decoration:line-through}.le-mp-culture-title{font-size:16px;font-weight:700;margin-bottom:6px;color:#1c1c1e}.le-mp-culture-text{font-size:12px;color:#636366;line-height:1.5;margin-bottom:8px;padding:8px 10px;background:#fffbeb;border-radius:8px;border:1px solid #fde68a}
