: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}.vocab-note-text{color:var(--text)!important;white-space:pre-line!important;margin:0!important;font-size:.92rem!important;line-height:1.7!important}.vocab-warning{background:#eab30814!important;border-left:3px solid #eab308!important;border-radius:6px!important;padding:10px 12px!important}[data-theme=dark] .vocab-warning{background:#eab3081f!important}.usage-pattern-list{flex-direction:column!important;gap:10px!important;display:flex!important}.usage-pattern-item{background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:8px!important;padding:10px 12px!important}.usage-pattern-item strong{color:var(--accent)!important;margin-bottom:4px!important;font-size:.95rem!important;display:block!important}.usage-pattern-item blockquote{color:var(--text)!important;border:none!important;margin:6px 0 0!important;padding:0!important;font-size:.9rem!important}.usage-pattern-item blockquote small{color:var(--muted)!important;margin-top:2px!important;font-size:.82rem!important;display:block!important}.pattern-note{color:var(--dim)!important;margin-top:4px!important;font-size:.8rem!important;font-style:italic!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:#f1ede3;--landing-paper:#fff;--landing-ink:#1a1e1c;--landing-accent:#1b4d3e;--landing-accent-soft:#1b4d3e12;--landing-accent-hover:#1b4d3e1f;--landing-cinnabar:#c2402f;--landing-gold:#9a7b33;--landing-border:#1e282314;--landing-border-strong:#1b4d3e38;--landing-shadow:0 8px 30px #1b231e0a, 0 2px 6px #1b231e05;--landing-shadow-lg:0 24px 56px #1b2d261a, 0 6px 18px #1b2d260d;--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);--landing-sec-gap:clamp(48px, 7vw, 112px);--landing-block-gap:clamp(20px, 3vw, 32px);min-height:100dvh;font-family:var(--landing-font);color:var(--landing-ink);background:radial-gradient(1200px 700px at 50% -10%, #1b4d3e0d, transparent 70%), linear-gradient(180deg, var(--landing-bg-top), var(--landing-bg-bottom));flex-direction:column;display:flex;position:relative}[data-theme=dark] .landing{--landing-bg-top:#141615;--landing-bg-bottom:#191b1a;--landing-paper:#1e201f;--landing-ink:#e9ece7;--landing-accent:#4fbb93;--landing-accent-soft:#38a3821f;--landing-accent-hover:#38a38233;--landing-cinnabar:#e07a5f;--landing-gold:#cba763;--landing-border:#ffffff14;--landing-border-strong:#4fbb9347;--landing-shadow:0 10px 32px #00000040;--landing-shadow-lg:0 28px 64px #0006, 0 8px 20px #00000040;--landing-inner-light:#ffffff0f}.landing:before{content:"";z-index:0;pointer-events:none;mix-blend-mode:multiply;opacity:.05;filter:grayscale()brightness(1.05)contrast(.78)blur(.4px);background-image:url(/assets/dragon-phoenix-DOaQaStP.webp);background-position:50% 12vh;background-repeat:no-repeat;background-size:min(88vh,940px);position:absolute;inset:0}[data-theme=dark] .landing:before{mix-blend-mode:soft-light;opacity:.055;filter:grayscale()invert()brightness(.8)contrast(.65)blur(.4px)}.landing-top,.landing>main,.landing-footer{z-index:1;position:relative}.landing>main{flex:1}@media (width<=767px){.landing:before{opacity:.07;filter:grayscale()brightness(1.1)contrast(.62)blur(1.4px);background-position:50% 6vh;background-size:120vw}[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:13px 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;width:36px;height:36px;box-shadow:0 0 0 1px var(--landing-border), 0 2px 6px #141e191a;border-radius:11px;flex:none}.landing-brand span{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.landing-top-actions{flex:none;gap:8px;display:flex}.landing-nav-btn{border:1px solid var(--landing-border);background:var(--landing-paper);color:var(--landing-ink);cursor:pointer;transition:border-color .2s var(--landing-ease), background .2s var(--landing-ease), transform .2s var(--landing-ease);border-radius:999px;align-items:center;gap:7px;padding:9px 16px;font-size:.88rem;font-weight:600;line-height:1.2;display:inline-flex}.landing-nav-btn:hover{background:var(--landing-accent-soft);border-color:var(--landing-accent);transform:translateY(-1px)}.landing-nav-btn--primary{background:linear-gradient(135deg, #189874, var(--landing-accent));color:#fff;border-color:#0000;box-shadow:0 6px 18px #1b4d3e38,inset 0 1px #ffffff29}.landing-nav-btn--primary:hover{background:linear-gradient(135deg,#1ba97f,#21584a);border-color:#0000;transform:translateY(-1px);box-shadow:0 10px 24px #1b4d3e4d,inset 0 1px #fff3}.landing-hero{max-width:var(--landing-max);grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(28px,5vw,80px);width:100%;margin:0 auto;padding:clamp(44px,7.5vw,110px) clamp(16px,4vw,48px) clamp(36px,5vw,72px);display:grid}.landing-hero-copy{justify-items:start;gap:20px;min-width:0;padding-right:clamp(0px,3vw,40px);display:grid}.landing-eyebrow{border:1px solid var(--landing-border-strong);background:var(--landing-accent-soft);color:var(--landing-accent);letter-spacing:.09em;text-transform:uppercase;border-radius:999px;align-items:center;gap:9px;margin:0;padding:6px 12px 6px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.landing-eyebrow-dot{background:var(--landing-accent);border-radius:50%;width:7px;height:7px;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:-.034em;text-wrap:balance;max-width:17ch;margin:0;font-size:clamp(2.2rem,4.6vw,3.4rem);font-weight:800;line-height:1.06}.landing-hero-lede{max-width:46ch;color:var(--muted);font-size:clamp(1rem,1.4vw,1.08rem);line-height:var(--line-readable,1.65);margin:0}.landing-hero-ctas{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:6px;display:flex}.landing-hero-primary{background:linear-gradient(135deg, #189874, var(--landing-accent));color:#fff;letter-spacing:-.01em;cursor:pointer;transition:transform .22s var(--landing-ease), box-shadow .22s var(--landing-ease), filter .22s var(--landing-ease);border:1px solid #0000;border-radius:999px;align-items:center;gap:9px;padding:14px 22px;font-size:.98rem;font-weight:700;display:inline-flex;box-shadow:0 10px 26px #1b4d3e3d,inset 0 1px #ffffff2e}.landing-hero-primary:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 16px 34px #1b4d3e4d,inset 0 1px #ffffff38}.landing-hero-primary:active{transform:translateY(0)}.landing-hero-secondary{border:1px solid var(--landing-border-strong);background:var(--landing-paper);color:var(--landing-ink);cursor:pointer;transition:border-color .2s var(--landing-ease), background .2s var(--landing-ease), transform .2s var(--landing-ease);border-radius:999px;align-items:center;gap:8px;padding:13px 18px;font-size:.92rem;font-weight:600;display:inline-flex}.landing-hero-secondary:hover{background:var(--landing-accent-soft);border-color:var(--landing-accent);transform:translateY(-1px)}.landing-points{border-top:1px solid var(--landing-border);gap:0;width:100%;max-width:48ch;margin:8px 0 0;padding:0;list-style:none;display:grid}.landing-points li{border-bottom:1px solid var(--landing-border);color:var(--landing-ink);padding:12px 0 12px 28px;font-size:.94rem;line-height:1.5;position:relative}.landing-points li:before{content:"";border-left:1.6px solid var(--landing-accent);border-bottom:1.6px solid var(--landing-accent);width:10px;height:6px;position:absolute;top:1.05em;left:4px;transform:rotate(-45deg)}.landing-hero-demo{min-width:0;margin-top:clamp(0px,2vw,28px);position:relative}.landing-hero-demo:before{content:"";background:linear-gradient(160deg, var(--landing-accent-soft), transparent 60%);border:1px solid var(--landing-border);z-index:-1;border-radius:26px;height:72%;position:absolute;inset:auto -14px -16px 18px}.hero-demo{gap:14px;min-width:0;display:grid}.hero-demo-head{justify-items:start;gap:6px;display:grid}.hero-demo-head h3{color:var(--muted);margin:0;font-size:1.02rem;font-weight:600}.hero-demo-sub{color:var(--dim);margin:0;font-size:.88rem}.hero-demo-card{background:var(--landing-paper);border:1px solid var(--landing-border);box-shadow:var(--landing-shadow-lg), inset 0 1px 0 #ffffffb3;border-radius:24px;gap:14px;min-width:0;padding:clamp(22px,2.6vw,32px);display:grid}[data-theme=dark] .hero-demo-card{box-shadow:var(--landing-shadow-lg), 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(28px,6vw,56px);padding-bottom:clamp(28px,6vw,52px)}.landing-hero-copy{text-align:left;justify-items:start;padding-right:0}.landing-hero-copy h1{max-width:19ch}.landing-points{max-width:none}.landing-hero-demo{margin-top:4px}.landing-hero-demo:before{inset:auto -8px -12px 12px}}@media (width<=480px){.landing-brand span{display:none}.hero-demo-card{border-radius:20px;padding:18px 14px}.landing-hero-primary,.landing-hero-secondary{justify-content:center;width:100%}}.landing-section{max-width:var(--landing-max);width:100%;padding:var(--landing-sec-gap) clamp(16px, 4vw, 48px);padding-top:calc(var(--landing-sec-gap) * .72);padding-bottom:calc(var(--landing-sec-gap) * .72);margin:0 auto}.landing-section-head{gap:12px;margin:0 0 clamp(26px,3.6vw,44px);display:grid}.landing-kicker{color:var(--landing-accent);font-family:var(--landing-mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:10px;font-size:.7rem;font-weight:600;display:inline-flex}.landing-kicker:before{content:"";background:var(--landing-accent);width:26px;height:1px}.landing-section-title{letter-spacing:-.026em;text-wrap:balance;max-width:24ch;margin:0;font-size:clamp(1.5rem,2.8vw,2.15rem);font-weight:800;line-height:1.14}.landing-section-sub{max-width:56ch;color:var(--muted);font-size:.96rem;line-height:var(--line-readable,1.65);margin:0}.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(8px,1.6vw,18px);padding-bottom:calc(var(--landing-sec-gap) * .5)}.landing-stats-row{border:1px solid var(--landing-border-strong);background:var(--landing-paper);box-shadow:var(--landing-shadow), inset 0 1px 0 var(--landing-inner-light);border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.landing-stat{border-left:1px solid var(--landing-border);flex-direction:column-reverse;justify-content:flex-end;align-items:flex-start;gap:8px;min-width:0;padding:clamp(20px,2.8vw,32px) clamp(18px,2.2vw,30px);display:flex;position:relative}.landing-stat:first-child{border-left:0}.landing-stat:before{content:"";background:linear-gradient(90deg, var(--landing-accent), transparent 70%);opacity:.55;height:3px;position:absolute;top:0;left:0;right:0}.landing-stat:nth-child(2):before{background:linear-gradient(90deg, var(--landing-gold), transparent 70%)}.landing-stat:nth-child(3):before{background:linear-gradient(90deg, var(--landing-cinnabar), transparent 70%)}.landing-stat:nth-child(4):before{background:linear-gradient(90deg, var(--landing-accent), transparent 70%);opacity:.35}.landing-stat dd{color:var(--landing-ink);font-family:var(--landing-mono);letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:700;line-height:1}.landing-stat dt{color:var(--muted);text-wrap:balance;font-size:.82rem;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-lg), inset 0 1px 0 var(--landing-inner-light);border-radius:24px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:clamp(18px,2.6vw,32px);padding:clamp(26px,3.4vw,44px);display:grid;position:relative;overflow:hidden}.landing-pillar-lead:after{content:"音";font-family:var(--font-cn);color:var(--landing-accent);opacity:.06;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(6rem,12vw,11rem);font-weight:900;line-height:1;position:absolute;bottom:-.32em;right:clamp(14px,3vw,40px)}[data-theme=dark] .landing-pillar-lead:after{opacity:.08}.landing-pillar-lead-text{z-index:1;gap:12px;min-width:0;display:grid;position:relative}.landing-pillar-lead-text h3{letter-spacing:-.02em;color:var(--landing-ink);margin:0;font-size:clamp(1.2rem,2vw,1.45rem);font-weight:700;line-height:1.22}.landing-pillar-lead-text p{max-width:62ch;color:var(--muted);font-size:.96rem;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(20px,2.8vw,44px);margin-top:clamp(30px,4.4vw,60px);display:grid}.landing-pillar{border-top:2px solid var(--landing-border-strong);align-content:start;gap:12px;min-width:0;padding-top:20px;display:grid}.landing-pillar:first-child{border-top-color:var(--landing-accent);margin-top:clamp(0px,3vw,34px)}.landing-pillar-icon{width:42px;height:42px;color:var(--landing-accent);background:var(--landing-accent-soft);border:1px solid var(--landing-border);border-radius:12px;place-items:center;display:inline-grid}.landing-pillar h3{letter-spacing:-.014em;color:var(--landing-ink);margin:0;font-size:1.02rem;font-weight:700;line-height:1.3}.landing-pillar p{max-width:44ch;color:var(--muted);font-size:.92rem;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-paper);border:1.5px solid var(--landing-border-strong);box-shadow:var(--landing-shadow);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(16px,2.4vw,30px);padding:clamp(22px,3vw,34px) 0;display:grid}.landing-method-icon{width:40px;height:40px;color:var(--landing-accent);background:var(--landing-accent-soft);border:1px solid var(--landing-border);border-radius:11px;place-items:center;display:inline-grid}.landing-method-text{gap:7px;min-width:0;display:grid}.landing-method-text h3{letter-spacing:-.014em;color:var(--landing-ink);margin:0;font-size:1.02rem;font-weight:700;line-height:1.3}.landing-method-text p{max-width:66ch;color:var(--muted);font-size:.93rem;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;color:var(--landing-ink);transition:color .2s var(--landing-ease), background .2s var(--landing-ease);justify-content:space-between;align-items:center;gap:12px;padding:18px 4px;font-size:.98rem;font-weight:600;line-height:1.4;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);border-radius:10px}.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:1px solid var(--landing-border-strong);background:linear-gradient(155deg, var(--landing-accent-soft), transparent 55%), var(--landing-paper);box-shadow:var(--landing-shadow-lg), inset 0 1px 0 var(--landing-inner-light);text-align:center;border-radius:26px;justify-items:center;gap:clamp(18px,2.6vw,28px);padding:clamp(44px,6vw,80px) clamp(22px,4vw,56px);display:grid;position:relative;overflow:hidden}.landing-closing:before{content:"語";font-family:var(--font-cn);color:var(--landing-accent);opacity:.05;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(9rem,20vw,16rem);font-weight:900;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-52%)}[data-theme=dark] .landing-closing:before{opacity:.07}.landing-closing-text{justify-items:center;gap:12px;min-width:0;display:grid;position:relative}.landing-closing h2{letter-spacing:-.028em;max-width:20ch;color:var(--landing-ink);text-wrap:balance;margin:0;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;line-height:1.12}.landing-closing p{max-width:50ch;color:var(--muted);font-size:.98rem;line-height:var(--line-readable,1.65);margin:0}.landing-closing-btn{background:linear-gradient(135deg, #189874, var(--landing-accent));color:#fff;letter-spacing:-.01em;cursor:pointer;transition:transform .22s var(--landing-ease), box-shadow .22s var(--landing-ease), filter .22s var(--landing-ease);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:9px;padding:15px 26px;font-size:1rem;font-weight:700;display:inline-flex;position:relative;box-shadow:0 12px 30px #1b4d3e42,inset 0 1px #fff3}.landing-closing-btn:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 18px 40px #1b4d3e52,inset 0 1px #ffffff3d}.landing-closing-btn:active{transform:translateY(0)}.landing-footer{z-index:1;border-top:1px solid var(--landing-border);padding:26px clamp(16px,4vw,48px) 36px;position:relative}.landing-footer p{max-width:var(--landing-max);color:var(--dim);align-items:center;gap:10px;margin:0 auto;font-size:.82rem;display:flex}.landing-footer p:before{content:"";background:var(--landing-border-strong);flex:none;width:20px;height:1px}@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}.landing-stat:first-child,.landing-stat:nth-child(2){border-bottom:1px solid var(--landing-border)}}@media (width<=560px){.landing-stats-row{border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.landing-stat{padding:16px 14px}.landing-stat dd{font-size:1.4rem}}@media (width<=380px){.landing-stats-row{grid-template-columns:minmax(0,1fr)}.landing-stat:nth-child(2){border-left: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-pillar-lead:after{font-size:5.4rem;right:10px}.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(--box-border);background:var(--control-bg);min-width:64px;min-height:44px;color:var(--muted);cursor:pointer;touch-action:manipulation;border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:7px 13px;transition:color .18s,border-color .18s,background .18s,box-shadow .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:var(--box-border-hover);background:var(--control-hover);transform:translateY(-1px)}.dash-level:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.dash-level:disabled{cursor:not-allowed;opacity:.5;transform:none}.dash-level.active{color:var(--box-selected-text);border-color:var(--box-selected-border);background:var(--box-selected-bg);box-shadow:0 0 0 2px var(--jade-soft)}.dash-level.active:hover{border-color:var(--box-selected-border);background:var(--box-selected-bg)}.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-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-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 .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-focus-levels{width:100%}.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}}.dash-page{min-width:0;overflow-x:clip}.dash-focus{border:0;border-bottom:1px solid var(--dash-hair);box-shadow:none;background:0 0;border-radius:0;padding:18px 0 20px}.dash-focus:hover{border-color:var(--dash-hair);box-shadow:none}.dash-focus-copy,.dash-focus-controls,.dash-today-title,.dash-today-actions{min-width:0}.dash-today{isolation:isolate;border-color:color-mix(in srgb, var(--jade) 28%, var(--line));border-radius:calc(var(--radius-lg) + 2px);box-shadow:var(--shadow-lg);gap:28px;padding:clamp(24px,3vw,36px) clamp(22px,3.5vw,40px);position:relative;overflow:hidden}.dash-today:before{content:"";z-index:-1;background:var(--jade);height:3px;position:absolute;inset:0 0 auto}.dash-today:hover{border-color:color-mix(in srgb, var(--jade) 42%, var(--line));box-shadow:var(--shadow-lg)}.dash-today--pending{justify-content:center;min-height:190px}.dash-today--pending .dash-today-head{align-items:center}.dash-today-pending{border:1px solid var(--dash-hair);border-radius:var(--radius-sm);background:var(--box-subtle-bg);max-width:48ch;color:var(--muted);align-items:center;gap:12px;padding:14px 16px;display:flex}.dash-today-pending-mark{background:var(--jade);width:8px;height:8px;box-shadow:0 0 0 5px var(--jade-soft);border-radius:50%;flex:none;animation:1.6s ease-in-out infinite dashPendingPulse}.dash-today-pending strong,.dash-today-pending span{display:block}.dash-today-pending strong{color:var(--text);font-size:.84rem}.dash-today-pending span{margin-top:3px;font-size:.78rem;line-height:1.45}@keyframes dashPendingPulse{50%{opacity:.45;transform:scale(.8)}}.dash-mission-row{border-top:1px solid var(--dash-hair-soft);border-bottom:1px solid var(--dash-hair-soft);gap:0;padding:8px 0}.dash-mission{border:0;border-left:1px solid var(--dash-hair-soft);min-width:0;box-shadow:none;background:0 0;border-radius:0;padding:12px 18px}.dash-mission:first-child{border-left:0;padding-left:0}.dash-mission:hover{border-color:var(--dash-hair-soft);box-shadow:none;background:var(--box-subtle-bg);transform:none}.dash-mission:first-child:hover{border-left:0}.dash-today-foot{align-items:end}.dash-today-actions{justify-self:end}.dash-stats{gap:26px;padding-top:4px}.dash-analytics-status{border:1px solid var(--dash-hair);border-left:3px solid var(--jade);border-radius:var(--radius-sm);background:var(--box-subtle-bg);color:var(--muted);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.dash-analytics-status>svg{color:var(--jade);flex:none;margin-top:1px}.dash-analytics-status strong,.dash-analytics-status span{display:block}.dash-analytics-status strong{color:var(--text);font-size:.82rem}.dash-analytics-status span{margin-top:2px;font-size:.78rem;line-height:1.45}.dash-analytics-status--loading{border-left-color:var(--porcelain)}.dash-analytics-status--loading>svg{color:var(--porcelain);animation:1.3s ease-in-out infinite dashStatusPulse}.dash-analytics-status--offline,.dash-analytics-status--backend-empty{border-left-color:var(--gold)}.dash-analytics-status--offline>svg,.dash-analytics-status--backend-empty>svg{color:var(--gold)}.dash-analytics-status--empty{border-left-color:var(--dim)}.dash-analytics-status--empty>svg{color:var(--dim)}@keyframes dashStatusPulse{50%{opacity:.45}}.dash-stats-head{border:0;border-bottom:1px solid var(--dash-hair);box-shadow:none;background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;padding:10px 0 22px}.dash-stats-head:hover{box-shadow:none}.dash-readiness{border-bottom:1px solid var(--dash-hair);gap:0}.dash-readiness-cell{border:0;border-left:1px solid var(--dash-hair-soft);min-width:0;box-shadow:none;background:0 0;border-radius:0;padding:14px 18px 16px}.dash-readiness-cell:first-child{border-left:0;padding-left:0}.dash-readiness-cell:hover{border-color:var(--dash-hair-soft);box-shadow:none;background:var(--box-subtle-bg);transform:none}.dash-readiness-cell:first-child:hover{border-left:0}.dash-grid{gap:32px}.dash-skills,.dash-trend,.dash-levels{border:0;border-top:1px solid var(--dash-hair);box-shadow:none;background:0 0;border-radius:0;padding:8px 0 0}.dash-skills:hover,.dash-trend:hover,.dash-levels:hover{box-shadow:none}.dash-trend-chart-wrap{min-width:0;position:relative}.dash-trend-chart{cursor:crosshair;touch-action:pan-y pinch-zoom;min-width:0;display:block}.dash-trend-crosshair{stroke:var(--jade);stroke-width:1px;stroke-dasharray:2 3;opacity:.72;vector-effect:non-scaling-stroke;pointer-events:none}.dash-trend-point{outline:none}.dash-trend-hit{fill:#0000;stroke:#0000;stroke-width:1px;cursor:crosshair;pointer-events:all;vector-effect:non-scaling-stroke}.dash-trend-point.is-active .dash-trend-hit{fill:var(--jade-soft);stroke:color-mix(in srgb, var(--jade) 55%, transparent)}.dash-trend-point.is-active .dash-trend-dot{stroke-width:3px}.dash-trend-hit:focus-visible{fill:var(--jade-soft);stroke:var(--text);stroke-width:1.5px}.dash-trend-readout{border-left:2px solid var(--jade);background:var(--box-subtle-bg);min-height:42px;color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-top:8px;padding:9px 12px;display:flex}.dash-trend-readout strong{color:var(--text);font-size:.82rem}.dash-trend-readout span{font-size:.76rem}.dash-trend-readout b{font-family:var(--dash-mono);font-variant-numeric:tabular-nums;color:var(--text)}.dash-trend-table-wrap{border-top:1px solid var(--dash-hair-soft);margin-top:12px;overflow-x:auto}.dash-trend-table{border-collapse:collapse;width:100%;min-width:320px;color:var(--muted);font-size:.74rem}.dash-trend-table caption{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);padding:9px 0 6px;font-size:.68rem;font-weight:700}.dash-trend-table th,.dash-trend-table td{border-bottom:1px solid var(--dash-hair-soft);text-align:right;white-space:nowrap;padding:7px 8px}.dash-trend-table th:first-child,.dash-trend-table td:first-child{text-align:left;padding-left:0}.dash-trend-table thead th{color:var(--dim);font-size:.66rem;font-weight:700}.dash-trend-table tbody th{color:var(--text);font-weight:600}.dash-trend-table tbody td:nth-child(2){font-family:var(--dash-mono);font-variant-numeric:tabular-nums;color:var(--text)}.dash-trend-empty{color:var(--muted);align-items:flex-start;gap:10px;margin-top:14px;padding:14px 0;display:flex}.dash-trend-empty>svg{color:var(--dim);flex:none}.dash-trend-empty strong,.dash-trend-empty p{display:block}.dash-trend-empty strong{color:var(--text);font-size:.82rem}.dash-trend-empty p{margin:3px 0 0;font-size:.78rem;line-height:1.45}.dash-ai{border:0;border-top:1px solid var(--dash-hair);box-shadow:none;background:0 0;border-radius:0;padding:20px 0}.dash-bottom{gap:28px 40px;padding-top:22px}.dash-reco,.dash-recent{flex-direction:column;display:flex}.dash-reco .btn-primary{align-self:flex-start}@media (width<=860px){.dash-focus{padding-top:12px}.dash-today-foot{align-items:stretch}.dash-today-actions{justify-self:stretch}.dash-action-buttons{width:100%}.dash-action-buttons>button{flex:180px}.dash-mission{border-left:0;border-top:1px solid var(--dash-hair-soft);padding-left:0}.dash-mission:nth-child(-n+2){border-top:0}.dash-readiness-cell{border-left:0;border-top:1px solid var(--dash-hair-soft);padding-left:0}.dash-readiness-cell:nth-child(-n+2){border-top:0}.dash-stats-head{padding-top:4px}}@media (width<=560px){.dash-page{padding-bottom:calc(var(--sp-8) + env(safe-area-inset-bottom))}.dash-focus{padding-bottom:16px}.dash-today{padding:24px 18px 22px}.dash-today-pending{align-items:flex-start}.dash-today-foot{gap:20px}.dash-action-buttons>button{flex-basis:100%}.dash-stats-head{grid-template-columns:auto minmax(0,1fr);gap:16px}.dash-kpis{gap:0;padding-bottom:2px;overflow-x:auto}.dash-kpis>div{flex:1 0 76px;padding:0 12px}.dash-trend-readout{gap:4px 10px}}@media (prefers-reduced-motion:reduce){.dash-today-pending-mark,.dash-analytics-status--loading>svg,.dash-ai-result{animation:none}.dash-today,.dash-mission,.dash-readiness-cell,.dash-ring circle,.dash-meter>span,.dash-level-bars strong,.dash-word-stage-bar>span{transition:none}}@media (forced-colors:active){.dash-focus,.dash-stats-head,.dash-readiness,.dash-skills,.dash-trend,.dash-levels,.dash-ai,.dash-bottom{border-color:canvastext}.dash-today,.dash-analytics-status,.dash-today-pending,.dash-trend-readout{box-shadow:none;border-color:canvastext}.dash-today:before,.dash-meter>span,.dash-level-bars strong,.dash-trend-crosshair{stroke:highlight;background:highlight}.dash-trend-dot,.dash-trend-hit:focus-visible{stroke:highlight}.dash-trend-point.is-active .dash-trend-hit{fill:highlight;fill-opacity:.2;stroke:highlight}.dash-trend-table th,.dash-trend-table td{border-color:canvastext}}.dash-insights{gap:clamp(28px,4vw,48px)}.dash-insights .dash-stats-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 40px;padding:0 0 24px}.dash-insights .dash-stats-title h2{margin-top:8px;font-size:clamp(1.45rem,1.15rem + .8vw,1.9rem)}.dash-insights .dash-stats-title p{max-width:58ch;line-height:1.55}.dash-milestone{border:1px solid var(--dash-hair);border-radius:var(--radius);background:var(--box-subtle-bg);align-items:center;gap:13px;min-width:204px;padding:10px 14px 10px 10px;display:flex}.dash-milestone>div:last-child{flex-direction:column;gap:3px;display:flex}.dash-milestone strong{color:var(--text);font-size:.82rem}.dash-milestone span{color:var(--dim);font-size:.74rem;line-height:1.35}.dash-insights>.dash-kpis{border-bottom:1px solid var(--dash-hair);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:-10px 0 0;display:grid}.dash-insights>.dash-kpis>div{border-left:1px solid var(--dash-hair-soft);text-align:left;gap:6px;min-width:0;padding:16px 20px 18px}.dash-insights>.dash-kpis>div:first-child{border-left:0;padding-left:0}.dash-insights>.dash-kpis>div:last-child{padding-right:0}.dash-insights>.dash-kpis dt{letter-spacing:.07em;color:var(--dim);order:1;align-items:center;gap:7px;font-size:.68rem;display:flex}.dash-insights>.dash-kpis dt svg{color:var(--jade);flex:none}.dash-insights>.dash-kpis dd:not(.dash-kpi-note){color:var(--text);order:2;margin:0;font-size:clamp(1.4rem,1.1rem + .6vw,1.75rem);line-height:1}.dash-insights>.dash-kpis .dash-kpi-note{color:var(--dim);order:3;margin:0;font-size:.7rem;line-height:1.35}.dash-progress-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.78fr);align-items:start;gap:clamp(28px,4vw,48px);display:grid}.dash-progress-grid>*{min-width:0}.dash-progress-grid .dash-trend,.dash-readiness-panel{border-top:1px solid var(--dash-hair);min-width:0;box-shadow:none;background:0 0;border-radius:0;padding:8px 0 0}.dash-progress-grid .dash-trend:hover,.dash-readiness-panel:hover{box-shadow:none}.dash-trend-count{color:var(--dim);flex:none;align-self:center;font-size:.72rem}.dash-trend-plot{grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:10px;margin-top:20px;display:grid}.dash-trend-scale{font-family:var(--dash-mono);font-variant-numeric:tabular-nums;color:var(--dim);flex-direction:column;justify-content:space-between;padding:1px 0 3px;font-size:.64rem;display:flex}.dash-progress-grid .dash-trend-chart{height:clamp(220px,24vw,300px);margin-top:0}.dash-trend-endpoints{color:var(--dim);justify-content:space-between;gap:12px;margin:7px 0 0 37px;font-size:.68rem;display:flex}.dash-trend-endpoints span:last-child{text-align:right}.dash-trend-details{border-top:1px solid var(--dash-hair-soft);margin-top:14px}.dash-trend-details summary{cursor:pointer;min-height:44px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:.76rem;font-weight:600;list-style:none;display:flex}.dash-trend-details summary::-webkit-details-marker{display:none}.dash-trend-details summary svg{flex:none;transition:transform .18s}.dash-trend-details[open] summary svg{transform:rotate(180deg)}.dash-trend-details summary:focus-visible{outline:2px solid var(--jade);outline-offset:3px;border-radius:3px}.dash-trend-details .dash-trend-table-wrap{border-top:0;margin-top:0}.dash-readiness-panel{flex-direction:column;display:flex}.dash-readiness-intro{border-bottom:1px solid var(--dash-hair-soft);padding-bottom:16px}.dash-readiness-intro h3{color:var(--text);margin:7px 0 0;font-size:1.1rem;line-height:1.25}.dash-readiness-intro p{max-width:34ch;color:var(--muted);margin:7px 0 0;font-size:.8rem;line-height:1.5}.dash-progress-grid .dash-readiness{border-bottom:0;flex-direction:column;gap:0;display:flex}.dash-progress-grid .dash-readiness-cell{border:0;border-bottom:1px solid var(--dash-hair-soft);min-width:0;box-shadow:none;background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:15px 0;display:grid}.dash-progress-grid .dash-readiness-cell:hover{border-color:var(--dash-hair-soft);background:var(--box-subtle-bg);box-shadow:none;transform:none}.dash-readiness-topline{grid-column:1/-1;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.dash-readiness-topline>span{min-width:0;color:var(--text);font-size:.8rem;font-weight:650}.dash-readiness-topline>strong{color:var(--text);flex:none;font-size:1rem}.dash-readiness-cell[data-tone=steady] .dash-readiness-topline>strong{color:var(--gold)}.dash-readiness-cell[data-tone=weak] .dash-readiness-topline>strong{color:var(--cinnabar)}.dash-readiness-cell>small{color:var(--dim);grid-column:1/-1;font-size:.72rem}.dash-progress-grid .dash-readiness-cell .dash-meter{grid-column:1/-1;width:100%;height:5px;margin-top:2px}.dash-section-note{color:var(--dim);margin:13px 0 0;font-size:.74rem;line-height:1.45}.dash-breakdown,.dash-next{border-top:1px solid var(--dash-hair);flex-direction:column;gap:20px;padding-top:24px;display:flex}.dash-section-heading{border-bottom:1px solid var(--dash-hair-soft);justify-content:space-between;align-items:end;gap:20px;padding-bottom:14px;display:flex}.dash-section-heading h3{color:var(--text);margin:6px 0 0;font-size:1.15rem;line-height:1.2}.dash-section-heading p{text-align:right;max-width:38ch;color:var(--muted);margin:0;font-size:.78rem;line-height:1.5}.dash-breakdown .dash-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:36px}.dash-breakdown .dash-skills,.dash-breakdown .dash-levels{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.dash-breakdown .dash-skills:hover,.dash-breakdown .dash-levels:hover{box-shadow:none}.dash-breakdown .dash-block-head{align-items:baseline;padding-bottom:10px}.dash-breakdown .dash-block-head h4,.dash-recent .dash-block-head h4{color:var(--text);margin:0;font-size:.92rem;font-weight:700}.dash-breakdown .dash-block-head>span,.dash-recent .dash-block-head>span{color:var(--dim);flex:none;font-size:.7rem}.dash-breakdown .dash-skill-list,.dash-level-list{margin-top:0}.dash-breakdown .dash-skill-row{border-bottom:1px solid var(--dash-hair-soft);border-radius:0;grid-template-columns:30px minmax(0,1fr) auto;grid-template-areas:"icon name value"".meter meter";gap:5px 12px;padding:13px 0}.dash-breakdown .dash-skill-row:hover{background:0 0}.dash-skill-icon{background:var(--jade-soft);width:30px;height:30px;color:var(--jade);border-radius:9px;grid-area:icon;place-items:center;display:grid}.dash-breakdown .dash-skill-name{grid-area:name;align-self:center}.dash-breakdown .dash-skill-row>b{grid-area:value;align-self:center}.dash-breakdown .dash-skill-row>.dash-meter{grid-area:meter;width:100%;height:5px}.dash-skill-summary{flex-wrap:wrap;gap:7px 18px;margin-top:15px;display:flex}.dash-skill-summary span{color:var(--muted);align-items:center;gap:5px;font-size:.74rem;display:inline-flex}.dash-skill-summary span:first-child svg{color:var(--jade)}.dash-skill-summary span:nth-child(2) svg{color:var(--cinnabar)}.dash-skill-summary strong{color:var(--text)}.dash-level-list{flex-direction:column;display:flex}.dash-level-row{border-bottom:1px solid var(--dash-hair-soft);grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"level count value"".meter meter";align-items:center;gap:5px 12px;padding:11px 0;display:grid}.dash-level-name{color:var(--text);grid-area:level;font-size:.78rem;font-weight:700}.dash-level-count{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dim);grid-area:count;font-size:.72rem;overflow:hidden}.dash-level-row>b{text-align:right;min-width:43px;color:var(--text);grid-area:value;font-size:.82rem}.dash-level-row>.dash-meter{grid-area:meter;width:100%;height:4px}.dash-level-row[data-empty=true] .dash-meter>span{background:var(--dash-hair)}.dash-next .dash-bottom{border:0;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:28px 40px;padding:0}.dash-next .dash-reco,.dash-next .dash-recent{border:1px solid var(--dash-hair);border-radius:var(--radius);background:var(--box-subtle-bg);min-width:0;padding:20px 22px}.dash-next .dash-reco{border-left:3px solid var(--jade);flex-direction:column;align-items:flex-start;gap:16px;display:flex}.dash-reco-copy .dash-eyebrow{align-items:center;gap:6px;display:flex}.dash-reco-copy h4{color:var(--text);margin:7px 0 0;font-size:1.1rem;font-weight:700}.dash-next .dash-reco-copy p{margin-top:7px}.dash-next .dash-reco .btn-primary{align-self:flex-start;margin-top:auto}.dash-next .dash-recent{flex-direction:column;gap:13px;display:flex}.dash-next .dash-recent .dash-block-head{padding-bottom:11px}.dash-review-words{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:0;list-style:none;display:grid}.dash-review-words li{border:1px solid var(--dash-hair);background:var(--paper);border-radius:10px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"hanzi pinyin""hanzi meaning";align-items:center;column-gap:9px;min-width:0;padding:9px 10px;display:grid}.dash-review-words li>strong{font-family:var(--font-cn), var(--font);color:var(--text);grid-area:hanzi;font-size:1.25rem;line-height:1}.dash-review-words li>.pinyin,.dash-review-words li>span:not(.dash-review-meaning){text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--jade);grid-area:pinyin;font-size:.7rem;overflow:hidden}.dash-review-meaning{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dim);grid-area:meaning;font-size:.68rem;line-height:1.25;overflow:hidden}.dash-ai{border:0;border-top:1px solid var(--dash-hair);box-shadow:none;background:0 0;border-radius:0;flex-direction:column;gap:16px;padding:22px 0 0;display:flex}.dash-ai:hover{box-shadow:none}.dash-ai .dash-block-head{border-bottom-color:var(--dash-hair-soft);align-items:center;padding-bottom:16px}.dash-ai-heading{align-items:flex-start;gap:12px;min-width:0;display:flex}.dash-ai-icon{border:1px solid var(--dash-hair);background:var(--jade-soft);width:38px;height:38px;color:var(--jade);border-radius:11px;flex:none;place-items:center;display:grid}.dash-ai-heading h3{margin-top:5px}.dash-ai-heading p{max-width:58ch;color:var(--muted);margin:6px 0 0;font-size:.8rem;line-height:1.45}.dash-ai .btn-secondary{flex:none}@media (width<=1080px){.dash-progress-grid{grid-template-columns:minmax(0,1fr)}.dash-readiness-panel{padding-top:0}.dash-progress-grid .dash-readiness{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;display:grid}.dash-progress-grid .dash-readiness-cell:nth-child(odd){padding-left:0}.dash-progress-grid .dash-readiness-cell:nth-child(2n){border-left:1px solid var(--dash-hair-soft);padding-left:24px;padding-right:0}}@media (width<=860px){.dash-insights .dash-stats-head{grid-template-columns:minmax(0,1fr);gap:18px}.dash-milestone{justify-self:start}.dash-insights>.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-14px}.dash-insights>.dash-kpis>div:nth-child(odd){border-left:0;padding-left:0}.dash-insights>.dash-kpis>div:nth-child(n+3){border-top:1px solid var(--dash-hair-soft)}.dash-insights>.dash-kpis>div:nth-child(2n){padding-right:0}.dash-section-heading{flex-direction:column;align-items:flex-start;gap:8px}.dash-section-heading p{text-align:left;max-width:52ch}.dash-ai .dash-block-head{flex-direction:column;align-items:flex-start}.dash-ai .btn-secondary{align-self:flex-start}}@media (width<=560px){.dash-insights{gap:34px}.dash-insights .dash-stats-head{padding-bottom:20px}.dash-milestone{width:100%;min-width:0}.dash-insights>.dash-kpis{margin-top:-18px}.dash-insights>.dash-kpis>div{padding:14px 12px 16px}.dash-insights>.dash-kpis>div:nth-child(odd){padding-left:0}.dash-insights>.dash-kpis>div:nth-child(2n){padding-right:0}.dash-insights>.dash-kpis dt{letter-spacing:.04em;font-size:.62rem}.dash-insights>.dash-kpis dt svg{width:14px;height:14px}.dash-insights>.dash-kpis dd:not(.dash-kpi-note){font-size:1.35rem}.dash-insights>.dash-kpis .dash-kpi-note{font-size:.66rem}.dash-progress-grid .dash-trend-chart{height:220px}.dash-progress-grid .dash-readiness{grid-template-columns:minmax(0,1fr)}.dash-progress-grid .dash-readiness-cell:nth-child(2n){border-left:0;padding-left:0}.dash-progress-grid .dash-readiness-cell:nth-child(n+2){border-top:0}.dash-breakdown .dash-grid,.dash-next .dash-bottom{grid-template-columns:minmax(0,1fr)}.dash-level-count{font-size:.68rem}.dash-review-words{gap:7px}.dash-review-words li{padding:8px}.dash-review-words li>strong{font-size:1.1rem}}@media (prefers-reduced-motion:reduce){.dash-trend-details summary svg{transition:none}}@media (forced-colors:active){.dash-milestone,.dash-next .dash-reco,.dash-next .dash-recent,.dash-review-words li,.dash-ai-icon{box-shadow:none;border-color:canvastext}.dash-skill-icon,.dash-ai-icon{color:highlight;background:canvas}.dash-level-row .dash-meter>span,.dash-review-words li>span{color:canvastext}}:root{--sh-hair:var(--line);--sh-hair-soft:var(--line-soft);--sh-surface:var(--paper);--sh-ink:var(--text);--sh-muted:var(--muted);--sh-accent:var(--jade);--sh-accent-soft:var(--jade-soft);--sh-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}:root[data-theme=dark]{--sh-hair:var(--box-border);--sh-hair-soft:var(--line-soft);--sh-surface:var(--box-bg);--sh-accent-soft:var(--jade-soft)}.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);background:color-mix(in srgb, var(--sh-surface) 88%, transparent);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 18px;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:-.02em;color:var(--sh-ink);font-size:.98rem;font-weight:750}.sh-brand-text i{letter-spacing:.03em;text-transform:none;color:var(--sh-muted);font-size:.7rem;font-style:normal;font-weight:500}.sh-nav{align-items:stretch;gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.sh-group{flex-direction:column;min-width:0;display:flex}.sh-item{border-radius:var(--radius-sm);width:100%;min-width:0;height:44px;min-height:44px;color:var(--sh-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;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:active{transform:translateY(1px)}.sh-item:focus-visible{outline:2px solid var(--sh-accent);outline-offset:2px}.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:44px;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;background:var(--sh-surface);background:color-mix(in srgb, var(--sh-surface) 94%, transparent);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(--sh-accent);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:44px;height:44px;color:var(--sh-muted);cursor:pointer;background:0 0;border-radius:10px;flex:0 0 44px;place-items:center;transition:color .16s,background-color .16s,transform .16s;display:inline-grid}.sh-theme-toggle:hover{color:var(--sh-accent);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);background:color-mix(in srgb, var(--sh-surface) 94%, transparent);-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);box-shadow:0 -4px 20px rgba(var(--shadow-color), .06);z-index:100;flex-direction:row;justify-content:space-around;align-items:stretch;display:flex;position:fixed;inset:auto 0 0;overflow:visible}.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(.97)}.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:600;line-height:1.15;overflow:hidden}.sh-item>span:first-of-type{flex:none;font-size:.72rem}.sh-item.is-active>span:first-of-type{font-weight:700}.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(--box-bg);max-height:80dvh;color:var(--sh-ink);box-shadow:0 -8px 36px rgba(var(--shadow-color), .22);border-top:1px solid var(--sh-hair);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}[data-theme=dark] .sh-mobile-sheet{background:var(--box-bg);box-shadow:0 -8px 40px rgba(var(--shadow-color), .45)}.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;gap:var(--sp-3);padding-bottom:8px;display:flex}.sh-sheet-title{align-items:center;gap:10px;min-width:0;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{border-radius:var(--radius-sm);border:1px solid var(--sh-hair);width:44px;height:44px;color:var(--sh-muted);cursor:pointer;touch-action:manipulation;background:0 0;flex:0 0 44px;place-items:center;transition:color .15s,background-color .15s,transform .15s;display:grid}.sh-sheet-close:hover{color:var(--sh-ink);background:var(--box-hover-bg)}.sh-sheet-close:active{transform:scale(.96)}.sh-sheet-close:focus-visible,.sh-sheet-item:focus-visible{outline:2px solid var(--sh-accent);outline-offset:2px}.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:color .15s,background-color .15s,border-color .15s,transform .15s;display:flex}.sh-sheet-item:hover{background:var(--box-hover-bg);border-color:var(--box-border-hover)}.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:var(--primary-text)}.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:var(--primary-text);border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:.72rem;font-weight:650}@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,.sh-sheet-close,.sh-sheet-item{transition:none}.sh-sheet-backdrop,.sh-mobile-sheet,.sh-sk{animation:none}.sh-sidebar,.sh-mobile-sheet{scroll-behavior:auto}.sh-item:active,.sh-theme-toggle:hover,.sh-theme-toggle:active,.sh-sheet-close:active,.sh-sheet-item:active{transform:none}}@media (forced-colors:active){.sh-sidebar,.sh-topbar,.sh-mobile-sheet,[data-theme=dark] .sh-mobile-sheet{color:canvastext;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:canvas;border-color:buttontext}.sh-item,.sh-theme-toggle,.sh-sheet-close,.sh-sheet-item{color:buttontext;forced-color-adjust:none;background:canvas;border-color:buttontext}.sh-item:hover,.sh-item.is-active,.sh-group.has-active .sh-item,.sh-theme-toggle:hover,.sh-sheet-close:hover,.sh-sheet-item:hover,.sh-sheet-item:active,.sh-sheet-item.is-active{color:highlighttext;background:highlight;border-color:highlight}.sh-item:focus-visible,.sh-theme-toggle:focus-visible,.sh-sheet-close:focus-visible,.sh-sheet-item:focus-visible{outline-offset:2px;outline:2px solid highlight}.sh-count,.sh-item.is-active .sh-count,.sh-item svg{color:inherit;opacity:1}.sh-item:before{background:highlight}.sh-sheet-item-icon,.sh-sheet-item.is-active .sh-sheet-item-icon,.sh-sheet-item-badge{color:buttontext;background:canvas;border-color:buttontext}}: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))}}:root{--streak-fire-from:#c2410c;--streak-fire-to:#991b1b;--streak-gold:#a16207;--streak-gold-glow:#a1620759;--streak-flame-glow:#c2410c73;--text-muted:#525252}.streak-hero[data-streak-tier=ember]{--streak-fire-from:#c2410c;--streak-fire-to:#9a3412;--streak-flame-glow:#c2410c59}.streak-hero[data-streak-tier=flame]{--streak-fire-from:#b91c1c;--streak-fire-to:#991b1b;--streak-flame-glow:#b91c1c66}.streak-hero[data-streak-tier=inferno]{--streak-fire-from:#991b1b;--streak-fire-to:#7f1d1d;--streak-flame-glow:#991b1b80}.streak-hero[data-streak-tier=golden]{--streak-fire-from:#a16207;--streak-fire-to:#854d0e;--streak-gold:#854d0e;--streak-gold-glow:#854d0e73;--streak-flame-glow:#a1620780}.streak-display{border-radius:var(--radius-pill,999px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#ffffffd9,#fff7ede6);border:1px solid #fb923c33;align-items:center;gap:.5rem;padding:.375rem .75rem .375rem .5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 1px 3px #0000000a}.streak-display:hover{box-shadow:0 2px 8px var(--streak-flame-glow);transform:translateY(-1px)}.streak-display--pulse{animation:1.2s ease-out streak-pulse}@keyframes streak-pulse{0%{transform:scale(1);box-shadow:0 0 #f9731680}30%{transform:scale(1.1);box-shadow:0 0 0 10px #f9731600}to{box-shadow:0 2px 8px var(--streak-flame-glow);transform:scale(1)}}.streak-flame{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.streak-flame:after{content:"";background:conic-gradient(from 0deg, var(--streak-fire-from), var(--streak-fire-to), var(--streak-fire-from));opacity:.25;z-index:0;border-radius:50%;position:absolute;inset:-2px}.streak-flame-icon{color:var(--streak-fire-from);z-index:1;transition:color .2s,filter .2s;position:relative}.streak-flame--active{filter:drop-shadow(0 0 6px #dc262699);animation:1.5s ease-in-out infinite alternate flame-flicker;color:var(--streak-fire-to)!important}@keyframes flame-flicker{0%{filter:drop-shadow(0 0 4px #dc262680);transform:scale(1)}50%{filter:drop-shadow(0 0 8px #f97316b3);transform:scale(1.05)}to{filter:drop-shadow(0 0 5px #dc262699);transform:scale(.98)}}.streak-info{flex-direction:column;line-height:1.15;display:flex}.streak-count{color:var(--text,#1a1a1a);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.2rem;font-weight:800}.streak-label{color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:500}.streak-best{color:var(--text-muted,#888);border-left:1px solid #00000014;align-items:center;gap:.25rem;margin-left:.375rem;padding-left:.5rem;font-size:.75rem;font-weight:600;display:flex}.streak-best svg{color:var(--streak-gold)}.streak-display--broken{background:linear-gradient(135deg,#fef2f2e6,#ffffffd9);border-color:#dc262626}.streak-display--broken .streak-icon{color:#dc2626}.streak-hint{color:var(--text-muted,#888);font-size:.65rem}.streak-hero{background:var(--surface,#fff);border:1px solid var(--border-subtle,#e5e5e5);border-radius:var(--radius-xl,20px);text-align:center;padding:2.5rem 2rem 2rem;position:relative;overflow:hidden}.streak-hero:before{content:"";pointer-events:none;background:radial-gradient(#fb923c14 0%,#0000 70%);width:140%;height:100%;position:absolute;top:-60%;left:50%;transform:translate(-50%)}.streak-hero--pulse{animation:1.2s ease-out streak-hero-pulse}@keyframes streak-hero-pulse{0%{transform:scale(1);box-shadow:0 0 #f973164d}30%{transform:scale(1.06);box-shadow:0 0 0 16px #f9731600}50%{transform:scale(.97)}70%{transform:scale(1.02)}to{box-shadow:none;transform:scale(1)}}.streak-hero-main{z-index:1;flex-direction:column;align-items:center;gap:1.25rem;margin-bottom:2rem;display:flex;position:relative}.streak-hero-flame{background:linear-gradient(145deg,#fff7ed,#ffedd5,#fed7aa);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:relative;box-shadow:0 4px 24px #f9731626,inset 0 -2px 6px #fb923c1a}.streak-hero-flame:before{content:"";background:conic-gradient(from 0deg, var(--streak-fire-from), var(--streak-fire-to), var(--streak-gold), var(--streak-fire-from));opacity:.2;border-radius:50%;animation:8s linear infinite flame-ring-spin;position:absolute;inset:-6px}@keyframes flame-ring-spin{to{transform:rotate(360deg)}}.streak-hero-flame:after{content:"";pointer-events:none;background:radial-gradient(circle at 40% 35%,#fff9,#0000 60%);border-radius:50%;position:absolute;inset:0}.streak-hero-flame svg{color:var(--streak-fire-from);z-index:2;filter:drop-shadow(0 2px 4px #f973164d);position:relative}.streak-hero-flame .streak-flame--active{animation:2s ease-in-out infinite alternate hero-flame-burn;color:var(--streak-fire-to)!important}@keyframes hero-flame-burn{0%{filter:drop-shadow(0 0 6px #dc262680)drop-shadow(0 0 12px #f973164d);transform:scale(1)translateY(0)}50%{filter:drop-shadow(0 0 10px #f97316b3)drop-shadow(0 0 20px #dc262666);transform:scale(1.06)translateY(-2px)}to{filter:drop-shadow(0 0 7px #dc262699)drop-shadow(0 0 14px #f9731659);transform:scale(.98)translateY(1px)}}.streak-hero-count{flex-direction:column;align-items:center;display:flex}.streak-hero-count strong{letter-spacing:-.03em;background:linear-gradient(135deg, var(--streak-fire-from), var(--streak-fire-to));-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text;font-size:4rem;font-weight:900;line-height:1}.streak-hero-count span{color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.1em;margin-top:.375rem;font-size:.8rem;font-weight:600}.streak-hero-meta{border-top:1px solid var(--border-subtle,#eee);z-index:1;justify-content:center;gap:1rem;padding-top:1.5rem;display:flex;position:relative}.streak-hero-stat{border-radius:var(--radius-md,10px);background:var(--surface-2,#f9fafb);align-items:center;gap:.625rem;min-width:140px;padding:.625rem 1rem;display:flex}.streak-hero-stat svg{color:var(--streak-gold);flex-shrink:0}.streak-hero-stat div{text-align:left;flex-direction:column;display:flex}.streak-hero-stat strong{color:var(--text,#1a1a1a);font-size:1.125rem;font-weight:700;line-height:1.2}.streak-hero-stat small{color:var(--text-muted,#888);font-size:.7rem;font-weight:500}.streak-hero-broken{z-index:1;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0;display:flex;position:relative}.streak-hero-broken-icon{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;display:flex;box-shadow:0 4px 16px #6b728026}.streak-hero-broken-icon svg{color:#6b7280}.streak-hero-broken h2{color:#374151;margin:0;font-size:1.75rem;font-weight:800}.streak-hero-broken p{color:var(--text-muted,#666);margin:0;font-size:1rem}.streak-hero-broken-action{margin-top:.5rem}.streak-milestones{z-index:1;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.5rem;display:flex;position:relative}.streak-milestone{border-radius:var(--radius-md,10px);background:var(--surface-2,#f9fafb);border:1px solid var(--border-subtle,#eee);flex-direction:column;align-items:center;gap:.25rem;min-width:64px;padding:.5rem .75rem;transition:all .2s;display:flex}.streak-milestone--reached{box-shadow:0 2px 8px var(--streak-gold-glow);background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#eab3084d}.streak-milestone--locked{opacity:.45}.streak-milestone-icon{font-size:1.25rem;line-height:1}.streak-milestone-label{color:var(--text,#333);font-variant-numeric:tabular-nums;font-size:.65rem;font-weight:700}.streak-milestone--locked .streak-milestone-label{color:var(--text-muted,#999)}.streak-leaderboard{background:var(--surface,#fff);border:1px solid var(--border-subtle,#e5e5e5);border-radius:var(--radius-xl,20px);overflow:hidden}.streak-lb-header{background:linear-gradient(135deg, #fffbeb 0%, var(--surface,#fff) 100%);border-bottom:1px solid var(--border-subtle,#eee);align-items:center;gap:.625rem;padding:1.125rem 1.25rem;display:flex}.streak-lb-header svg{color:var(--streak-gold);filter:drop-shadow(0 1px 2px var(--streak-gold-glow))}.streak-lb-header h3{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:700}.streak-lb-podium{background:linear-gradient(180deg, #fffbeb 0%, var(--surface,#fff) 100%);border-bottom:1px solid var(--border-subtle,#eee);grid-template-columns:1fr 1fr 1fr;gap:0;padding:1.25rem 1rem .75rem;display:grid}.streak-lb-podium-entry{flex-direction:column;align-items:center;gap:.375rem;padding:.5rem;display:flex;position:relative}.streak-lb-podium-entry:nth-child(2){order:-1;padding-top:0}.streak-lb-podium-medal{filter:drop-shadow(0 2px 4px #0000001a);font-size:2rem;line-height:1}.streak-lb-podium-entry:first-child .streak-lb-podium-medal,.streak-lb-podium-entry:nth-child(3) .streak-lb-podium-medal{font-size:1.5rem}.streak-lb-podium-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.8rem;font-weight:600;overflow:hidden}.streak-lb-podium-streak{color:var(--streak-fire-from);font-variant-numeric:tabular-nums;align-items:center;gap:.2rem;font-size:1.125rem;font-weight:800;display:flex}.streak-lb-podium-entry:nth-child(2) .streak-lb-podium-streak{font-size:1.5rem}.streak-lb-podium-streak svg{width:14px;height:14px}.streak-lb-podium-label{color:var(--text-muted,#999);text-transform:uppercase;letter-spacing:.06em;font-size:.6rem;font-weight:600}.streak-lb-me{background:linear-gradient(90deg, var(--accent-wash,#eff6ff), transparent);border-bottom:1px solid var(--border-subtle,#eee);align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.streak-lb-me-rank{color:var(--accent,#2563eb);min-width:2.5rem;font-size:.9rem;font-weight:800}.streak-lb-me-name{flex:1;font-size:.875rem;font-weight:600}.streak-lb-me-streak{color:var(--streak-fire-from);font-variant-numeric:tabular-nums;align-items:center;gap:.25rem;font-weight:700;display:flex}.streak-lb-list{margin:0;padding:0;list-style:none}.streak-lb-entry{border-bottom:1px solid #0000000a;align-items:center;gap:.75rem;padding:.75rem 1.25rem;transition:background .15s,transform .15s;display:flex}.streak-lb-entry:last-child{border-bottom:none}.streak-lb-entry:hover{background:var(--surface-2,#f9fafb)}.streak-lb-entry--me{background:linear-gradient(90deg, var(--accent-wash,#eff6ff), transparent)}.streak-lb-entry--top1{background:linear-gradient(90deg,#fef3c780 0%,#0000 50%)}.streak-lb-entry--top2{background:linear-gradient(90deg,#e5e7eb80 0%,#0000 50%)}.streak-lb-entry--top3{background:linear-gradient(90deg,#fed7aa66 0%,#0000 50%)}.streak-lb-rank{text-align:center;font-variant-numeric:tabular-nums;min-width:2.5rem;font-size:.9rem;font-weight:700}.streak-lb-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;font-weight:500;overflow:hidden}.streak-lb-streak{color:var(--streak-fire-from);align-items:center;gap:.25rem;display:flex}.streak-lb-streak strong{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800}.streak-lb-streak small{color:var(--text-muted,#999);margin-left:.125rem;font-size:.65rem;font-weight:500}.streak-lb-current{color:var(--text-muted,#999);text-align:right;min-width:3.5rem;font-size:.7rem;font-weight:500}.streak-lb-loading,.streak-lb-empty{text-align:center;color:var(--text-muted,#888);padding:2.5rem}.streak-lb-empty svg{opacity:.4;color:var(--streak-gold);margin-bottom:.75rem}.streak-lb-empty p{color:var(--text,#333);margin:.5rem 0 .25rem;font-size:1rem;font-weight:600}.streak-lb-empty small{font-size:.8rem}.streak-page-leaderboard{margin-top:1.5rem}@media (width<=640px){.streak-hero{border-radius:var(--radius-lg,14px);padding:2rem 1.25rem 1.5rem}.streak-hero-flame{width:96px;height:96px}.streak-hero-flame svg{width:52px;height:52px}.streak-hero-count strong{font-size:3rem}.streak-hero-meta{flex-wrap:wrap;gap:.5rem}.streak-hero-stat{flex:1;min-width:auto;padding:.5rem .75rem}.streak-milestones{gap:.5rem}.streak-milestone{min-width:56px;padding:.375rem .5rem}.streak-lb-podium{grid-template-columns:1fr;gap:.5rem;padding:1rem}.streak-lb-podium-entry:nth-child(2){order:0;padding-top:.5rem}.streak-lb-podium-entry{border-radius:var(--radius-md,8px);flex-direction:row;gap:.75rem;padding:.5rem .75rem}.streak-lb-podium-entry:first-child{background:linear-gradient(90deg,#e5e7eb66,#0000)}.streak-lb-podium-entry:nth-child(2){background:linear-gradient(90deg,#fef3c780,#0000)}.streak-lb-podium-entry:nth-child(3){background:linear-gradient(90deg,#fed7aa4d,#0000)}.streak-lb-podium-medal{font-size:1.5rem!important}.streak-lb-podium-streak{font-size:1.125rem!important}.streak-lb-podium-name{text-align:left;flex:1}}@media (width<=480px){.streak-display{gap:.375rem;padding:.3rem .5rem .3rem .375rem}.streak-flame{width:28px;height:28px}.streak-flame-icon{width:16px;height:16px}.streak-count{font-size:1rem}.streak-best{display:none}.streak-lb-entry{gap:.5rem;padding:.625rem .75rem}.streak-lb-current{display:none}.streak-hero-count strong{font-size:2.5rem}}.week-chain{justify-content:center;align-items:flex-start;gap:0;width:100%;max-width:360px;margin:0 auto;padding:.75rem 0;display:flex}.week-chain-node-wrap{flex:1;justify-content:center;min-width:0;display:flex;position:relative}.week-chain-tooltip{background:var(--surface,#fff);border:1px solid var(--border-subtle,#e5e5e5);white-space:nowrap;z-index:10;pointer-events:none;opacity:0;color:var(--text,#333);border-radius:8px;padding:6px 10px;font-size:.7rem;line-height:1.3;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000001a}.week-chain-tooltip:after{content:"";border-style:solid;border-width:5px;border-color:var(--surface,#fff) transparent transparent transparent;position:absolute;top:100%;left:50%;transform:translate(-50%)}.week-chain-tooltip--visible{opacity:1}.week-chain-node{flex-direction:column;flex:1;align-items:center;gap:.375rem;min-width:0;display:flex;position:relative}.week-chain-dot{background:var(--surface-2,#f3f4f6);border:2px solid var(--border-subtle,#e5e7eb);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:all .3s ease-out;display:flex;position:relative}.week-chain-node--active .week-chain-dot{background:linear-gradient(135deg, var(--streak-fire-from), var(--streak-fire-to));border-color:var(--streak-fire-from);box-shadow:0 0 8px var(--streak-flame-glow);animation:.5s ease-out backwards week-dot-fill}@keyframes week-dot-fill{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.2)}70%{transform:scale(.9)}85%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.week-chain-check{color:#fff;font-size:.7rem;font-weight:700;line-height:1}.week-chain-node--today .week-chain-dot{border-width:3px}.week-chain-node--today:not(.week-chain-node--active) .week-chain-dot{border-color:var(--streak-fire-from);border-style:dashed}.week-chain-node--urgency-medium .week-chain-dot{border-style:solid;border-color:#ca8a04;box-shadow:0 0 0 3px #ca8a0433}.week-chain-node--urgency-high .week-chain-dot{border-style:solid;border-color:#c2410c;animation:2s ease-in-out infinite urgency-pulse;box-shadow:0 0 0 4px #c2410c40}.week-chain-node--urgency-critical .week-chain-dot{border-style:solid;border-color:#991b1b;animation:1.2s ease-in-out infinite urgency-pulse;box-shadow:0 0 0 5px #991b1b4d}@keyframes urgency-pulse{0%,to{box-shadow:0 0 0 3px #991b1b26}50%{box-shadow:0 0 0 7px #991b1b4d}}.week-chain-label{color:var(--text-muted,#9ca3af);text-transform:uppercase;letter-spacing:.03em;font-size:.6rem;font-weight:600}.week-chain-node--active .week-chain-label{color:var(--streak-fire-from)}.week-chain-node--today .week-chain-label{color:var(--text,#374151);font-weight:800}.week-chain-connector{background:var(--border-subtle,#e5e7eb);z-index:0;height:2px;transition:background .3s ease-out;position:absolute;top:14px;left:calc(50% + 14px);right:calc(14px - 50%)}.week-chain-connector--lit{background:linear-gradient(90deg, var(--streak-fire-from), var(--streak-fire-to));box-shadow:0 0 4px var(--streak-flame-glow);animation:2s ease-in-out infinite alternate connector-glow-pulse}@keyframes connector-glow-pulse{0%{box-shadow:0 0 3px var(--streak-flame-glow);opacity:.85}to{box-shadow:0 0 8px var(--streak-flame-glow);opacity:1}}.week-chain-node--skeleton .week-chain-dot{background:var(--surface-2,#f3f4f6);border-color:#0000;animation:1.5s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.streak-hero-bg{pointer-events:none;background:radial-gradient(at 50% 20%,#fb923c0f 0%,#0000 70%);animation:4s ease-in-out infinite alternate hero-bg-breathe;position:absolute;inset:0}@keyframes hero-bg-breathe{0%{opacity:.6;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.streak-hero-flame-wrap{perspective:600px}.streak-hero-progress{text-align:center;width:100%;max-width:240px;margin:.5rem auto 0}.streak-hero-progress-bar{background:var(--surface-2,#f3f4f6);border-radius:3px;height:6px;margin-bottom:.375rem;overflow:hidden}.streak-hero-progress-bar span{background:linear-gradient(90deg, var(--streak-fire-from), var(--streak-gold));border-radius:3px;height:100%;transition:width .8s cubic-bezier(.22,1,.36,1);display:block}.streak-hero-progress small{color:var(--text-muted,#888);font-size:.7rem;font-weight:500}.streak-hero-flame--skeleton{animation:1.5s ease-in-out infinite skeleton-pulse}.streak-hero-skeleton-num{opacity:.3}.streak-hero--broken{border-color:#dc262626}.streak-hero--broken:before{background:radial-gradient(#dc26260f 0%,#0000 70%)}@media (width<=640px){.week-chain{gap:0;max-width:100%}.week-chain-dot{width:24px;height:24px}.week-chain-check{font-size:.6rem}.week-chain-connector{top:12px;left:calc(50% + 12px);right:calc(12px - 50%)}.week-chain-label{font-size:.55rem}.streak-hero-progress{max-width:200px}}@media (width<=380px){.week-chain-dot{width:20px;height:20px}.week-chain-connector{top:10px;left:calc(50% + 10px);right:calc(10px - 50%)}.week-chain-label{font-size:.5rem}}@media (prefers-reduced-motion:reduce){.streak-display--pulse,.streak-flame--active,.streak-hero-flame .streak-flame--active,.streak-hero--pulse,.week-chain-node--active .week-chain-dot,.week-chain-node--skeleton .week-chain-dot,.streak-hero-flame--skeleton{animation:none!important}.streak-display,.streak-flame-icon,.streak-milestone,.week-chain-dot,.week-chain-connector,.streak-hero-progress-bar span,.living-flame-artwork,.living-flame-svg{transition-duration:.15s!important;transition-timing-function:linear!important}.streak-flame--active{filter:none!important}.streak-hero-flame:before{animation:none!important}@keyframes flame-ring-spin{to{transform:none}}}.streak-milestone{justify-content:center;min-width:44px;min-height:44px}.streak-lb-entry,.streak-lb-podium-entry{min-height:44px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flame-visual{isolation:isolate;pointer-events:none;place-items:center;width:100%;height:100%;display:grid;position:relative}.flame-visual:after{content:"";filter:blur(5px);z-index:0;background:radial-gradient(#682c1338,#9e3f1414 48%,#0000 72%);height:9%;position:absolute;bottom:10%;left:24%;right:24%}.flame-canvas-3d{pointer-events:none;z-index:1;opacity:0;position:absolute;inset:0}.flame-visual--ready .flame-canvas-3d{opacity:1}.flame-visual--ready .living-flame-svg{visibility:hidden;opacity:0}.flame-visual--ready .living-flame-svg,.flame-visual--ready .living-flame-svg *{animation-play-state:paused}.flame-canvas-fallback{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.flame-visual[data-running=false] *,.flame-visual[data-running=false]:after{animation-play-state:paused!important}.flame-ember-css{background:var(--streak-fire-from);opacity:0;border-radius:50%;width:4px;height:4px;animation:2s ease-out infinite ember-float;position:absolute;bottom:40%}@keyframes ember-float{0%{opacity:.8;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-60px)scale(.3)}}.streak-celebration{pointer-events:none;z-index:9999;position:fixed;inset:0;overflow:hidden}.streak-celebration-flash{pointer-events:none;z-index:9999;background:#f9731626;animation:.15s linear forwards celebration-flash;position:fixed;inset:0}@keyframes celebration-flash{0%{opacity:1}to{opacity:0}}.streak-confetti{left:var(--cx);top:var(--cy);width:var(--size);height:var(--size);background:var(--color);animation:1.2s cubic-bezier(.25,.46,.45,.94) forwards confetti-burst;animation-delay:var(--delay);position:absolute}.streak-confetti--circle{border-radius:50%}.streak-confetti--rect{height:calc(var(--size) * .6);border-radius:2px}@keyframes confetti-burst{0%{opacity:1;transform:translate(0, 0) rotate(var(--rot)) scale(1)}60%{opacity:1}to{opacity:0;transform:translate(var(--vx), calc(var(--vy) + 200px)) rotate(calc(var(--rot) + var(--rot-speed))) scale(.3)}}.milestone-badges{flex-wrap:wrap;justify-content:center;gap:.75rem;padding:1rem 0;display:flex}.milestone-badge{border-radius:var(--radius-md,10px);flex-direction:column;justify-content:center;align-items:center;gap:.25rem;min-width:64px;min-height:44px;padding:.5rem .75rem;transition:all .3s;display:flex;position:relative}.milestone-badge--locked{background:var(--surface-2,#f9fafb);border:1px solid var(--border-subtle,#eee);opacity:.5}.milestone-badge--reached{box-shadow:0 2px 8px var(--streak-gold-glow);opacity:1;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #eab3084d}.milestone-badge--unlocking{animation:.5s cubic-bezier(.34,1.56,.64,1) milestone-unlock}@keyframes milestone-unlock{0%{transform:scale(.8)rotateY(0)}50%{transform:scale(1.2)rotateY(180deg)}to{transform:scale(1)rotateY(360deg)}}.milestone-badge-face{z-index:1;flex-direction:column;align-items:center;gap:.125rem;display:flex}.milestone-badge-icon{font-size:1.25rem;line-height:1}.milestone-badge-label{color:var(--text,#333);font-variant-numeric:tabular-nums;font-size:.6rem;font-weight:700}.milestone-badge--locked .milestone-badge-label{color:var(--text-muted,#999)}.milestone-badge-ring{width:calc(100% - 4px);height:calc(100% - 4px);color:var(--streak-fire-from);opacity:.3;position:absolute;inset:2px}.milestone-badge-ring circle{transition:stroke-dashoffset .8s cubic-bezier(.34,1.56,.64,1)}.milestone-badge--locked .milestone-badge-ring{animation:3s ease-in-out infinite alternate ring-breathe}@keyframes ring-breathe{0%{opacity:.2}to{opacity:.4}}.milestone-badge-sparkle{pointer-events:none;position:absolute;inset:0}.milestone-badge-sparkle span{background:var(--streak-gold);border-radius:50%;width:4px;height:4px;animation:.8s ease-out forwards sparkle-fly;position:absolute}.milestone-badge-sparkle span:first-child{animation-delay:0s;top:0;left:50%}.milestone-badge-sparkle span:nth-child(2){animation-delay:50ms;top:50%;right:0}.milestone-badge-sparkle span:nth-child(3){animation-delay:.1s;bottom:0;left:50%}.milestone-badge-sparkle span:nth-child(4){animation-delay:.15s;top:50%;left:0}.milestone-badge-sparkle span:nth-child(5){animation-delay:75ms;top:10%;right:10%}.milestone-badge-sparkle span:nth-child(6){animation-delay:.125s;bottom:10%;left:10%}@keyframes sparkle-fly{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--sx,10px), var(--sy,-15px)) scale(0)}}.milestone-badge-sparkle span:first-child{--sx:0;--sy:-20px}.milestone-badge-sparkle span:nth-child(2){--sx:20px;--sy:0}.milestone-badge-sparkle span:nth-child(3){--sx:0;--sy:20px}.milestone-badge-sparkle span:nth-child(4){--sx:-20px;--sy:0}.milestone-badge-sparkle span:nth-child(5){--sx:15px;--sy:-15px}.milestone-badge-sparkle span:nth-child(6){--sx:-15px;--sy:15px}.leaderboard-podium{transform-style:preserve-3d;grid-template-columns:1fr 1.2fr 1fr;grid-template-areas:"rank2 rank1 rank3";align-items:end;gap:.5rem;padding:1.5rem 1rem 1rem;display:grid}.podium-entry{border-radius:var(--radius-lg,14px);background:var(--surface-2,#f9fafb);border:1px solid var(--border-subtle,#eee);cursor:pointer;flex-direction:column;align-items:center;gap:.375rem;min-height:44px;padding:.75rem .5rem;transition:transform .2s,box-shadow .2s;animation:.5s ease-out backwards podium-enter;display:flex}@keyframes podium-enter{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.podium-entry:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000014}.podium-entry:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}.podium-entry--first{box-shadow:0 4px 16px var(--streak-gold-glow);background:linear-gradient(#fffbeb,#fef3c7);border-color:#eab3084d;grid-area:rank1;padding-top:1.25rem;overflow:hidden}.podium-entry--first:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 30%,#ffffff80 45%,#ffffffb3 50%,#ffffff80 55%,#0000 70%);animation:3s ease-in-out infinite podium-shimmer;position:absolute;inset:0}@keyframes podium-shimmer{0%,to{transform:translate(-120%)}50%{transform:translate(120%)}}.podium-entry--rank2{grid-area:rank2}.podium-entry--rank3{grid-area:rank3}.podium-delta{align-items:center;gap:.125rem;min-height:16px;font-size:.65rem;font-weight:700;display:flex}.podium-delta--up{color:#16a34a}.podium-delta--down{color:#dc2626}.podium-delta--same{color:var(--text-muted,#9ca3af)}.podium-medal{filter:drop-shadow(0 2px 4px #0000001a);font-size:2rem;line-height:1}.podium-entry--first .podium-medal{font-size:2.5rem}.podium-avatar{width:40px;height:40px;color:var(--accent,#2563eb);background:linear-gradient(135deg,#e0e7ff,#dbeafe);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex;overflow:hidden}.podium-entry--first .podium-avatar{color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a);width:48px;height:48px;font-size:1.2rem}.podium-avatar img{object-fit:cover;width:100%;height:100%}.podium-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.8rem;font-weight:600;overflow:hidden}.podium-streak{color:var(--streak-fire-from);font-variant-numeric:tabular-nums;align-items:center;gap:.2rem;display:flex}.podium-streak strong{font-size:1.125rem;font-weight:800}.podium-entry--first .podium-streak strong{font-size:1.5rem}.podium-badges{gap:.125rem;font-size:.75rem;display:flex}.leaderboard-list{margin:0;padding:0;list-style:none}.leaderboard-list-entry{border-bottom:1px solid #0000000a;align-items:center;gap:.75rem;min-height:44px;padding:.75rem 1.25rem;transition:background .15s;animation:.4s cubic-bezier(.34,1.56,.64,1) backwards list-entry-enter;display:flex}@keyframes list-entry-enter{0%{opacity:0;transform:translate(-10px)scale(.97)}60%{transform:translate(2px)scale(1.01)}to{opacity:1;transform:translate(0)scale(1)}}.leaderboard-list-entry:first-child{animation-delay:0s}.leaderboard-list-entry:nth-child(2){animation-delay:40ms}.leaderboard-list-entry:nth-child(3){animation-delay:80ms}.leaderboard-list-entry:nth-child(4){animation-delay:.12s}.leaderboard-list-entry:nth-child(5){animation-delay:.16s}.leaderboard-list-entry:nth-child(6){animation-delay:.2s}.leaderboard-list-entry:nth-child(7){animation-delay:.24s}.leaderboard-list-entry:nth-child(8){animation-delay:.28s}.leaderboard-list-entry:nth-child(9){animation-delay:.32s}.leaderboard-list-entry:nth-child(n+10){animation-delay:.36s}.leaderboard-list-entry:last-child{border-bottom:none}.leaderboard-list-entry:hover{background:var(--surface-2,#f9fafb)}.leaderboard-list-entry--me{background:linear-gradient(90deg, var(--accent-wash,#eff6ff), transparent)}.lb-rank{text-align:center;font-variant-numeric:tabular-nums;min-width:2.5rem;color:var(--text-muted,#6b7280);font-size:.85rem;font-weight:700}.lb-avatar{width:32px;height:32px;color:var(--accent,#2563eb);background:linear-gradient(135deg,#e0e7ff,#dbeafe);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex;overflow:hidden}.lb-avatar img{object-fit:cover;width:100%;height:100%}.lb-info{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.lb-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.375rem;font-size:.85rem;font-weight:600;display:flex;overflow:hidden}.lb-friend-tag{color:var(--accent,#2563eb);background:var(--accent-wash,#eff6ff);border-radius:999px;padding:.0625rem .375rem;font-size:.6rem;font-weight:600}.lb-badges{gap:.125rem;font-size:.7rem;display:flex}.lb-streak{color:var(--streak-fire-from);font-variant-numeric:tabular-nums;align-items:center;gap:.2rem;display:flex}.lb-streak strong{font-size:1rem;font-weight:800}.lb-delta{text-align:right;min-width:2rem;font-size:.7rem;font-weight:700}.lb-delta--up{color:#16a34a}.lb-delta--down{color:#dc2626}.lb-delta--same{color:var(--text-muted,#9ca3af)}.my-position-bar{background:linear-gradient(90deg, var(--surface,#fff), var(--surface-2,#f9fafb));border-top:1px solid var(--border-subtle,#eee);z-index:10;align-items:center;gap:.75rem;padding:.75rem 1.25rem;animation:.5s cubic-bezier(.34,1.56,.64,1) both my-pos-slide-up;display:flex;position:sticky;bottom:0;box-shadow:0 -2px 8px #0000000a}@keyframes my-pos-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.my-position-bar--rank-pulse{animation:.6s ease-out my-pos-rank-pulse}@keyframes my-pos-rank-pulse{0%{box-shadow:0 -2px 8px #0000000a}30%{background:linear-gradient(90deg,#fff7ed,#fef3c7);box-shadow:0 -2px 16px #f973164d}to{box-shadow:0 -2px 8px #0000000a}}.my-pos-rank{color:var(--accent,#2563eb);align-items:center;gap:.25rem;display:flex}.my-pos-rank svg{color:var(--streak-gold)}.my-pos-rank strong{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:800}.my-pos-name{flex:1;font-size:.875rem;font-weight:600}.my-pos-streak{color:var(--streak-fire-from);font-variant-numeric:tabular-nums;align-items:center;gap:.25rem;display:flex}.my-pos-streak strong{font-size:1.125rem;font-weight:800}.my-pos-streak small{color:var(--text-muted,#888);font-size:.7rem}.my-pos-delta{font-size:.8rem;font-weight:700}.my-pos-delta--up{color:#16a34a}.my-pos-delta--down{color:#dc2626}@media (width<=640px){.leaderboard-podium{grid-template-columns:1fr;grid-template-areas:"rank1""rank2""rank3";gap:.5rem;padding:1rem}.podium-entry{flex-direction:row;gap:.75rem;padding:.625rem .75rem}.podium-entry--first{padding-top:.75rem}.podium-medal{font-size:1.5rem!important}.podium-avatar{width:36px;height:36px}.podium-name{text-align:left;flex:1}.milestone-badges{gap:.5rem}.milestone-badge{min-width:56px;padding:.375rem .5rem}.leaderboard-list-entry{gap:.5rem;padding:.625rem .75rem}.lb-delta{display:none}}@media (prefers-reduced-motion:reduce){.flame-ember-css,.streak-confetti,.milestone-badge--unlocking,.milestone-badge-sparkle span,.podium-entry,.leaderboard-list-entry,.week-chain-node--urgency-high .week-chain-dot,.week-chain-node--urgency-critical .week-chain-dot,.streak-hero-bg,.podium-entry--first:after,.week-chain-connector--lit,.milestone-badge--locked .milestone-badge-ring,.my-position-bar,.freeze-btn,.freeze-btn--success{animation:none!important}.podium-entry,.leaderboard-podium{transform:none!important}.streak-celebration{display:none}.week-chain-node--urgency-high .week-chain-dot{box-shadow:0 0 0 4px #c2410c40!important}.week-chain-node--urgency-critical .week-chain-dot{box-shadow:0 0 0 6px #991b1b4d!important}.streak-hero-bg{opacity:.8}.week-chain-connector--lit{opacity:1;box-shadow:0 0 4px var(--streak-flame-glow)}.milestone-badge--locked .milestone-badge-ring{opacity:.3}}.haptics-toggle{color:var(--text-muted,#888);border:1px solid var(--border-subtle,#e5e5e5);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.375rem;min-height:36px;margin-top:1rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;transition:all .15s;display:inline-flex}.haptics-toggle:hover{color:var(--text,#333);border-color:var(--text-muted,#888)}.haptics-toggle[aria-pressed=true]{color:var(--streak-fire-from,#c2410c);border-color:var(--streak-fire-from,#c2410c)}.freeze-btn-wrap{flex-direction:column;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.freeze-btn{color:#0ea5e9;cursor:pointer;background:#0ea5e914;border:1px solid #0ea5e940;border-radius:999px;align-items:center;gap:.375rem;min-height:40px;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;transition:all .2s;animation:.4s cubic-bezier(.34,1.56,.64,1) both freeze-btn-enter;display:inline-flex}@keyframes freeze-btn-enter{0%{opacity:0;transform:translateY(8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.freeze-btn:hover:not(:disabled){background:#0ea5e926;border-color:#0ea5e966;box-shadow:0 0 12px #0ea5e926}.freeze-btn:active:not(:disabled){transform:scale(.97)}.freeze-btn--disabled{opacity:.5;cursor:not-allowed;color:var(--text-muted,#888);border-color:var(--border-subtle,#e5e5e5);background:0 0}.freeze-btn-count{opacity:.7;margin-left:.25rem;font-size:.6875rem;font-weight:400}.freeze-btn--success{color:#16a34a;background:#16a34a14;border:1px solid #16a34a40;border-radius:999px;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;animation:.4s cubic-bezier(.34,1.56,.64,1) freeze-success-pop;display:inline-flex}@keyframes freeze-success-pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.freeze-btn-error{color:#dc2626;align-items:center;gap:.25rem;font-size:.75rem;animation:.2s fade-in;display:inline-flex}.freeze-btn-spinner{border:2px solid #0ea5e933;border-top-color:#0ea5e9;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}.streak-leaderboard-v2{background:var(--surface,#fff);border:1px solid var(--border-subtle,#e5e5e5);border-radius:var(--radius-xl,20px);margin-top:1.5rem;overflow:hidden}.streak-lb-tabs{border-bottom:1px solid var(--border-subtle,#eee);gap:0;padding:.5rem 1rem 0;display:flex}.streak-lb-tab{color:var(--text-muted,#888);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;min-height:44px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:all .15s}.streak-lb-tab:hover{color:var(--text,#333)}.streak-lb-tab.is-active{color:var(--streak-fire-from);border-bottom-color:var(--streak-fire-from)}.streak-lb-tab:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:-2px;border-radius:4px}.odometer-container{justify-content:center;align-items:center;height:4rem;line-height:1;display:inline-flex;overflow:hidden}.odometer-digits{align-items:center;height:4rem;display:flex;overflow:hidden}.odometer-digit-col{width:2.5rem;height:4rem;position:relative;overflow:hidden}.odometer-ribbon{will-change:transform;flex-direction:column;transition:transform .6s cubic-bezier(.34,1.56,.64,1);display:flex}.odometer-number{letter-spacing:-.03em;background:linear-gradient(135deg, var(--streak-fire-from), var(--streak-fire-to));-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text;justify-content:center;align-items:center;height:4rem;font-size:4rem;font-weight:900;display:flex}.odometer-static{letter-spacing:-.03em;background:linear-gradient(135deg, var(--streak-fire-from), var(--streak-fire-to));-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text;font-size:4rem;font-weight:900;line-height:1}@media (width<=640px){.odometer-container,.odometer-digits,.odometer-digit-col,.odometer-number{height:3rem}.odometer-digit-col{width:1.85rem}.odometer-number,.odometer-static{font-size:3rem}}@media (width<=480px){.odometer-container,.odometer-digits,.odometer-digit-col,.odometer-number{height:2.5rem}.odometer-digit-col{width:1.55rem}.odometer-number,.odometer-static{font-size:2.5rem}}.week-chain-connector--forged{border-radius:2px;position:relative;box-shadow:0 0 8px #f59e0bb3,inset 0 1px 1px #fff6;background:linear-gradient(90deg,#d97706,#f59e0b,#d97706)!important;height:3px!important}.week-chain-weld-spark{background:#fff;border-radius:50%;width:6px;height:6px;animation:1.8s ease-in-out infinite alternate weld-spark-pulse;position:absolute;top:-2px;left:50%;transform:translate(-50%);box-shadow:0 0 6px 2px #fbbf24e6}@keyframes weld-spark-pulse{0%{opacity:.6;transform:translate(-50%)scale(.8)}to{opacity:1;filter:drop-shadow(0 0 4px #fbbf24);transform:translate(-50%)scale(1.3)}}.streak-hero--dormant{background:linear-gradient(#fef2f299 0%,#ffffffe6 100%);border-color:#ef444433!important}.streak-hero-dormant-icon{background:radial-gradient(circle at 40% 40%,#fecaca,#fee2e2 60%,#f3f4f6 100%);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative;box-shadow:0 4px 16px #ef444426}.dormant-flame-icon{color:#ef4444;opacity:.85;filter:drop-shadow(0 0 6px #ef444466);animation:2.5s ease-in-out infinite alternate dormant-ember-breathe}@keyframes dormant-ember-breathe{0%{opacity:.7;filter:drop-shadow(0 0 3px #ef44444d);transform:scale(.95)}to{opacity:.95;filter:drop-shadow(0 0 10px #f9731699);transform:scale(1.05)}}.dormant-sparkle-dot{background:#f59e0b;border-radius:50%;width:6px;height:6px;animation:2s ease-out infinite ember-float;position:absolute;top:18%;right:22%;box-shadow:0 0 8px #f59e0b}.btn-rekindle{align-items:center;gap:.5rem;display:inline-flex;padding:.75rem 1.75rem!important;font-size:1rem!important;box-shadow:0 4px 16px #dc262640!important}.my-pos-nearmiss{color:var(--accent,#2563eb);background:var(--accent-wash,#eff6ff);white-space:nowrap;border-radius:999px;margin-left:auto;padding:.25rem .625rem;font-size:.75rem;font-weight:600;animation:3s ease-in-out infinite alternate nearmiss-glow}@keyframes nearmiss-glow{0%{box-shadow:0 0 #2563eb1a}to{box-shadow:0 0 6px 1px #2563eb33}}@media (width<=600px){.my-pos-nearmiss{padding:.2rem .45rem;font-size:.68rem}}@media (width<=420px){.my-pos-nearmiss{display:none}}.podium-avatar-halo{pointer-events:none;border:2px solid #fbbf24;border-radius:50%;animation:6s linear infinite halo-rotate;position:absolute;inset:-4px;box-shadow:0 0 10px #fbbf24b3,inset 0 0 6px #fbbf2466}@keyframes halo-rotate{0%{opacity:.8;transform:rotate(0)}50%{opacity:1}to{opacity:.8;transform:rotate(360deg)}}.living-flame-container{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;justify-content:center;align-items:center;width:16rem;height:16.875rem;display:flex;position:relative}.living-flame-visual{isolation:isolate;pointer-events:none;--living-flame-scale:.42;place-items:stretch stretch;display:grid;position:absolute;inset:0;overflow:visible}.living-flame-artwork{z-index:1;transform:scale(var(--living-flame-scale));transform-origin:50% 100%;pointer-events:none;justify-content:center;align-items:flex-end;transition:transform .52s ease-out,filter .18s;display:flex;position:absolute;inset:0 0 7%}.living-flame-svg{pointer-events:none}.living-flame-container:focus-visible{outline:2px solid var(--streak-fire-from,#c2410c);outline-offset:5px;border-radius:2rem}@media (hover:hover){.living-flame-container:hover .living-flame-artwork{filter:brightness(1.04)}}.living-flame-container:active .living-flame-artwork{filter:brightness(.97)}.living-flame-corona{filter:blur(14px);pointer-events:none;z-index:0;background:radial-gradient(at 50% 65%,#f9731633,#ea580c12 48%,#0000 72%);border-radius:50%;animation:4s ease-in-out infinite alternate corona-pulse;position:absolute;inset:10% 4% 6%}@keyframes corona-pulse{0%{opacity:.7;transform:scale(.98)}to{opacity:.9;transform:scale(1.025)}}.living-flame-aura{filter:blur(10px);pointer-events:none;z-index:0;background:radial-gradient(at 50% 65%,#fbbf2438,#f9731614 48%,#0000 72%);border-radius:50%;position:absolute;inset:25% 18% 12%}.living-flame-svg{z-index:1;filter:drop-shadow(0 4px 10px #f973164d);width:9.5rem;height:12rem;transition:filter .3s;position:relative;overflow:visible}.living-flame-mascot,.living-flame-mascot-body,.living-flame-mascot-arm,.living-flame-mascot-leg,.living-flame-mascot-tip,.living-flame-mascot-eye,.living-flame-mascot-shadow{transform-box:view-box}.living-flame-mascot{transform-origin:60px 140px;animation:4s ease-in-out infinite mascot-sway}@keyframes mascot-sway{0%,to{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}.living-flame-mascot-body{transform-origin:60px 123px;animation:2.8s ease-in-out infinite mascot-breathe}@keyframes mascot-breathe{0%,to{transform:scale(1.008,.992)}50%{transform:scale(.992,1.018)}}.living-flame-mascot-shadow{transform-origin:60px 143px;animation:2.8s ease-in-out infinite mascot-shadow}@keyframes mascot-shadow{0%,to{opacity:.95;transform:scaleX(1.02)}50%{opacity:.8;transform:scaleX(.96)}}.living-flame-mascot-arm{animation:3.2s ease-in-out infinite mascot-arm-sway}.living-flame-mascot-arm--left{transform-origin:27px 91px;--mascot-arm-rest:2deg;--mascot-arm-lift:-5deg}.living-flame-mascot-arm--right{transform-origin:93px 93px;--mascot-arm-rest:-2deg;--mascot-arm-lift:5deg;animation-delay:-1.6s}@keyframes mascot-arm-sway{0%,to{transform:rotate(var(--mascot-arm-rest))}50%{transform:rotate(var(--mascot-arm-lift))}}.living-flame-mascot-leg{animation:4s ease-in-out infinite mascot-foot-rock}.living-flame-mascot-leg--left{transform-origin:45px 140px}.living-flame-mascot-leg--right{transform-origin:75px 140px;animation-delay:-2s}@keyframes mascot-foot-rock{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}.living-flame-mascot-tip{animation:1.8s ease-in-out infinite mascot-tip-flicker}.living-flame-mascot-tip--left{transform-origin:39px 62px;animation-delay:-.6s}.living-flame-mascot-tip--center{transform-origin:63px 59px;animation-duration:1.5s}.living-flame-mascot-tip--right{transform-origin:86px 69px;animation-duration:2.1s;animation-delay:-1.1s}@keyframes mascot-tip-flicker{0%,to{transform:skew(-2deg)scaleY(.98)}50%{transform:skew(2deg)scaleY(1.035)}}.living-flame-mascot-eye{animation:5.6s ease-in-out infinite mascot-blink}.living-flame-mascot-eye--left{transform-origin:43px 83px}.living-flame-mascot-eye--right{transform-origin:77px 82px}@keyframes mascot-blink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.08)}}.living-flame--burning .living-flame-svg{filter:drop-shadow(0 2px 14px #f9731673)}.living-flame--burning .living-flame-corona{background:radial-gradient(at 50% 65%,#f9731647,#ea580c1a 48%,#0000 72%);animation-duration:3s}.living-flame-shockwave{opacity:0;pointer-events:none;border:2px solid #fbbf24cc;border-radius:50%;position:absolute;inset:10px;transform:scale(.7)}.living-flame--flare .living-flame-shockwave{animation:.7s cubic-bezier(.16,1,.3,1) forwards flare-burst}.living-flame--flare .living-flame-svg{animation:.7s cubic-bezier(.34,1.56,.64,1) flare-bounce}@keyframes flare-burst{0%{opacity:1;border-color:#fff;transform:scale(.7)}50%{opacity:.8;border-color:#fbbf24cc}to{opacity:0;border-color:#ea580c00;transform:scale(1.6)}}@keyframes flare-bounce{0%{transform:scale(1)}35%{transform:scale(1.22)translateY(-6px)}65%{transform:scale(.96)translateY(2px)}to{transform:scale(1)}}.living-flame--tier-ember{--streak-fire-from:#c2410c;--streak-fire-to:#9a3412}.living-flame--tier-inferno .living-flame-svg{filter:drop-shadow(0 2px 16px #dc262680)}.living-flame--tier-golden .living-flame-svg{filter:drop-shadow(0 2px 16px #eab30880)}.living-flame--tier-golden .living-flame-corona{background:radial-gradient(at 50% 65%,#eab30847,#f59e0b1a 48%,#0000 72%)}@media (prefers-reduced-motion:reduce){.living-flame-corona,.living-flame-aura,.living-flame-mascot,.living-flame-mascot-body,.living-flame-mascot-arm,.living-flame-mascot-leg,.living-flame-mascot-tip,.living-flame-mascot-eye,.living-flame-mascot-shadow,.living-flame-shockwave,.living-flame--flare .living-flame-svg{animation:none!important}.living-flame-container:hover,.living-flame-container:active{transform:none!important}}@media (width<=640px){.living-flame-container{width:13rem;height:14rem}.living-flame-svg{width:8rem;height:10rem}}
