:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--modern-zen-bg:#f8f6f0;--modern-zen-card:#fff;--modern-zen-chip:#eae5da;--modern-zen-primary:#127a5d;--modern-zen-success:#1e6b4e;--modern-zen-text:#1a1e1c;--danger-text:#b3261e;--dim:#687076;--ink:var(--modern-zen-text);--logo-text:#fff;--muted:#4b5563;--primary-text:#fff;--selected-text:var(--modern-zen-text);--text:var(--modern-zen-text);--font:"Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-cn:"LXGW WenKai", "Noto Sans SC", "Inter", sans-serif;--line-compact:1.32;--line-readable:1.62;--measure:68ch;--phi-major:.618fr;--phi-minor:.382fr;--transition-bounce:.5s cubic-bezier(.34, 1.56, .64, 1);--transition-fluid:.4s cubic-bezier(.2, .8, .2, 1);--transition-smooth:.4s cubic-bezier(.16, 1, .3, 1);--transition-snappy:.2s cubic-bezier(.4, 0, .2, 1);--aurora-1:#5fd6b44d;--aurora-2:#0f7d8c47;--aurora-3:#0e2a4a4d;--bg-pattern:url("data:image/svg+xml,%3Csvg width='100' height='20' viewBox='0 0 100 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.184 20c.392-5.33 4.28-9.8 9.86-11.56 3.146-1.01 6.64-1.02 9.77.01 5.56 1.83 9.42 6.27 9.81 11.55h2.02c-.39-6.38-4.88-11.45-11.19-13.52-3.6-1.18-7.66-1.16-11.24-.03-6.28 2-10.74 7.07-11.18 13.52h2.15zM50 20c.39-5.33 4.28-9.8 9.86-11.56 3.14-1.01 6.64-1.02 9.77.01 5.56 1.83 9.42 6.27 9.81 11.55h2.02c-.39-6.38-4.88-11.45-11.19-13.52-3.6-1.18-7.66-1.16-11.24-.03-6.28 2-10.74 7.07-11.18 13.52h2.15zM0 20c.39-5.33 4.28-9.8 9.86-11.56 3.14-1.01 6.64-1.02 9.77.01 5.56 1.83 9.42 6.27 9.81 11.55h2.02c-.39-6.38-4.88-11.45-11.19-13.52-3.6-1.18-7.66-1.16-11.24-.03-6.28 2-10.74 7.07-11.18 13.52h2.15z' fill='%23127a5d' fill-opacity='0.025' fill-rule='evenodd'/%3E%3C/svg%3E");--glass-bg:#ffffff9e;--glass-blur:18px;--glass-border:#ffffff8c;--px:0px;--py:0px;--stream-color:#5fd6b48c;--badge-strong-bg:#e6fcf5;--badge-strong-text:#0ca678;--badge-weak-bg:#fff5f5;--badge-weak-text:#fa5252;--focus-ring:#127a5d5c;--radius:16px;--radius-lg:24px;--radius-sm:8px;--shadow:0 6px 28px #141a1812;--shadow-color:20, 26, 24;--shadow-lg:0 24px 48px rgba(var(--shadow-color), .08), 0 8px 16px rgba(var(--shadow-color), .04);--shadow-md:0 8px 24px rgba(var(--shadow-color), .06), 0 2px 8px rgba(var(--shadow-color), .04);--shadow-sm:0 2px 8px rgba(var(--shadow-color), .04), 0 1px 2px rgba(var(--shadow-color), .02);--celadon:#5fd6b4;--cinnabar:#c2402f;--cinnabar-soft:#c2402f1c;--gold:#d4a359;--gold-gradient:linear-gradient(135deg, #e3ba78, #d4a359);--gold-soft:#d4a3591f;--jade:var(--modern-zen-primary);--jade-gradient:linear-gradient(135deg, #189874, #127a5d);--jade-soft:#127a5d1f;--porcelain:#3f7d9a;--porcelain-soft:#3f7d9a1a;--primary-end:#127a5d;--primary-start:#189874;--teal:#0f7d8c;--tech-blue:#0e2a4a;--bg-bottom:var(--modern-zen-bg);--bg-top:var(--modern-zen-bg);--bg-wash-1:#d32f2f00;--bg-wash-2:#2e8b5700;--control-bg:var(--modern-zen-chip);--control-hover:#e5e0d4;--grid-line:transparent;--ink-800:#f4f1ea;--ink-850:#fff;--ink-900:#fbf9f6;--ink-950:#e9e2d8;--inner-line:#2c3e500a;--line:#2c3e5014;--line-soft:#2c3e500f;--nav-bg:var(--modern-zen-bg);--paper:var(--modern-zen-card);--paper-strong:var(--modern-zen-card);--ring-track:#2c3e501f;--surface-sheen:linear-gradient(180deg, #fffffff5, #fffffff5);--surface-wash:linear-gradient(150deg, #fff0, transparent 34%);--track-bg:#f1f3f5;--box-bg:var(--paper);--box-subtle-bg:var(--control-bg);--box-border:var(--line);--box-border-hover:color-mix(in srgb, var(--jade) 38%, transparent);--box-hover-bg:var(--jade-soft);--box-selected-bg:var(--jade-soft);--box-selected-border:var(--jade);--box-selected-text:var(--text);--box-correct-bg:color-mix(in srgb, var(--jade) 12%, transparent);--box-correct-border:var(--jade);--box-correct-text:var(--jade);--box-wrong-bg:color-mix(in srgb, var(--cinnabar) 12%, transparent);--box-wrong-border:var(--cinnabar);--box-wrong-text:var(--cinnabar);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:40px;--sp-8:56px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--modern-zen-bg:#091320;--modern-zen-card:#0f1c2d;--modern-zen-chip:#15273d;--modern-zen-primary:#93b4cc;--modern-zen-success:#7da5bf;--modern-zen-text:#e1edf8;--danger-text:#ffb0a8;--dim:#798d9f;--logo-text:#0b1c2b;--muted:#a4b7c8;--primary-text:#0b1c2b;--aurora-1:#93b4cc38;--aurora-2:#246e963d;--aurora-3:#28508c38;--bg-pattern:url("data:image/svg+xml,%3Csvg width='100' height='20' viewBox='0 0 100 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.184 20c.392-5.33 4.28-9.8 9.86-11.56 3.146-1.01 6.64-1.02 9.77.01 5.56 1.83 9.42 6.27 9.81 11.55h2.02c-.39-6.38-4.88-11.45-11.19-13.52-3.6-1.18-7.66-1.16-11.24-.03-6.28 2-10.74 7.07-11.18 13.52h2.15zM50 20c.39-5.33 4.28-9.8 9.86-11.56 3.14-1.01 6.64-1.02 9.77.01 5.56 1.83 9.42 6.27 9.81 11.55h2.02c-.39-6.38-4.88-11.45-11.19-13.52-3.6-1.18-7.66-1.16-11.24-.03-6.28 2-10.74 7.07-11.18 13.52h2.15zM0 20c.39-5.33 4.28-9.8 9.86-11.56 3.14-1.01 6.64-1.02 9.77.01 5.56 1.83 9.42 6.27 9.81 11.55h2.02c-.39-6.38-4.88-11.45-11.19-13.52-3.6-1.18-7.66-1.16-11.24-.03-6.28 2-10.74 7.07-11.18 13.52h2.15z' fill='%23EBE5DB' fill-opacity='0.015' fill-rule='evenodd'/%3E%3C/svg%3E");--glass-bg:#0f1c2d8c;--glass-blur:20px;--glass-border:#93b4cc29;--stream-color:#93b4cc73;--badge-strong-bg:#3daa6b2e;--badge-strong-text:#7be0a4;--badge-weak-bg:#e052522e;--badge-weak-text:#ff9c9c;--focus-ring:#93b4cc73;--shadow:0 8px 30px #0000004d;--shadow-color:0, 0, 0;--shadow-lg:0 24px 48px rgba(var(--shadow-color), .4), 0 8px 16px rgba(var(--shadow-color), .2);--shadow-md:0 8px 24px rgba(var(--shadow-color), .3), 0 2px 8px rgba(var(--shadow-color), .2);--shadow-sm:0 2px 8px rgba(var(--shadow-color), .2), 0 1px 2px rgba(var(--shadow-color), .1);--cinnabar:#e07a5f;--cinnabar-soft:#e07a5f29;--gold:#e8c17a;--gold-gradient:linear-gradient(135deg, #f2d299, #e8c17a);--gold-soft:#e8c17a29;--jade-gradient:linear-gradient(135deg, #b2c9db, #93b4cc);--jade-soft:#93b4cc29;--porcelain:#73a4cc;--porcelain-soft:#73a7be24;--primary-end:#93b4cc;--primary-start:#b2c9db;--bg-wash-1:#e0525200;--bg-wash-2:#3daa6b00;--control-hover:#1a2c42;--ink-800:var(--modern-zen-chip);--ink-850:var(--modern-zen-card);--ink-900:var(--modern-zen-bg);--ink-950:#0f0e0d;--inner-line:#f7f2ea0d;--line:#93b4cc1f;--line-soft:#93b4cc14;--ring-track:#f7f2ea1f;--surface-sheen:linear-gradient(180deg, #ffffff08, #ffffff08);--track-bg:#2f3336;--box-bg:var(--modern-zen-card);--box-subtle-bg:var(--modern-zen-chip);--box-border:#93b4cc24;--box-border-hover:#93b4cc66;--box-hover-bg:#93b4cc14;--box-selected-bg:#93b4cc26;--box-selected-border:var(--jade);--box-selected-text:var(--text);--box-correct-bg:#3daa6b2e;--box-correct-border:#48bb78;--box-correct-text:#7be0a4;--box-wrong-bg:#e052522e;--box-wrong-border:#e07a5f;--box-wrong-text:#ff9c9c}*{box-sizing:border-box}html,body,#root{min-height:100%}html{scroll-behavior:smooth}body{color:var(--text);font-family:var(--font);font-size:16px;line-height:var(--line-readable);letter-spacing:0;background:linear-gradient(135deg, var(--bg-wash-1), transparent 28%), linear-gradient(225deg, var(--bg-wash-2), transparent 30%), repeating-linear-gradient(90deg, var(--grid-line) 0 1px, transparent 1px 72px), linear-gradient(180deg, var(--bg-top), var(--bg-bottom));-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;transition:background .22s,color .22s}button,select{font:inherit;line-height:1.2}input,textarea{font:inherit;letter-spacing:0}button{color:inherit}button:focus-visible,select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.core-hero h1,.core-section-head h1,.question-card h2,.result-card h1,.lesson-start-card h2,.core-focus-card h2{letter-spacing:0;margin:0}.core-eyebrow{color:var(--gold);font:800 .72rem var(--font-cn);letter-spacing:.06em;text-transform:uppercase}.core-status{white-space:nowrap;color:var(--jade);background:var(--jade-soft);border:1px solid color-mix(in srgb, var(--jade) 30%, transparent);border-radius:999px;padding:7px 12px;font-size:.78rem;font-weight:800}.core-page{flex-direction:column;gap:16px;display:flex}.page-enter{animation:none!important}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.core-card,.core-hero,.level-card,.quiz-type-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-wash), var(--surface-sheen), var(--paper);box-shadow:var(--shadow);transition:border-color .18s,transform .18s,box-shadow .18s,background .18s;position:relative;overflow:hidden}.core-card:hover,.core-hero:hover{border-color:color-mix(in srgb, var(--gold) 24%, transparent)}.core-card:after,.core-hero:after,.level-card:after,.quiz-type-card:after{content:"";border:1px solid var(--inner-line);pointer-events:none;border-radius:5px;position:absolute;inset:8px}.core-hero{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(18px,3vw,34px);min-height:278px;padding:clamp(24px,4vw,46px);display:grid}.core-seal{aspect-ratio:1;border-radius:var(--radius);width:clamp(86px,10vw,130px);color:var(--logo-text);background:linear-gradient(145deg, var(--primary-start), var(--cinnabar));font:900 clamp(3rem, 6vw, 5.4rem) var(--font-cn);border:2px solid #ffedc43d;place-items:center;display:grid;box-shadow:0 24px 48px #7f1d1d59}.core-hero h1{text-wrap:balance;max-width:760px;margin-top:8px;font-size:3.15rem;font-weight:850;line-height:1.08}.core-hero--compact{min-height:210px;padding:clamp(20px,3vw,34px)}.core-hero--compact .core-seal{width:clamp(72px,8vw,104px)}.core-hero--compact h1{max-width:780px;font-size:2.85rem}.core-hero p,.core-section-head p,.lesson-start-card p,.core-focus-card p,.result-card p,.quiz-setup p{max-width:var(--measure);color:var(--muted);line-height:var(--line-readable);text-wrap:pretty;margin:10px 0 0}.core-section-head h1,.lesson-start-card h2,.core-focus-card h2{max-width:var(--measure);text-wrap:balance;font-size:2.1rem;font-weight:850;line-height:1.18}.core-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.btn-primary,.btn-secondary{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:800;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s,opacity .18s;display:inline-flex}.btn-primary{color:var(--primary-text);background:linear-gradient(135deg, var(--primary-start), var(--primary-end));border-color:#ffe4b52e}.btn-secondary{color:var(--text);background:var(--control-bg);border-color:var(--line)}.btn-primary:hover,.btn-secondary:hover,.level-card:hover,.quiz-type-card:hover,.option-grid button:hover{border-color:color-mix(in srgb, var(--gold) 32%, transparent);transform:translateY(-1px)}.btn-primary:disabled,.btn-secondary:disabled,.submit-next:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-secondary:hover{background:var(--control-hover)}.core-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.core-stat{flex-direction:column;justify-content:space-between;gap:10px;min-height:132px;padding:18px;display:flex}.core-stat:first-child{animation:.26s 40ms both softRise}.core-stat:nth-child(2){animation:.26s 80ms both softRise}.core-stat:nth-child(3){animation:.26s .12s both softRise}.core-stat:nth-child(4){animation:.26s .16s both softRise}@keyframes softRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.core-stat svg{color:var(--gold)}.core-stat span{color:var(--muted);font-size:.78rem;font-weight:800}.core-stat strong{font-size:clamp(1.2rem,2.4vw,1.75rem)}.core-stat--gold{border-color:color-mix(in srgb, var(--gold) 28%, transparent)}.core-stat--jade{border-color:#1fb89147}.core-stat--cinnabar{border-color:color-mix(in srgb, var(--cinnabar) 32%, transparent)}.core-stat--blue{border-color:#8ecae642}.core-focus-card,.core-section-head,.lesson-start-card,.result-card,.question-card,.empty-state,.review-item,.progress-panel,.home-plan-card,.home-ring-card,.home-selector-card,.home-flow-card{padding:clamp(18px,2.6vw,28px)}@keyframes drawLine{to{stroke-dashoffset:0}}.today-queue-head,.today-queue-bottom,.today-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.today-queue-head h2{letter-spacing:0;text-wrap:balance;margin:6px 0 0;font-size:2rem;line-height:1.24}.today-queue-head p,.today-actions p{color:var(--muted);line-height:var(--line-readable);margin:8px 0 0}.today-mode-stack{grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px;min-width:min(420px,100%);display:grid}.today-mode-stack button{border:1px solid var(--line-soft);border-radius:var(--radius);min-height:62px;color:var(--muted);background:var(--control-bg);cursor:pointer;place-items:center;gap:4px;transition:transform .17s,border-color .17s,background .17s,color .17s;display:grid}.today-mode-stack button:hover,.today-mode-stack button.active{color:var(--text);border-color:color-mix(in srgb, var(--gold) 34%, transparent);background:var(--gold-soft);transform:translateY(-1px)}.today-mode-stack strong{font-size:.96rem}.today-mode-stack span{color:var(--dim);font-size:.72rem;font-weight:900}.today-focus-words{flex-wrap:wrap;flex:auto;gap:8px;min-width:0;display:flex}.today-focus-words span{border-radius:var(--radius);background:var(--control-bg);border:1px solid var(--line-soft);align-content:center;gap:2px;min-width:118px;min-height:56px;padding:8px 12px;display:grid}.today-focus-words strong{color:var(--gold);font:900 1.22rem var(--font-cn)}.today-focus-words small{color:var(--muted);font-size:.72rem;font-weight:850}.today-actions{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--control-bg);flex:0 min(520px,100%);min-width:0;padding:12px}.today-actions>div:first-child{min-width:0}.today-action-buttons{flex-wrap:wrap;flex:280px;justify-content:flex-end;gap:8px;min-width:0;display:flex}.today-action-buttons .btn-primary,.today-action-buttons .btn-secondary{flex:132px;min-width:min(100%,132px)}@media (width<=980px){.today-queue-head,.today-queue-bottom,.today-actions{flex-direction:column;align-items:stretch}.today-mode-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.today-actions,.today-action-buttons{width:100%}.today-action-buttons{justify-content:flex-start}}@media (width<=720px){.today-mode-stack{grid-template-columns:1fr}.today-focus-words{grid-template-columns:1fr;display:grid}.today-focus-words span{width:100%}}.home-command-grid,.home-workspace{gap:16px;display:grid}.home-command-grid{grid-template-columns:minmax(0,1.618fr) minmax(260px,1fr)}.home-workspace{grid-template-columns:minmax(0,1.618fr) minmax(300px,1fr)}.home-plan-card{flex-direction:column;justify-content:space-between;gap:18px;min-height:230px;display:flex}.home-plan-card h2,.home-selector-card h2,.home-flow-card h2{letter-spacing:0;text-wrap:balance;margin:6px 0 0;font-size:1.7rem;line-height:1.2}.home-plan-card p,.home-ring-card p{color:var(--muted);max-width:620px;margin:8px 0 0;line-height:1.65}.mission-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mission-strip span{border-radius:var(--radius);background:var(--control-bg);border:1px solid var(--line-soft);min-height:72px;color:var(--dim);flex-direction:column;justify-content:center;gap:4px;padding:12px;font-size:.76rem;font-weight:800;display:flex}.mission-strip strong{color:var(--text);font-size:1.05rem}.home-ring-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:230px;display:flex}.home-ring{width:142px}.section-title-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.mini-level-grid,.mini-type-grid{gap:10px;display:grid}.mini-level-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.mini-type-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:10px}.mini-level-grid button,.mini-type-grid button{border-radius:var(--radius);border:1px solid var(--line-soft);min-height:46px;color:var(--muted);background:var(--control-bg);cursor:pointer;font-weight:900;transition:transform .17s,border-color .17s,background .17s,color .17s}.mini-type-grid button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.mini-level-grid button:hover,.mini-type-grid button:hover,.mini-level-grid button.active,.mini-type-grid button.active{color:var(--text);border-color:color-mix(in srgb, var(--gold) 32%, transparent);background:var(--gold-soft)}.mini-level-grid button:hover,.mini-type-grid button:hover{transform:translateY(-1px)}.home-flow-card{min-height:260px}.path-list{flex-direction:column;gap:12px;margin-top:18px;display:flex}.path-list div{border-radius:var(--radius);background:var(--control-bg);border:1px solid var(--line-soft);grid-template-columns:36px minmax(0,1fr);align-items:center;gap:12px;min-height:58px;padding:10px;display:grid}.path-list strong{aspect-ratio:1;width:34px;color:var(--gold);background:var(--gold-soft);border:1px solid var(--line);border-radius:50%;place-items:center;display:grid}.path-list span{color:var(--muted);font-weight:800;line-height:1.45}.core-focus-card{justify-content:space-between;align-items:center;gap:18px;display:flex}.level-grid,.quiz-type-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.level-card,.quiz-type-card{background:var(--box-bg);border:1px solid var(--box-border);border-radius:var(--radius);color:var(--text);cursor:pointer;text-align:left;transition:all .16s}.level-card{min-height:116px;padding:18px}.level-card span,.quiz-type-card span,.question-topline span{color:var(--dim);font-size:.76rem;font-weight:800;display:block}.level-card strong{font:900 2.6rem var(--font-cn);margin-top:8px;display:block}.level-card.active,.quiz-type-card.active{background:var(--box-selected-bg);border-color:var(--box-selected-border);color:var(--box-selected-text);box-shadow:var(--shadow-sm)}.quiz-type-card{flex-direction:column;gap:10px;min-height:148px;padding:18px;display:flex}.quiz-type-card svg{color:var(--gold)}.quiz-type-card strong{font-size:1.08rem}.quiz-type-card span{line-height:1.45}.lesson-start-card,.quiz-setup{justify-content:space-between;align-items:center;gap:18px;display:flex}.setup-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}select{min-height:42px;color:var(--text);background:var(--control-bg);border:1px solid var(--line);border-radius:var(--radius);outline:none;padding:0 12px}select:focus{border-color:color-mix(in srgb, var(--gold) 45%, transparent)}input,textarea{color:var(--text);background:var(--control-bg)}.quiz-strategy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.quiz-strategy-card{min-height:132px;color:var(--muted);text-align:left;cursor:pointer;border-color:var(--line-soft);align-content:start;gap:8px;padding:16px;display:grid}.quiz-strategy-card span{color:var(--gold);text-transform:uppercase;font-size:.74rem;font-weight:900}.quiz-strategy-card strong{color:var(--text);text-wrap:balance;font-size:1.28rem;line-height:1.18}.quiz-strategy-card small{color:var(--muted);font-size:.8rem;font-weight:800;line-height:1.5}.quiz-strategy-card.active{color:var(--text);background:linear-gradient(135deg, var(--gold-soft), transparent 42%), var(--surface-sheen), var(--paper-strong);border-color:color-mix(in srgb, var(--gold) 38%, transparent)}.quiz-strategy-card:disabled{cursor:default;opacity:.72}.quiz-strategy-strip{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--control-bg);justify-content:space-between;align-items:center;gap:12px;margin:-4px 0 14px;padding:9px 11px;display:flex}.quiz-strategy-strip span{color:var(--gold);text-transform:uppercase;font-size:.74rem;font-weight:900}.quiz-strategy-strip small{color:var(--muted);font-size:.76rem;font-weight:850}.review-item small{color:var(--dim);font-size:.76rem;font-weight:850;line-height:1.45}.question-card{will-change:transform, opacity;width:100%;max-width:980px;animation:.24s both questionIn}.question-card.is-advancing{opacity:.96;transform:translateY(-2px)scale(.995)}@keyframes questionIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.empty-state{flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;min-height:300px;display:flex}.empty-state svg{color:var(--gold)}.empty-state h2{margin:0;font-size:clamp(1.5rem,3vw,2.4rem)}.empty-state p{max-width:520px;color:var(--muted);margin:0 0 10px;line-height:1.65}.spin{animation:.9s linear infinite spin}.tab-loading{min-height:240px;color:var(--muted);justify-content:center;align-items:center;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.question-topline{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.question-topline strong{aspect-ratio:1;width:38px;color:var(--gold);background:var(--gold-soft);border:1px solid var(--line);border-radius:50%;place-items:center;display:grid}.quiz-progress{background:var(--track-bg);border:1px solid color-mix(in srgb, var(--gold) 18%, transparent);border-radius:999px;height:8px;margin:-4px 0 20px;overflow:hidden}.quiz-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--gold), var(--jade));height:100%;transition:width .26s;display:block}.audio-panel{border-radius:var(--radius);background:var(--control-bg);border:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:14px;margin:8px 0 18px;padding:14px;display:flex}.voice-meta{border:1px solid var(--line-soft);width:fit-content;color:var(--jade);background:var(--jade-soft);border-radius:999px;margin-top:6px;padding:4px 7px;font-size:.68rem;font-weight:900;line-height:1.2;display:inline-flex}.voice-meta--loading,.voice-meta--fallback,.voice-meta--none,.voice-meta--network{color:var(--gold);background:var(--gold-soft)}.audio-panel--error{border-color:color-mix(in srgb, var(--danger,#c44) 55%, transparent)}.audio-native{border-radius:10px;width:100%;margin-top:.65rem}.audio-panel--focus{background:linear-gradient(135deg, var(--jade-soft), var(--gold-soft));border-color:color-mix(in srgb, var(--jade) 30%, transparent)}.audio-panel p{color:var(--muted);margin:4px 0 0;font-size:.84rem;font-weight:800}.audio-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.question-card h2{overflow-wrap:anywhere;-webkit-user-select:none;user-select:none;margin-bottom:18px;font-size:1.82rem;line-height:1.22}.option-grid{-webkit-user-select:none;user-select:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.option-grid button{border-radius:var(--radius);border:1px solid var(--line-soft);min-height:68px;color:var(--text);background:var(--control-bg);text-align:left;cursor:pointer;overflow-wrap:anywhere;align-items:center;gap:12px;padding:14px 16px;transition:transform .17s,border-color .17s,background .17s,color .17s,opacity .17s;display:flex}.option-grid button span{width:28px;min-width:28px;height:28px;color:var(--gold);background:var(--gold-soft);border:1px solid var(--line);border-radius:50%;place-items:center;font-weight:900;display:grid}.option-grid button.selected{border-color:color-mix(in srgb, var(--jade) 52%, transparent);background:var(--jade-soft);color:var(--selected-text);transform:translateY(-1px)scale(1.01)}.option-grid button:disabled{cursor:default}.option-grid button.muted-option{opacity:.42}.option-grid button.selected span{color:var(--selected-text);background:color-mix(in srgb, var(--jade) 28%, transparent);border-color:color-mix(in srgb, var(--jade) 52%, transparent)}.auto-next-hint{color:var(--dim);margin:14px 0 0;font-size:.82rem;font-weight:800}.submit-next{margin-top:18px}.result-card{flex-direction:column;justify-content:center;align-items:flex-start;min-height:360px;display:flex}.result-card,.review-item,.progress-panel,.home-plan-card,.home-ring-card,.home-selector-card,.home-flow-card{animation:.26s both softRise}.result-card h1{text-wrap:balance;margin-top:8px;font-size:3.2rem;line-height:1.08}.result-summary{align-items:baseline;gap:10px;margin:22px 0;display:flex}.result-summary strong{color:var(--gold);font-size:clamp(3rem,8vw,6rem);line-height:.9}.result-summary span{color:var(--muted);font-weight:800}.result-actions{flex-wrap:wrap;gap:10px;display:flex}.learning-session-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.session-intro-card{flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;min-height:360px;padding:clamp(20px,3vw,34px);display:flex}.session-intro-card h2{letter-spacing:0;text-wrap:balance;margin:0;font-size:2.6rem;line-height:1.1}.session-intro-card p{max-width:720px;color:var(--muted);margin:0;line-height:1.6}.session-pill-grid,.session-result-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;display:grid}.session-pill-grid span,.session-result-grid span{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--control-bg);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 10px;min-height:82px;padding:12px;display:grid}.session-pill-grid svg,.session-result-grid svg{color:var(--gold);grid-row:span 2}.session-pill-grid strong,.session-result-grid strong{color:var(--text);font-size:clamp(1.25rem,2.4vw,1.9rem);line-height:1}.session-pill-grid small,.session-result-grid small{color:#687076;font-size:.74rem;font-weight:900}.learning-question-card--repair{border-color:color-mix(in srgb, var(--cinnabar) 34%, var(--line));background:linear-gradient(135deg, var(--cinnabar-soft), transparent 34%), var(--surface-wash), var(--surface-sheen), var(--paper)}.repair-notice{border:1px solid color-mix(in srgb, var(--cinnabar) 34%, transparent);width:fit-content;color:var(--danger-text);background:var(--cinnabar-soft);border-radius:999px;align-items:center;gap:8px;margin-bottom:14px;padding:7px 10px;font-size:.78rem;font-weight:900;display:inline-flex}.feedback-panel{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--control-bg);margin-top:18px;padding:14px}.feedback-panel .feedback-assess{color:var(--gold);margin:0;font-size:.86rem;font-weight:900}.feedback-panel{gap:10px;display:grid}.feedback-panel--correct{border-color:color-mix(in srgb, var(--jade) 32%, transparent);background:var(--jade-soft)}.feedback-panel--wrong{border-color:color-mix(in srgb, var(--cinnabar) 34%, transparent);background:var(--cinnabar-soft)}.feedback-head{align-items:center;gap:8px;display:flex}.feedback-head svg{color:var(--gold)}.feedback-head strong{font-size:1rem}.feedback-head span{color:var(--muted);margin-left:auto;font-size:.78rem;font-weight:900}.feedback-panel p,.feedback-panel small{color:var(--muted);margin:0;font-weight:800;line-height:1.55}.feedback-panel small{color:var(--text)}.feedback-panel .btn-primary{width:fit-content}.feedback-error-tag{border-radius:var(--radius);color:var(--text);background:color-mix(in srgb, var(--cinnabar) 14%, transparent);border:1px solid color-mix(in srgb, var(--cinnabar) 30%, transparent);padding:7px 11px;font-size:.82rem;font-style:normal;font-weight:850;line-height:1.5;display:block}.feedback-error-tag strong{color:var(--cinnabar);font-weight:950}.result-narrative{gap:9px;margin:0;padding:0;list-style:none;display:grid}.result-narrative li{color:var(--text);align-items:center;gap:9px;font-weight:820;line-height:1.5;display:flex}.result-narrative li svg{color:var(--gold);flex:none}.result-narrative strong{color:var(--gold);font-weight:950}.word-encode-card{border-radius:var(--radius);background:color-mix(in srgb, var(--gold) 7%, transparent);border:1px solid color-mix(in srgb, var(--gold) 22%, transparent);gap:10px;margin-top:4px;padding:12px 14px;display:grid}.word-encode-hero{align-items:center;gap:14px;display:flex}.word-encode-hanzi{font-family:var(--font-cn);color:var(--text);font-size:2.6rem;font-weight:700;line-height:1}.word-encode-meta{gap:3px;display:grid}.word-encode-pinyin{letter-spacing:.01em;font-size:1.15rem;font-weight:850}.word-encode-meaning{color:var(--muted);font-size:.92rem;font-weight:750}.word-encode-hint{color:var(--text);margin:0;font-size:.84rem;font-weight:700;line-height:1.5}.word-encode-confuse{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.word-encode-confuse small{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.74rem;font-weight:800}.word-encode-confuse span{font-family:var(--font-cn);color:var(--cinnabar);font-size:1.15rem;font-weight:700}.toned-pinyin{flex-wrap:wrap;gap:6px;display:inline-flex}.toned-pinyin .tone-1{color:#d11a2a}.toned-pinyin .tone-2{color:#2e8b57}.toned-pinyin .tone-3{color:#1f6feb}.toned-pinyin .tone-4{color:#8957e5}.toned-pinyin .tone-5{color:var(--muted)}.session-result-card{gap:14px}.chinese-practice-card{width:100%;max-width:980px;padding:clamp(18px,2.6vw,28px)}.character-card-body{grid-template-columns:minmax(132px,1fr) minmax(0,1.618fr);align-items:center;gap:18px;display:grid}.hanzi-hero{border:1px solid var(--line);border-radius:var(--radius);min-height:164px;color:var(--gold);background:var(--gold-soft);font:900 clamp(4rem, 10vw, 7rem) var(--font-cn);place-items:center;line-height:1;display:grid}.character-card-body h2,.practice-stack h2{letter-spacing:0;text-wrap:balance;margin:6px 0 0;font-size:2rem;line-height:1.18}.practice-stack h2 small{color:var(--dim);font-size:.9rem}.character-card-body p,.practice-stack p{color:var(--muted);margin:10px 0 0;line-height:1.6}.metadata-strip{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.metadata-strip span{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--control-bg);align-content:center;gap:3px;min-width:112px;min-height:58px;padding:9px 11px;display:grid}.metadata-strip strong{color:var(--text);font-weight:900}.metadata-strip small{color:var(--dim);font-size:.72rem;font-weight:900}.practice-stack{gap:12px;display:grid}.tone-option-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.tone-option-grid button{border:1px solid var(--line-soft);border-radius:var(--radius);min-height:70px;color:var(--text);background:var(--control-bg);cursor:pointer;font-size:1.1rem;font-weight:900;transition:transform .17s,border-color .17s,background .17s}.tone-option-grid button:hover{border-color:color-mix(in srgb, var(--gold) 34%, transparent);background:var(--gold-soft);transform:translateY(-1px)}.practice-input,.practice-textarea{border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--text);background:var(--control-bg);font:inherit;outline:none}.practice-input{min-height:48px;padding:0 13px}.practice-textarea{resize:vertical;min-height:112px;padding:12px 13px;line-height:1.5}.practice-input:focus,.practice-textarea:focus{border-color:color-mix(in srgb, var(--gold) 44%, transparent)}.practice-input:focus-visible,.practice-textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.vocab-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.vocab-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.vocab-count{border:1px solid var(--line-soft);min-height:34px;color:var(--jade);background:var(--jade-soft);border-radius:999px;align-items:center;padding:4px 10px;font-size:.74rem;font-weight:900;display:inline-flex}.search-box,.chat-input-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--control-bg);align-items:center;gap:8px;min-height:42px;padding:0 10px;display:flex}.search-box svg{color:var(--gold);flex-shrink:0}.search-box input,.chat-input-row input,.plan-form input{width:100%;min-width:0;font:inherit;border:0;outline:0}.chat-input-row:focus-within,.plan-form input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.vocab-workspace,.apply-grid,.plan-grid{grid-template-columns:minmax(300px,1fr) minmax(0,1.618fr);gap:18px;display:grid}.vocab-list-panel{align-content:start;gap:8px;max-height:680px;padding:12px;display:grid;overflow:auto}.vocab-list-panel button{border:1px solid var(--line-soft);border-radius:var(--radius);min-height:68px;color:var(--text);background:var(--control-bg);cursor:pointer;text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 10px;padding:10px;display:grid}.vocab-list-panel button.active,.vocab-list-panel button:hover{border-color:color-mix(in srgb, var(--gold) 34%, transparent);background:var(--gold-soft)}.vocab-list-panel strong{color:var(--gold);font:900 1.45rem var(--font-cn);grid-row:span 2}.vocab-list-panel span,.vocab-list-panel small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vocab-detail-panel,.apply-panel,.chat-panel,.plan-form,.plan-preview{padding:clamp(18px,2.6vw,28px)}.vocab-detail-main{grid-template-columns:minmax(156px,1fr) minmax(0,1.618fr);align-items:start;gap:18px;display:grid}.vocab-detail-main h2,.plan-preview h2{letter-spacing:0;text-wrap:balance;margin:6px 0 0;font-size:2rem;line-height:1.18}.apply-panel h2{letter-spacing:0;overflow-wrap:anywhere;text-wrap:balance;margin:8px 0 0;font-size:1.86rem;line-height:1.2}.vocab-detail-main p,.apply-panel p,.plan-preview p{color:var(--muted);line-height:1.6}blockquote{border-left:3px solid var(--gold);color:var(--text);background:var(--control-bg);border-radius:var(--radius);margin:14px 0;padding:12px;line-height:1.55}blockquote small{color:var(--muted);margin-top:6px;display:block}.vocab-metadata-strip{margin-top:14px}.radical-strip{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;margin-top:14px;display:grid}.radical-strip span{border-radius:var(--radius);background:var(--control-bg);align-content:center;gap:4px;min-height:62px;padding:10px 12px;display:grid}.radical-strip strong{color:var(--gold);font:900 1.35rem var(--font-cn);line-height:1}.radical-strip small,.radical-note{color:var(--muted);font-size:.82rem;line-height:1.5}.radical-note{margin:10px 0 0}.vocab-example-list{gap:8px;margin-top:14px;display:grid}.vocab-example-list blockquote{margin:0}.handwriting-panel{border-top:1px solid var(--line-soft);gap:10px;margin-top:16px;padding-top:16px;display:grid}.handwriting-panel h3{font:900 1.6rem var(--font-cn);margin:4px 0 0}.handwriting-panel canvas{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(90deg, transparent 49.6%, var(--line-soft) 50%, transparent 50.4%), linear-gradient(0deg, transparent 49.6%, var(--line-soft) 50%, transparent 50.4%), var(--control-bg);touch-action:none;width:100%;height:220px}.target-word-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.target-word-row span{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--control-bg);gap:2px;min-width:92px;padding:9px 11px;display:grid}.target-word-row strong{color:var(--gold);font:900 1.25rem var(--font-cn)}.target-word-row small{color:var(--dim);font-size:.72rem;font-weight:900}.chat-panel{grid-template-rows:auto minmax(220px,auto) auto;gap:12px;display:grid}.chat-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.chat-log{flex-direction:column;gap:8px;min-height:220px;max-height:360px;display:flex;overflow:auto}.chat-bubble{border:1px solid var(--line-soft);border-radius:var(--radius);max-width:86%;margin:0;padding:10px 12px;line-height:1.5}.chat-bubble--assistant{color:var(--muted);background:var(--control-bg);align-self:flex-start}.chat-bubble--user{color:var(--selected-text);background:var(--jade-soft);border-color:color-mix(in srgb, var(--jade) 28%, transparent);align-self:flex-end}.chat-input-row{padding-right:0}.chat-input-row .btn-primary{min-width:44px;padding:0}.plan-form{gap:12px;display:grid}.plan-form label{color:var(--muted);gap:6px;font-size:.82rem;font-weight:900;display:grid}.plan-form label input{border:1px solid var(--line);border-radius:var(--radius);min-height:42px;padding:0 12px}.plan-form .toggle-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.plan-form .toggle-row input{width:18px;min-height:18px}.plan-form-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.plan-notify-hint{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.plan-notify-hint--warn{color:var(--cinnabar);font-weight:700}.vocab-load-error{text-align:center;color:var(--muted);flex-direction:column;gap:10px}.vocab-load-error svg{color:var(--cinnabar)}.result-review{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.progress-panel{grid-template-columns:minmax(164px,1fr) minmax(0,1.618fr);align-items:center;gap:24px;display:grid}.progress-ring{aspect-ratio:1;background:radial-gradient(circle at center, var(--paper-strong) 0 56%, transparent 57%), conic-gradient(var(--jade) var(--score), var(--ring-track) 0);border:1px solid color-mix(in srgb, var(--gold) 22%, transparent);border-radius:50%;align-content:center;place-items:center;width:164px;display:grid;box-shadow:inset 0 0 30px #1fb89114}.progress-ring strong{font-size:1.8rem;line-height:1}.progress-ring span{color:var(--muted);margin-top:6px;font-size:.76rem;font-weight:800}.progress-copy h2{text-wrap:balance;margin:6px 0 0;font-size:1.9rem;line-height:1.2}.progress-copy p{color:var(--muted);max-width:620px;margin:10px 0 0;line-height:1.65}.review-item{flex-direction:column;gap:8px;display:flex}.review-state{border-radius:999px;align-items:center;gap:7px;width:fit-content;padding:5px 9px;font-size:.76rem;font-weight:900;display:inline-flex}.review-item.correct .review-state{color:var(--jade);background:var(--jade-soft);border:1px solid color-mix(in srgb, var(--jade) 30%, transparent)}.review-item.wrong .review-state{color:var(--danger-text);background:var(--cinnabar-soft);border:1px solid color-mix(in srgb, var(--cinnabar) 34%, transparent)}.review-item strong{line-height:1.45}.review-item p{color:var(--muted);margin:0;line-height:1.55}@media (width<=980px){.core-stats-grid,.level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-type-grid,.mini-type-grid,.quiz-strategy-grid,.home-command-grid,.home-workspace{grid-template-columns:1fr}.mini-level-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-start-card,.quiz-setup,.core-focus-card,.learning-session-head{flex-direction:column;align-items:stretch}.setup-controls{justify-content:flex-start}.result-review{grid-template-columns:1fr}.session-pill-grid,.session-result-grid,.tone-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-card-body,.progress-panel{grid-template-columns:1fr}.vocab-head{flex-direction:column;align-items:stretch}.vocab-controls{justify-content:flex-start}.vocab-workspace,.apply-grid,.plan-grid,.vocab-detail-main{grid-template-columns:1fr}}@media (width<=720px){.core-hero{grid-template-columns:1fr;min-height:auto}.core-seal{width:82px}.core-stats-grid,.level-grid,.option-grid,.mission-strip,.mini-level-grid,.mini-type-grid,.quiz-strategy-grid,.session-pill-grid,.session-result-grid,.tone-option-grid{grid-template-columns:1fr}.feedback-head{flex-direction:column;align-items:flex-start}.feedback-head span{margin-left:0}.section-title-row{flex-direction:column}.audio-panel{flex-direction:column;align-items:stretch}.audio-actions{justify-content:flex-start}}.focus-controls{gap:12px;display:grid}.learning-mode-toggle{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--control-bg);gap:4px;width:fit-content;padding:4px;display:inline-flex}.learning-mode-toggle button{border-radius:calc(var(--radius) - 4px);color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px 16px;font-size:.84rem;font-weight:700;transition:background .17s,color .17s}.learning-mode-toggle button.active{color:var(--text);background:var(--gold-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 36%, transparent)}.topic-grid button{border:1px solid var(--line-soft);color:var(--muted);background:var(--control-bg);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:600;transition:transform .17s,border-color .17s,background .17s,color .17s}.topic-grid button:hover,.topic-grid button.active{color:var(--text);border-color:color-mix(in srgb, var(--gold) 36%, transparent);background:var(--gold-soft);transform:translateY(-1px)}.focus-actions{flex-wrap:wrap;gap:10px;display:flex}.general-check-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.general-result-card{min-height:320px}@media (width<=980px){.general-check-head{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=720px){.core-hero h1{font-size:2.18rem}.core-hero--compact h1{font-size:2rem}.core-section-head h1,.lesson-start-card h2,.core-focus-card h2,.today-queue-head h2,.question-card h2,.vocab-detail-main h2,.plan-preview h2,.apply-panel h2,.progress-copy h2{font-size:1.52rem}.result-card h1{text-wrap:balance;margin-top:8px;font-size:3.2rem;line-height:1.08}.session-intro-card h2{font-size:2.05rem}.hide-mobile{display:none!important}.core-eyebrow,.auto-next-hint,.core-section-head p,.empty-state p{display:none}.core-card{padding:14px}.question-card h2{margin-bottom:12px;font-size:1.28rem}.quiz-strategy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quiz-strategy-card{text-align:center;min-height:auto;padding:10px 8px}.quiz-strategy-card span{font-size:.82rem}.quiz-strategy-strip{flex-direction:column;align-items:flex-start}.lesson-start-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-start-card h2{margin:0;font-size:1.1rem}.quiz-type-card span{display:none}.quiz-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.audio-panel--compact{gap:10px;margin:0 0 14px;padding:12px;display:grid}.audio-play-btn{justify-content:center;width:100%}.audio-error-text{color:var(--cinnabar);margin:0;font-size:.78rem;font-weight:700}.today-action-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.today-action-buttons .btn-primary{grid-column:1/-1}.focus-actions{gap:8px;display:grid}.focus-actions .btn-primary,.focus-actions .btn-secondary{justify-content:center;width:100%}.setup-controls{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.setup-controls .btn-primary{grid-column:1/-1}.strategy-quiz-setup{gap:12px}.strategy-quiz-setup h1{margin:0;font-size:1.2rem}.repair-notice{padding:8px 10px;font-size:.82rem}.feedback-panel p{font-size:.88rem}.review-item small{display:none}}.auth-gate{--u-void:#040208;--u-card-bg:#080514ad;--u-card-border:#8b5cf652;--u-card-border-active:#06b6d466;--u-violet:#7c3aed;--u-cobalt:#2563eb;--u-cyan:#06b6d4;--u-cyan-hi:#00e5ff;--u-magenta:#ec4899;--u-gold:#ffc24b;--u-text:#f1f5f9;--u-text-soft:#c8dcffd9;--u-label:#c0dbfff2;--u-danger:#ff8fa3;place-items:center;min-height:100dvh;padding:24px 16px;display:grid}:root:not([data-theme=dark]) .auth-gate{--u-void:#12122e;--u-card-bg:#1e1b3ab8;--u-card-border:#8b5cf657;--u-card-border-active:#38bdf86b;--u-violet:#8b5cf6;--u-cobalt:#f59e0b;--u-cyan:#38bdf8;--u-cyan-hi:#38bdf8;--u-magenta:#fb7185}.auth-gate .mythical-art-bg{mix-blend-mode:normal!important;opacity:.7!important;filter:brightness(.9)contrast(1.1)!important;background-image:url(/sky-dome.png)!important;background-position:50%!important;background-size:cover!important}[data-theme=dark] .auth-gate .mythical-art-bg{mix-blend-mode:screen!important;opacity:.55!important;filter:brightness(.7)contrast(1.15)!important;background-image:url(/sky-dome.png)!important}.auth-gate__loading{color:var(--gold);place-items:center;display:grid}.auth-gate__card{gap:20px;width:min(420px,100%);padding:28px 24px;display:grid}.auth-gate__card--glass{gap:22px;width:min(420px,100%);padding:32px 28px;animation:8s ease-in-out infinite glassGlowPulse;display:grid;background:var(--u-card-bg)!important;-webkit-backdrop-filter:blur(25px)saturate(1.8)!important;border:1px solid var(--u-card-border)!important;color:var(--u-text)!important;border-radius:20px!important;box-shadow:0 24px 60px #000c,0 0 40px #7c3aed29,0 0 80px #2563eb14,inset 0 1px 1px #ffffff1f!important}.auth-gate__card--glass .auth-gate__brand h1{text-shadow:0 0 12px #ffffff26;color:#fff!important;font-weight:800!important}.auth-gate__card--glass .auth-gate__brand p{color:var(--u-text-soft)!important}.auth-gate__card--glass .auth-form label{color:var(--u-label)!important;text-transform:uppercase!important;letter-spacing:.08em!important;flex-direction:column!important;gap:6px!important;font-size:.82rem!important;font-weight:700!important;display:flex!important}.auth-gate__card--glass .auth-form input{color:#fff!important;background:#06040f8c!important;border:1px solid #8b5cf652!important;border-radius:12px!important;padding:12px 16px!important;font-size:.95rem!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;box-shadow:inset 0 2px 4px #0006!important}.auth-gate__card--glass .auth-form input:focus{transform:translateY(-1px);border-color:var(--u-cyan)!important;background:#06040fb3!important;box-shadow:0 0 15px #06b6d44d,inset 0 2px 4px #0006!important}.auth-gate__card--glass .auth-form input:focus:not(:focus-visible){outline:none!important}.auth-gate__card--glass .auth-form input:focus-visible{outline:2px solid var(--u-cyan-hi)!important;outline-offset:2px!important}.auth-gate__card--glass .auth-form__submit{background:linear-gradient(135deg, var(--u-violet), var(--u-cobalt))!important;color:#fff!important;text-transform:uppercase!important;letter-spacing:.06em!important;cursor:pointer!important;border:none!important;border-radius:12px!important;justify-content:center!important;align-items:center!important;gap:8px!important;margin-top:10px!important;padding:14px 20px!important;font-size:1rem!important;font-weight:700!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;display:flex!important;box-shadow:0 6px 20px #7c3aed73!important}.auth-gate__card--glass .auth-form__submit:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf6,#3b82f6)!important;transform:translateY(-2px)!important;box-shadow:0 8px 26px #7c3aeda6,0 0 18px #06b6d466!important}.auth-gate__card--glass .auth-form__submit:active:not(:disabled){transform:translateY(0)!important;box-shadow:0 3px 12px #7c3aed66!important}.auth-gate__card--glass .auth-form__submit:disabled{opacity:.6!important;cursor:not-allowed!important}.auth-gate__card--glass .auth-modal__switch{color:#a0c8e6b3!important;margin-top:6px!important}.auth-gate__card--glass .auth-modal__switch button{color:var(--u-cyan-hi)!important;cursor:pointer!important;background:0 0!important;border:none!important;padding:0!important;font-weight:700!important;text-decoration:none!important;transition:all .2s!important}.auth-gate__card--glass .auth-modal__switch button:hover{color:#fff!important;text-shadow:0 0 8px #00e5ffb3!important}.auth-gate__card--glass .auth-form__submit:focus-visible,.auth-gate__card--glass .auth-modal__switch button:focus-visible{outline:2px solid var(--u-cyan-hi)!important;outline-offset:3px!important}.auth-gate__vignette{pointer-events:none;z-index:1;position:absolute;inset:0;background:radial-gradient(circle,#0000 30%,#05030a73 70%,#040208f5 100%)!important}@keyframes glassGlowPulse{0%,to{box-shadow:0 24px 60px #000c,0 0 35px #7c3aed1f,0 0 70px #2563eb0d,inset 0 1px 1px #ffffff1f;border-color:#8b5cf652!important}50%{box-shadow:0 24px 60px #000c,0 0 45px #06b6d42e,0 0 80px #7c3aed14,inset 0 1px 1px #ffffff26;border-color:#06b6d466!important}}@media (prefers-reduced-motion:reduce){.auth-gate__card--glass{animation:none!important}}.auth-gate__brand{text-align:center;justify-items:center;gap:8px;display:grid}.auth-gate__brand img{border-radius:var(--radius);object-fit:cover;width:64px;height:64px}.auth-gate__brand h1{margin:0;font-size:1.35rem}.auth-gate__brand p{color:var(--muted);margin:0;font-size:.9rem}.auth-gate__brand p.auth-gate__slogan{letter-spacing:.03em;background:linear-gradient(120deg, var(--gold), var(--primary-start) 55%, var(--gold));-webkit-text-fill-color:transparent;color:var(--gold);-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:800;line-height:1.3}.auth-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14131373;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.auth-modal{gap:16px;width:min(420px,100%);padding:24px;display:grid}.auth-modal__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.auth-modal__header h3{margin:0;font-size:1.15rem}.auth-modal__close{background:var(--control-bg);border-radius:var(--radius);cursor:pointer;width:34px;height:34px;color:var(--muted);border:none;place-items:center;display:grid}.auth-form{gap:12px;display:grid}.auth-form label{color:var(--muted);gap:6px;font-size:.88rem;display:grid}.auth-form input{border:1px solid var(--line);border-radius:var(--radius);background:var(--control-bg);color:var(--text);font:inherit;padding:10px 12px}.password-input{display:block;position:relative}.password-input input{width:100%;padding-right:40px}.auth-gate__card--glass .password-input input{padding-right:44px!important}.password-input__toggle{color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-input__toggle:hover{color:var(--text)}.auth-form__error{color:var(--danger-text);margin:0;font-size:.88rem}.auth-gate__card--glass .auth-form__error{color:var(--u-danger)!important}.auth-form__submit{justify-content:center;gap:8px;width:100%}.auth-modal__switch{text-align:center;color:var(--muted);margin:0;font-size:.88rem}.auth-modal__switch button{color:var(--gold);cursor:pointer;font:inherit;background:0 0;border:none;font-weight:600}.auth-form__forgot{text-align:right;margin:-4px 0 0}.auth-form__forgot button{color:var(--gold);cursor:pointer;font:inherit;background:0 0;border:none;font-size:.82rem;font-weight:600}.auth-form__hint{color:var(--muted);margin:0 0 4px;font-size:.88rem;line-height:1.5}.auth-form__sent{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;line-height:1.55;display:flex}.auth-form__sent-icon{color:var(--jade,#3ba776)}.auth-controls{align-items:center;gap:8px;display:flex}.auth-controls--loading{color:var(--muted)}.auth-user{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.85rem;overflow:hidden}.auth-btn{border:1px solid var(--line);border-radius:var(--radius);background:var(--control-bg);color:var(--text);font:inherit;cursor:pointer;align-items:center;gap:6px;padding:7px 12px;font-size:.85rem;display:inline-flex}.auth-btn--primary{background:var(--gold);color:var(--primary-text);border-color:#0000}.leaderboard-page{gap:16px;display:grid}.leaderboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.leaderboard-header h3{align-items:center;gap:8px;margin:0 0 4px;display:flex}.leaderboard-subtitle{color:var(--muted);margin:0;font-size:.88rem}.leaderboard-tabs{background:var(--control-bg);border-radius:var(--radius);gap:6px;padding:4px;display:flex}.leaderboard-tabs button{color:var(--muted);border-radius:calc(var(--radius) - 2px);cursor:pointer;font:inherit;background:0 0;border:none;padding:8px 14px;font-size:.88rem}.leaderboard-tabs button.active{background:var(--paper);color:var(--text);box-shadow:var(--shadow)}.leaderboard-me{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px 18px;display:grid}.leaderboard-me span:first-child{color:var(--muted);font-size:.88rem}.leaderboard-optin{color:var(--muted);cursor:pointer;grid-column:1/-1;align-items:center;gap:8px;font-size:.88rem;display:flex}.leaderboard-guest,.leaderboard-empty{color:var(--muted);padding:18px}.leaderboard-loading{color:var(--muted);place-items:center;padding:40px;display:grid}.leaderboard-list{gap:8px;display:grid}.leaderboard-row{grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.leaderboard-row--me{border:1px solid var(--gold-soft);background:var(--gold-soft)}.leaderboard-row__info{gap:2px;display:grid}.leaderboard-row__info span{color:var(--muted);font-size:.82rem}.leaderboard-points{color:var(--gold);font-size:1.1rem}.rank-badge{place-items:center;width:32px;height:32px;font-size:.9rem;font-weight:700;display:grid}.rank-badge--gold{color:#d4a017}.rank-badge--silver{color:#9ca3af}.rank-badge--bronze{color:#b87333}.rank-badge--plain{color:var(--muted)}.profile-page{gap:16px;display:grid}.profile-header h3{align-items:center;gap:8px;margin:0 0 4px;display:flex}.profile-subtitle{color:var(--muted);margin:0;font-size:.88rem}.profile-guest{gap:12px;padding:18px;display:grid}.profile-guest p{color:var(--muted);margin:0}.profile-guest__actions{flex-wrap:wrap;gap:8px;display:flex}.profile-loading{color:var(--muted);place-items:center;padding:40px;display:grid}.profile-streak-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.profile-stat{gap:6px;padding:16px;display:grid}.profile-stat span{color:var(--muted);font-size:.82rem}.profile-stat strong{font-size:1.35rem}.profile-stat--gold svg{color:var(--gold)}.profile-stat--jade svg{color:var(--jade)}.profile-stat--porcelain svg{color:var(--porcelain)}.profile-streak-note{color:var(--muted);margin:0;font-size:.88rem}.profile-streak-note--active{color:var(--jade)}.profile-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.profile-summary-item{gap:4px;padding:14px 16px;display:grid}.profile-summary-item span{color:var(--muted);font-size:.82rem}.profile-summary-item strong{font-size:1.2rem}.profile-titles{gap:12px;display:grid}.profile-titles__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-titles__header h4{align-items:center;gap:8px;margin:0;display:flex}.profile-titles__header span{color:var(--muted);font-size:.85rem}.profile-titles__locked-label{color:var(--dim);margin:0;font-size:.82rem}.title-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.title-card{gap:4px;padding:14px 16px;display:grid}.title-card strong{font-size:.95rem}.title-card span{color:var(--muted);font-size:.82rem;line-height:1.4}.title-card--earned{border:1px solid var(--jade-soft);background:var(--jade-soft)}.title-card--locked{opacity:.72}.account-section{gap:12px;margin-top:12px;padding:16px 18px;display:grid}.account-section__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.account-section__header h4{align-items:center;gap:8px;margin:0;display:flex}.account-section__edit{min-height:34px;padding:0 12px;font-size:.85rem}.account-info{gap:8px;display:grid}.account-info__row{justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;display:flex}.account-info__row span{color:var(--muted)}.account-form{gap:12px;display:grid}.account-form label{color:var(--muted);gap:6px;font-size:.88rem;display:grid}.account-form input{border:1px solid var(--line);border-radius:var(--radius);background:var(--control-bg);color:var(--text);font:inherit;padding:10px 12px}.account-form__actions{flex-wrap:wrap;gap:8px;display:flex}.account-form__error{color:var(--danger-text);margin:0;font-size:.88rem}.account-form__success{color:var(--jade);margin:0;font-size:.88rem}.account-section--danger{border:1px solid color-mix(in srgb, var(--danger-text) 32%, var(--line))}.account-danger__intro{gap:10px;display:grid}.account-danger__intro p{color:var(--muted);margin:0;font-size:.9rem}.account-danger__warning{color:var(--danger-text);margin:0;font-size:.9rem;line-height:1.5}.btn-danger{border-radius:var(--radius);cursor:pointer;min-height:42px;font:inherit;color:#fff;background:var(--danger-text);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:800;transition:transform .18s,box-shadow .18s,opacity .18s;display:inline-flex}.btn-danger:hover:not(:disabled){box-shadow:0 12px 28px color-mix(in srgb, var(--danger-text) 30%, transparent);transform:translateY(-1px)}.btn-danger:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (width<=760px){.profile-streak-grid,.profile-summary-grid{grid-template-columns:1fr 1fr}}@media (width<=520px){.profile-streak-grid,.profile-summary-grid{grid-template-columns:1fr}}.skeleton{background:linear-gradient(90deg, var(--control-bg) 25%, var(--line-soft) 50%, var(--control-bg) 75%);border-radius:var(--radius);background-size:200% 100%;animation:1.4s ease-in-out infinite skeletonShimmer}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{border:1px solid var(--line);border-radius:var(--radius);min-height:180px;padding:clamp(18px,2.6vw,28px)}.skeleton-line{height:16px;margin-bottom:12px}.skeleton-line:last-child{margin-bottom:0}.skeleton-line--lg{width:70%;height:28px}.skeleton-line--md{width:90%;height:16px}.skeleton-line--sm{width:55%;height:12px}.skeleton-avatar{border-radius:50%;width:46px;height:46px;margin-bottom:14px}.achievement-toast-container{z-index:1000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:18px;right:18px}.achievement-toast{pointer-events:auto;border-radius:var(--radius);background:var(--paper-strong);border:1px solid var(--gold);align-items:flex-start;gap:12px;min-width:280px;max-width:380px;padding:14px 16px;animation:.38s cubic-bezier(.16,1,.3,1) both toastSlideIn;display:flex;box-shadow:0 8px 32px #c08a2d2e}.achievement-toast--exit{animation:.26s ease-in forwards toastSlideOut}@keyframes toastSlideIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}.achievement-toast-icon{background:var(--gold-soft);width:42px;height:42px;color:var(--gold);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.achievement-toast-body strong{color:var(--text);font-size:.92rem;display:block}.achievement-toast-body small{color:var(--muted);margin-top:3px;font-size:.78rem;line-height:1.45;display:block}.streak-banner{border-radius:var(--radius);background:linear-gradient(135deg, var(--gold-soft), var(--jade-soft));border:1px solid color-mix(in srgb, var(--gold) 32%, transparent);align-items:center;gap:14px;padding:14px 18px;animation:.26s both softRise;display:flex}.streak-banner-icon{background:var(--gold);color:#fff;border-radius:50%;place-items:center;width:46px;height:46px;font-size:1.2rem;display:grid}.streak-banner-body strong{color:var(--text);font-size:1.05rem;display:block}.streak-banner-body small{color:var(--muted);margin-top:2px;font-size:.82rem;display:block}.confetti-canvas{pointer-events:none;z-index:999;width:100%;height:100%;position:fixed;inset:0}.drag-drop-zone{border:2px dashed var(--line);border-radius:var(--radius);background:var(--control-bg);flex-wrap:wrap;gap:8px;min-height:56px;padding:12px;transition:border-color .18s,background .18s;display:flex}.drag-drop-zone--over{border-color:var(--jade);background:var(--jade-soft)}.drag-chip{background:var(--paper-strong);border:1px solid var(--line);font-family:var(--font-cn);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;padding:6px 12px;font-size:1.05rem;transition:transform .14s,box-shadow .14s;display:inline-flex}.drag-chip:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.drag-chip:active{cursor:grabbing;transform:scale(1.05)}.drag-chip--placed{background:var(--jade-soft);border-color:color-mix(in srgb, var(--jade) 40%, transparent)}.voice-record-btn{border:2px solid var(--cinnabar);background:var(--cinnabar-soft);width:72px;height:72px;color:var(--cinnabar);cursor:pointer;border-radius:50%;place-items:center;transition:transform .17s,box-shadow .17s,border-color .17s;display:grid}.voice-record-btn:hover{box-shadow:0 4px 20px var(--cinnabar-soft);transform:scale(1.06)}.voice-record-btn--recording{border-color:var(--cinnabar);background:var(--cinnabar);color:#fff;animation:1.2s ease-in-out infinite voicePulse}@keyframes voicePulse{0%,to{box-shadow:0 0 #c2402f66}50%{box-shadow:0 0 0 14px #c2402f00}}.voice-feedback{border-radius:var(--radius);background:var(--control-bg);border:1px solid var(--line-soft);margin-top:12px;padding:12px}.voice-feedback--good{border-color:color-mix(in srgb, var(--jade) 36%, transparent);background:var(--jade-soft)}.voice-feedback--needs-work{border-color:color-mix(in srgb, var(--cinnabar) 36%, transparent);background:var(--cinnabar-soft)}.pron-practice,.vchat{gap:16px;animation:.26s both softRise;display:grid}.pron-head h3,.vchat-head h3{letter-spacing:0;text-wrap:balance;margin:0;font-size:1.7rem;line-height:1.2}.pron-sub,.vchat-sub{color:var(--muted);margin:6px 0 0;font-size:.9rem;line-height:1.55}.vchat-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.vchat-model-chip{border:1px solid color-mix(in srgb, var(--jade) 30%, transparent);background:var(--jade-soft);color:var(--jade);font:800 .68rem var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;display:inline-flex}.ai-chat{grid-template-rows:auto minmax(360px,1fr) auto auto;gap:12px;width:min(100%,980px);min-height:min(74dvh,760px);margin-inline:auto;animation:.26s both softRise;display:grid}.ai-chat-header{gap:16px;padding:2px 2px 4px;display:grid}.ai-chat-heading{align-items:flex-start;gap:12px;display:flex}.ai-chat-mark{background:var(--jade-soft);width:38px;height:38px;color:var(--jade);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--jade) 28%, transparent);border-radius:11px;flex:none;place-items:center;margin-top:1px;display:grid}.ai-chat-title-line{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.ai-chat-title-line h3{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.1}.ai-chat-toolbar{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:13px;display:flex}.ai-chat-toolbar-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.ai-chat-clear,.ai-chat-settings-trigger{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;padding:7px 10px;font-size:.78rem;font-weight:750;transition:background .16s,color .16s,transform .16s;display:inline-flex}.ai-chat-clear:hover:not(:disabled),.ai-chat-settings-trigger:hover:not(:disabled),.ai-chat-settings-trigger.is-active{background:var(--control-bg);color:var(--text)}.ai-chat-clear:active:not(:disabled),.ai-chat-settings-trigger:active:not(:disabled){transform:scale(.98)}.ai-chat-clear:disabled{cursor:not-allowed;opacity:.38}.ai-chat-settings{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, var(--jade-soft));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--paper-strong) 70%, transparent);border-radius:15px;grid-template-columns:minmax(240px,1fr) auto minmax(180px,auto);align-items:center;gap:18px;padding:14px 16px;animation:.18s both softRise;display:grid}.ai-chat-settings-copy{align-items:center;gap:10px;min-width:0;display:flex}.ai-chat-settings-icon{background:var(--jade-soft);width:34px;height:34px;color:var(--jade);border-radius:10px;flex:none;place-items:center;display:grid}.ai-chat-settings-copy div{gap:2px;display:grid}.ai-chat-settings-copy strong{font-size:.84rem}.ai-chat-settings-copy div>span{color:var(--muted);font-size:.72rem;line-height:1.45}.ai-chat-toggle{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.ai-chat-toggle input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ai-chat-toggle>span{background:var(--line);border-radius:999px;width:38px;height:22px;transition:background .18s;position:relative}.ai-chat-toggle>span:after{content:"";background:var(--paper-strong);width:16px;height:16px;box-shadow:0 1px 4px color-mix(in srgb, var(--text) 18%, transparent);border-radius:50%;transition:transform .18s;position:absolute;top:3px;left:3px}.ai-chat-toggle input:checked+span{background:var(--jade)}.ai-chat-toggle input:checked+span:after{transform:translate(16px)}.ai-chat-toggle input:focus-visible+span{outline:3px solid var(--focus-ring);outline-offset:2px}.ai-chat-toggle b{min-width:58px;color:var(--muted);font-size:.76rem}.ai-chat-rate{gap:5px;display:grid}.ai-chat-rate>span{color:var(--muted);font-size:.68rem;font-weight:800}.ai-chat-rate select{border:1px solid var(--line);background:var(--control-bg);min-height:36px;color:var(--text);font:700 .76rem var(--font-ui);border-radius:9px;padding:0 30px 0 10px}.ai-chat-rate select:disabled{cursor:not-allowed;opacity:.45}.ai-chat-setting-status{border-top:1px solid var(--line-soft);color:var(--muted);flex-wrap:wrap;grid-column:1/-1;gap:8px 16px;padding-top:10px;font-size:.7rem;font-weight:700;display:flex}.ai-chat-setting-status .is-ready{color:var(--jade)}.ai-chat-setting-status .is-missing{color:var(--cinnabar)}.ai-chat-log{border:1px solid var(--line);background:radial-gradient(circle at 14% 0%, color-mix(in srgb, var(--jade) 5%, transparent), transparent 36%), var(--paper);min-height:360px;max-height:58dvh;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--paper-strong) 74%, transparent), var(--shadow);scrollbar-gutter:stable;border-radius:24px;flex-direction:column;gap:14px;padding:clamp(18px,3vw,30px);display:flex;position:relative;overflow-y:auto}.ai-chat-welcome{text-align:left;width:min(100%,560px);margin:auto;padding-block:clamp(34px,8vh,84px)}.ai-chat-welcome-kicker{color:var(--jade);font:800 .7rem var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;text-transform:uppercase}.ai-chat-welcome h4{letter-spacing:-.04em;text-wrap:balance;max-width:18ch;margin:10px 0 9px;font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.08}.ai-chat-welcome p{max-width:55ch;color:var(--muted);text-wrap:pretty;margin:0;font-size:.92rem;line-height:1.65}.ai-chat-error{border:1px solid color-mix(in srgb, var(--cinnabar) 36%, var(--line));background:var(--cinnabar-soft);color:var(--text);border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:.82rem;font-weight:700;display:flex}.ai-chat-error button{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.ai-chat-error button:hover{background:color-mix(in srgb, var(--cinnabar) 12%, transparent);color:var(--text)}.vchat-composer{gap:7px;display:grid}.vchat-composer-shell{border:1px solid var(--line);background:var(--paper);min-height:74px;box-shadow:var(--shadow);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:end;transition:border-color .16s,box-shadow .16s;display:grid}.vchat-composer-shell:focus-within{border-color:color-mix(in srgb, var(--jade) 60%, var(--line));box-shadow:0 0 0 3px var(--focus-ring), var(--shadow)}.vchat-composer-main{gap:4px;min-width:0;padding:12px 0 12px 16px;display:grid}.vchat-composer-eyebrow{color:var(--dim);font:800 .66rem var(--font-mono,ui-monospace, monospace);letter-spacing:.06em;text-transform:uppercase}.vchat-composer textarea{resize:vertical;width:100%;min-height:26px;max-height:110px;color:var(--text);font:500 1rem/1.45 var(--font-cn);background:0 0;border:0;outline:0;padding:0}.vchat-composer textarea::placeholder{color:var(--dim);opacity:.82}.vchat-composer textarea:disabled{cursor:wait;opacity:.72}.vchat-composer-actions{align-items:center;gap:8px;padding:10px;display:flex}.vchat-mic-button,.vchat-send-button{border:1px solid var(--line);background:var(--control-bg);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:12px;flex:none;place-items:center;padding:0;transition:transform .16s,border-color .16s,background .16s,color .16s;display:grid}.vchat-mic-button:hover:not(:disabled),.vchat-send-button:hover:not(:disabled){border-color:var(--jade);transform:translateY(-1px)}.vchat-mic-button:active:not(:disabled),.vchat-send-button:active:not(:disabled){transform:scale(.96)}.vchat-mic-button.is-recording{border-color:var(--cinnabar);background:var(--cinnabar-soft);color:var(--cinnabar);animation:1.6s ease-in-out infinite recPulse}.vchat-send-button:not(:disabled){background:var(--jade);color:var(--selected-text);border-color:#0000}.vchat-mic-button:disabled,.vchat-send-button:disabled{cursor:not-allowed;opacity:.4}.vchat-recording-time{min-width:38px;color:var(--cinnabar);font:800 .76rem var(--font-mono,ui-monospace, monospace);font-variant-numeric:tabular-nums}.vchat-composer-meta{color:var(--dim);justify-content:space-between;gap:12px;padding:0 4px;font-size:.72rem;display:flex}.vchat-engine-note{color:var(--muted);margin:-2px 3px 0;font-size:.78rem;font-weight:650;line-height:1.5}.pron-levels{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.level-button{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--control-bg);min-height:60px;color:var(--muted);cursor:pointer;align-content:center;place-items:center;gap:2px;transition:transform .17s,border-color .17s,background .17s,color .17s,box-shadow .17s;display:grid}.level-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--gold) 32%, transparent);background:var(--gold-soft);color:var(--text);transform:translateY(-1px)}.level-button:disabled{cursor:not-allowed;opacity:.55}.level-button-tag{letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:900}.level-button-num{font:900 1.5rem var(--font-cn);line-height:1}.level-button.active{color:var(--primary-text);background:linear-gradient(135deg, var(--primary-start), var(--primary-end));border-color:#0000;box-shadow:0 10px 24px #1f8a7042}.level-button span{letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:900}.level-button strong{font:900 1.5rem var(--font-cn);line-height:1}.pron-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);justify-items:center;gap:12px;padding:clamp(20px,3vw,32px);display:grid;position:relative}.pron-hanzi{font:700 clamp(3rem, 8vw, 4.6rem) var(--font-cn);color:var(--text);text-align:center;line-height:1.05}.pron-pinyin{color:var(--jade);font-size:1.2rem;font-weight:850}.pron-meaning{color:var(--muted);text-align:center;font-weight:750}.pron-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px;display:flex}.pron-warn,.vchat-warn{color:var(--gold);text-align:center;margin:0;font-size:.82rem;font-weight:800}.pron-wave{justify-content:center;align-items:center;gap:3px;width:100%;max-width:360px;height:48px;display:flex}.pron-wave-bar{background:var(--cinnabar);opacity:.5;border-radius:999px;width:4px;height:20%}.pron-wave.is-active .pron-wave-bar{animation:1s ease-in-out infinite waveBar;animation-delay:calc(var(--bar-index) * 60ms);opacity:1}@keyframes waveBar{0%,to{height:18%}50%{height:92%}}.pron-rings{flex-wrap:wrap;justify-content:center;gap:18px;width:100%;display:flex}.score-ring{justify-items:center;gap:8px;display:grid}.score-ring-dial{border-radius:50%;place-items:center;display:grid}.score-ring-hole{background:var(--paper);border-radius:50%;align-content:center;place-items:center;width:72%;height:72%;display:grid}.score-ring-hole strong{font-size:1.4rem;line-height:1}.score-ring-hole small{color:var(--dim);font-size:.68rem;font-weight:800}.score-ring-label{color:var(--muted);font-size:.78rem;font-weight:850}.pron-scoring-skeleton{justify-items:center;gap:14px;width:100%;display:grid}.pron-result{gap:16px;width:100%;margin-top:6px;display:grid}.pron-result-body{gap:8px;display:grid}.pron-line{color:var(--text);margin:0;line-height:1.5}.pron-line i{color:var(--jade);font-style:normal;font-weight:800}.pron-muted{color:var(--muted);font-size:.84rem}.pron-tip{border-radius:var(--radius);background:var(--gold-soft);border:1px solid color-mix(in srgb, var(--gold) 26%, transparent);color:var(--text);margin:0;padding:10px 12px;font-weight:700;line-height:1.5}.pron-tip--dsp{background:var(--jade-soft);border-color:color-mix(in srgb, var(--jade) 28%, transparent)}.pron-macro{flex-wrap:wrap;gap:8px;margin:4px 0 2px;display:flex}.pron-macro-chip{background:var(--surface-2,#0000000a);border:1px solid color-mix(in srgb, var(--muted) 22%, transparent);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:600}.pron-errs{gap:6px;display:grid}.pron-errs ul{gap:4px;margin:4px 0 0;padding-left:18px;display:grid}.pron-errs li{color:var(--muted);font-size:.88rem;line-height:1.45}.pron-syl--ok{color:var(--jade)}.pron-syl--bad{color:var(--cinnabar)}.pron-empty{gap:14px}.chat-row{align-items:flex-end;gap:6px;max-width:86%;display:flex}.chat-row--ai{align-self:flex-start}.chat-row--user{flex-direction:row-reverse;align-self:flex-end}.chat-bubble2{border:1px solid var(--line-soft);border-radius:16px;gap:4px;padding:10px 13px;line-height:1.5;animation:.22s both bubbleIn;display:grid}.chat-bubble2--ai{color:var(--text);background:var(--control-bg);border-bottom-left-radius:5px}.chat-bubble2--user{color:var(--selected-text);background:var(--jade-soft);border-color:color-mix(in srgb, var(--jade) 28%, transparent);border-bottom-right-radius:5px}@keyframes bubbleIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-cn{font-family:var(--font-cn);font-size:1.15rem}.chat-vi{color:var(--muted);font-size:.84rem;font-weight:700}.chat-replay{border:1px solid var(--line);background:var(--control-bg);width:30px;height:30px;color:var(--jade);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;transition:transform .16s,background .16s,color .16s;display:grid}.chat-replay:hover{background:var(--jade-soft);transform:scale(1.08)}.hanzi-tip{cursor:help;border-radius:3px;transition:background .14s,color .14s;position:relative}.hanzi-tip:hover,.hanzi-tip.is-open,.hanzi-tip:focus-visible{background:var(--gold-soft);color:var(--gold)}.hanzi-tip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.hanzi-pop{z-index:20;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-strong);text-align:center;pointer-events:none;gap:2px;min-width:96px;max-width:220px;padding:8px 10px;animation:.16s both bubbleIn;display:grid;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 10px 28px #0000002e}.hanzi-pop:after{content:"";border:6px solid #0000;border-top-color:var(--paper-strong);position:absolute;top:100%;left:50%;transform:translate(-50%)}.hanzi-pop strong{color:var(--jade);font-size:.92rem;font-family:var(--font)}.hanzi-pop small{color:var(--muted);font-size:.76rem;font-weight:700;line-height:1.4}.typing-indicator{align-items:center;gap:5px;padding:2px 0;display:inline-flex}.typing-dot{background:var(--dim);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite typingBlink}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBlink{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.vchat-actions{flex-wrap:wrap;gap:10px;display:flex}.speech-toast{z-index:1000;border-radius:var(--radius);background:var(--paper-strong);border:1px solid color-mix(in srgb, var(--cinnabar) 42%, transparent);max-width:min(360px,100vw - 36px);color:var(--text);align-items:center;gap:12px;padding:12px 14px;font-weight:750;animation:.32s cubic-bezier(.16,1,.3,1) both toastSlideIn;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 10px 30px #0000002e}.speech-toast button{background:var(--control-bg);width:26px;height:26px;color:var(--muted);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.pron-recording,.vchat-recording{animation:1.6s ease-in-out infinite recPulse;background:linear-gradient(135deg, var(--cinnabar), color-mix(in srgb, var(--cinnabar) 80%, #000))!important;box-shadow:0 0 0 0 color-mix(in srgb, var(--cinnabar) 55%, transparent)!important}.pron-recording:hover,.vchat-recording:hover{transform:translateY(-2px)!important}@keyframes recPulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--cinnabar) 50%, transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb, var(--cinnabar) 0%, transparent)}}.pron-result .score-ring{animation:.42s cubic-bezier(.16,1,.3,1) both ringPop}.pron-result .score-ring:first-child{animation-delay:40ms}.pron-result .score-ring:nth-child(2){animation-delay:.12s}.pron-result .score-ring:nth-child(3){animation-delay:.2s}@keyframes ringPop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.pron-result-body{animation:.32s .22s both softRise}@media (width<=720px){.ai-chat{min-height:70dvh}.ai-chat-heading{gap:10px}.ai-chat-toolbar{flex-direction:column;align-items:stretch}.ai-chat-clear{justify-content:center}.ai-chat-toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ai-chat-settings-trigger{justify-content:center}.ai-chat-settings{grid-template-columns:1fr;gap:14px}.ai-chat-toggle{justify-content:space-between}.ai-chat-setting-status{grid-column:auto}.ai-chat-log{border-radius:18px;min-height:330px;max-height:54dvh;padding:16px 13px}.ai-chat-welcome{padding-inline:8px}.pron-levels{grid-template-columns:repeat(3,minmax(0,1fr))}.vchat-composer-meta{flex-direction:column;align-items:flex-start;gap:2px}.chat-row{max-width:94%}.pron-rings{gap:12px}}@media (prefers-reduced-motion:reduce){.page-enter,.skeleton,.achievement-toast,.drag-chip,.voice-record-btn--recording,.pron-recording,.vchat-recording,.pron-result .score-ring,.pron-result-body,.pron-practice,.vchat,.ai-chat,.pron-wave.is-active .pron-wave-bar,.chat-bubble2,.hanzi-pop,.typing-dot,.speech-toast,.core-stat:first-child,.core-stat:nth-child(2),.core-stat:nth-child(3),.core-stat:nth-child(4){animation:none!important}}.admin-page{max-width:1080px;min-height:100dvh;margin:0 auto;padding:24px 20px 64px}.admin-topbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;display:flex}.admin-topbar__brand{color:var(--jade);align-items:center;gap:14px;display:flex}.admin-topbar__brand h3{color:var(--text);margin:0;font-size:20px;font-weight:700}.admin-topbar__brand p{color:var(--muted);margin:2px 0 0;font-size:13px}.admin-body{flex-direction:column;gap:24px;display:flex}.admin-section{padding:22px}.admin-section__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.admin-section__header h4{color:var(--text);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700;display:flex}.admin-section__header-actions{align-items:center;gap:12px;display:flex}.admin-refresh-btn{align-items:center;gap:6px;display:inline-flex}.admin-stat-strip{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.admin-stat{border:1px solid var(--line);border-radius:var(--radius);background:var(--control-bg);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.admin-stat span{color:var(--muted);font-size:12px}.admin-stat strong{font-variant-numeric:tabular-nums;color:var(--text);font-size:26px;font-weight:700;line-height:1.1}.admin-stat--active strong{color:var(--jade)}.admin-stat--locked strong{color:var(--cinnabar)}.admin-stat--online strong{color:var(--gold)}.admin-user-list{flex-direction:column;gap:10px;display:flex}.admin-user-row{border:1px solid var(--line);border-left:3px solid var(--jade);border-radius:var(--radius);background:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;transition:border-color .2s,opacity .2s,background .2s;display:flex}.admin-user-row--locked{border-left-color:var(--cinnabar);background:var(--cinnabar-soft)}.admin-user-row--busy{opacity:.55;pointer-events:none}.admin-user-info{flex-direction:column;gap:4px;min-width:0;display:flex}.admin-user-name{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.admin-user-name strong{color:var(--text);font-size:15px;font-weight:600}.admin-user-handle{color:var(--muted);font-size:13px}.admin-user-email{color:var(--muted);word-break:break-all;font-size:13px}.admin-user-meta{flex-wrap:wrap;align-items:center;gap:12px;margin-top:2px;display:flex}.admin-user-date{color:var(--dim);font-size:12px}.admin-user-actions{flex-shrink:0;gap:8px;display:flex}.admin-action{align-items:center;gap:6px;min-height:40px;display:inline-flex}.admin-action--unlock{color:var(--jade);border-color:color-mix(in srgb, var(--jade) 40%, transparent)}.admin-badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.admin-badge--active{color:var(--badge-strong-text);background:var(--jade-soft);border-color:color-mix(in srgb, var(--jade) 26%, transparent)}.admin-badge--locked{color:var(--cinnabar);background:var(--cinnabar-soft);border-color:color-mix(in srgb, var(--cinnabar) 30%, transparent)}.admin-badge--online{color:var(--gold);background:color-mix(in srgb, var(--gold) 14%, transparent);border-color:color-mix(in srgb, var(--gold) 32%, transparent)}.admin-badge--online svg{animation:2s ease-in-out infinite admin-online-pulse}@keyframes admin-online-pulse{0%,to{opacity:1}50%{opacity:.45}}.admin-badge--offline{color:var(--dim);background:var(--control-bg);border-color:var(--line)}.admin-badge--offline svg{fill:currentColor;opacity:.6}.admin-user-activity{color:var(--dim);align-items:center;gap:5px;font-size:12px;display:inline-flex}@media (prefers-reduced-motion:reduce){.admin-badge--online svg{animation:none}}.admin-dirty-count{color:var(--gold);background:var(--gold-soft);border:1px solid color-mix(in srgb, var(--gold) 30%, transparent);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.admin-config-form{flex-direction:column;gap:20px;display:flex}.admin-config-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.admin-config-field{border:1px solid var(--line);border-radius:var(--radius);background:var(--control-bg);flex-direction:column;gap:6px;padding:12px;transition:border-color .2s,background .2s;display:flex}.admin-config-field--dirty{border-color:color-mix(in srgb, var(--gold) 50%, transparent);background:var(--gold-soft)}.admin-config-label{color:var(--muted);word-break:break-all;justify-content:space-between;align-items:center;gap:8px;font-family:Fira Code,ui-monospace,monospace;font-size:12px;font-weight:600;display:flex}.admin-field-flag{color:var(--gold);background:var(--gold-soft);border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:11px;font-style:normal;font-weight:600}.admin-config-input{align-items:center;gap:8px;display:flex}.admin-config-input input{border:1px solid var(--line);background:var(--paper);min-width:0;min-height:40px;color:var(--text);border-radius:10px;flex:1;padding:8px 12px;font-family:Fira Code,ui-monospace,monospace;font-size:14px}.admin-config-input input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-color:var(--jade)}.admin-field-reset{border:1px solid color-mix(in srgb, var(--gold) 36%, transparent);width:34px;height:34px;color:var(--gold);cursor:pointer;background:0 0;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;transition:background .16s;display:inline-flex}.admin-field-reset:hover{background:var(--gold-soft)}.admin-config-actions{flex-wrap:wrap;gap:12px;display:flex}.admin-config-actions .btn-primary,.admin-config-actions .btn-secondary{align-items:center;gap:8px;display:inline-flex}.admin-loading{color:var(--jade);justify-content:center;padding:40px 0;display:flex}.admin-empty{color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:40px 0;display:flex}.admin-login-card{max-width:420px}@media (width<=720px){.admin-stat-strip,.admin-config-grid{grid-template-columns:1fr}.admin-user-row{flex-direction:column;align-items:stretch}.admin-user-actions{width:100%}.admin-action{flex:1;justify-content:center}}@media (prefers-reduced-motion:reduce){.admin-user-row,.admin-config-field,.admin-config-input input,.admin-field-reset{transition:none!important}}.typing-workspace{width:100%;max-width:680px;margin:20px auto}.typing-card{border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;gap:24px;padding:30px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.typing-card:hover{transform:translateY(-2px);box-shadow:0 10px 35px #23302e1a}.progress-bar-container{background:var(--track-bg);border-radius:3px;width:100%;height:6px;margin-top:-12px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--primary-start), var(--primary-end));border-radius:3px;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1)}.prompt-container{text-align:center;background:var(--surface-sheen);border-radius:var(--radius);border:1px dashed var(--line-soft);padding:20px 10px;position:relative}.eyebrow-label{text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin-bottom:8px;font-size:.75rem;display:block}.meaning-prompt{color:var(--text);letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:700}.pos-badge{background:var(--control-bg);color:var(--dim);letter-spacing:.05em;border-radius:4px;margin-top:10px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.alignment-display{background:var(--control-bg);border:1px solid var(--inner-line);border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-height:52px;padding:12px;display:flex}.align-char{-webkit-user-select:none;user-select:none;width:32px;height:32px;font-size:1.1rem;font-weight:600;font-family:var(--font-cn);border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.align-correct{background:var(--badge-strong-bg);color:var(--badge-strong-text);border:1px solid color-mix(in srgb, var(--badge-strong-text) 20%, transparent);box-shadow:0 2px 6px #0ca67826}.align-wrong{background:var(--badge-weak-bg);color:var(--badge-weak-text);border:1px solid color-mix(in srgb, var(--badge-weak-text) 20%, transparent);animation:.3s ease-in-out shake;box-shadow:0 2px 6px #fa525226}.align-pending{color:var(--dim);border:1px dashed var(--line-soft);background:#0000000a}:root[data-theme=dark] .align-pending{background:#ffffff0a}.input-row{gap:12px;width:100%;display:flex}.typing-input{border:2px solid var(--line);background:var(--paper-strong);color:var(--text);border-radius:12px;outline:none;flex:1;padding:14px 20px;font-size:1.1rem;transition:all .2s}.typing-input:focus{border-color:var(--jade);box-shadow:0 0 0 4px var(--focus-ring)}.typing-input.input-correct{border-color:var(--modern-zen-success);background:#2e8b5708}.typing-input.input-incorrect{border-color:var(--badge-weak-text);background:#fa525208}.btn-submit-ans{border-radius:12px;padding:0 24px;font-weight:600}.typing-card-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.typing-card-actions .action-btn{align-items:center;gap:6px;padding:10px 16px;font-size:.9rem;font-weight:500;display:inline-flex}.typing-card-actions .starred-active{color:#ffb020;background:#ffb0200f;border-color:#ffb0204d}.typing-card-actions .next-btn{padding:10px 22px;font-weight:600;box-shadow:0 4px 12px #23997c33}.detailed-answer-panel{border-top:1px solid var(--line);flex-direction:column;gap:20px;margin-top:8px;padding-top:24px;display:flex}.answer-header{background:var(--control-bg);border-left:4px solid var(--jade);border-radius:12px;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.accuracy-stamp span{text-transform:uppercase;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:.95rem;font-weight:700;display:inline-flex}.stamp-correct{color:var(--badge-strong-text);background:var(--badge-strong-bg)}.stamp-incorrect{color:var(--badge-weak-text);background:var(--badge-weak-bg)}.correct-word-display{text-align:right}.correct-hanzi{color:var(--text);font-size:2rem;font-weight:700;font-family:var(--font-cn);margin:0}.correct-pinyin{color:var(--jade);margin-top:2px;font-size:1rem;font-weight:600;display:block}.answer-section{flex-direction:column;gap:8px;display:flex}.answer-section .section-title{color:var(--dim);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.85rem;font-weight:600}.radicals-container{flex-wrap:wrap;gap:8px;display:flex}.radical-item-badge{background:var(--control-bg);border:1px solid var(--line-soft);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;transition:all .15s;display:inline-flex}.radical-item-badge:hover{border-color:var(--gold);background:var(--gold-soft)}.radical-char{color:var(--gold);font-size:1.1rem;font-weight:700;font-family:var(--font-cn)}.radical-mean{color:var(--text);font-size:.85rem;font-weight:500}.mnemonic-section{background:var(--gold-soft);border:1px solid color-mix(in srgb, var(--gold) 15%, transparent);border-radius:12px;padding:14px 20px}.mnemonic-text{color:var(--text);font-size:.95rem;line-height:var(--line-readable);margin:0;font-style:italic}.example-item{background:var(--control-bg);border:1px solid var(--inner-line);border-radius:12px;padding:14px 20px}.example-cn{color:var(--text);font-size:1.15rem;font-weight:600;font-family:var(--font-cn);margin:0}.example-py{color:var(--dim);margin:4px 0;font-size:.9rem}.example-vi{color:var(--text);margin:0;font-size:.95rem;font-weight:500}.no-data-text{color:var(--dim);font-size:.9rem;font-style:italic}.control-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.select-label{color:var(--text);align-items:center;gap:8px;font-size:.9rem;font-weight:500;display:flex}.select-label select{border:1px solid var(--line);background:var(--control-bg);color:var(--text);cursor:pointer;border-radius:8px;outline:none;padding:6px 12px;font-weight:600;transition:all .15s}.select-label select:focus{border-color:var(--jade)}.select-label select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn-restart{align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;display:inline-flex}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:.25s cubic-bezier(.4,0,.2,1) forwards slideUp}@media (width<=580px){.typing-card{padding:20px}.meaning-prompt{font-size:1.6rem}.input-row{flex-direction:column}.btn-submit-ans{padding:12px}.typing-card-actions{justify-content:center}.typing-card-actions .action-btn{flex:40%;justify-content:center}}@media (width<=768px){button,input,select,textarea,[role=button],a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}input[type=text],input[type=search],input[type=password],input[type=email],textarea,select{font-size:16px!important}.hsk-picker-root,.vocab-hsk-tabs,.level-chip-bar,.tab-scroller{-webkit-overflow-scrolling:touch;scrollbar-width:none}.hsk-picker-root::-webkit-scrollbar{display:none}.vocab-hsk-tabs::-webkit-scrollbar{display:none}.level-chip-bar::-webkit-scrollbar{display:none}.tab-scroller::-webkit-scrollbar{display:none}.auth-modal-content,.modal-overlay-content{border-radius:20px 20px 0 0!important;max-height:85dvh!important}}.fc-page{--fc-mono:"Geist Mono", ui-monospace, "Fira Code", monospace;--fc-ease:cubic-bezier(.16, 1, .3, 1);--fc-inner-light:#ffffffb3}:root[data-theme=dark] .fc-page{--fc-inner-light:#ffffff0f}.fc-head{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:clamp(16px,3vw,40px);padding-bottom:clamp(14px,2vw,20px);display:grid}.fc-head-copy h1{letter-spacing:-.02em;margin:6px 0 0;font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:800;line-height:1.14}.fc-head-copy p{max-width:52ch;color:var(--muted);font-size:.88rem;line-height:var(--line-readable);margin:8px 0 0}.fc-head-controls{justify-items:end;gap:10px;display:grid}.fc-head-controls .control-row{justify-content:flex-end}.fc-stage{gap:14px;width:100%;max-width:700px;margin:clamp(16px,2.4vw,30px) 0 0 clamp(0px,7vw,104px);display:grid}.fc-rail{grid-template-columns:auto auto minmax(60px,1fr);align-items:center;gap:14px;display:grid}.fc-rail-level{color:var(--jade);font:700 .7rem var(--fc-mono);letter-spacing:.08em;text-transform:uppercase}.fc-rail-count{color:var(--dim);font:500 .78rem var(--fc-mono);font-variant-numeric:tabular-nums;align-items:baseline;gap:3px;display:inline-flex}.fc-rail-count b{color:var(--text);font-weight:600}.fc-rail-count i{opacity:.5;font-style:normal}.fc-rail-track{background:var(--line);height:2px;overflow:hidden}.fc-rail-track>span{background:var(--jade);height:100%;transition:width .42s var(--fc-ease);display:block}.fc-card{perspective:1600px;background:0 0;border:none;width:100%;padding:0}.fc-card-inner{width:100%;min-height:304px;transform-style:preserve-3d;transition:transform .62s var(--fc-ease);position:relative}.fc-card.is-flipped .fc-card-inner{transform:rotateY(180deg)}.fc-face{backface-visibility:hidden;text-align:left;border:1px solid var(--box-border);border-radius:var(--radius);background:var(--box-bg);box-shadow:inset 0 1px 0 var(--fc-inner-light), 0 10px 30px -18px #23302e47;flex-direction:column;align-items:flex-start;gap:12px;padding:clamp(20px,3vw,30px);display:flex;position:absolute;inset:0;overflow-y:auto}.fc-face--front{justify-content:flex-end}.fc-face--back{justify-content:flex-start;transform:rotateY(180deg)}.fc-hanzi{font-family:var(--font-cn);letter-spacing:-.01em;color:var(--text);margin:0;font-size:clamp(3.6rem,9vw,5.6rem);font-weight:700;line-height:.98}.fc-hanzi--back{font-size:clamp(2.8rem,7vw,4rem)}.fc-meaning-front{letter-spacing:-.015em;max-width:22ch;color:var(--text);text-wrap:balance;margin:0;font-size:clamp(1.5rem,3.4vw,2.1rem);font-weight:650;line-height:1.16}.fc-back-head{gap:6px;display:grid}.fc-pinyin{color:var(--cinnabar);font:500 1.1rem var(--fc-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}.fc-meaning{letter-spacing:-.015em;max-width:26ch;color:var(--text);margin:0;font-size:clamp(1.3rem,2.8vw,1.75rem);font-weight:650;line-height:1.2}.fc-flip-hint{color:var(--dim);align-items:center;gap:7px;font-size:.76rem;font-weight:600;display:inline-flex}.fc-flip-hint kbd,.fc-choice kbd,.fc-verdict kbd{border:1px solid var(--line);background:var(--control-bg);color:var(--muted);font:600 .68rem var(--fc-mono);border-bottom-width:2px;border-radius:5px;padding:2px 6px}.fc-example{border-top:1px solid var(--line-soft);padding-top:12px}.fc-example-cn{font-family:var(--font-cn);color:var(--text);margin:0 0 4px;font-size:1.05rem;line-height:1.5}.fc-example-vi{color:var(--muted);margin:0;font-size:.88rem;line-height:1.5}.fc-mnemonic{color:var(--dim);align-items:flex-start;gap:7px;margin:0;font-size:.85rem;line-height:1.5;display:flex}.fc-mnemonic svg{color:var(--gold);flex-shrink:0;margin-top:2px}.fc-tools{flex-wrap:wrap;gap:4px;margin-left:-8px;display:flex}.fc-tool{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:.83rem;font-weight:600;transition:color .16s,background .16s,transform .16s;display:inline-flex}.fc-tool:hover:not(:disabled){color:var(--text);background:var(--control-bg)}.fc-tool:active:not(:disabled){transform:scale(.97)}.fc-tool:disabled{opacity:.4;cursor:not-allowed}.fc-tool.is-starred{color:var(--gold)}.flashcard-toggles{gap:16px}.inline-toggle{color:var(--dim);cursor:pointer;align-items:center;gap:7px;font-size:.85rem;display:inline-flex}.fc-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:68px;display:grid}.fc-choice{border:1px solid var(--box-border);background:var(--box-bg);color:var(--text);text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 var(--fc-inner-light);transition:border-color .16s var(--fc-ease), background .16s var(--fc-ease), transform .16s var(--fc-ease), opacity .16s var(--fc-ease);border-radius:12px;align-items:center;gap:8px;padding:12px 13px;display:flex}.fc-choice:active:not(:disabled){transform:scale(.985)}.fc-choice:hover:not(:disabled){border-color:var(--box-border-hover);background:var(--box-hover-bg)}.fc-choice-text{flex:auto;font-size:.95rem;font-weight:650;line-height:1.35}.fc-choice[lang=zh] .fc-choice-text{font-family:var(--font-cn);font-size:1.3rem;font-weight:600}.fc-choice:disabled{cursor:default}.fc-choice.is-correct{border-color:var(--box-correct-border);background:var(--box-correct-bg);color:var(--box-correct-text)}.fc-choice.is-correct svg{color:var(--box-correct-border)}.fc-choice.is-wrong{border-color:var(--box-wrong-border);background:var(--box-wrong-bg);color:var(--box-wrong-text)}.fc-choice.is-wrong svg{color:var(--box-wrong-border)}.fc-choice.is-dim{opacity:.45}.fc-verdict{border-left:2px solid var(--line);align-items:center;gap:10px;margin:0;padding-left:10px;font-size:.9rem;font-weight:650;display:flex}.fc-verdict.is-correct{border-left-color:var(--jade);color:var(--jade)}.fc-verdict.is-wrong{border-left-color:var(--cinnabar);color:var(--cinnabar)}.fc-verdict-next{color:var(--dim);align-items:center;gap:6px;margin-left:auto;font-size:.76rem;font-weight:600;display:inline-flex}.fc-grade-locked{border-left:2px solid var(--line);padding-left:2px;color:var(--dim);text-indent:10px;grid-column:1/-1;align-self:center;margin:0;padding-block:4px;font-size:.84rem}.fc-recap{width:100%;max-width:940px;font-family:var(--fc-font);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:clamp(20px,4vw,48px);margin:clamp(16px,4vh,40px) 0 0;display:grid}.fc-recap-lead h1{letter-spacing:-.02em;text-wrap:balance;margin:8px 0 0;font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:700;line-height:1.1}.fc-recap-lead p{max-width:42ch;color:var(--muted);margin:10px 0 20px;line-height:1.6}.fc-recap-figures{gap:16px;padding-top:6px;display:grid}.fc-recap-total{border-bottom:1px solid var(--line);gap:4px;padding-bottom:14px;display:grid}.fc-recap-total strong{font:700 clamp(3rem, 7vw, 4.4rem) var(--fc-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--text);line-height:.9}.fc-recap-total span{color:var(--dim);font-size:.8rem;font-weight:600}.fc-recap-split{gap:0;margin:0;display:grid}.fc-recap-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(74px,auto) minmax(0,1fr);align-items:center;gap:12px;padding:10px 0;display:grid}.fc-recap-row:last-child{border-bottom:0}.fc-recap-row dt{color:var(--muted);font-size:.8rem;font-weight:600}.fc-recap-row dd{grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:10px;margin:0;display:grid}.fc-recap-bar{background:var(--track-bg);border-radius:2px;height:4px;display:block;overflow:hidden}.fc-recap-bar>span{background:currentColor;border-radius:2px;height:100%;display:block}.fc-recap-row b{color:var(--text);font:600 .95rem var(--fc-mono);font-variant-numeric:tabular-nums;text-align:right}.fc-recap-row.grade-forgot{color:var(--cinnabar)}.fc-recap-row.grade-unsure{color:var(--gold)}.fc-recap-row.grade-known{color:var(--jade)}.fc-stage--skeleton{pointer-events:none}.fc-skeleton{background:var(--fc-track);border-radius:6px;display:block;position:relative;overflow:hidden}.fc-skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--fc-inner-light), transparent);animation:fcShimmer 1.5s var(--fc-ease) infinite;position:absolute;inset:0;transform:translate(-100%)}@keyframes fcShimmer{to{transform:translate(100%)}}.fc-skeleton--pill{border-radius:999px;width:74px;height:20px}.fc-skeleton--pill:last-of-type{width:52px;margin-left:auto}.fc-skeleton--card{min-height:var(--fc-card-h);border-radius:var(--fc-radius)}.fc-skeleton--grade{border-radius:var(--radius);height:62px}.fc-skeleton-note{color:var(--dim);letter-spacing:.04em;margin:0;font-size:.78rem;font-weight:700}.fc-empty{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px;max-width:560px;padding:22px 0 0;display:grid}.fc-empty-mark{border:1px solid var(--line);width:40px;height:40px;color:var(--gold);background:var(--gold-soft);border-radius:10px;place-items:center;display:grid}.fc-empty h2{letter-spacing:-.01em;margin:2px 0 0;font-size:1.22rem;font-weight:750}.fc-empty p{max-width:52ch;color:var(--muted);font-size:.9rem;line-height:var(--line-readable);margin:8px 0 0}.fc-empty button{margin-top:14px}@media (width<=640px){.fc-choices{grid-template-columns:1fr;min-height:0}.fc-verdict{flex-wrap:wrap;gap:6px}.fc-verdict-next{margin-left:0}}.pair-workspace{flex-direction:column;gap:12px;width:100%;max-width:760px;margin:20px auto;display:flex}.pair-reason-tabs{flex-wrap:wrap;gap:6px;display:flex}.pair-reason-tabs button{border:1px solid var(--line);background:var(--control-bg);color:var(--dim);cursor:pointer;border-radius:999px;padding:5px 11px;font-size:.78rem;transition:background .15s,color .15s,border-color .15s}.pair-reason-tabs button.active{background:linear-gradient(135deg, var(--primary-start), var(--primary-end));color:var(--primary-text);border-color:#0000}.pair-card{padding:0;overflow:hidden}.pair-card-head{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.pair-title{font-family:var(--font-cn);align-items:center;gap:8px;font-size:1.3rem;display:inline-flex}.pair-title em{color:var(--dim);font-style:normal}.pair-reason{background:var(--control-bg);color:var(--dim);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.72rem}.pair-reason.reason-curated{background:var(--cinnabar-soft);color:var(--cinnabar)}.pair-reason.reason-shape{background:var(--gold-soft);color:var(--gold)}.pair-card-body{border-top:1px solid var(--inner-line);padding:0 18px 18px}.pair-compare{grid-template-columns:1fr auto 1fr;align-items:start;gap:12px;padding:16px 0;display:grid}.pair-column{border-radius:var(--radius);background:var(--surface-sheen);border:1px solid var(--inner-line);flex-direction:column;gap:6px;padding:14px;display:flex}.pair-column-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.pair-hanzi{font-family:var(--font-cn);margin:0;font-size:2.2rem;line-height:1}.pair-speak-btn{border:1px solid var(--line);background:var(--paper);width:30px;height:30px;color:var(--dim);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.pair-speak-btn:hover{color:var(--cinnabar);border-color:var(--cinnabar)}.pair-pinyin{color:var(--cinnabar);font-size:.95rem}.pair-meaning{color:var(--text);margin:0;font-size:.95rem}.pair-tags{flex-wrap:wrap;gap:6px;display:flex}.pair-tags .pos-badge{margin-top:0}.pair-example{border-top:1px dashed var(--line-soft);margin-top:4px;padding-top:8px}.pair-example .example-cn{font-family:var(--font-cn);margin:0 0 3px;font-size:.95rem}.pair-example .example-vi{color:var(--dim);margin:0;font-size:.82rem}.pair-divider{color:var(--dim);background:var(--control-bg);border-radius:999px;align-self:center;padding:4px 6px;font-size:.8rem}.pair-card-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pair-no-drill{color:var(--dim);font-size:.78rem}.pair-drill-card{flex-direction:column;gap:16px;width:100%;max-width:620px;margin:20px auto;display:flex}.pair-drill-sentence{font-family:var(--font-cn);text-align:center;margin:8px 0 0;font-size:1.6rem;line-height:1.6}.pair-drill-vi{text-align:center;color:var(--dim);margin:0;font-size:.9rem}.pair-drill-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pair-drill-option{font-family:var(--font-cn);border-radius:var(--radius);border:1px solid var(--line);background:var(--paper);color:var(--text);cursor:pointer;padding:16px;font-size:1.8rem;transition:transform .15s,border-color .15s}.pair-drill-option:hover:not(:disabled){border-color:var(--cinnabar);transform:translateY(-2px)}.pair-drill-option.option-correct{border-color:var(--jade);background:var(--jade-soft);color:var(--jade)}.pair-drill-option.option-wrong{border-color:var(--cinnabar);background:var(--cinnabar-soft);color:var(--cinnabar)}.pair-drill-feedback{border-radius:var(--radius);border:1px solid var(--inner-line);background:var(--surface-sheen);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.pair-drill-feedback strong{align-items:center;gap:6px;display:inline-flex}.pair-drill-feedback.is-correct strong{color:var(--jade)}.pair-drill-feedback.is-wrong strong{color:var(--cinnabar)}.pair-drill-feedback p{color:var(--dim);margin:0;font-size:.9rem}.pair-drill-feedback button{align-self:flex-start}@media (width<=640px){.pair-compare{grid-template-columns:1fr}.pair-divider{justify-self:center}}@media (prefers-reduced-motion:reduce){.fc-card-inner{transition:none}.fc-skeleton:after{animation:none}.fc-tool:hover:not(:disabled),.fc-choice:hover:not(:disabled),.pair-drill-option:hover:not(:disabled){transform:none}}.dict-head .dict-controls{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.dict-mode-row{flex-wrap:wrap;gap:6px;display:flex}.dict-mode-btn{border:1px solid var(--line);background:var(--surface);color:var(--text-soft);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:.86rem;font-weight:600;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.dict-mode-btn:hover:not(.is-active){border-color:var(--accent-soft,var(--line));color:var(--text)}.dict-mode-btn.is-active{background:var(--badge-strong-bg);border-color:color-mix(in srgb, var(--badge-strong-text) 30%, transparent);color:var(--badge-strong-text)}.dict-card{flex-direction:column;gap:14px;display:flex}.dict-audio-panel{border:1px solid var(--line);background:var(--surface-soft,var(--surface));border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.dict-audio-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dict-audio-btn{justify-content:center;align-items:center;gap:7px;min-width:132px;display:inline-flex}.dict-replay-count{color:var(--text-soft);align-items:center;gap:6px;margin-left:auto;font-size:.82rem;display:inline-flex}.dict-input-row{align-items:stretch;gap:10px;display:flex}.dict-input{font-family:var(--font-cn,inherit);flex:1;font-size:1.15rem}.dict-result{flex-direction:column;gap:12px;display:flex}.dict-verdict{gap:8px;display:flex}.dict-diff{flex-wrap:wrap;gap:6px;display:flex}.dict-diff-cell{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:40px;padding:6px 8px;display:inline-flex}.dict-diff-char{font-family:var(--font-cn,inherit);font-size:1.35rem;line-height:1.2}.dict-diff-mark{font-size:.75rem;font-weight:700;line-height:1}.dict-diff-ok{background:var(--badge-strong-bg);color:var(--badge-strong-text);border-color:color-mix(in srgb, var(--badge-strong-text) 25%, transparent)}.dict-diff-wrong{background:var(--badge-weak-bg);color:var(--badge-weak-text);border-color:color-mix(in srgb, var(--badge-weak-text) 25%, transparent)}.dict-diff-missing{color:var(--text-soft);border-style:dashed}.dict-diff-extra{color:var(--badge-weak-text);border-style:dotted;text-decoration:line-through}.dict-answer{border:1px solid var(--box-border);background:var(--box-bg);border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.dict-answer-cn{font-family:var(--font-cn,inherit);margin:0;font-size:1.4rem;line-height:1.6}.dict-answer-py{color:var(--text-soft);margin:0;font-size:.92rem}.dict-answer-vi{margin:0;font-size:.95rem}.dict-nav{justify-content:space-between;gap:10px;display:flex}@media (width<=640px){.dict-head .dict-controls{align-items:stretch}.dict-mode-row{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.dict-mode-btn{justify-content:center;padding:8px 6px;font-size:.8rem}.dict-audio-actions{grid-template-columns:1fr 1fr;display:grid}.dict-audio-btn{min-width:0}.dict-replay-count{grid-column:1/-1;justify-content:center;margin-left:0}.dict-input-row{flex-direction:column}.dict-nav{flex-direction:column-reverse}.dict-nav .action-btn{justify-content:center;width:100%}}.core-card,.result-card{background-color:var(--box-bg)!important;border:1px solid var(--box-border)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-sm)!important;transition:transform var(--transition-bounce), box-shadow var(--transition-smooth), border-color var(--transition-smooth)!important;background-image:none!important}[data-theme=dark] .core-card{border:1px solid var(--box-border)!important}.core-card:hover{border-color:var(--box-border-hover)!important;box-shadow:var(--shadow-md)!important}.core-card:active{box-shadow:var(--shadow-sm)!important}[data-theme=dark] .core-card:hover{border-color:var(--box-border-hover)!important}.core-card:after,.level-card:after,.quiz-type-card:after{display:none!important}.btn-primary{background:var(--jade-gradient)!important;color:#fff!important;letter-spacing:.02em!important;transition:all var(--transition-bounce)!important;border:none!important;border-radius:999px!important;padding:0 24px!important;font-weight:600!important;box-shadow:0 4px 12px #127a5d33!important}.btn-primary:hover{transform:translateY(-2px)scale(1.02)!important;box-shadow:0 8px 24px #127a5d4d!important}.btn-primary:active{transform:scale(.95)!important;box-shadow:0 2px 8px #127a5d66!important}.btn-secondary{color:var(--modern-zen-text)!important;border:1px solid rgba(var(--shadow-color), .1)!important;transition:all var(--transition-bounce)!important;background:0 0!important;border-radius:999px!important;padding:0 24px!important;font-weight:600!important}.btn-secondary:hover{background:rgba(var(--shadow-color), .03)!important;border-color:rgba(var(--shadow-color), .2)!important;transform:translateY(-2px)scale(1.02)!important}.btn-secondary:active{transform:scale(.95)!important}h1,h2,h3{letter-spacing:-.01em!important}.core-stats-grid>*{animation:fadeUp var(--transition-smooth) backwards!important}.core-stats-grid>:first-child{animation-delay:50ms!important}.core-stats-grid>:nth-child(2){animation-delay:.1s!important}.core-stats-grid>:nth-child(3){animation-delay:.15s!important}.core-stats-grid>:nth-child(4){animation-delay:.2s!important}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.learning-mode-toggle{background:rgba(var(--shadow-color), .03)!important;border-radius:999px!important;padding:4px!important;display:inline-flex!important}.learning-mode-toggle button{color:var(--muted)!important;background:0 0!important;border:none!important;border-radius:999px!important;padding:8px 24px!important;font-weight:600!important}.learning-mode-toggle button.active{background:var(--modern-zen-card)!important;color:var(--modern-zen-text)!important;box-shadow:var(--shadow-sm)!important}.option-grid{gap:12px!important;display:grid!important}.option-grid button{border:1px solid var(--box-border)!important;transition:all var(--transition-snappy)!important;background:var(--box-bg)!important;cursor:pointer!important;color:var(--text)!important;border-radius:12px!important;align-items:center!important;gap:14px!important;padding:14px 18px!important;font-size:1.05rem!important;font-weight:600!important;display:flex!important}.option-grid button>span:not(.clickable-text){background:var(--box-subtle-bg)!important;border:1px solid var(--box-border)!important;border-radius:7px!important;flex:none!important;justify-content:center!important;align-items:center!important;width:28px!important;height:28px!important;font-size:.8rem!important;font-weight:700!important;display:flex!important}.option-grid button>.clickable-text{place-items:initial!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important;background:0 0!important;border:0!important;border-radius:0!important;flex:auto!important;width:auto!important;min-width:0!important;height:auto!important;display:inline!important}.option-grid button .tap-char{place-items:initial!important;background:0 0!important;border-radius:0!important;width:auto!important;min-width:0!important;height:auto!important;display:inline!important}.option-grid button .tap-char.has-dict{border-bottom:1px dashed var(--line)!important}.option-grid button:hover{border-color:var(--box-border-hover)!important;background:var(--box-hover-bg)!important;box-shadow:none!important;transform:none!important}.option-grid button:active{transform:scale(.98)!important}.option-grid button.selected{border-color:var(--box-selected-border)!important;background:var(--box-selected-bg)!important;color:var(--box-selected-text)!important}.learning-question-card h2{font-size:2.2rem!important;font-family:var(--font-cn)!important;text-align:center!important;color:var(--modern-zen-text)!important;margin:40px 0!important;font-weight:700!important;line-height:1.2!important}.pinyin-container .pinyin{font-size:1.5rem!important;font-weight:500!important}.core-stat{background:var(--modern-zen-card)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-md)!important;border:none!important;padding:24px!important;position:relative!important;overflow:hidden!important}.core-stat:before{content:""!important;background:var(--jade-gradient)!important;opacity:0!important;height:4px!important;transition:opacity var(--transition-snappy)!important;position:absolute!important;top:0!important;left:0!important;right:0!important}.core-stat:hover:before{opacity:1!important}.core-stat--gold:before{background:var(--gold-gradient)!important}.core-stat--blue:before{background:linear-gradient(135deg,#73a7be,#3f7d9a)!important}.core-stat--cinnabar:before{background:linear-gradient(135deg,#e07a5f,#c2402f)!important}.core-stat:hover svg{transition:transform var(--transition-snappy)!important;transform:scale(1.1)rotate(5deg)!important}.brand-text{flex-direction:column;display:flex}.brand-text strong{letter-spacing:-.02em;color:var(--modern-zen-text);font-size:1.1rem;font-weight:800;line-height:1}.brand-text span{color:var(--modern-zen-primary);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:.75rem;font-weight:600}.sidebar-nav{flex-direction:column;gap:24px;display:flex}.premium-topbar{justify-content:space-between;align-items:center;padding:8px 0 24px;display:flex}.topbar-title-stack{flex-direction:column;gap:4px;display:flex}.topbar-subtitle{color:var(--muted);font-size:.85rem;font-weight:500;margin:0!important}.premium-content-area{animation:fadeUp var(--transition-smooth)}.premium-card{position:relative;overflow:hidden;background-color:var(--modern-zen-card)!important;background-image:var(--bg-pattern)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-md)!important;border:1px solid rgba(var(--shadow-color), .05)!important;transition:all var(--transition-smooth)!important;padding:32px!important}.premium-card:before{content:""!important;background:var(--jade-gradient)!important;transform-origin:0!important;height:4px!important;transition:transform var(--transition-smooth)!important;position:absolute!important;top:0!important;left:0!important;right:0!important;transform:scaleX(0)!important}.premium-card:hover:before{transform:scaleX(1)!important}.topic-grid{flex-wrap:wrap!important;gap:12px!important;display:flex!important}.topic-grid button{border:2px solid rgba(var(--shadow-color), .08)!important;border-radius:var(--radius-lg)!important;color:var(--modern-zen-text)!important;transition:all var(--transition-snappy)!important;cursor:pointer!important;background:0 0!important;padding:12px 24px!important;font-weight:600!important}.topic-grid button:hover{border-color:var(--modern-zen-primary)!important;background:#127a5d05!important;transform:translateY(-2px)!important}.topic-grid button.active{background:var(--jade-gradient)!important;color:#fff!important;border-color:#0000!important;box-shadow:0 8px 24px #127a5d40!important}.focus-actions{gap:16px!important;margin-top:16px!important;display:flex!important}.quiz-container{width:100%;max-width:800px;margin:0 auto}.learning-question-card{flex-direction:column;gap:32px;display:flex;position:relative;border-radius:var(--radius-lg)!important;box-shadow:0 16px 48px rgba(var(--shadow-color), .06), 0 4px 16px rgba(var(--shadow-color), .03)!important;background-color:var(--modern-zen-card)!important;background-image:var(--bg-pattern)!important;border:none!important;padding:40px!important;overflow:visible!important}.question-topline{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;margin-bottom:-16px;font-size:.85rem;font-weight:700;display:flex}.quiz-progress{background:rgba(var(--shadow-color), .04)!important;border-radius:999px!important;height:6px!important;overflow:hidden!important}.quiz-progress span{background:var(--jade-gradient)!important;border-radius:999px!important;transition:width .6s cubic-bezier(.16,1,.3,1)!important}.learning-question-card h2{text-align:center;color:var(--modern-zen-text)!important;font-size:2.2rem!important;font-weight:800!important;font-family:var(--font-cn), var(--font)!important;margin:24px 0!important;line-height:1.25!important}.learning-question-card h2.prompt--passage{overflow-wrap:anywhere;word-break:break-word;-webkit-overflow-scrolling:touch;max-height:42vh;overflow-y:auto;text-align:left!important;white-space:normal!important;max-width:100%!important;margin:16px 0!important;font-size:1.35rem!important;font-weight:600!important;line-height:1.7!important}.learning-question-card h2.cloze-prompt{overflow-wrap:anywhere;word-break:break-word;white-space:normal!important;margin:18px 0!important;font-size:1.5rem!important;font-weight:700!important;line-height:1.6!important}.learning-question-card h2.cloze-prompt .cloze-blank{height:1em}.learning-question-card h2.cloze-prompt--passage{-webkit-overflow-scrolling:touch;max-height:38vh;overflow-y:auto;text-align:left!important;font-size:1.25rem!important;font-weight:600!important;line-height:1.85!important}.learning-question-card .reading-stem,.question-card .reading-stem{font-family:var(--font-cn), var(--font);text-align:left;border-top:1px solid rgba(var(--shadow-color), .12);overflow-wrap:anywhere;word-break:break-word;margin:4px 0 18px;padding-top:14px;font-size:1.2rem;font-weight:700;line-height:1.6}.option-grid{grid-template-columns:1fr!important;gap:16px!important;display:grid!important}@media (width>=768px){.option-grid{grid-template-columns:1fr 1fr!important}}.option-grid button{background:var(--modern-zen-bg)!important;border-radius:var(--radius-lg)!important;color:var(--modern-zen-text)!important;transition:all var(--transition-smooth)!important;box-shadow:0 4px 12px rgba(var(--shadow-color), .02)!important;border:2px solid #0000!important;align-items:center!important;gap:16px!important;padding:20px 24px!important;font-size:1.1rem!important;font-weight:600!important;display:flex!important}.option-grid button>span:not(.clickable-text){background:rgba(var(--shadow-color), .04)!important;width:36px!important;height:36px!important;color:var(--muted)!important;transition:all var(--transition-snappy)!important;border-radius:50%!important;flex:none!important;justify-content:center!important;align-items:center!important;font-weight:700!important;display:flex!important}.option-grid button .clickable-text{font-size:1.6rem!important;font-family:var(--font-cn), var(--font)!important;text-align:left!important;line-height:1.5!important}.option-grid button:not(:disabled):hover{box-shadow:0 12px 24px rgba(var(--shadow-color), .06)!important;border-color:rgba(var(--shadow-color), .1)!important;background:var(--modern-zen-card)!important;transform:translateY(-4px)!important}.option-grid button.selected{background:var(--box-selected-bg)!important;border-color:var(--box-selected-border)!important;color:var(--box-selected-text)!important}.option-grid button.selected>span:not(.clickable-text){background:var(--box-selected-border)!important;border-color:var(--box-selected-border)!important;color:#fff!important}.option-grid button.option-correct{background:var(--box-correct-bg)!important;border-color:var(--box-correct-border)!important;color:var(--box-correct-text)!important}.option-grid button.option-correct>span:not(.clickable-text){background:var(--box-correct-border)!important;border-color:var(--box-correct-border)!important;color:#fff!important}.option-grid button.option-wrong{background:var(--box-wrong-bg)!important;border-color:var(--box-wrong-border)!important;color:var(--box-wrong-text)!important}.option-grid button.option-wrong>span:not(.clickable-text){background:var(--box-wrong-border)!important;border-color:var(--box-wrong-border)!important;color:#fff!important}.cloze-blank{border-bottom:3px solid rgba(var(--shadow-color), .2);vertical-align:bottom;min-width:60px;height:1.2em;color:var(--modern-zen-primary);text-align:center;margin:0 8px;transition:all .3s;display:inline-block}.cloze-blank.filled{border-bottom-color:var(--modern-zen-primary);font-weight:800;animation:.4s ease-out pulse-anim}.drag-drop-area{flex-direction:column;gap:20px;width:100%;display:flex}.drag-drop-prompt{flex-direction:column;gap:6px;display:flex}.drag-drop-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:.92rem;font-weight:600}.drag-drop-hint-vi{color:var(--text);opacity:.78;margin:0;font-size:1rem;font-style:italic}.drag-answer-zone{border-radius:var(--radius);border:2px dashed rgba(var(--shadow-color,0 0 0), .18);background:rgba(var(--shadow-color,0 0 0), .02);flex-wrap:wrap;align-items:center;gap:6px 0;min-height:64px;padding:14px 18px;transition:border-color .2s,background .2s;display:flex}.drag-answer-zone:has(.drag-chip--selected){border-color:color-mix(in srgb, var(--modern-zen-primary,#127a5d) 40%, transparent);background:#127a5d0a}.drag-hint{color:var(--muted);font-size:.92rem;font-style:italic}.drag-source-zone{flex-wrap:wrap;align-items:center;gap:6px 0;padding:4px 0;display:flex}.drag-slash{color:var(--muted);-webkit-user-select:none;user-select:none;padding:0 8px;font-size:1.1rem;font-weight:300;transition:opacity .2s}.drag-slash--faded{opacity:.3}.drag-chip{border:1.5px solid rgba(var(--shadow-color,0 0 0), .14);background:var(--modern-zen-card,#fff);color:var(--text);font-size:1.15rem;font-family:var(--font-cn,serif);cursor:pointer;border-radius:8px;align-items:center;padding:8px 16px;font-weight:500;line-height:1.3;transition:all .16s;display:inline-flex}.drag-chip--available:hover{border-color:var(--modern-zen-primary,#127a5d);background:#127a5d12;transform:translateY(-2px);box-shadow:0 4px 12px #127a5d26}.drag-chip--available:active{transform:translateY(0)}.drag-chip--selected{background:var(--jade-soft,#127a5d1a);border-color:var(--modern-zen-primary,#127a5d);color:var(--modern-zen-primary,#127a5d);font-weight:600}.drag-chip--selected:hover{border-color:var(--cinnabar,#c2402f);color:var(--cinnabar,#c2402f);background:#c2402f14;transform:translateY(-1px)}.drag-chip--used{opacity:.28;cursor:not-allowed;transform:none!important}.drag-drop-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.btn-ghost{border-radius:var(--radius);border:1.5px solid rgba(var(--shadow-color,0 0 0), .18);color:var(--muted);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:8px 16px;font-size:.9rem;transition:all .16s;display:inline-flex}.btn-ghost:hover:not(:disabled){background:rgba(var(--shadow-color,0 0 0), .05);color:var(--text);border-color:rgba(var(--shadow-color,0 0 0), .3)}.btn-ghost:disabled{opacity:.4;pointer-events:none}.drag-reset-btn{padding:6px 14px;font-size:.88rem}.voice-area{flex-direction:column;align-items:center;gap:16px;padding:16px 0;display:flex}.voice-word-hero{font-family:var(--font-cn);color:var(--text);font-size:3.5rem;font-weight:900;line-height:1.2}.voice-pinyin{font-size:1.2rem}.voice-meaning{color:var(--muted);font-size:1rem}.voice-rating-grid{grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:360px;display:grid}.voice-rating-btn{border-radius:var(--radius-sm);border:1.5px solid rgba(var(--shadow-color), .12);background:var(--modern-zen-card);color:var(--text);cursor:pointer;transition:all var(--transition-snappy);padding:12px 16px;font-size:.95rem;font-weight:600}.voice-rating-btn:hover{border-color:var(--modern-zen-primary);background:#127a5d0d}.voice-rating-btn--done{background:var(--jade-soft);border-color:var(--modern-zen-primary);color:var(--modern-zen-primary)}.feedback-panel{border-radius:var(--radius-lg)!important;margin-top:16px!important;padding:32px!important;animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeUp!important}.feedback-panel--correct{background:#127a5d0f!important;border:1px solid #127a5d1a!important}.feedback-panel--wrong{background:#c2402f0f!important;border:1px solid #c2402f1a!important}.feedback-head{align-items:center!important;gap:12px!important;margin-bottom:16px!important;font-size:1.25rem!important;font-weight:800!important;display:flex!important}.feedback-panel--correct .feedback-head{color:var(--modern-zen-success)!important}.feedback-panel--wrong .feedback-head{color:#c2402f!important}.tone-pinyin-group{flex-wrap:wrap;gap:4px;display:inline-flex}.pinyin-syllable.tone-1{color:#e74c3c!important}.pinyin-syllable.tone-2{color:#e67e22!important}.pinyin-syllable.tone-3{color:#27ae60!important}.pinyin-syllable.tone-4{color:#2980b9!important}.pinyin-syllable.tone-0{color:var(--muted)!important}.feedback-panel button.btn-primary{background:var(--modern-zen-text)!important;width:100%!important;color:var(--modern-zen-bg)!important;border-radius:var(--radius-lg)!important;margin-top:24px!important;padding:16px!important;font-size:1.1rem!important}.feedback-panel button.btn-primary:hover{box-shadow:0 8px 24px rgba(var(--shadow-color), .15)!important;transform:translateY(-2px)!important}.learning-question-card,.learning-question-card *,.question-card,.question-card *,.chinese-practice-card,.chinese-practice-card *{-webkit-user-select:none!important;user-select:none!important}.learning-question-card input,.learning-question-card textarea,.question-card input,.question-card textarea,.chinese-practice-card input,.chinese-practice-card textarea,.practice-input,.practice-textarea{-webkit-user-select:text!important;user-select:text!important}.quiz-container,.quiz-container *{-webkit-user-select:none!important;user-select:none!important}.quiz-container input,.quiz-container textarea{-webkit-user-select:text!important;user-select:text!important}.immersive-bg{background:radial-gradient(120% 120% at 80% -10%, color-mix(in srgb, var(--teal) 14%, transparent), transparent 55%), radial-gradient(120% 120% at -10% 110%, color-mix(in srgb, var(--tech-blue) 18%, transparent), transparent 55%);z-index:0!important;pointer-events:none!important;position:fixed!important;inset:0!important;overflow:hidden!important}[data-theme=dark] .immersive-bg{background:radial-gradient(130% 130% at 80% -10%,#93b4cc26,#0000 55%),radial-gradient(130% 130% at -10% 110%,#0f1c2da6,#0000 55%)}.immersive-bg .orb{filter:blur(60px)!important;opacity:.9!important;will-change:transform!important;border-radius:50%!important;transition:transform .6s cubic-bezier(.16,1,.3,1)!important;position:absolute!important}.immersive-bg .orb-1{width:46vw;height:46vw;transform:translate3d(calc(var(--px) * 1.4), calc(var(--py) * 1.4), 0);top:-8vw;left:-6vw;background:var(--aurora-1)!important;animation:26s ease-in-out infinite orbDrift1!important}.immersive-bg .orb-2{width:40vw;height:40vw;transform:translate3d(calc(var(--px) * -1.1), calc(var(--py) * -1.1), 0);bottom:-10vw;right:-6vw;background:var(--aurora-2)!important;animation:32s ease-in-out infinite orbDrift2!important}.immersive-bg .orb-3{width:34vw;height:34vw;transform:translate3d(calc(var(--px) * .7), calc(var(--py) * .7), 0);top:28%;left:38%;background:var(--aurora-3)!important;animation:38s ease-in-out infinite orbDrift3!important}@keyframes orbDrift1{0%{border-radius:50%;translate:0;scale:1}33%{border-radius:60% 40% 50% 50%/40% 60% 50% 50%;translate:6vw -3vw;scale:1.05}66%{border-radius:40% 60% 60% 40%/60% 40% 40% 60%;translate:-3vw 4vw;scale:.95}to{border-radius:50%;translate:0;scale:1}}@keyframes orbDrift2{0%{border-radius:50%;translate:0;scale:1}33%{border-radius:50% 50% 40% 60%/50% 50% 60% 40%;translate:-5vw -3vw;scale:.96}66%{border-radius:60% 40%/40% 60%;translate:4vw 2vw;scale:1.04}to{border-radius:50%;translate:0;scale:1}}@keyframes orbDrift3{0%{border-radius:50%;translate:0;scale:1}33%{border-radius:45% 55%/55% 45%;translate:3vw -5vw;scale:1.08}66%{border-radius:55% 45%/45% 55%;translate:-4vw 1vw;scale:.92}to{border-radius:50%;translate:0;scale:1}}.immersive-bg .stream{background:linear-gradient(90deg, transparent, var(--stream-color), transparent)!important;width:18%!important;height:1px!important;box-shadow:0 0 8px var(--stream-color)!important;opacity:.6!important;position:absolute!important;left:-20%!important}.immersive-bg .stream-1{top:22%;animation:9s linear infinite streamFlow!important}.immersive-bg .stream-2{top:48%;width:24%!important;animation:13s linear 2s infinite streamFlow!important}.immersive-bg .stream-3{top:71%;width:14%!important;animation:11s linear 4s infinite streamFlow!important}.immersive-bg .stream-4{top:86%;animation:15s linear 1s infinite streamFlow!important}@keyframes streamFlow{0%{opacity:0;transform:translate(0)}10%{opacity:.7}90%{opacity:.7}to{opacity:0;transform:translate(700%)}}.core-card,.result-card{background-color:var(--glass-bg)!important;background-image:var(--bg-pattern)!important;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%)!important;backdrop-filter:blur(var(--glass-blur)) saturate(140%)!important;border:1px solid var(--glass-border)!important;box-shadow:0 24px 48px #08142629,inset 0 1px #ffffff2e!important}.btn-primary{position:relative!important;box-shadow:0 4px 14px #2fae9e47,inset 0 0 #fff0!important}.btn-primary:hover{box-shadow:0 10px 28px #2fae9e6b,inset 0 0 20px #ffffff47!important}.question-card.learning-question-card{animation:.52s cubic-bezier(.16,1,.3,1) both glassMergeIn!important}@keyframes glassMergeIn{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.immersive-bg .orb,.immersive-bg .stream{animation:none!important;transform:none!important}.core-page{transform:none!important}.page-enter,.question-card.learning-question-card{animation:none!important}}.clickable-text{line-height:1.8;display:inline-block;position:relative}.tap-char{cursor:default;padding:0 1px;transition:all .2s;position:relative}.tap-char.has-dict{cursor:pointer;border-bottom:1px dashed var(--line)}.tap-char.has-dict:hover,.tap-char.has-dict.active{background:var(--porcelain-soft);border-bottom-color:var(--porcelain);color:var(--porcelain)}.tap-tooltip{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-md);z-index:100;pointer-events:auto;border-radius:8px;flex-direction:column;align-items:center;min-width:100px;padding:8px 12px;display:flex;position:absolute;bottom:110%;left:50%;transform:translate(-50%);-webkit-user-select:text!important;user-select:text!important}.tap-tooltip:after{content:"";border-style:solid;border-width:6px;border-color:var(--paper) transparent transparent transparent;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tap-tooltip strong{color:var(--text);margin-bottom:4px;font-size:1.25rem;line-height:1}.tap-tooltip em{color:var(--porcelain);margin-bottom:2px;font-size:.9rem;font-style:normal;font-weight:500}.tap-tooltip small{color:var(--muted);text-align:center;font-size:.85rem}.mythical-art-bg{mix-blend-mode:overlay;opacity:.06;z-index:1;will-change:transform;filter:grayscale()brightness(1.18)contrast(.5)blur(3px)drop-shadow(1px 1px 1px #ffffffb3);transition:opacity .5s,filter .5s;pointer-events:none!important;width:110vw!important;height:140vh!important;transform:translate3d(0, calc(var(--scroll-y,0px) * -.08), 0)!important;background-image:url(/assets/dragon-phoenix-DOaQaStP.webp)!important;background-position:50%!important;background-repeat:no-repeat!important;background-size:cover!important;position:fixed!important;top:-20vh!important;left:-5vw!important}[data-theme=dark] .mythical-art-bg{mix-blend-mode:soft-light;opacity:.07;filter:grayscale()invert()sepia()hue-rotate(175deg)saturate(160%)brightness(.82)contrast(.45)blur(4px)drop-shadow(0 0 15px #93b4cc59)!important}@media (prefers-reduced-motion:reduce){.mythical-art-bg{transform:none!important}}@media (width<=768px){.core-card,.learning-question-card{border-radius:var(--radius)!important;padding:20px 16px!important}.today-action-buttons button{white-space:normal!important;height:auto!important;min-height:48px!important;padding:10px 12px!important;font-size:.9rem!important;line-height:1.3!important}.learning-question-card h2{margin:16px 0!important;font-size:1.8rem!important}.option-grid button{padding:16px 20px!important;font-size:1rem!important}}main.core-page{position:relative!important}.vocab-hsk-tabs{gap:2px;display:inline-flex;background:var(--box-subtle-bg)!important;border:1px solid var(--box-border)!important;border-radius:12px!important;padding:4px!important}.vocab-hsk-tabs button{cursor:pointer;color:var(--muted)!important;transition:all var(--transition-snappy)!important;background:0 0!important;border:1px solid #0000!important;border-radius:8px!important;padding:6px 14px!important;font-size:.82rem!important;font-weight:700!important}.vocab-hsk-tabs button.active{background:var(--box-bg)!important;color:var(--box-selected-border)!important;border-color:var(--box-border)!important;box-shadow:var(--shadow-sm)!important}.search-box{border:1.5px solid var(--box-border)!important;background:var(--box-bg)!important;box-shadow:var(--shadow-sm)!important;transition:border-color var(--transition-snappy)!important;color:var(--text)!important;border-radius:12px!important;padding:0 16px!important}.search-box:focus-within{border-color:var(--box-selected-border)!important;box-shadow:0 0 0 3px var(--focus-ring)!important}.search-box input{font-size:.9rem!important}.vocab-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;gap:16px!important;max-height:calc(100vh - 240px)!important;padding:8px 2px!important;display:grid!important;overflow-y:auto!important}.vocab-card{background:var(--modern-zen-card)!important;border:1px solid rgba(var(--shadow-color), .05)!important;border-radius:var(--radius)!important;text-align:center!important;cursor:pointer!important;min-height:124px!important;box-shadow:var(--shadow-sm)!important;transition:transform var(--transition-bounce), box-shadow var(--transition-smooth), border-color var(--transition-smooth)!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;width:100%!important;padding:20px 14px!important;display:flex!important}.vocab-card:hover{border-color:var(--modern-zen-primary)!important;box-shadow:var(--shadow-md)!important;transform:translateY(-4px)scale(1.02)!important}.vocab-card.active{border-color:var(--modern-zen-primary)!important;background:#127a5d0a!important;box-shadow:0 4px 16px #127a5d14!important}.vocab-card strong{color:var(--text)!important;font-size:1.86rem!important;font-family:var(--font-cn)!important;margin-bottom:6px!important;font-weight:700!important}.vocab-card span{color:var(--modern-zen-primary)!important;font-size:.88rem!important;font-weight:600!important}.vocab-card small{color:var(--muted)!important;text-overflow:ellipsis!important;white-space:nowrap!important;max-width:90%!important;margin-top:4px!important;font-size:.78rem!important;display:block!important;overflow:hidden!important}.vocab-drawer-backdrop{-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;z-index:1000!important;border-radius:var(--radius)!important;background:#0000004d!important;animation:.24s both fadeIn!important;position:absolute!important;inset:0!important}.vocab-drawer{background:var(--modern-zen-card)!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;width:100%!important;max-width:100%!important;box-shadow:var(--shadow)!important;z-index:1001!important;animation:slideInRight var(--transition-bounce) both!important;flex-direction:column!important;display:flex!important;position:absolute!important;inset:0!important;overflow:hidden!important}.vocab-drawer-header{border-bottom:1px solid var(--line-soft)!important;justify-content:space-between!important;align-items:flex-start!important;gap:16px!important;width:100%!important;max-width:800px!important;margin:0 auto!important;padding:24px 28px 18px!important;display:flex!important}.vocab-drawer-header h2{color:var(--modern-zen-primary)!important;margin:4px 0!important;font-size:2.1rem!important;font-weight:800!important}.vocab-drawer-header p{color:var(--muted)!important;margin:4px 0 0!important;font-size:1.02rem!important}.vocab-drawer-close{background:var(--modern-zen-chip)!important;color:var(--muted)!important;cursor:pointer!important;width:36px!important;height:36px!important;transition:all var(--transition-bounce)!important;border:none!important;border-radius:50%!important;place-items:center!important;font-size:1.5rem!important;line-height:1!important;display:grid!important}.vocab-drawer-close:hover{background:var(--cinnabar-soft)!important;color:var(--cinnabar)!important;transform:rotate(90deg)!important}.vocab-drawer-body{flex-direction:column!important;flex:1!important;gap:24px!important;width:100%!important;max-width:800px!important;margin:0 auto!important;padding:24px 28px 40px!important;display:flex!important;overflow-y:auto!important}.vocab-drawer-section{flex-direction:column!important;display:flex!important}.vocab-section-title{color:var(--dim)!important;text-transform:uppercase!important;letter-spacing:.05em!important;margin-bottom:10px!important;font-size:.8rem!important;font-weight:800!important;display:block!important}.hanzi-hero{background:var(--modern-zen-bg)!important;border:1px solid rgba(var(--shadow-color), .05)!important;border-radius:var(--radius-lg)!important;width:100%!important;min-height:170px!important;box-shadow:inset 0 0 16px rgba(var(--shadow-color), .01), var(--shadow-sm)!important;flex-flow:wrap!important;justify-content:center!important;align-items:center!important;gap:12px!important;padding:16px!important;display:flex!important}[data-theme=dark] .hanzi-hero{background:#242220!important;border-color:#ffffff05!important}.hanzi-writer-char{border-radius:var(--radius)!important;background:var(--modern-zen-card)!important;cursor:pointer!important;width:110px!important;height:110px!important;transition:transform var(--transition-bounce), border-color var(--transition-bounce)!important;border:1.5px dashed #d4a3594d!important;place-items:center!important;display:grid!important}[data-theme=dark] .hanzi-writer-char{border-color:#e8c17a40!important}.hanzi-writer-char:hover{border-color:var(--modern-zen-primary)!important;transform:scale(1.05)translateY(-2px)!important}.radical-strip{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))!important;gap:8px!important}.radical-strip span{background:rgba(var(--shadow-color), .02)!important;border:1px solid rgba(var(--shadow-color), .04)!important;border-radius:8px!important;align-items:center!important;min-height:auto!important;padding:8px 12px!important}.radical-strip strong{color:var(--gold)!important;font-size:1.15rem!important}.radical-strip small{font-size:.78rem!important}.vocab-example-list blockquote{border-left:3px solid var(--modern-zen-primary)!important;border-radius:var(--radius-sm)!important;transition:transform var(--transition-snappy)!important;background:#127a5d05!important;padding:14px 16px!important}.vocab-example-list blockquote:hover{transform:translate(4px)}.handwriting-panel{border-top:1px solid rgba(var(--shadow-color), .05)!important;margin-top:8px!important;padding-top:24px!important}.handwriting-panel h3{color:var(--muted)!important;margin-bottom:8px!important;font-size:1rem!important;font-weight:800!important}.handwriting-hint-text{color:var(--muted)!important;opacity:.8!important;margin:0 0 12px!important;font-size:.8rem!important}.handwriting-char-tabs{flex-wrap:wrap!important;gap:6px!important;margin-bottom:8px!important;display:flex!important}.handwriting-char-tabs button{border:1.5px solid rgba(var(--shadow-color), .12)!important;border-radius:var(--radius)!important;background:var(--modern-zen-card)!important;min-width:40px!important;height:40px!important;color:var(--text)!important;cursor:pointer!important;transition:border-color var(--transition-bounce), transform var(--transition-bounce)!important;font-size:1.15rem!important}.handwriting-char-tabs button.active{border-color:var(--modern-zen-primary)!important;color:var(--modern-zen-primary)!important;transform:translateY(-1px)!important}.handwriting-quiz-wrap{flex-direction:column!important;align-items:center!important;gap:10px!important;display:flex!important}.handwriting-quiz-grid{cursor:crosshair;aspect-ratio:1!important;border:1.5px dashed var(--box-border)!important;border-radius:var(--radius)!important;background:var(--box-subtle-bg)!important;touch-action:none!important;width:min(220px,100%)!important}.handwriting-quiz-grid svg{width:100%!important;height:100%!important}[data-theme=dark] .handwriting-quiz-grid{background:var(--box-subtle-bg)!important;border-color:var(--box-border)!important}.handwriting-stats{color:var(--muted)!important;flex-wrap:wrap!important;align-items:center!important;gap:12px!important;font-size:.85rem!important;display:flex!important}.handwriting-stats strong{color:var(--modern-zen-primary)!important}.handwriting-miss{color:#d9534f!important}.handwriting-done{color:var(--modern-zen-primary)!important;font-weight:800!important}.handwriting-actions{justify-content:center!important;gap:8px!important;margin-top:14px!important;display:flex!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@media (width<=768px){.vocab-head{flex-direction:column!important;align-items:stretch!important}.vocab-controls{flex-direction:column!important;align-items:stretch!important;width:100%!important}.vocab-hsk-tabs{white-space:nowrap;justify-content:flex-start!important;max-width:100%!important;padding:6px!important;display:flex!important;overflow-x:auto!important}.vocab-hsk-tabs button{flex:none!important}.vocab-drawer{width:100%!important}.vocab-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.vocab-card{min-width:0!important}.level-grid,.mini-level-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.level-card{text-align:center!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;min-height:64px!important;padding:8px!important;display:flex!important}.level-card span{font-size:.65rem!important}.level-card strong{margin-top:2px!important;font-size:1.5rem!important}.quiz-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.quiz-type-card{text-align:center!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:6px!important;min-height:84px!important;padding:12px!important;display:flex!important}.quiz-type-card strong{font-size:.92rem!important}.quiz-strategy-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.quiz-strategy-card{text-align:center!important;justify-content:center!important;align-items:center!important;padding:10px 8px!important;display:flex!important}.quiz-strategy-card span{white-space:nowrap!important;font-size:.82rem!important;font-weight:700!important}.session-result-grid,.session-pill-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.session-result-grid span,.session-pill-grid span{min-height:72px!important;padding:8px 10px!important}}.grammar-lab .core-section-head h1{align-items:center;gap:10px;display:flex}.grammar-summary{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.grammar-summary-stat{flex-direction:column;gap:2px;min-width:88px;display:flex}.grammar-summary-stat strong{color:var(--jade);font-size:1.5rem;line-height:1.1}.grammar-summary-stat small{color:var(--muted);font-size:.78rem}.grammar-review-cta{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.grammar-catalog-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:8px;display:grid}.grammar-catalog-tabs button{border-radius:var(--radius);min-height:48px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;font-weight:750;transition:background .18s,border-color .18s,color .18s;display:flex}.grammar-catalog-tabs button:hover{color:var(--text);background:var(--control-bg)}.grammar-catalog-tabs button.active{color:var(--jade);border-color:color-mix(in srgb, var(--jade) 30%, var(--line));background:var(--jade-soft)}.grammar-catalog-tabs small{min-width:31px;color:inherit;background:color-mix(in srgb, currentColor 10%, transparent);border-radius:99px;padding:2px 7px;font-size:.72rem}.grammar-reference-toolbar{align-items:center;gap:16px;display:flex}.grammar-reference-toolbar>span{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.85rem}.grammar-reference-toolbar>span strong{color:var(--jade)}.grammar-reference-search{border:1px solid var(--line);border-radius:var(--radius);min-height:44px;color:var(--muted);background:var(--control-bg);flex:1;align-items:center;gap:10px;padding:0 13px;display:flex}.grammar-reference-search:focus-within{border-color:color-mix(in srgb, var(--jade) 45%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--jade) 10%, transparent)}.grammar-reference-search input{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0}.grammar-reference-search input::placeholder{color:var(--muted)}.grammar-reference-offline-badge{border:1px solid color-mix(in srgb, #f59e0b 40%, var(--line));border-radius:var(--radius);color:color-mix(in srgb, #f59e0b 75%, var(--text));background:#f59e0b14;align-items:center;gap:9px;padding:6px 10px;font-size:.82rem;display:inline-flex}.grammar-reference-retry{border:1px solid color-mix(in srgb, var(--jade) 40%, var(--line));border-radius:calc(var(--radius) - 4px);min-height:30px;color:var(--jade);font:inherit;cursor:pointer;background:0 0;padding:0 10px;font-size:.8rem}.grammar-reference-retry:hover{background:color-mix(in srgb, var(--jade) 12%, transparent)}.grammar-reference-retry:focus-visible{outline:2px solid var(--jade);outline-offset:2px}.grammar-reference-loading{text-align:center;color:var(--muted);font-size:.85rem}.grammar-reference-card{min-height:220px}.grammar-reference-card-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.grammar-reference-card-topline span{color:var(--jade);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.grammar-reference-card-topline small{color:var(--muted);font-size:.72rem}.grammar-reference-card h2{margin:0;font-size:1rem;line-height:1.45}.grammar-reference-card p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.84rem;line-height:1.55;display:-webkit-box;overflow:hidden}.grammar-reference-card button{margin-top:auto}.grammar-reference-empty{text-align:center;min-height:220px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.grammar-reference-pagination{justify-content:center;align-items:center;gap:16px;display:flex}.grammar-reference-pagination>span{text-align:center;min-width:110px;color:var(--muted);font-size:.85rem}.grammar-reference-pagination>span strong{color:var(--text)}.grammar-reference-pagination button{min-width:104px}.grammar-reference-detail{max-width:900px;margin:0 auto}.grammar-reference-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--control-bg);flex-direction:column;gap:7px;padding:16px 18px;display:flex}.grammar-reference-section>small{color:var(--jade);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:800}.grammar-reference-text{white-space:pre-wrap;margin:0;line-height:1.75}.grammar-reference-meaning{border-color:color-mix(in srgb, var(--jade) 28%, var(--line));background:var(--jade-soft)}.grammar-reference-note{border-color:color-mix(in srgb, var(--gold) 28%, var(--line));background:var(--gold-soft)}.grammar-reference-note>small{color:var(--gold)}.grammar-reference-examples{border-left:3px solid var(--jade)}.grammar-level-grid{gap:10px;display:flex}.grammar-level-grid .level-card{flex:1}.grammar-lesson-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.grammar-lesson-card{flex-direction:column;gap:12px;display:flex}.grammar-lesson-head{align-items:flex-start;gap:10px;display:flex}.grammar-lesson-head>div{flex-direction:column;flex:1;gap:2px;display:flex}.grammar-lesson-head strong{font-size:1rem}.grammar-lesson-head small{color:var(--muted);font-size:.8rem;line-height:1.35}.grammar-emoji{font-size:1.5rem;line-height:1}.grammar-due-badge{background:var(--gold-soft);color:var(--gold);border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.grammar-mastery-bar{background:var(--track-bg);border-radius:99px;height:8px;overflow:hidden}.grammar-mastery-bar>span{background:var(--jade-gradient);height:100%;transition:width var(--transition-smooth);border-radius:99px;display:block}.grammar-lesson-actions{gap:8px;display:flex}.grammar-lesson-actions button{flex:1;justify-content:center;align-items:center;gap:6px;display:inline-flex}.grammar-back,.quiz-back{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:.85rem;display:inline-flex}.grammar-back:hover,.quiz-back:hover{color:var(--jade)}.grammar-level-badge{background:var(--jade-soft);color:var(--jade);border-radius:var(--radius-sm);padding:3px 10px;font-size:.75rem;font-weight:600}.grammar-theory{flex-direction:column;gap:16px;display:flex}.grammar-theory-title{align-items:center;gap:10px;margin:0;display:flex}.grammar-theory-desc{color:var(--muted);margin:0}.grammar-structure{background:var(--jade-soft);border-radius:var(--radius);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.grammar-structure small{text-transform:uppercase;letter-spacing:.04em;color:var(--jade);font-size:.7rem;font-weight:700}.grammar-structure strong{font-size:1.15rem}.grammar-explain{margin:0;line-height:1.6}.grammar-examples{flex-direction:column;gap:10px;display:flex}.grammar-examples>small{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.7rem;font-weight:700}.grammar-example{border-left:3px solid var(--jade-soft);flex-direction:column;gap:2px;padding-left:12px;display:flex}.grammar-example-cn{font-size:1.15rem}.grammar-example-pinyin{font-size:.9rem}.grammar-example-vi{color:var(--muted);font-size:.9rem}.grammar-note{background:var(--gold-soft);border-radius:var(--radius);color:var(--text);align-items:flex-start;gap:8px;padding:12px 14px;font-size:.9rem;line-height:1.5;display:flex}.grammar-note svg{color:var(--gold);flex-shrink:0;margin-top:2px}.grammar-theory-cta{align-self:flex-start;align-items:center;gap:8px;display:inline-flex}@media (width<=768px){.grammar-lesson-grid,.grammar-catalog-tabs{grid-template-columns:1fr}.grammar-reference-toolbar{flex-direction:column;align-items:stretch}.grammar-reference-toolbar>span{margin-left:0}.grammar-reference-pagination{gap:8px;padding:12px}.grammar-reference-pagination button{flex:1;min-width:0}.grammar-reference-pagination>span{min-width:90px}.grammar-summary{gap:12px}.grammar-review-cta{justify-content:center;width:100%;margin-left:0}}.vocab-typing-shell{flex-direction:column!important;gap:20px!important;max-width:640px!important;margin:0 auto!important;display:flex!important}.vocab-typing-empty{text-align:center!important;opacity:.7!important;padding:40px 0!important}.vocab-typing-top{flex-wrap:wrap!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;display:flex!important}.vocab-typing-modes,.vocab-typing-levels{flex-wrap:wrap!important;gap:6px!important;display:flex!important}.vocab-mode-btn,.vocab-level-btn{border-radius:var(--radius-sm)!important;border:1px solid var(--line)!important;color:var(--muted)!important;cursor:pointer!important;background:0 0!important;padding:6px 12px!important;font-size:.85rem!important}.vocab-mode-btn.active,.vocab-level-btn.active{background:var(--jade-soft)!important;border-color:var(--jade)!important;color:var(--jade)!important;font-weight:600!important}.vocab-progress{align-items:center!important;gap:12px!important;display:flex!important}.vocab-progress-track{background:var(--ring-track)!important;border-radius:999px!important;flex:1!important;height:8px!important;overflow:hidden!important}.vocab-progress-fill{background:var(--jade-gradient)!important;border-radius:999px!important;height:100%!important;transition:width .3s!important}.vocab-progress-count{color:var(--muted)!important;font-variant-numeric:tabular-nums!important;font-size:.85rem!important}.vocab-card{border-radius:var(--radius)!important;background:var(--modern-zen-card)!important;box-shadow:var(--shadow-md)!important;border:2px solid #0000!important;padding:28px!important;transition:border-color .2s!important}.vocab-card.is-correct{border-color:var(--jade)!important}.vocab-card.is-wrong{border-color:var(--danger-text)!important}.vocab-prompt-vi{margin:8px 0 20px!important;font-size:1.6rem!important;font-weight:600!important;line-height:1.3!important}.vocab-prompt-hz{margin:8px 0 20px!important;font-size:3.2rem!important;font-weight:700!important;line-height:1.1!important}.vocab-input-wrap{position:relative!important}.vocab-input,.vocab-input-overlay{letter-spacing:.02em!important;border:1px solid var(--line)!important;border-radius:var(--radius-sm)!important;box-sizing:border-box!important;white-space:pre-wrap!important;word-break:break-word!important;width:100%!important;padding:12px 14px!important;font-family:inherit!important;font-size:1.5rem!important;line-height:1.4!important}.vocab-input{color:#0000!important;caret-color:var(--ink)!important;z-index:1!important;background:0 0!important;position:relative!important}.vocab-input:focus{border-color:var(--jade)!important;box-shadow:0 0 0 3px var(--focus-ring)!important;outline:none!important}.vocab-input-overlay{pointer-events:none!important;border-color:#0000!important;position:absolute!important;inset:0!important;overflow:hidden!important}.char-placeholder{color:var(--muted)!important;opacity:.7!important}.char-correct{color:var(--jade)!important}.char-wrong{color:var(--danger-text)!important}.char-pending{color:var(--muted)!important}.vocab-feedback{align-items:center!important;gap:6px!important;margin:14px 0 0!important;font-size:.95rem!important;display:flex!important}.vocab-feedback.ok{color:var(--jade)!important}.vocab-feedback.bad{color:var(--danger-text)!important}.vocab-answer{border-top:1px solid var(--line)!important;flex-direction:column!important;gap:4px!important;margin-top:16px!important;padding-top:16px!important;display:flex!important}.vocab-answer-hz{font-size:1.8rem!important;font-weight:700!important}.vocab-answer-py{color:var(--jade)!important;font-size:1.1rem!important}.vocab-answer-vi{color:var(--muted)!important}.vocab-actions{flex-wrap:wrap!important;gap:8px!important;display:flex!important}.vocab-action{border-radius:var(--radius-sm)!important;border:1px solid var(--line)!important;background:var(--modern-zen-card)!important;color:var(--text)!important;cursor:pointer!important;align-items:center!important;gap:4px!important;padding:10px 14px!important;font-size:.9rem!important;display:flex!important}.vocab-action:hover:not(:disabled){background:var(--control-hover)!important}.vocab-action:disabled{opacity:.45!important;cursor:not-allowed!important}.vocab-action.primary{background:var(--jade-gradient)!important;color:#fff!important;border-color:#0000!important;margin-left:auto!important;font-weight:600!important}.vocab-action.starred{color:var(--jade)!important;border-color:var(--jade)!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.landing{isolation:isolate;--landing-bg-top:#f9f8f4;--landing-bg-bottom:#f2efe7;--landing-paper:#fff;--landing-accent:#1b4d3e;--landing-accent-soft:#1b4d3e12;--landing-accent-hover:#1b4d3e1f;--landing-border:#1e282314;--landing-border-strong:#1b4d3e38;--landing-shadow:0 8px 30px #1b231e0a, 0 2px 6px #1b231e05;--landing-inner-light:#ffffffe6;--landing-font:"Geist", "Inter", system-ui, sans-serif;--landing-mono:"Geist Mono", "Fira Code", ui-monospace, monospace;--landing-max:1240px;--landing-ease:cubic-bezier(.16, 1, .3, 1);min-height:100dvh;font-family:var(--landing-font);background:radial-gradient(1200px 700px at 50% -10%, #1b4d3e0d, transparent 70%), linear-gradient(180deg, var(--landing-bg-top), var(--landing-bg-bottom));color:var(--text);flex-direction:column;display:flex;position:relative}[data-theme=dark] .landing{--landing-bg-top:#141615;--landing-bg-bottom:#191b1a;--landing-paper:#1e201f;--landing-accent:#38a382;--landing-accent-soft:#38a3821f;--landing-accent-hover:#38a38233;--landing-border:#ffffff14;--landing-border-strong:#38a38247;--landing-shadow:0 10px 32px #00000040;--landing-inner-light:#ffffff0f}.landing:before{content:"";z-index:0;pointer-events:none;mix-blend-mode:multiply;opacity:.01;filter:grayscale()brightness(1.1)contrast(.7)blur(1px);background-image:url(/assets/dragon-phoenix-DOaQaStP.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}[data-theme=dark] .landing:before{mix-blend-mode:soft-light;opacity:.01;filter:grayscale()invert()brightness(.75)contrast(.6)blur(1px)}.landing-top,.landing>main,.landing-footer{z-index:1;position:relative}.landing>main{flex:1}@media (width<=767px){.landing:before{opacity:.06;filter:grayscale()brightness(1.2)contrast(.6)blur(2px)}[data-theme=dark] .landing:before{opacity:.09}}.landing-top{z-index:20;border-bottom:1px solid var(--landing-border);background:color-mix(in srgb, var(--landing-bg-top) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(120%);backdrop-filter:blur(14px)saturate(120%);justify-content:space-between;align-items:center;gap:12px;padding:14px clamp(16px,4vw,48px);display:flex;position:sticky;top:0;box-shadow:inset 0 -1px #ffffff0a}.landing-brand{letter-spacing:-.01em;align-items:center;gap:10px;min-width:0;font-weight:600;display:flex}.landing-brand img{object-fit:cover;border-radius:10px;flex:none;width:34px;height:34px}.landing-brand span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.landing-top-actions{flex:none;gap:8px;display:flex}.landing-hero{max-width:var(--landing-max);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:clamp(24px,5vw,72px);width:100%;margin:0 auto;padding:clamp(32px,7vw,92px) clamp(16px,4vw,48px) clamp(24px,4vw,56px);display:grid}.landing-hero-copy{justify-items:start;gap:18px;min-width:0;padding-right:clamp(0px,3vw,40px);display:grid}.landing-eyebrow{color:var(--landing-accent);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;margin:0;font-size:.78rem;font-weight:600;display:inline-flex}.landing-eyebrow-dot{background:var(--landing-accent);border-radius:50%;width:6px;height:6px;animation:2.8s ease-in-out infinite landingBreathe}@keyframes landingBreathe{0%,to{opacity:.35;transform:scale(.82)}50%{opacity:1;transform:scale(1)}}.landing-hero-copy h1{letter-spacing:-.028em;text-wrap:balance;max-width:20ch;margin:0;font-size:clamp(1.85rem,3.9vw,2.75rem);font-weight:700;line-height:1.08}.landing-hero-lede{max-width:48ch;color:var(--muted);line-height:var(--line-readable,1.65);margin:0}.landing-points{border-top:1px solid var(--landing-border);gap:0;width:100%;max-width:46ch;margin:4px 0 0;padding:0;list-style:none;display:grid}.landing-points li{border-bottom:1px solid var(--landing-border);color:var(--text);padding:11px 0 11px 26px;font-size:.92rem;line-height:1.5;position:relative}.landing-points li:before{content:"";border-left:1.5px solid var(--landing-accent);border-bottom:1.5px solid var(--landing-accent);width:9px;height:5px;position:absolute;top:1.05em;left:3px;transform:rotate(-45deg)}.landing-hero-demo{min-width:0;margin-top:clamp(0px,2vw,28px)}.hero-demo{gap:14px;min-width:0;display:grid}.hero-demo-head{justify-items:start;gap:6px;display:grid}.hero-demo-head h3{margin:0;font-size:1.12rem}.hero-demo-sub{color:var(--muted);margin:0;font-size:.88rem}.hero-demo-card{background:var(--landing-paper);border:1px solid var(--landing-border);box-shadow:var(--landing-shadow), inset 0 1px 0 #fff9;border-radius:22px;gap:14px;min-width:0;padding:clamp(18px,2.2vw,26px);display:grid}[data-theme=dark] .hero-demo-card{box-shadow:var(--landing-shadow), inset 0 1px 0 #ffffff0f}.hero-demo-loading{min-height:120px;color:var(--landing-accent);place-items:center;display:grid}.hero-demo-sentence{text-align:center;justify-items:center;gap:4px;display:grid}.hero-demo-hanzi{font-family:var(--font-cn), serif;word-break:break-word;font-size:clamp(2rem,7vw,2.75rem);line-height:1.2}.hero-demo-pinyin{color:var(--landing-accent);font-weight:600}.hero-demo-meaning{color:var(--muted);font-size:.9rem}.hero-demo-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.hero-demo-rec{animation:1.6s ease-in-out infinite heroDemoPulse}@keyframes heroDemoPulse{0%,to{box-shadow:0 0 0 0 var(--cinnabar-soft)}50%{box-shadow:0 0 0 8px var(--cinnabar-soft)}}@media (prefers-reduced-motion:reduce){.hero-demo-rec{animation:none}}.hero-demo-warn,.hero-demo-error{background:var(--cinnabar-soft);color:var(--danger-text,var(--cinnabar));border-radius:12px;margin:0;padding:10px 12px;font-size:.86rem}.hero-demo-result{border-top:1px solid var(--landing-border);gap:14px;padding-top:14px;display:grid}.hero-demo-rings{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.hero-demo-pitch{background:var(--landing-accent-soft);border:1px solid var(--landing-border);border-radius:12px;width:100%;height:96px}.hero-demo-pitch--empty{color:var(--muted);text-align:center;place-items:center;padding:0 12px;font-size:.82rem;display:grid}.hero-demo-tip{background:var(--landing-accent-soft);color:var(--text);border-radius:12px;margin:0;padding:12px 14px;font-size:.9rem;line-height:1.6}.hero-demo-gate{text-align:center;justify-items:center;gap:10px;display:grid}.hero-demo-gate p{color:var(--muted);margin:0;font-size:.88rem}.hero-demo-empty{text-align:center;min-height:120px;color:var(--muted);align-content:center;justify-items:center;gap:10px;display:grid}@media (width<=900px){.landing-hero{grid-template-columns:minmax(0,1fr);padding-top:clamp(24px,6vw,48px)}.landing-hero-copy{text-align:left;justify-items:start;padding-right:0}.landing-hero-copy h1,.landing-points{max-width:none}.landing-hero-demo{margin-top:0}}@media (width<=480px){.landing-brand span{display:none}.hero-demo-card{padding:16px 14px}}.landing-section{max-width:var(--landing-max);width:100%;margin:0 auto;padding:clamp(36px,6vw,88px) clamp(16px,4vw,48px)}.landing-section-title{letter-spacing:-.022em;max-width:24ch;margin:0 0 clamp(22px,3.4vw,40px);font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:700;line-height:1.18}.landing-reveal>*{opacity:0;transition:opacity .62s var(--landing-ease), transform .62s var(--landing-ease);transition-delay:calc(var(--reveal-index,0) * 85ms);transform:translateY(14px)}.landing-reveal.is-revealed>*{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.landing-reveal>*{opacity:1;transition:none;transform:none}}.landing-stats{padding-top:clamp(12px,2vw,24px)}.landing-stats-row{border-top:1px solid var(--landing-border);border-bottom:1px solid var(--landing-border);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.landing-stat{border-left:1px solid var(--landing-border);flex-direction:column-reverse;justify-content:flex-end;align-items:flex-start;gap:6px;min-width:0;padding:clamp(18px,2.6vw,30px) clamp(14px,2vw,26px);display:flex}.landing-stat:first-child{border-left:0;padding-left:0}.landing-stat dd{color:var(--text);font-family:var(--landing-mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(1.45rem,3vw,2rem);font-weight:600;line-height:1}.landing-stat dt{color:var(--muted);text-wrap:balance;font-size:.8rem;line-height:1.4}.landing-pillar-lead{border:1px solid var(--landing-border-strong);background:linear-gradient(135deg, var(--landing-accent-soft), transparent 46%), var(--landing-paper);box-shadow:var(--landing-shadow), inset 0 1px 0 var(--landing-inner-light);border-radius:22px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:clamp(16px,2.4vw,28px);padding:clamp(22px,3vw,38px);display:grid}.landing-pillar-lead-text{gap:10px;min-width:0;display:grid}.landing-pillar-lead-text h3{letter-spacing:-.018em;margin:0;font-size:clamp(1.08rem,1.9vw,1.3rem);font-weight:700;line-height:1.25}.landing-pillar-lead-text p{max-width:66ch;color:var(--muted);font-size:.94rem;line-height:var(--line-readable,1.65);margin:0}.landing-pillar-rest{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,2.6vw,40px);margin-top:clamp(28px,4vw,56px);display:grid}.landing-pillar{border-top:1px solid var(--landing-border-strong);align-content:start;gap:10px;min-width:0;padding-top:18px;display:grid}.landing-pillar:first-child{margin-top:clamp(0px,3vw,34px)}.landing-pillar-icon{width:40px;height:40px;color:var(--landing-accent);background:var(--landing-accent-soft);border-radius:12px;place-items:center;display:inline-grid}.landing-pillar h3{letter-spacing:-.012em;margin:0;font-size:1rem;font-weight:600;line-height:1.3}.landing-pillar p{max-width:44ch;color:var(--muted);font-size:.9rem;line-height:var(--line-readable,1.65);margin:0}.landing-steps-section{padding-top:clamp(20px,3vw,40px)}.landing-step-rail{counter-reset:landing-step;gap:0;max-width:760px;margin:0;padding:0;list-style:none;display:grid}.landing-step{counter-increment:landing-step;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:16px;min-width:0;padding:0 0 clamp(22px,3vw,34px);display:grid;position:relative}.landing-step:before{content:"";background:var(--landing-border-strong);width:1px;position:absolute;top:38px;bottom:0;left:17px}.landing-step:last-child{padding-bottom:0}.landing-step:last-child:before{display:none}.landing-step-text{gap:6px;min-width:0;padding-top:5px;display:grid}.landing-step h3{margin:0;font-size:1rem;font-weight:600;line-height:1.3}.landing-step h3:before{content:counter(landing-step, decimal-leading-zero);color:var(--landing-accent);font-family:var(--landing-mono);margin-right:10px;font-size:.82rem;font-weight:500}.landing-step p{max-width:58ch;color:var(--muted);font-size:.9rem;line-height:var(--line-readable,1.65);margin:0}.landing-step-icon{width:34px;height:34px;color:var(--landing-accent);background:var(--landing-bg-top);border:1px solid var(--landing-border-strong);border-radius:50%;place-items:center;display:inline-grid}.landing-method-list{border-top:1px solid var(--landing-border);gap:0;display:grid}.landing-method-item{border-bottom:1px solid var(--landing-border);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:clamp(14px,2.2vw,28px);padding:clamp(20px,2.8vw,32px) 0;display:grid}.landing-method-icon{width:38px;height:38px;color:var(--landing-accent);background:var(--landing-accent-soft);border-radius:10px;place-items:center;display:inline-grid}.landing-method-text{gap:6px;min-width:0;display:grid}.landing-method-text h3{letter-spacing:-.012em;margin:0;font-size:1rem;font-weight:600;line-height:1.3}.landing-method-text p{max-width:68ch;color:var(--muted);font-size:.92rem;line-height:var(--line-readable,1.65);margin:0}.landing-faq-section{padding-top:clamp(20px,3vw,40px)}.landing-faq{border-top:1px solid var(--landing-border);gap:0;max-width:860px;display:grid}.landing-faq-item{border-bottom:1px solid var(--landing-border)}.landing-faq-item summary{cursor:pointer;transition:color .2s var(--landing-ease);justify-content:space-between;align-items:center;gap:12px;padding:17px 2px;font-size:.95rem;font-weight:600;list-style:none;display:flex}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-item summary:after{content:"";border-right:2px solid var(--landing-accent);border-bottom:2px solid var(--landing-accent);flex:none;width:9px;height:9px;transition:transform .2s;transform:rotate(45deg)translateY(-2px)}.landing-faq-item[open] summary:after{transform:rotate(-135deg)translateY(-2px)}.landing-faq-item summary:hover{background:var(--landing-accent-soft);color:var(--landing-accent)}.landing-faq-item summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.landing-faq-item p{max-width:72ch;color:var(--muted);font-size:.92rem;line-height:var(--line-readable,1.65);margin:0;padding:0 clamp(14px,2vw,20px) 16px}.landing-closing{border-top:1px solid var(--landing-border-strong);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(18px,3vw,48px);margin-top:clamp(8px,2vw,24px);display:grid}.landing-closing-text{gap:10px;min-width:0;display:grid}.landing-closing h2{letter-spacing:-.022em;max-width:22ch;margin:0;font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:700;line-height:1.18}.landing-closing p{max-width:52ch;color:var(--muted);line-height:var(--line-readable,1.65);margin:0}.landing-closing-btn{white-space:nowrap;flex:none}.landing-footer{z-index:1;border-top:1px solid var(--landing-border);padding:22px clamp(16px,4vw,48px) 32px;position:relative}.landing-footer p{max-width:var(--landing-max);color:var(--dim);margin:0 auto;font-size:.82rem}@media (width<=900px){.landing-pillar-rest{grid-template-columns:minmax(0,1fr);gap:0}.landing-pillar:first-child{margin-top:0}.landing-pillar{margin-top:22px;padding:18px 0 0}.landing-pillar p{max-width:60ch}.landing-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-stat:nth-child(3){border-left:0;padding-left:0}.landing-stat:first-child,.landing-stat:nth-child(2){border-bottom:1px solid var(--landing-border)}.landing-closing{grid-template-columns:minmax(0,1fr);align-items:start}}@media (width<=560px){.landing-stats-row{grid-template-columns:minmax(0,1fr)}.landing-stat{border-left:0;padding-left:0;padding-right:0}.landing-stat:not(:last-child){border-bottom:1px solid var(--landing-border)}}@media (width<=480px){.landing-pillar-lead,.landing-method-item{grid-template-columns:minmax(0,1fr)}.landing-step{grid-template-columns:28px minmax(0,1fr);gap:12px}.landing-step:before{top:32px;left:14px}.landing-step-icon{width:28px;height:28px}}.dash-page{--dash-hair:#2c3e501c;--dash-hair-soft:#2c3e500f;--dash-mono:ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Mono", Menlo, monospace;--dash-inner-light:#ffffffb3;--dash-lift:0 10px 30px -22px #23302e66;gap:var(--sp-6);padding-bottom:var(--sp-6);flex-direction:column;display:flex}:root[data-theme=dark] .dash-page{--dash-hair:#f7f2ea21;--dash-hair-soft:#f7f2ea12;--dash-inner-light:#ffffff0f;--dash-lift:0 12px 34px -24px #000000b3}.dash-figure{font-family:var(--dash-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.02em}.dash-figure i{opacity:.55;margin-left:1px;font-size:.6em;font-style:normal}.dash-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-size:.68rem;font-weight:700;display:block}.dash-ghost-btn{border:1px solid var(--dash-hair);color:var(--dim);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:600;transition:color .18s,border-color .18s;display:inline-flex}.dash-ghost-btn:hover{color:var(--text);border-color:color-mix(in srgb, var(--text) 26%, transparent)}.dash-focus{background:var(--box-bg);border:1px solid var(--box-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 40px;padding:28px 32px;transition:box-shadow .25s,border-color .25s;display:grid}.dash-focus:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--jade) 25%, transparent)}.dash-focus-copy h1{letter-spacing:-.025em;color:var(--text);text-wrap:balance;margin:8px 0 0;font-size:clamp(1.6rem,1.15rem + 1.6vw,2.15rem);font-weight:700;line-height:1.14}.dash-focus-copy p{max-width:46ch;font-size:.92rem;line-height:var(--line-readable);color:var(--muted);margin:10px 0 0}.dash-focus--first .dash-focus-copy h1{color:var(--jade)}.dash-focus-controls{flex-direction:column;align-items:flex-end;gap:14px;display:flex}.dash-focus-levels{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.dash-level{border:1px solid var(--dash-hair);background:var(--control-bg);color:var(--muted);cursor:pointer;border-radius:10px;align-items:baseline;gap:4px;padding:7px 13px;transition:color .18s,border-color .18s,background .18s,transform .15s;display:inline-flex}.dash-level span{letter-spacing:.1em;text-transform:uppercase;opacity:.7;font-size:.62rem;font-weight:700}.dash-level strong{font-family:var(--dash-mono);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.dash-level:hover{color:var(--text);border-color:color-mix(in srgb, var(--jade) 40%, transparent);transform:translateY(-1px)}.dash-level.active{color:var(--jade);border-color:var(--jade);background:var(--jade-soft);box-shadow:0 2px 8px #127a5d26}.dash-focus-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.dash-today{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);flex-direction:column;gap:26px;padding:28px 32px;transition:box-shadow .25s,border-color .25s;display:flex}.dash-today:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--jade) 25%, transparent)}.dash-today-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px 32px;display:grid}.dash-today-title h2{letter-spacing:-.02em;color:var(--text);margin:8px 0 0;font-size:1.32rem;font-weight:700;line-height:1.2}.dash-today-title p{max-width:52ch;color:var(--muted);margin:6px 0 0;font-size:.88rem;line-height:1.55}.dash-mode-switch{border:1px solid var(--dash-hair);background:var(--control-bg);border-radius:12px;display:inline-flex;overflow:hidden}.dash-mode-switch button{border:0;border-left:1px solid var(--dash-hair);text-align:left;cursor:pointer;min-width:92px;color:var(--muted);background:0 0;flex-direction:column;gap:2px;padding:9px 14px;transition:background .18s,color .18s;display:flex}.dash-mode-switch button:first-child{border-left:0}.dash-mode-switch button strong{font-size:.85rem;font-weight:700}.dash-mode-switch button span{opacity:.8;font-size:.7rem}.dash-mode-switch button:hover{background:var(--control-hover);color:var(--text)}.dash-mode-switch button.is-active{background:var(--jade-soft);color:var(--jade);font-weight:700}.dash-nudge{background:var(--box-subtle-bg);border-radius:var(--radius-sm);border:1px solid var(--box-border);grid-template-columns:3px minmax(0,1fr) auto;align-items:start;gap:0 16px;padding:12px 16px;display:grid}.dash-nudge-mark{background:var(--nudge-tone,var(--jade));border-radius:999px;align-self:stretch}.dash-nudge-body h3{letter-spacing:.09em;text-transform:uppercase;color:var(--nudge-tone,var(--jade));margin:0;font-size:.78rem;font-weight:700}.dash-nudge-body p{color:var(--text);margin:5px 0 0;font-size:.9rem;line-height:1.55}.dash-nudge-reason{color:var(--dim);margin-top:4px;font-size:.78rem;display:block}.dash-nudge--fragile,.dash-nudge--overloaded{--nudge-tone:var(--cinnabar)}.dash-nudge--returning,.dash-nudge--ready_short,.dash-nudge--habit_building{--nudge-tone:var(--gold)}.dash-nudge--ready_deep,.dash-nudge--maintenance{--nudge-tone:var(--jade)}.dash-mission-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:4px 0;display:grid}.dash-mission{background:var(--box-subtle-bg);border:1px solid var(--box-border);border-radius:var(--radius);flex-direction:column;gap:6px;padding:18px 20px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.dash-mission:hover{box-shadow:var(--shadow-sm);border-color:var(--box-border-hover);transform:translateY(-2px)}.dash-mission:first-child{border-left:1px solid var(--box-border);padding-left:20px}.dash-mission-label{letter-spacing:.11em;text-transform:uppercase;color:var(--dim);font-size:.7rem;font-weight:700}.dash-mission .dash-figure{color:var(--text);font-size:1.85rem;font-weight:700;line-height:1}.dash-mission p{color:var(--muted);margin:2px 0 0;font-size:.78rem;line-height:1.45}.dash-mission--gold .dash-figure{color:var(--gold)}.dash-mission--jade .dash-figure{color:var(--jade)}.dash-mission--cinnabar .dash-figure{color:var(--cinnabar)}.dash-mission--blue .dash-figure{color:var(--porcelain)}.dash-today-foot{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:24px 32px;display:grid}.dash-focus-words{flex-wrap:wrap;gap:8px;display:flex}.dash-focus-words>span{border:1px solid var(--box-border);background:var(--box-subtle-bg);border-radius:10px;flex-direction:column;gap:2px;min-width:74px;padding:8px 12px;display:flex}.dash-focus-words>span>strong{font-family:var(--font-cn), var(--font);color:var(--text);font-size:1.22rem;line-height:1.15}.dash-focus-words>span>small{color:var(--dim);font-size:.72rem}.dash-word-stage,.dash-word-rung{letter-spacing:.04em;color:var(--dim);font-size:.65rem;font-style:normal;font-weight:700}.dash-word-stage{margin-top:3px;display:block}.dash-word-stage--unknown{color:var(--dim)}.dash-word-stage--recognized{color:var(--porcelain)}.dash-word-stage--understood{color:var(--gold)}.dash-word-stage--usable,.dash-word-stage--mastered{color:var(--jade)}.dash-word-stage-bar{background:var(--dash-hair);border-radius:999px;height:3px;margin-top:3px;display:block;overflow:hidden}.dash-word-stage-bar>span{background:currentColor;border-radius:999px;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1);display:block}.dash-today-actions{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.dash-today-actions p{max-width:42ch;color:var(--muted);text-align:right;margin:0;font-size:.82rem;line-height:1.5}.dash-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.dash-stats{flex-direction:column;gap:24px;display:flex}.dash-stats-head{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px 24px;padding:28px 32px;transition:box-shadow .25s;display:grid}.dash-stats-head:hover{box-shadow:var(--shadow-md)}.dash-ring{flex:none;width:64px;height:64px;position:relative}.dash-ring svg{display:block}.dash-ring circle{transition:stroke-dashoffset .6s cubic-bezier(.22,1,.36,1)}.dash-ring b{font-family:var(--dash-mono);font-variant-numeric:tabular-nums;color:var(--text);place-items:center;font-size:.82rem;font-weight:700;display:grid;position:absolute;inset:0}.dash-ring b i{opacity:.6;font-size:.62em;font-style:normal}.dash-stats-title h2{letter-spacing:-.02em;color:var(--text);margin:6px 0 0;font-size:1.28rem;font-weight:700;line-height:1.2}.dash-stats-title p{color:var(--muted);margin:5px 0 0;font-size:.86rem}.dash-kpis{gap:0;margin:0;display:flex}.dash-kpis>div{border-left:1px solid var(--dash-hair-soft);text-align:right;flex-direction:column;gap:2px;padding:0 16px;display:flex}.dash-kpis>div:first-child{border-left:0}.dash-kpis>div:last-child{padding-right:0}.dash-kpis dt{letter-spacing:.11em;text-transform:uppercase;color:var(--dim);order:2;font-size:.68rem;font-weight:700}.dash-kpis dd{color:var(--text);order:1;margin:0;font-size:1.5rem;font-weight:700;line-height:1.05}.dash-readiness{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.dash-readiness-cell{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:20px 24px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.dash-readiness-cell:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--jade) 30%, transparent);transform:translateY(-2px)}.dash-readiness-cell>span{color:var(--dim);font-size:.74rem;font-weight:600}.dash-readiness-cell>strong{color:var(--text);font-size:1.35rem;font-weight:700;line-height:1}.dash-meter{background:var(--track-bg);border-radius:999px;height:6px;overflow:hidden}.dash-meter>span{background:var(--jade);border-radius:999px;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1);display:block}.dash-readiness-cell[data-tone=steady]>strong,.dash-skill-row[data-tone=steady]>b{color:var(--gold)}.dash-readiness-cell[data-tone=weak]>strong,.dash-skill-row[data-tone=weak]>b{color:var(--cinnabar)}.dash-readiness-cell[data-tone=steady] .dash-meter>span,.dash-skill-row[data-tone=steady] .dash-meter>span{background:var(--gold)}.dash-readiness-cell[data-tone=weak] .dash-meter>span,.dash-skill-row[data-tone=weak] .dash-meter>span{background:var(--cinnabar)}.dash-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.dash-block-head{border-bottom:1px solid var(--dash-hair);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:14px;display:flex}.dash-block-head h3{letter-spacing:-.01em;color:var(--text);margin:5px 0 0;font-size:1.05rem;font-weight:700}.dash-tag{text-align:right;max-width:20ch;color:var(--dim);border-right:2px solid var(--dash-hair);flex:none;padding-right:8px;font-size:.72rem;font-weight:600;line-height:1.35}.dash-tag--strong{color:var(--jade);border-right-color:var(--jade)}.dash-tag--weak{color:var(--cinnabar);border-right-color:var(--cinnabar)}.dash-skills{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;padding:28px 32px;transition:box-shadow .25s;display:flex}.dash-skills:hover{box-shadow:var(--shadow-md)}.dash-trend{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;padding:28px 32px;transition:box-shadow .25s;display:flex}.dash-trend:hover{box-shadow:var(--shadow-md)}.dash-levels{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;padding:28px 32px;transition:box-shadow .25s;display:flex}.dash-levels:hover{box-shadow:var(--shadow-md)}.dash-skill-list{flex-direction:column;margin-top:8px;display:flex}.dash-skill-row{border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr) minmax(90px,2fr) auto;align-items:center;gap:16px;padding:12px 14px;transition:background .15s;display:grid}.dash-skill-row:hover{background:var(--control-bg)}.dash-skill-name{flex-direction:column;gap:1px;min-width:0;display:flex}.dash-skill-name strong{color:var(--text);font-size:.88rem;font-weight:600}.dash-skill-name span{color:var(--dim);font-size:.72rem}.dash-skill-row>b{text-align:right;min-width:46px;color:var(--text);font-size:.92rem;font-weight:700}.dash-side{flex-direction:column;gap:24px;display:flex}.dash-trend-chart{width:100%;height:116px;margin-top:14px;overflow:visible}.dash-trend-grid{stroke:var(--dash-hair-soft);stroke-width:1px}.dash-trend-axis{stroke:var(--dash-hair);stroke-width:1px}.dash-trend-fill{fill:url(#dashTrendArea);stroke:none}.dash-trend-line{fill:none;stroke:var(--jade);stroke-width:2.2px;stroke-linecap:round;vector-effect:non-scaling-stroke}.dash-trend-dot{fill:var(--paper);stroke:var(--jade);stroke-width:2px;vector-effect:non-scaling-stroke}.dash-trend-labels{border-top:1px solid var(--dash-hair-soft);flex-wrap:wrap;gap:6px 18px;margin-top:12px;padding-top:10px;display:flex}.dash-trend-labels span{color:var(--dim);align-items:baseline;gap:5px;font-size:.72rem;display:inline-flex}.dash-trend-labels b{color:var(--text);font-size:.8rem;font-weight:700}.dash-level-bars{border-bottom:1px solid var(--dash-hair);grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:8px;height:108px;margin-top:14px;padding-top:4px;display:grid}.dash-level-bars>div{flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;height:100%;display:flex}.dash-level-bars em{color:var(--dim);font-size:.66rem;font-style:normal;font-weight:700}.dash-level-bars strong{background:var(--jade);border-radius:4px 4px 0 0;width:100%;max-width:22px;min-height:3px;transition:height .5s cubic-bezier(.22,1,.36,1)}.dash-level-bars strong[data-empty=true]{background:var(--dash-hair)}.dash-level-bars>div>span{font-family:var(--dash-mono);font-variant-numeric:tabular-nums;color:var(--muted);font-size:.7rem;font-weight:600;transform:translateY(9px)}.dash-ai{border:1px solid color-mix(in srgb, var(--jade) 30%, transparent);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--jade-soft), var(--paper) 70%);box-shadow:var(--shadow-sm);gap:16px;padding:28px 32px;transition:box-shadow .25s}.dash-ai:hover{box-shadow:var(--shadow-md)}.dash-ai .dash-block-head{border-bottom-color:var(--dash-hair-soft);align-items:center}.dash-ai-hint,.dash-ai-error{color:var(--muted);align-items:center;gap:7px;margin:0;font-size:.84rem;display:flex}.dash-ai-error{color:var(--cinnabar)}.dash-ai-result{border-top:1px solid var(--dash-hair);margin-top:18px;padding-top:18px;animation:.28s both dashFade}.dash-ai-summary{max-width:78ch;font-size:.95rem;line-height:var(--line-readable);color:var(--text);margin:0}.dash-ai-groups{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px 28px;margin-top:16px;display:grid}.dash-ai-group{border-left:2px solid var(--dash-hair);flex-direction:column;gap:8px;padding-left:14px;display:flex}.dash-ai-group--strong{border-left-color:var(--jade)}.dash-ai-group--weak{border-left-color:var(--cinnabar)}.dash-ai-group--next{border-left-color:var(--gold)}.dash-ai-group ul,.dash-ai-group ol{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.dash-ai-group li{color:var(--muted);font-size:.86rem;line-height:1.5}.dash-ai-group ol li::marker{font-family:var(--dash-mono);color:var(--gold);font-weight:700}.dash-ai-skeleton{flex-direction:column;gap:9px;display:flex}.dash-sk{background:var(--dash-hair);border-radius:999px;height:11px;display:block;position:relative;overflow:hidden}.dash-sk--wide{width:100%}.dash-sk--half{width:52%}.dash-sk:after{content:"";background:linear-gradient(90deg, transparent, var(--dash-inner-light), transparent);animation:1.4s ease-in-out infinite dashSheen;position:absolute;inset:0;transform:translate(-100%)}@keyframes dashSheen{to{transform:translate(100%)}}.dash-bottom{border-top:1px solid var(--dash-hair);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:26px 36px;padding-top:24px;display:grid}.dash-reco{align-items:flex-start;gap:16px}.dash-reco-copy h3{letter-spacing:-.015em;color:var(--text);margin:6px 0 0;font-size:1.1rem;font-weight:700}.dash-reco-copy p{max-width:58ch;font-size:.88rem;line-height:var(--line-readable);color:var(--muted);margin:7px 0 0}.dash-reco-meta{flex-wrap:wrap;gap:6px 16px;margin-top:12px;display:flex}.dash-reco-meta span{color:var(--dim);font-size:.74rem;font-weight:600}.dash-reco-meta span+span:before{content:"·";opacity:.6;margin-right:16px}.dash-recent{gap:12px}.dash-recent-chips{flex-wrap:wrap;gap:8px;display:flex}.dash-recent-chip{border:1px solid var(--dash-hair);border-radius:10px;flex-direction:column;gap:1px;padding:7px 11px;transition:border-color .18s,transform .18s;display:flex}.dash-recent-chip:hover{border-color:color-mix(in srgb, var(--jade) 45%, transparent);transform:translateY(-1px)}.dash-recent-chip strong{font-family:var(--font-cn), var(--font);color:var(--text);font-size:1.14rem;line-height:1.15}.dash-recent-empty{color:var(--dim);font-size:.84rem}@media (width<=1080px){.dash-grid,.dash-bottom{grid-template-columns:minmax(0,1fr)}.dash-tag{max-width:26ch}}@media (width<=860px){.dash-page{gap:30px}.dash-focus,.dash-today-head,.dash-today-foot{grid-template-columns:minmax(0,1fr)}.dash-focus-controls,.dash-today-actions{align-items:flex-start}.dash-focus-levels,.dash-focus-actions,.dash-action-buttons{justify-content:flex-start}.dash-today-actions p{text-align:left}.dash-stats-head{grid-template-columns:auto minmax(0,1fr)}.dash-kpis{grid-column:1/-1}.dash-kpis>div:first-child{padding-left:0}.dash-mission-row,.dash-readiness{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0}.dash-mission:nth-child(3){border-left:0;padding-left:0}}@media (width<=560px){.dash-today{padding:20px 18px}.dash-mode-switch{width:100%}.dash-mode-switch button{flex:1;min-width:0}.dash-skill-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.dash-skill-row .dash-meter{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.dash-sk:after{animation:none}.dash-recent-chip:hover{transform:none}.dash-meter>span,.dash-level-bars strong,.dash-ring circle,.dash-word-stage-bar>span{transition:none}}:root{--sh-hair:#2c3e501a;--sh-hair-soft:#2c3e500f;--sh-surface:#fffdfab8;--sh-ink:var(--modern-zen-text,#232b2e);--sh-muted:var(--muted,#6b7780);--sh-accent:var(--jade,#1f8a70);--sh-accent-soft:#1f8a7017;--sh-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}:root[data-theme=dark]{--sh-hair:#f7f2ea1f;--sh-hair-soft:#f7f2ea12;--sh-surface:#0d18269e;--sh-accent-soft:#2dba9121}.sh-app{z-index:1;background:0 0;grid-template-columns:234px minmax(0,1fr);width:100%;min-height:100dvh;display:grid;position:relative}.sh-sidebar{z-index:10;overscroll-behavior:contain;scrollbar-width:thin;background:var(--sh-surface);border-right:1px solid var(--sh-hair);-webkit-backdrop-filter:blur(16px)saturate(130%);backdrop-filter:blur(16px)saturate(130%);flex-direction:column;gap:18px;min-width:0;height:100dvh;padding:22px 14px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.sh-brand{border-bottom:1px solid var(--sh-hair-soft);align-items:center;gap:10px;min-width:0;padding:2px 6px 16px;display:flex}.sh-brand-mark{width:30px;height:30px;box-shadow:inset 0 0 0 1px var(--sh-hair), inset 0 1px 0 #ffffff59;border-radius:9px;flex:none;place-items:center;display:grid;overflow:hidden}.sh-brand-mark img{object-fit:cover;width:100%;height:100%}.sh-brand-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.sh-brand-text b{letter-spacing:-.01em;color:var(--sh-ink);font-size:.98rem;font-weight:800}.sh-brand-text i{letter-spacing:.08em;text-transform:uppercase;color:var(--sh-muted);font-size:.68rem;font-style:normal;font-weight:700}.sh-nav{flex-direction:column;align-items:stretch;gap:1px;min-width:0;display:flex}.sh-group{flex-direction:column;min-width:0;display:flex}.sh-item{width:100%;min-width:0;height:38px;color:var(--sh-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 10px 0 12px;transition:color .16s,background-color .16s,transform .16s;display:flex;position:relative}.sh-item>span:first-of-type{letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:.855rem;font-weight:650;overflow:hidden}.sh-item svg{opacity:.85;flex:none}.sh-item:before{content:"";background:var(--sh-accent);transform-origin:50%;border-radius:0 2px 2px 0;width:2px;transition:transform .2s cubic-bezier(.16,1,.3,1);position:absolute;top:8px;bottom:8px;left:0;transform:scaleY(0)}.sh-item:hover{color:var(--sh-ink);background:var(--sh-hair-soft)}.sh-item:focus-visible{outline:2px solid var(--sh-accent);outline-offset:1px}.sh-item.is-active{color:var(--sh-accent);background:var(--sh-accent-soft)}.sh-item.is-active>span:first-of-type{font-weight:800}.sh-item.is-active:before{transform:scaleY(1)}.sh-item.is-active svg{opacity:1}.sh-count{font-family:var(--sh-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--sh-muted);opacity:.6;flex:none;font-size:.66rem;font-weight:700}.sh-item.is-active .sh-count{color:var(--sh-accent);opacity:.85}.sh-group-toggle{padding-right:6px}.sh-chevron{opacity:.55;flex:none;transition:transform .2s cubic-bezier(.16,1,.3,1)}.sh-chevron.is-open{transform:rotate(180deg)}.sh-sub{border-left:1px solid var(--sh-hair);flex-direction:column;gap:1px;min-width:0;margin:2px 0 4px 12px;padding-left:8px;display:flex}.sh-sub[hidden]{display:none}.sh-subitem{height:33px;padding-left:8px}.sh-subitem>span:first-of-type{font-size:.795rem;font-weight:600}.sh-subitem:before{top:10px;bottom:10px;left:-9px}.sh-shell{background:0 0;width:100%;min-width:0;max-width:1240px;min-height:100dvh;margin-inline:auto;padding:14px clamp(16px,2.6vw,36px) 36px}.sh-topbar{z-index:9;border-bottom:1px solid var(--sh-hair);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:flex-end;gap:16px;min-height:62px;margin-bottom:20px;padding:14px 0 12px;display:flex;position:sticky;top:0}.sh-topbar-title{flex-direction:column;gap:3px;min-width:0;display:flex}.sh-eyebrow{letter-spacing:.11em;text-transform:uppercase;color:var(--gold,#c08a2d);font-size:.66rem;font-weight:800}.sh-topbar-title h2{font-size:clamp(1.2rem,1.6vw,1.42rem);font-weight:800;line-height:var(--line-compact,1.32);letter-spacing:-.02em;color:var(--sh-ink);text-wrap:balance;margin:0}.sh-topbar-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.sh-theme-toggle{border:1px solid var(--sh-hair);width:36px;height:36px;color:var(--sh-muted);cursor:pointer;background:0 0;border-radius:10px;place-items:center;transition:color .16s,background-color .16s,transform .16s;display:inline-grid}.sh-theme-toggle:hover{color:var(--gold,#c08a2d);background:var(--sh-hair-soft);transform:translateY(-1px)}.sh-theme-toggle:active{transform:translateY(0)scale(.96)}.sh-theme-toggle:focus-visible{outline:2px solid var(--sh-accent);outline-offset:2px}.sh-tab-loading{flex-direction:column;gap:14px;min-height:260px;padding-top:4px;display:flex}.sh-sk-row{grid-template-columns:var(--phi-major,.618fr) var(--phi-minor,.382fr);gap:14px;display:grid}.sh-sk{background:linear-gradient(90deg, var(--sh-hair-soft) 25%, var(--sh-hair) 37%, var(--sh-hair-soft) 63%);background-size:400% 100%;border-radius:10px;animation:1.5s ease-in-out infinite shSkShimmer;display:block}.sh-sk-line{height:15px}.sh-sk-block{height:132px}.sh-sk-tile{height:168px}@keyframes shSkShimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (width<=1040px) and (width>=861px){.sh-app{grid-template-columns:74px minmax(0,1fr)}.sh-sidebar{align-items:center;padding:20px 12px 16px}.sh-brand{justify-content:center;width:100%;padding:2px 0 14px}.sh-brand-text{display:none}.sh-nav,.sh-group,.sh-sub{align-items:center;width:100%}.sh-item{justify-content:center;gap:0;padding:0}.sh-item>span:first-of-type,.sh-count,.sh-chevron{display:none}.sh-sub{border-left:0;margin:2px 0 4px;padding-left:0}.sh-subitem:before{left:0}}@media (width<=860px){.sh-app{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));display:block}.sh-sidebar{top:auto;height:calc(58px + env(safe-area-inset-bottom,0px));min-height:58px;padding:4px 6px calc(4px + env(safe-area-inset-bottom,0px));border-right:0;border-top:1px solid var(--sh-hair);background:var(--sh-surface);-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);z-index:100;flex-direction:row;justify-content:space-around;align-items:stretch;display:flex;position:fixed;inset:auto 0 0;overflow:visible;box-shadow:0 -4px 20px #0000000d}.sh-sidebar::-webkit-scrollbar{display:none}.sh-brand{display:none}.sh-nav{flex-direction:row;justify-content:space-around;align-items:stretch;gap:2px;width:100%;display:flex}.sh-group{flex:1 1 0;min-width:0;display:flex}.sh-sub{display:none!important}.sh-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;width:100%;min-width:0;max-width:none;height:100%;min-height:50px;padding:4px 2px;transition:transform .12s,background-color .15s,color .15s;display:flex}.sh-item:active{transform:scale(.92)}.sh-item.is-active,.sh-group.has-active .sh-item{color:var(--sh-accent);background:var(--sh-accent-soft)}.sh-item-icon{flex:none;width:20px;height:20px}.sh-item-text{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:none;max-width:100%;font-size:.72rem;font-weight:700;line-height:1.15;overflow:hidden}.sh-item:before,.sh-count,.sh-chevron{display:none}.sh-sheet-container{z-index:200;pointer-events:none;position:fixed;inset:0}.sh-sheet-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;background:#0f172a7a;animation:.2s both shBackdropFade;position:fixed;inset:0}.sh-mobile-sheet{background:var(--paper,#fff);border-top:1px solid var(--sh-hair);max-height:80dvh;padding:10px 16px calc(24px + env(safe-area-inset-bottom,0px));pointer-events:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;border-top-left-radius:24px;border-top-right-radius:24px;flex-direction:column;gap:12px;animation:.26s cubic-bezier(.16,1,.3,1) both shSheetSlideUp;display:flex;position:fixed;inset:auto 0 0;overflow-y:auto;box-shadow:0 -8px 36px #00000038}[data-theme=dark] .sh-mobile-sheet{background:var(--box-bg);box-shadow:0 -8px 40px #0009}.sh-sheet-handle{background:var(--sh-hair-soft,#0000002e);border-radius:999px;flex-shrink:0;width:38px;height:4.5px;margin:2px auto 6px}.sh-sheet-header{border-bottom:1px solid var(--sh-hair-soft);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.sh-sheet-title{align-items:center;gap:10px;display:flex}.sh-sheet-icon{color:var(--sh-accent)}.sh-sheet-title h3{color:var(--sh-ink);margin:0;font-size:1.05rem;font-weight:800}.sh-sheet-title p{color:var(--sh-muted);margin:2px 0 0;font-size:.78rem}.sh-sheet-close{background:var(--box-subtle-bg);width:36px;height:36px;color:var(--sh-muted);cursor:pointer;border:none;border-radius:50%;place-items:center;display:grid}.sh-sheet-list{flex-direction:column;gap:6px;padding:4px 0 8px;display:flex}.sh-sheet-item{border:1px solid var(--box-border);background:var(--box-subtle-bg);min-height:52px;color:var(--sh-ink);cursor:pointer;text-align:left;touch-action:manipulation;border-radius:14px;align-items:center;gap:14px;padding:13px 14px;transition:all .15s;display:flex}.sh-sheet-item:active{background:var(--box-hover-bg);transform:scale(.98)}.sh-sheet-item.is-active{background:var(--box-selected-bg);border-color:var(--box-selected-border);color:var(--box-selected-border)}.sh-sheet-item-icon{background:var(--box-bg);border:1px solid var(--box-border);width:36px;height:36px;color:var(--sh-ink);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.sh-sheet-item.is-active .sh-sheet-item-icon{background:var(--box-selected-border);border-color:var(--box-selected-border);color:#fff}.sh-sheet-item-info{flex:auto;min-width:0}.sh-sheet-item-label{font-size:.95rem;font-weight:700}.sh-sheet-item-badge{background:var(--sh-accent);color:#fff;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:750}@keyframes shBackdropFade{0%{opacity:0}to{opacity:1}}@keyframes shSheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sh-shell{padding:10px 12px calc(20px + env(safe-area-inset-bottom,0px))}.sh-topbar{min-height:52px;padding-top:max(8px, env(safe-area-inset-top,0px));flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.sh-topbar-title h2{font-size:1.15rem}.sh-sk-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.sh-item,.sh-item:before,.sh-chevron,.sh-theme-toggle{transition:none}.sh-sk{animation:none}}:root{--qz-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--qz-hair:color-mix(in srgb, var(--modern-zen-text,#232b2e) 11%, transparent);--qz-hair-soft:color-mix(in srgb, var(--modern-zen-text,#232b2e) 6%, transparent);--qz-ink:var(--modern-zen-text,#232b2e);--qz-muted:color-mix(in srgb, var(--modern-zen-text,#232b2e) 58%, transparent);--qz-dim:color-mix(in srgb, var(--modern-zen-text,#232b2e) 42%, transparent);--qz-surface:var(--modern-zen-card,#fffdfa);--qz-accent:var(--jade,#1f8a70);--qz-accent-soft:color-mix(in srgb, var(--jade,#1f8a70) 9%, transparent);--qz-warn:var(--cinnabar,#c2402f);--qz-warn-soft:color-mix(in srgb, var(--cinnabar,#c2402f) 9%, transparent);--qz-ease:cubic-bezier(.16, 1, .3, 1)}:root[data-theme=dark]{--qz-hair:#ffffff21;--qz-hair-soft:#ffffff12;--qz-muted:#ffffff9e;--qz-dim:#ffffff70}.qz.question-card,.qz.result-card{flex-direction:column;width:100%;display:flex;border:1px solid var(--qz-hair)!important;background-color:var(--qz-surface)!important;max-width:900px!important;box-shadow:none!important;background-image:none!important;border-radius:12px!important;gap:20px!important;padding:26px 28px 24px!important}.qz.result-card{justify-content:flex-start!important;align-items:stretch!important;min-height:0!important}.qz .question-topline{border-bottom:1px solid var(--qz-hair-soft);align-items:center;gap:12px;padding-bottom:14px;letter-spacing:.04em!important;text-transform:none!important;color:var(--qz-muted)!important;justify-content:flex-start!important;margin:0!important;font-size:.78rem!important;font-weight:650!important;display:flex!important}.qz .question-topline strong,.qz .question-topline .card-progress{margin-left:auto}.qz .question-topline strong{font-family:var(--qz-mono);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:.8rem;font-weight:600;aspect-ratio:auto!important;width:auto!important;color:var(--qz-ink)!important;background:0 0!important;border:0!important;border-radius:0!important;display:inline!important}.qz .quiz-back,.qz .grammar-back{transition:color .16s var(--qz-ease);order:-1;color:var(--qz-muted)!important}.qz .quiz-back:hover,.qz .grammar-back:hover{color:var(--qz-accent)!important;background:0 0!important;transform:none!important}.qz .question-topline .hsk-badge,.qz .question-topline .grammar-level-badge{color:var(--qz-muted)!important;letter-spacing:.04em!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important;font-size:.78rem!important;font-weight:650!important}.qz .question-topline .card-progress{font-family:var(--qz-mono);font-variant-numeric:tabular-nums;color:var(--qz-ink)!important;letter-spacing:0!important;font-size:.8rem!important;font-weight:600!important}.qz .quiz-progress{background:var(--qz-hair-soft)!important;border:0!important;border-radius:999px!important;height:3px!important;margin:-12px 0 0!important;overflow:hidden!important}.qz .quiz-progress span{height:100%;display:block;border-radius:inherit!important;background:var(--qz-accent)!important;transition:width .42s var(--qz-ease)!important}.qz .quiz-strategy-strip{color:var(--qz-dim);gap:10px;margin:0;font-size:.74rem}.qz .quiz-strategy-strip small{font-family:var(--qz-mono);font-variant-numeric:tabular-nums}.qz.question-card h2,.qz.learning-question-card h2{letter-spacing:-.01em;color:var(--qz-ink)!important;margin:6px 0 2px!important;font-size:clamp(1.6rem,4.4vw,2rem)!important;font-weight:700!important;line-height:1.28!important}.qz.learning-question-card h2.cloze-prompt{margin:4px 0!important;font-size:clamp(1.2rem,3.4vw,1.42rem)!important;line-height:1.72!important}.qz.learning-question-card h2.prompt--passage,.qz.learning-question-card h2.cloze-prompt--passage{letter-spacing:0;border:1px solid var(--qz-hair-soft);background:color-mix(in srgb, var(--qz-ink) 2.5%, transparent);border-radius:12px;padding:16px 18px;text-align:left!important;margin:0!important;font-size:1.08rem!important;font-weight:500!important;line-height:1.86!important}.qz .reading-stem{border-top:1px solid var(--qz-hair-soft)!important;margin:2px 0 0!important;padding-top:16px!important;font-size:1.1rem!important}.qz .repair-notice{border:1px solid var(--qz-hair);color:var(--qz-muted);background:0 0;border-radius:10px;gap:10px;padding:10px 14px;font-size:.82rem}.qz .option-grid{grid-template-columns:1fr!important;gap:8px!important;margin:0!important;display:grid!important}.qz .option-grid button{border:1px solid var(--box-border)!important;background:var(--box-bg)!important;min-height:0!important;color:var(--qz-ink)!important;text-align:left!important;transition:border-color .17s var(--qz-ease), background .17s var(--qz-ease), opacity .17s var(--qz-ease), transform .12s var(--qz-ease), box-shadow .17s var(--qz-ease)!important;border-radius:12px!important;gap:14px!important;padding:14px 16px!important;font-size:1.02rem!important;font-weight:550!important}.qz .option-grid button>span:not(.clickable-text){min-width:26px;font-family:var(--qz-mono);border:1px solid var(--box-border)!important;background:var(--box-subtle-bg)!important;width:26px!important;height:26px!important;color:var(--qz-dim)!important;transition:color .17s var(--qz-ease), border-color .17s var(--qz-ease), background .17s var(--qz-ease)!important;border-radius:7px!important;font-size:.78rem!important;font-weight:600!important}.qz .option-grid button:hover:not(:disabled){border-color:var(--box-border-hover)!important;background:var(--box-hover-bg)!important;box-shadow:none!important;transform:none!important}.qz .option-grid button:active:not(:disabled){transform:translateY(1px)!important}.qz .option-grid button.selected{border-color:var(--box-selected-border)!important;background:var(--box-selected-bg)!important;color:var(--box-selected-text)!important;transform:none!important}.qz .option-grid button.selected>span:not(.clickable-text){border-color:var(--box-selected-border)!important;background:var(--box-selected-border)!important;color:#fff!important}.qz .option-grid button.option-correct{border-color:var(--box-correct-border)!important;background:var(--box-correct-bg)!important;color:var(--box-correct-text)!important}.qz .option-grid button.option-correct>span:not(.clickable-text){border-color:var(--box-correct-border)!important;background:var(--box-correct-border)!important;color:#fff!important}.qz .option-grid button.option-wrong{border-color:var(--box-wrong-border)!important;background:var(--box-wrong-bg)!important;color:var(--box-wrong-text)!important}.qz .option-grid button.option-wrong>span:not(.clickable-text){border-color:var(--box-wrong-border)!important;background:var(--box-wrong-border)!important;color:#fff!important}.qz .option-grid button.muted-option{opacity:.38!important}.qz .feedback-panel .feedback-assess{color:var(--qz-accent);letter-spacing:.01em;margin:0;font-size:.82rem;font-weight:700}.qz .feedback-panel{border:0;border-top:1px solid var(--qz-hair-soft);border-radius:0;gap:12px;margin:0;padding:18px 0 0;background:0 0!important}.qz .feedback-panel--correct .feedback-head,.qz .feedback-panel--wrong .feedback-head{background:0 0;border:0;border-radius:0;padding:0}.qz .feedback-panel--correct .feedback-head svg,.qz .feedback-panel--correct .feedback-head strong{color:var(--qz-accent)}.qz .feedback-panel--wrong .feedback-head svg,.qz .feedback-panel--wrong .feedback-head strong{color:var(--qz-warn)}.qz .feedback-head{align-items:center;gap:10px}.qz .feedback-head strong{font-size:.95rem}.qz .feedback-head span{color:var(--qz-dim);margin-left:auto;font-size:.76rem;font-weight:500}.qz .feedback-panel p{color:var(--qz-muted);font-size:.94rem;line-height:var(--line-readable,1.62);margin:0}.qz .feedback-panel small{color:var(--qz-dim);font-size:.82rem}.qz .feedback-error-tag{border:1px solid var(--qz-hair);background:0 0;border-radius:10px;gap:4px;padding:12px 14px}.qz .feedback-panel button.btn-primary{align-self:flex-start;margin-top:2px;box-shadow:none!important}.qz .result-summary{background:0 0;border:0;align-items:baseline;gap:10px;margin:0;padding:0;display:flex}.qz .result-summary strong{font-family:var(--qz-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--qz-ink);font-size:clamp(2.6rem,8vw,3.4rem);font-weight:600;line-height:1}.qz .result-summary span{color:var(--qz-muted);font-size:.84rem;font-weight:550}.qz .result-narrative{gap:0;margin:0;padding:0;list-style:none;display:grid}.qz .result-narrative li{border:0;border-top:1px solid var(--qz-hair-soft);color:var(--qz-muted);font-size:.9rem;line-height:var(--line-readable,1.62);background:0 0;align-items:flex-start;gap:10px;padding:12px 0;display:flex}.qz .result-narrative li:first-child{border-top:0;padding-top:0}.qz .result-narrative li svg{color:var(--qz-dim);flex:none;margin-top:3px}.qz .result-narrative strong{font-family:var(--qz-mono);font-variant-numeric:tabular-nums;color:var(--qz-ink);font-weight:600}.qz .session-result-grid{background:var(--qz-hair-soft);border:0;border-radius:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;padding:0;display:grid}.qz .session-result-grid span{background:var(--qz-surface);text-align:left;border:0;border-radius:0;gap:4px;padding:14px 14px 14px 0;display:grid}.qz .session-result-grid span+span{padding-left:14px}.qz .session-result-grid svg{display:none}.qz .session-result-grid strong{font-family:var(--qz-mono);font-variant-numeric:tabular-nums;color:var(--qz-ink);font-size:1.24rem;font-weight:600}.qz .session-result-grid small{color:var(--qz-dim);font-size:.72rem;font-weight:550;line-height:1.35}.qz .result-actions{border-top:1px solid var(--qz-hair-soft);flex-wrap:wrap;gap:10px;margin:0;padding-top:16px;display:flex}.qz .core-eyebrow{color:var(--qz-dim);letter-spacing:.1em;font-size:.72rem}.result-review .review-item{box-shadow:none!important}.qz.typing-card,.qz.pair-drill-card{border:1px solid var(--qz-hair);background:var(--qz-surface);max-width:900px;box-shadow:none;border-radius:12px;gap:20px;margin:0 auto;padding:26px 28px 24px}.qz.pair-drill-card{max-width:620px}.qz.typing-card:hover{box-shadow:none;transform:none}.qz .progress-bar-container{background:var(--qz-hair-soft);border-radius:999px;height:3px;margin-top:-12px}.qz .progress-bar-fill{border-radius:inherit;background:var(--qz-accent);transition:width .42s var(--qz-ease)}.qz .card-progress{color:var(--qz-ink);font-family:var(--qz-mono);font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600}.qz .hsk-badge{color:var(--qz-muted)}.qz .prompt-container{text-align:left;background:0 0;border:0;border-radius:0;padding:0}.qz .eyebrow-label{color:var(--qz-dim);letter-spacing:.1em;margin-bottom:6px;font-size:.72rem}.qz .meaning-prompt{color:var(--qz-ink);font-size:clamp(1.6rem,4.4vw,2rem);line-height:1.28}.qz .typing-input{border-width:1px;border-color:var(--qz-hair);transition:border-color .17s var(--qz-ease), box-shadow .17s var(--qz-ease);background:0 0;border-radius:10px}.qz .typing-input:focus{border-color:var(--qz-accent)}.qz .btn-submit-ans,.qz .typing-card-actions .action-btn,.qz .typing-card-actions .next-btn{border-radius:10px}.qz .pair-drill-sentence{color:var(--qz-ink)}.qz .pair-drill-vi{color:var(--qz-muted)}.qz .pair-drill-options{gap:8px}.qz .pair-drill-option{border:1px solid var(--qz-hair);color:var(--qz-ink);transition:border-color .17s var(--qz-ease), background .17s var(--qz-ease), transform .12s var(--qz-ease);background:0 0;border-radius:10px}.qz .pair-drill-option:hover:not(:disabled){border-color:color-mix(in srgb, var(--qz-accent) 42%, transparent);background:var(--qz-accent-soft);transform:none}.qz .pair-drill-option:active:not(:disabled){transform:translateY(1px)}.qz .pair-drill-option.option-correct{border-color:var(--qz-accent);background:var(--qz-accent-soft);color:var(--qz-accent)}.qz .pair-drill-option.option-wrong{border-color:var(--qz-warn);background:var(--qz-warn-soft);color:var(--qz-warn)}.qz .pair-drill-feedback{border:0;border-top:1px solid var(--qz-hair-soft);background:0 0;border-radius:0;gap:10px;padding:16px 0 0}.qz .pair-drill-feedback p{color:var(--qz-muted);font-size:.94rem;line-height:var(--line-readable,1.62);margin:0}.qz .pair-drill-feedback .btn-primary{box-shadow:none;border-radius:10px;align-self:flex-start}.qz .pair-drill-feedback.is-correct strong{color:var(--qz-accent)}.qz .pair-drill-feedback.is-wrong strong{color:var(--qz-warn)}.qz.chinese-practice-card{border:1px solid var(--qz-hair);background:var(--qz-surface);max-width:900px;box-shadow:none;border-radius:12px;flex-direction:column;gap:20px;padding:26px 28px 24px;display:flex}.qz .hanzi-hero{border:1px solid var(--qz-hair-soft);min-height:148px;color:var(--qz-ink);background:color-mix(in srgb, var(--qz-ink) 2.5%, transparent);border-radius:12px;font-size:clamp(3.6rem,9vw,6rem)}.qz .character-card-body{align-items:start;gap:22px}.qz .character-card-body h2,.qz .practice-stack h2{color:var(--qz-ink);font-size:clamp(1.5rem,4vw,1.9rem);line-height:1.24}.qz .character-card-body p,.qz .practice-stack p{color:var(--qz-muted);line-height:var(--line-readable,1.62)}.qz .metadata-strip{border:1px solid var(--qz-hair-soft);background:var(--qz-hair-soft);border-radius:12px;gap:1px;padding:1px;overflow:hidden}.qz .metadata-strip span{background:var(--qz-surface);border:0;border-radius:0;flex:118px;min-width:0;min-height:54px}.qz .metadata-strip strong{color:var(--qz-ink);font-family:var(--qz-mono);font-size:.94rem;font-weight:600}.qz .metadata-strip small{color:var(--qz-dim);letter-spacing:.02em;text-transform:none;font-weight:500}.qz .tone-option-grid{gap:8px}.qz .tone-option-grid button{border:1px solid var(--box-border);background:var(--box-bg);min-height:58px;color:var(--qz-ink);font-family:var(--qz-mono);transition:border-color .17s var(--qz-ease), background .17s var(--qz-ease), transform .12s var(--qz-ease), box-shadow .17s var(--qz-ease);border-radius:12px;font-size:1rem;font-weight:600}.qz .tone-option-grid button:hover:not(:disabled){border-color:var(--box-border-hover);background:var(--box-hover-bg);transform:none}.qz .tone-option-grid button:active:not(:disabled){transform:translateY(1px)}.qz .practice-input,.qz .practice-textarea{border:1.5px solid var(--box-border);background:var(--box-subtle-bg);color:var(--text);transition:border-color .17s var(--qz-ease), box-shadow .17s var(--qz-ease);border-radius:12px}.qz .practice-input:focus,.qz .practice-textarea:focus{border-color:var(--box-selected-border);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.qz .audio-actions{gap:10px}.qz .detailed-answer-panel{border-top:1px solid var(--qz-hair-soft);gap:18px;padding:20px 0 0}.qz .answer-header{border:0;border-bottom:1px solid var(--qz-hair-soft);background:0 0;border-radius:0;padding:0 0 16px}.qz .accuracy-stamp span{letter-spacing:.02em;text-transform:none;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.74rem;font-weight:600;display:inline-flex}.qz .accuracy-stamp .stamp-correct{border:1px solid color-mix(in srgb, var(--qz-accent) 30%, transparent);background:var(--qz-accent-soft);color:var(--qz-accent)}.qz .accuracy-stamp .stamp-incorrect{border:1px solid color-mix(in srgb, var(--qz-warn) 30%, transparent);background:var(--qz-warn-soft);color:var(--qz-warn)}.qz .correct-hanzi{color:var(--qz-ink);font-size:1.9rem;font-weight:600;line-height:1.2}.qz .correct-pinyin{color:var(--qz-muted);font-family:var(--qz-mono);font-size:.94rem}.qz .answer-section .section-title{color:var(--qz-dim);letter-spacing:.01em;text-transform:none;margin:0 0 10px;font-size:.78rem;font-weight:600}.qz .radicals-container{gap:8px}.qz .radical-item-badge{border:1px solid var(--qz-hair);box-shadow:none;transition:border-color .17s var(--qz-ease), background .17s var(--qz-ease);background:0 0;border-radius:10px}.qz .radical-item-badge:hover{border-color:color-mix(in srgb, var(--qz-accent) 42%, transparent);background:var(--qz-accent-soft);transform:none}.qz .radical-char{color:var(--qz-ink)}.qz .radical-mean{color:var(--qz-muted)}.qz .no-data-text{color:var(--qz-dim);font-size:.9rem}.qz .mnemonic-section{background:0 0;border:0;border-radius:0;padding:0}.qz .mnemonic-text{color:var(--qz-muted);font-style:normal;line-height:var(--line-readable,1.62);align-items:flex-start;gap:8px;margin:0;display:flex}.qz .mnemonic-text svg{color:var(--qz-accent);flex:none;margin-top:3px}.qz .example-item{border:1px solid var(--qz-hair-soft);box-shadow:none;background:0 0;border-radius:12px;padding:14px 16px}.qz .example-cn{color:var(--qz-ink)}.qz .example-py{color:var(--qz-muted);font-family:var(--qz-mono)}.qz .example-vi{color:var(--qz-muted)}.qz .meaning-prompt{color:var(--qz-ink);font-size:clamp(1.5rem,4vw,1.9rem);font-weight:600;line-height:1.24}.qz .pos-badge{background:var(--qz-accent-soft);color:var(--qz-accent);letter-spacing:.01em;text-transform:none;border-radius:999px;font-size:.74rem;font-weight:600}.qz .alignment-display{border:1px solid var(--qz-hair-soft);background:0 0;border-radius:12px;gap:8px;padding:14px}.qz .align-char{border:1px solid var(--qz-hair);box-shadow:none;color:var(--qz-ink);background:0 0;border-radius:10px}.qz .align-correct{border-color:color-mix(in srgb, var(--qz-accent) 40%, transparent);background:var(--qz-accent-soft);box-shadow:none;color:var(--qz-accent);animation:none}.qz .align-wrong{border-color:color-mix(in srgb, var(--qz-warn) 40%, transparent);background:var(--qz-warn-soft);box-shadow:none;color:var(--qz-warn);animation:none}.qz .align-pending{border-style:dashed;border-color:var(--qz-hair);color:var(--qz-dim);background:0 0}.qz .typing-card-actions .next-btn{box-shadow:none;border-radius:10px}.qz .typing-card-actions button{align-items:center;gap:6px;display:inline-flex}@media (prefers-reduced-motion:no-preference){.qz.question-card,.qz.chinese-practice-card{animation:qzEnter .3s var(--qz-ease) both}.qz .option-grid button{animation:qzEnter .26s var(--qz-ease) both;animation-delay:calc(var(--qz-i,0) * 40ms)}.qz .option-grid button:first-child{--qz-i:1}.qz .option-grid button:nth-child(2){--qz-i:2}.qz .option-grid button:nth-child(3){--qz-i:3}.qz .option-grid button:nth-child(4){--qz-i:4}.qz .feedback-panel{animation:qzEnter .24s var(--qz-ease) both}}@keyframes qzEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.qz.question-card,.qz.chinese-practice-card,.qz .option-grid button,.qz .tone-option-grid button,.qz .feedback-panel{animation:none!important}.qz .quiz-progress span{transition:none!important}}@media (width<=768px){.qz.question-card,.qz.result-card{border-radius:12px!important;gap:16px!important;padding:18px 16px 20px!important}.qz .session-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qz .session-result-grid span,.qz .session-result-grid span+span{padding:12px}.qz .option-grid button{padding:13px 14px!important;font-size:.98rem!important}.qz .question-topline{flex-wrap:wrap;gap:8px}.qz .result-actions .btn-primary,.qz .result-actions .btn-secondary{flex:auto;justify-content:center}.qz.typing-card,.qz.pair-drill-card{gap:16px;padding:18px 16px 20px}.qz .input-row{flex-direction:column}.qz .btn-submit-ans{width:100%;padding:12px 20px}.qz .pair-drill-options{grid-template-columns:1fr}.qz.chinese-practice-card{gap:16px;padding:18px 16px 20px}.qz .character-card-body{grid-template-columns:1fr;gap:16px}.qz .hanzi-hero{min-height:116px}.qz .tone-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
