html,body,#root{width:100%;min-height:100%;margin:0}button,input,select,textarea{font:inherit}@font-face{font-family:Manrope;src:url(/assets/manrope-latin-BHG4dS4I.woff2)format("woff2");font-style:normal;font-weight:200 800;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-ui:"Manrope", "PingFang SC", "Noto Sans CJK SC", "Microsoft Yahei", sans-serif;--c-bg:#f2f4f7;--c-surface-0:#fff;--c-surface-1:#f6f8fb;--c-surface-2:#e8edf5;--c-border:#d8e0eb;--c-border-soft:#e8edf3;--c-blue-500:#2855ca;--c-blue-600:#254bb0;--c-blue-700:#193986;--c-blue-50:#edf2ff;--c-blue-100:#e2eaff;--c-blue-200:#c4d2f5;--c-green-500:#237457;--c-green-50:#edf7f1;--c-green-200:#a9d7bd;--c-green-800:#20563f;--c-red-400:#bf4049;--c-red-50:#fceef0;--c-orange-400:#b64d22;--c-orange-50:#fff2e9;--c-ink:#172c46;--c-ink-2:#31465e;--c-muted:#52647b;--c-subtle:#5c6c81;--c-faint:#8996a8;--c-brand:#e7693e;--c-primary-ink:#fff;--c-primary:var(--c-blue-500);--c-surface:var(--c-surface-0);--s-glass:#fff;--s-glass-heavy:#fff;--shadow-xs:0 1px 2px #182e4f08;--shadow-sm:0 3px 12px #182e4f0d;--shadow-md:0 8px 28px #182e4f12;--shadow-lg:0 16px 48px #182e4f1f;--shadow-btn:none;--shadow-nav:0 -1px 0 var(--c-border-soft);--r-xs:6px;--r-sm:10px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-full:999px;--grad-card-light:var(--c-surface-0);--grad-card-dark:var(--c-surface-0);--grad-panel-light:var(--c-surface-0);--grad-panel-dark:var(--c-surface-0);--grad-secondary-light:var(--c-surface-0);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--dur-fast:.12s;--dur-mid:.2s;--dur-slow:.32s;color:var(--c-ink);background:var(--c-bg)}:root[data-theme=focus]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-bg:#111b29;--c-surface-0:#192638;--c-surface-1:#203046;--c-surface-2:#2b3c53;--c-border:#3a4b63;--c-border-soft:#2d3d53;--c-blue-500:#a7bfff;--c-blue-600:#bed0ff;--c-blue-700:#d7e2ff;--c-blue-50:#233754;--c-blue-100:#2d4265;--c-blue-200:#526da0;--c-green-500:#8fd0ae;--c-green-50:#1d3932;--c-green-200:#416f5b;--c-green-800:#b3e2c8;--c-red-400:#f4a4a9;--c-red-50:#412b36;--c-orange-400:#f1b78d;--c-orange-50:#3d3030;--c-ink:#ecf1fa;--c-ink-2:#ccd7e7;--c-muted:#b2c0d3;--c-subtle:#a0b0c5;--c-faint:#8294ac;--c-brand:#f69a72;--c-primary-ink:#162841;--s-glass:var(--c-surface-0);--s-glass-heavy:var(--c-surface-1);--shadow-xs:none;--shadow-sm:none;--shadow-md:0 8px 28px #0000001f;--shadow-lg:0 16px 48px #00000040}html{background:var(--c-bg);min-height:100%}*{box-sizing:border-box}body{min-width:320px;font-family:var(--font-ui);color:var(--c-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--c-bg);min-height:100vh;margin:0;line-height:1.6;overflow:hidden auto}#root{width:100%;min-height:100vh}.app-shell{flex-direction:column;width:100%;max-width:1240px;min-height:100vh;margin:0 auto;padding:18px 20px 32px;display:flex;overflow-x:clip}.app-shell.immersive{overflow:visible}.topbar{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;min-height:44px;margin-bottom:20px;display:flex}.topbar>div:first-child{flex:auto;min-width:0}.topbar.immersive{grid-template-columns:auto minmax(0,1fr);gap:12px;margin-bottom:12px;display:grid}.exit-btn{z-index:2;flex:none;width:auto;min-width:88px;min-height:44px;margin-top:0;padding:8px 14px;font-size:.88rem;position:relative}.session-status-pill{color:var(--c-subtle);white-space:normal;letter-spacing:-.01em;text-align:right;font-size:.85rem;font-weight:600}.session-spacer{flex:0 0 48px;width:48px;display:none}.exit-confirm-card{border-radius:var(--r-md);background:#fffbebf5;border:1px solid #fbbf2473;margin:0 0 10px;padding:10px 12px;box-shadow:0 4px 14px #d977061f}.exit-confirm-text{color:var(--c-ink-2);margin:0 0 8px;font-size:.88rem;line-height:1.5}.exit-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.exit-confirm-actions .tiny{min-height:44px}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.change-password-panel{width:100%;max-width:360px}.change-password-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.eyebrow{color:var(--c-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.74rem;font-weight:600}.topbar h1{letter-spacing:-.04em;color:var(--c-ink);background:0 0;-webkit-text-fill-color:currentColor;-webkit-background-clip:text;background-clip:text;margin:2px 0 0;font-size:1.44rem;font-weight:800}.topbar-actions{flex-wrap:nowrap;flex-shrink:1;justify-content:flex-start;align-items:center;gap:8px;min-width:0;max-width:58%;display:flex}.user-menu-identity{text-align:left;gap:1px;min-width:0;display:grid}.user-menu-identity strong{letter-spacing:-.02em;color:var(--c-ink);overflow-wrap:anywhere;font-size:.875rem;font-weight:700}.user-menu-identity small{color:var(--c-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:500;overflow:hidden}.user-menu-wrap{min-width:0;position:relative}.user-menu-trigger{color:var(--c-blue-700);box-sizing:border-box;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:6px;min-width:0;max-width:100%;min-height:44px;padding:6px 0 6px 12px;font-size:.74rem;font-weight:600;transition:background .15s;display:flex}.user-menu-trigger:hover{background:var(--c-blue-100)}.user-menu-trigger .user-menu-chevron{opacity:1;align-self:center}.user-menu-chevron{flex:0 0 1.25em;place-items:center;width:1.25em;height:1.25em;font-size:.8rem;line-height:1;transition:transform .2s;display:inline-grid;transform:rotate(90deg)}.user-menu-trigger.open .user-menu-chevron{transform:rotate(270deg)}.user-menu-dropdown{background:var(--c-surface-0);border:1px solid var(--c-border);z-index:200;border-radius:10px;width:min(20rem,100vw - 28px);min-width:188px;max-height:70dvh;padding:4px 0;position:absolute;top:calc(100% + 6px);left:auto;right:0;overflow:hidden auto;box-shadow:0 4px 16px #0f172a1a,0 1px 4px #0f172a0f}.user-menu-divider{background:var(--c-border);height:1px;margin:2px 0}.user-menu-section-label{letter-spacing:.12em;color:var(--c-faint);padding:6px 10px 4px;font-size:.68rem;font-weight:700}.theme-choice-row{border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface-1);grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:0 6px 4px;padding:3px;display:grid}.theme-choice-btn{border-radius:var(--r-xs);color:var(--c-subtle);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:6px 2px;font-family:inherit;font-size:.7rem;font-weight:600}.theme-choice-btn.active{background:var(--c-surface-0);color:var(--c-blue-600);box-shadow:var(--shadow-xs)}.user-menu-item{width:100%;color:var(--c-ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:9px 14px;font-size:.8rem;font-weight:500;text-decoration:none;transition:background .12s;display:flex}.user-menu-item:hover{background:var(--c-surface-1)}.user-menu-item-icon{text-align:center;flex-shrink:0;width:18px;font-size:.85rem}@media (width<=480px){.topbar-actions{gap:6px}.topbar .tiny{min-height:36px;padding:6px 10px;font-size:.78rem}.topbar .exit-btn{min-height:44px}}[data-theme=focus] .user-menu-trigger:hover{background:var(--c-blue-100)}[data-theme=focus] .user-menu-dropdown{box-shadow:0 4px 20px #00000059}[data-theme=focus] .theme-choice-row{background:var(--c-surface-2);border-color:var(--c-border)}[data-theme=focus] .theme-choice-btn.active{background:var(--c-surface-0);color:var(--c-blue-500);box-shadow:none}[data-theme=focus] .user-menu-item:hover{background:#ffffff0f}.auth-panel{justify-content:center;gap:16px;width:100%;max-width:440px;margin:auto;padding:32px}.auth-panel h1{letter-spacing:-.025em;margin:0;font-size:1.6rem;font-weight:700}.user-chip-list{flex-wrap:wrap;gap:8px;margin:6px 0;display:flex}.user-chip-btn{border:1.5px solid var(--c-blue-200);background:var(--c-blue-50);color:var(--c-blue-600);border-radius:var(--r-full);transition:background var(--dur-fast), box-shadow var(--dur-fast);padding:8px 14px;font-size:.84rem;font-weight:700}.user-chip-btn:active{background:var(--c-blue-100);box-shadow:var(--shadow-btn)}.app-link-btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.panel-quick-actions{flex-wrap:wrap;gap:8px;margin:2px 0 12px;display:flex}.login-form{gap:10px;display:grid}.login-form label{gap:6px;display:grid}.login-form label span{color:var(--c-ink-2);letter-spacing:.01em;font-size:.76rem;font-weight:700}.login-form input{border:1.5px solid var(--c-blue-200);border-radius:var(--r-sm);background:var(--c-surface-0);width:100%;color:var(--c-ink);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);outline:none;padding:11px 12px;font-size:.95rem}.login-form input:focus{border-color:var(--c-blue-500);box-shadow:0 0 0 3px #3b5bdb1f}.install-btn{background:var(--c-blue-500);color:var(--c-primary-ink);border-radius:var(--r-full);box-shadow:var(--shadow-btn);border:none;padding:10px 14px;font-size:.82rem;font-weight:700}.today-queue{border:1px solid var(--c-border);border-radius:var(--r-xl);background:var(--c-surface-0);box-shadow:none;margin-bottom:16px;padding:18px}.today-queue-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.today-queue-segs{background:0 0;border-radius:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 12px;display:grid;overflow:hidden}.today-queue-segs article{text-align:left;background:0 0;padding:0}.today-queue-segs strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--c-ink);font-size:1.4rem;font-weight:650;display:block}.today-queue-segs span{color:var(--c-muted);font-size:.75rem;font-weight:500}.today-queue-segs article:first-child strong,.today-queue-segs article:nth-child(2) strong,.today-queue-segs article:nth-child(3) strong{color:var(--c-ink)}.today-queue-primary{text-align:left;flex-direction:column;align-items:flex-start;gap:5px;padding:15px 18px;display:flex}.today-queue-primary-detail{opacity:1;font-size:.8rem;font-weight:500}.today-queue-hint{color:var(--c-subtle);text-align:left;margin:10px 0 0;font-size:.8rem;line-height:1.6}.today-queue-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.today-queue-actions .secondary{border-radius:var(--r-sm);border:1px solid var(--c-border);white-space:normal;min-height:44px;padding:7px 8px;font-size:.78rem}.today-queue-heat{flex:1;gap:4px;margin-top:0;display:flex}.today-queue-heat i{background:var(--c-surface-2);border-radius:2px;flex:1;height:6px}.today-queue-heat i.on{background:var(--c-green-500)}.today-queue-heat-caption{color:var(--c-subtle);text-align:left;white-space:nowrap;margin:0;font-size:.75rem}.track-switch-card{box-shadow:none;background:0 0;border:0;margin-bottom:18px;padding:0}.track-switch-label{display:none}.track-switch-row{border-radius:var(--r-md);background:var(--c-surface-2);border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;display:grid}.track-switch-btn{border-radius:var(--r-sm);text-align:center;cursor:pointer;background:0 0;border:0;min-height:44px;padding:8px 4px}.track-switch-btn strong{color:var(--c-subtle);font-size:.85rem;font-weight:600}.track-switch-btn.frequency-tab:disabled{opacity:.62;cursor:default}.frequency-tab-status{color:var(--c-subtle);margin-top:1px;font-size:.6rem;font-weight:600;display:block}.frequency-tab-status.failed{color:var(--c-red-400)}.track-switch-btn.active{background:var(--c-surface-0);box-shadow:var(--shadow-xs)}.track-switch-btn.active strong{color:var(--c-ink);font-weight:700}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.panel-head-meta{color:var(--c-muted);font-variant-numeric:tabular-nums;flex:none;font-size:.75rem}.panel-head-stats{color:var(--c-subtle);font-variant-numeric:tabular-nums;margin:0 0 10px;font-size:.75rem;line-height:1.7}.panel{background:var(--c-surface-0);border-radius:var(--r-xl);border:1px solid var(--c-border);box-shadow:none;transition:box-shadow var(--dur-mid);flex-direction:column;flex:0 auto;padding:20px;display:flex;overflow:visible}.panel.fill{flex:0 auto;min-height:auto;overflow:visible}.app-shell.v2-runtime{height:100dvh;min-height:0;overflow:hidden}.panel.fill.v2-runtime-panel{flex:1 1 0;min-height:0;padding:0;overflow:hidden}.v2-runtime-panel .v2-activity-session{height:100%}.panel::-webkit-scrollbar{width:4px}.panel::-webkit-scrollbar-thumb{background:var(--c-blue-200);border-radius:4px}.panel h2{letter-spacing:-.025em;color:var(--c-ink);margin-top:0;margin-bottom:8px;font-size:1.3rem;font-weight:750;line-height:1.4}.panel-head h2{margin-bottom:0;font-size:1.125rem;font-weight:700}.subtle{color:var(--c-muted);margin-top:0;font-size:.88rem;line-height:1.5}.mode-grid{gap:10px;margin:10px 0;display:grid}.mode-card{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface-1);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);padding:12px 14px}.mode-card:hover{border-color:var(--c-blue-200);box-shadow:var(--shadow-xs)}.mode-card h3{color:var(--c-ink-2);letter-spacing:-.015em;margin:0 0 5px;font-size:.95rem;font-weight:700}.mode-card ul{color:var(--c-muted);margin:0;padding-left:18px;font-size:.8rem;line-height:1.55}.route-focus-card{border:1px solid var(--c-blue-200);background:linear-gradient(160deg, var(--c-blue-50) 0%, var(--c-surface-1) 100%);border-radius:var(--r-md);box-shadow:var(--shadow-xs);gap:6px;margin:10px 0;padding:13px 14px;display:grid}.route-focus-card h3{color:var(--c-blue-700);letter-spacing:-.015em;margin:0;font-size:.96rem;font-weight:700}.route-focus-card p{color:var(--c-ink-2);margin:0;font-size:.83rem;line-height:1.4}.route-focus-card strong{font-size:.93rem}.route-focus-card small{color:var(--c-subtle);font-size:.73rem}.grammar-unit-card{border-color:var(--c-green-200);background:linear-gradient(160deg, var(--c-green-50) 0%, #f6fff9 100%)}.grammar-unit-card h3{color:var(--c-green-800)}.route-focus-chip{border-radius:var(--r-full);border:1px solid var(--c-green-200);background:var(--c-green-50);width:fit-content;color:var(--c-green-800);letter-spacing:.01em;padding:2px 9px;font-size:.76rem;font-weight:700;display:inline-flex}.assessment-list{gap:8px;display:grid}.assessment-card{border:1px solid var(--c-border);background:var(--c-surface-1);border-radius:var(--r-lg);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);gap:12px;padding:18px;display:grid}.assessment-card:not(.locked):hover{border-color:var(--c-blue-200);box-shadow:var(--shadow-sm)}.assessment-card p{color:var(--c-muted);margin:4px 0;font-size:.83rem;line-height:1.7}.assessment-card small{color:var(--c-muted);margin-top:6px;font-size:.75rem;line-height:1.7;display:block}.assessment-card.locked{opacity:1}.assessment-card button[disabled]{opacity:.5}.debrief-card{border:1px solid var(--c-border-soft);background:var(--c-surface-1);border-radius:var(--r-md);box-shadow:none;gap:10px;margin:16px 0;padding:18px;display:grid}.debrief-card h3{color:var(--c-ink);letter-spacing:-.015em;margin:0;font-size:1rem;font-weight:700}.debrief-card p{color:var(--c-ink-2);margin:0;font-size:.875rem;line-height:1.7}.debrief-card ul{color:var(--c-ink-2);margin:4px 0 0;padding-left:16px;font-size:.85rem;line-height:1.7}.debrief-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.debrief-axis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.debrief-axis-grid article{border:1px solid var(--c-border);background:var(--s-glass);border-radius:var(--r-sm);padding:9px}.debrief-axis-grid span{color:var(--c-subtle);margin-bottom:2px;font-size:.72rem;font-weight:500;display:block}.debrief-axis-grid strong{letter-spacing:-.02em;font-size:1.02rem;font-weight:700;display:block}.debrief-axis-grid small{color:var(--c-subtle);font-size:.71rem}.goal-grid,.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0;display:grid}.goal-grid div,.summary-grid article{border-radius:var(--r-sm);border:1px solid var(--c-border-soft);background:var(--c-surface-1);text-align:center;box-shadow:none;padding:14px 10px}.summary-grid article:first-child{border-top:1px solid var(--c-border-soft)}.summary-grid article:first-child strong{color:var(--c-ink)}.summary-grid article:nth-child(2){border-top:1px solid var(--c-border-soft)}.summary-grid article:nth-child(2) strong{color:var(--c-ink)}.summary-grid article:nth-child(3){border-top:1px solid var(--c-border-soft)}.summary-grid article:nth-child(3) strong{color:var(--c-ink)}.goal-grid span,.summary-grid span{color:var(--c-subtle);margin-bottom:2px;font-size:.74rem;font-weight:500;display:block}.goal-grid strong,.summary-grid strong{letter-spacing:-.025em;color:var(--c-ink);font-size:1.12rem;font-weight:700}.primary,.secondary,.tiny{border-radius:var(--r-md);cursor:pointer;letter-spacing:-.01em;border:none;width:100%;min-height:44px;margin-top:8px;padding:13px 16px;font-size:.94rem;font-weight:650;line-height:1.5;transition:background-color .12s,border-color .12s}.primary{background:var(--c-blue-500);color:var(--c-primary-ink);box-shadow:none;padding:13px 16px}.primary:active{box-shadow:none;background:var(--c-blue-600);transform:none}.secondary{background:var(--c-surface-0);color:var(--c-ink-2);border:1px solid var(--c-border);box-shadow:none}.secondary:active{background:var(--c-surface-2);box-shadow:none;transform:none}.notice{color:var(--c-orange-400);margin-top:10px;margin-bottom:0;font-size:.83rem;font-weight:500;line-height:1.65}.progress-header{color:var(--c-muted);justify-content:space-between;align-items:center;gap:8px;font-size:.83rem;font-weight:600;display:flex}.progress-track{background:var(--c-blue-100);border-radius:var(--r-full);width:100%;height:5px;margin:5px 0 10px;overflow:hidden}.progress-fill{background:var(--c-blue-500);border-radius:var(--r-full);height:100%;transition:width var(--dur-slow) var(--ease-out);background-size:200% 100%;animation:none;position:relative}.progress-fill:after{content:none;background:linear-gradient(90deg,#0000 0%,#ffffff73 50%,#0000 100%);animation:none;position:absolute;inset:0}@keyframes progressShimmer{0%,to{background-position:0%}50%{background-position:100%}}@keyframes shimmerSweep{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media (prefers-reduced-motion:reduce){.progress-fill,.progress-fill:after{animation:none}}.session-badges{flex-wrap:wrap;align-items:center;gap:0;margin-bottom:6px;display:flex}.session-badges span{color:var(--c-subtle);letter-spacing:.01em;background:0 0;border:none;align-items:center;padding:0;font-size:.72rem;font-weight:500;display:inline-flex}.session-badges span+span:before{content:"·";color:var(--c-faint);margin:0 5px}.session-badges .session-badge-accent{color:var(--c-muted);background:0 0;border:none}.question{color:var(--c-ink);word-break:break-word;letter-spacing:-.015em;margin:0 0 8px;font-size:1.1rem;font-weight:600;line-height:1.5}.playable-link{color:var(--c-blue-500);text-underline-offset:3px;cursor:pointer;transition:opacity var(--dur-fast);-webkit-text-decoration:underline #3b5bdb59;text-decoration:underline #3b5bdb59;text-decoration-thickness:1.5px}.playable-link:active{opacity:.6}.playable-option{color:var(--c-blue-500);text-underline-offset:3px;-webkit-text-decoration:underline #3b5bdb4d;text-decoration:underline #3b5bdb4d}.prompt-gloss{color:var(--c-subtle);margin:-4px 0 10px;font-size:.73rem;line-height:1.4}.prompt-gloss-item{white-space:normal}.prompt-gloss-pron{color:var(--c-muted);margin-left:4px;font-size:.71rem}.inline-pron-wrap{align-items:baseline;gap:4px;display:inline-flex}.inline-pron{color:var(--c-muted);font-size:.73rem}.lesson-image-wrap{border-radius:var(--r-xl);background:#fff;border:none;flex-shrink:1;justify-content:center;align-items:center;height:clamp(200px,42vh,360px);margin:4px 0 10px;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #0f172a1a,0 2px 8px #0f172a0f,inset 0 0 0 1px #6384ff12}.lesson-image-wrap:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 60% at 50% 0,#6384ff0f 0%,#0000 70%);position:absolute;inset:0}.lesson-image-wrap img{object-fit:contain;object-position:center;z-index:1;width:100%;height:100%;animation:.45s cubic-bezier(.16,1,.3,1) both imageReveal;position:relative}@keyframes imageReveal{0%{opacity:0;transform:scale(.9)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.highlight-list{color:var(--c-ink-2);gap:6px;margin:8px 0 12px;padding-left:0;font-size:.87rem;line-height:1.45;list-style:none;display:grid}.highlight-list li{background:var(--c-surface-1);border:1px solid var(--c-border-soft);border-radius:var(--r-sm);box-shadow:var(--shadow-xs);padding:9px 13px;line-height:1.5}.options{gap:9px;display:grid}.option{text-align:left;border:1px solid var(--c-border);background:var(--c-surface-0);border-radius:var(--r-md);width:100%;color:var(--c-ink);transition:border-color .14s var(--ease-out), background .14s var(--ease-out), transform .14s var(--ease-out), box-shadow .14s var(--ease-out);cursor:pointer;box-shadow:none;flex-direction:column;align-items:flex-start;gap:4px;padding:15px 16px;font-size:1rem;display:flex}.option:not(.locked):hover{border-color:var(--c-blue-200);background:var(--c-surface-1);box-shadow:none;transform:none}.option:not(.locked):active{box-shadow:none;transform:none}.option-main{font-weight:500;line-height:1.35}.option-pron{color:var(--c-muted);font-size:.73rem;line-height:1.25}.option-gloss{color:var(--c-subtle);font-size:.71rem;line-height:1.3}.option.locked{cursor:default}.option.selected{border-color:var(--c-blue-500);background:var(--c-blue-50);box-shadow:0 0 0 1px #3b5bdb1f, var(--shadow-xs)}.option.correct{border-color:var(--c-green-500);background:var(--c-green-50);box-shadow:none;animation:correctPop .4s var(--ease-out) both}@keyframes correctPop{0%{transform:scale(1)}35%{transform:scale(1.025)}to{transform:scale(1)}}.option.wrong{border-color:var(--c-red-400);background:var(--c-red-50);box-shadow:none;animation:wrongShake .4s var(--ease-out) both}@keyframes wrongShake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.feedback{border-radius:var(--r-lg);animation:feedbackReveal .3s var(--ease-out) both;border:1.5px solid #0000;margin-top:10px;padding:13px 14px}@keyframes feedbackReveal{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.feedback.ok{border-color:var(--c-green-200);background:linear-gradient(160deg,#ecfdf5 0%,#f0fdf6 100%);box-shadow:0 0 0 3px #22c55e14,0 4px 16px #22c55e0f}.feedback.bad{background:linear-gradient(160deg,#fff7ed 0%,#fffaf5 100%);border-color:#fed7aa;box-shadow:0 0 0 3px #fb923c14,0 4px 16px #fb923c0f}.feedback p{color:var(--c-ink-2);margin:6px 0;font-size:.87rem;line-height:1.55}.back-only-btn{margin-top:10px}.feedback-actions{gap:8px;margin-top:8px;display:flex}.feedback-actions .primary,.feedback-actions .secondary{flex:1;width:auto;margin-top:0}.unit-list{gap:0;margin:16px 0 0;padding:0;list-style:none;display:grid}.unit-card{box-shadow:none;border:0;border-bottom:1px solid var(--c-border-soft);background:0 0;border-radius:0;transition:background-color .12s;overflow:hidden}.unit-card:not(.locked):active{transform:none}.unit-card:not(.locked):hover{border-color:var(--c-border-soft);box-shadow:none;background:var(--c-surface-1)}.unit-card.locked{opacity:1;box-shadow:none;background:0 0}.unit-card.expanded{border-color:var(--c-border-soft);box-shadow:none;background:var(--c-surface-1);border-radius:var(--r-md)}.unit-head{cursor:pointer;align-items:flex-start;gap:14px;padding:16px 10px;display:flex}.unit-card.locked .unit-head{cursor:default}.unit-info{flex:1;min-width:0}.unit-title-row{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:2px;display:flex}.unit-title-row strong{color:var(--c-ink);letter-spacing:-.015em;font-size:.95rem;font-weight:700;line-height:1.5}.unit-info p{color:var(--c-subtle);white-space:normal;text-overflow:ellipsis;margin:4px 0 9px;font-size:.775rem;line-height:1.6;overflow:hidden}.mini-progress{align-items:center;gap:8px;display:flex}.mini-progress .bar{background:var(--c-surface-2);border-radius:var(--r-full);flex:1;height:3px;overflow:hidden}.mini-progress .bar i{background:var(--c-blue-500);border-radius:var(--r-full);height:100%;display:block}.mini-progress span{color:var(--c-subtle);font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:600}.unit-body{border-top:1px solid var(--c-border-soft);animation:slideDown var(--dur-mid) var(--ease-out) both;background:0 0;padding:14px 12px}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.stats-micro-row{color:var(--c-subtle);gap:12px;margin-bottom:12px;font-size:.73rem;font-weight:500;display:flex}.route-node-list{margin:0;padding:0;list-style:none;position:relative}.route-node-list:before{content:"";background:linear-gradient(180deg, var(--c-blue-200), var(--c-border));z-index:0;border-radius:1px;width:2px;position:absolute;top:12px;bottom:12px;left:14px}.route-node{z-index:1;gap:10px;padding-bottom:11px;display:flex;position:relative}.route-node:last-child{padding-bottom:0}.node-icon{background:var(--c-surface-0);width:26px;height:26px;color:var(--c-faint);transition:background var(--dur-mid), border-color var(--dur-mid);border:2px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.73rem;font-weight:700;display:flex}.node-icon.done{background:var(--c-green-500);border-color:var(--c-green-500);color:var(--c-primary-ink);box-shadow:0 0 0 3px #22c55e26}.route-node-content{flex:1;min-width:0;padding-top:4px}.route-node-content strong{color:var(--c-ink-2);letter-spacing:-.01em;font-size:.88rem;font-weight:650;display:block}.route-node-content p{color:var(--c-subtle);margin:2px 0 0;font-size:.78rem;line-height:1.6}.action-btn{background:var(--c-blue-500);color:var(--c-primary-ink);border-radius:var(--r-sm);height:auto;box-shadow:none;transition:background var(--dur-fast), transform var(--dur-fast), box-shadow var(--dur-fast);letter-spacing:-.01em;border:none;flex-shrink:0;align-self:flex-start;min-height:44px;margin-top:2px;padding:10px 14px;font-size:.79rem;font-weight:700}.action-btn.replay{background:var(--c-surface-0);color:var(--c-ink-2);border:1px solid var(--c-border);box-shadow:none}.action-btn:active{background:var(--c-blue-600);box-shadow:none;transform:none}.action-btn.replay:active{background:var(--c-blue-100);box-shadow:none;transform:none}.tiny{border-radius:var(--r-sm);background:var(--grad-secondary-light);min-height:44px;color:var(--c-blue-600);border:1.5px solid var(--c-blue-200);transition:background var(--dur-fast), transform var(--dur-fast), box-shadow var(--dur-fast);margin-top:0;padding:9px 14px;font-size:.82rem;font-weight:700;box-shadow:0 2px 6px #6384ff1f,inset 0 1px #ffffffe6,inset 0 -1px #6384ff14}.topbar .tiny{flex:none;width:auto}.recording-download{align-items:center;min-height:44px;padding:6px 4px;display:inline-flex}.tiny:disabled{opacity:.5;color:var(--c-subtle)}.tiny.ghost{background:var(--c-surface-0);color:var(--c-ink-2);border-color:var(--c-border);box-shadow:none}.tiny:active:not(:disabled){background:var(--c-blue-100);transform:scale(.96)translateY(1px);box-shadow:inset 0 2px 4px #6384ff24}.btn-row{gap:8px;display:flex}.btn-row button{margin-top:0}.history-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.history-list li{border:1px solid var(--c-border);background:var(--s-glass-heavy);border-radius:var(--r-md);box-shadow:var(--shadow-xs);justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.history-list p{color:var(--c-subtle);margin:3px 0 0;font-size:.73rem}.history-score{text-align:right}.history-score strong{letter-spacing:-.02em;font-size:1.02rem;font-weight:700;display:block}.history-score span{color:var(--c-subtle);font-size:.73rem}.bottom-nav{display:none!important}.spelling-zone{flex-direction:column;gap:24px;width:100%;padding:16px 0;display:flex}.spelling-slots{flex-wrap:wrap;justify-content:center;gap:10px;min-height:56px;display:flex}.spelling-slot{border:none;border-bottom:2.5px solid var(--c-faint);width:44px;height:48px;color:var(--c-ink);cursor:pointer;transition:border-color var(--dur-fast);background:0 0;border-radius:0;justify-content:center;align-items:center;padding:0;font-size:1.5rem;font-weight:700;display:flex}.spelling-slot.filled{border-bottom-color:var(--c-blue-500);color:var(--c-blue-600)}.spelling-letters{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.letter-btn{background:var(--c-surface-0);border:1.5px solid var(--c-border);border-radius:var(--r-md);width:48px;height:48px;color:var(--c-ink-2);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:1.32rem;font-weight:700;display:flex;box-shadow:0 3px #6384ff26}.letter-btn:not(:disabled):active{background:var(--c-surface-2);transform:translateY(2px);box-shadow:0 1px #6384ff1f}.letter-btn.used{opacity:0;visibility:hidden;pointer-events:none}.letter-btn:disabled:not(.used){cursor:default;opacity:.55}.spelling-free{flex-direction:column;align-items:stretch;gap:12px;width:100%;display:flex}.spelling-free-label{color:var(--c-ink-2);text-align:left;font-size:.95rem;font-weight:600}.spelling-free-input{box-sizing:border-box;letter-spacing:.02em;width:100%;color:var(--c-ink);background:var(--c-surface-0);border:1.5px solid var(--c-border);border-radius:var(--r-md);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:14px 16px;font-size:1.25rem;font-weight:600;box-shadow:0 3px #6384ff1f}.spelling-free-input:focus{border-color:var(--c-blue-500);outline:none;box-shadow:0 3px #6384ff38}.spelling-free-input:disabled{opacity:.7;cursor:default}.spelling-free-input::placeholder{color:var(--c-faint);font-weight:500}.spelling-free-submit{align-self:stretch}.spelling-free-submit:disabled{opacity:.55;cursor:default}.cheatsheet-table{gap:8px;display:grid}.cheatsheet-row{border-radius:var(--r-md);background:#ffffffad;border:1px solid #c7d2fee6;grid-template-columns:minmax(86px,.34fr) 1fr;align-items:start;gap:10px;padding:10px;display:grid}.cheatsheet-key{color:var(--c-subtle);letter-spacing:-.01em;font-size:.78rem;font-weight:700;line-height:1.2}.cheatsheet-value{color:var(--c-ink-2);word-break:normal;overflow-wrap:break-word;font-size:.84rem;line-height:1.5}.cheatsheet-details{gap:8px;margin-top:10px;display:grid}.cheatsheet-detail{border-radius:var(--r-md);background:#ffffff9e;border:1px solid #c7d2fee6;padding:10px}.cheatsheet-detail summary{cursor:pointer;color:var(--c-blue-700);font-size:.85rem;font-weight:700;list-style:none}.cheatsheet-detail summary::-webkit-details-marker{display:none}.cheatsheet-detail summary:before{content:"▸";color:#4361eec7;margin-right:6px;display:inline-block;transform:translateY(-1px)}.cheatsheet-detail[open] summary:before{content:"▾"}.cheatsheet-examples{color:var(--c-ink-2);margin:8px 0 0;padding-left:18px;font-size:.78rem;line-height:1.4}.conjugation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.conjugation-cell{border-radius:var(--r-sm);background:#eef2ffa6;border:1px solid #c7d2fecc;flex-direction:column;align-items:flex-start;gap:4px;padding:6px 8px;display:flex}.conjugation-subject{color:var(--c-subtle);white-space:nowrap;font-size:.76rem;font-weight:600}.conjugation-form{color:var(--c-ink);white-space:nowrap;font-size:.86rem;font-weight:800}.translator-panel{background:var(--c-surface);border-radius:var(--r-md);box-shadow:var(--shadow-md);margin-bottom:16px;overflow:hidden}.translator-header{background:#eef2ff66;border-bottom:1px solid #c7d2fe80;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.translator-header h2{color:var(--c-ink);margin:0;font-size:1rem;font-weight:700}.translator-body{padding:16px}.translator-row{margin-bottom:12px}.translator-label{color:var(--c-subtle);align-items:center;gap:8px;margin-bottom:6px;font-size:.8rem;font-weight:600;display:flex}.translator-label .play-btn{padding:2px 6px;font-size:1rem}.translator-row textarea{border-radius:var(--r-sm);resize:vertical;background:var(--c-surface);width:100%;min-height:80px;color:var(--c-ink);border:1px solid #c7d2fecc;padding:10px 12px;font-family:inherit;font-size:.9rem}.translator-row textarea:focus{border-color:var(--c-primary);outline:none;box-shadow:0 0 0 2px #2563eb26}.translator-actions{justify-content:flex-end;gap:8px;margin-bottom:12px;display:flex}.translator-result{border-radius:var(--r-sm);background:#eef2ff80;border:1px solid #c7d2fe99;min-height:60px;padding:10px 12px;font-size:.9rem;line-height:1.5}.translator-error{border-radius:var(--r-sm);color:#dc2626;background:#fee2e280;border:1px solid #fca5a599;margin-top:12px;padding:10px 12px;font-size:.85rem}.free-input{border:1px solid var(--c-border);border-radius:var(--r-sm);resize:vertical;background:var(--c-surface-0);width:100%;color:var(--c-ink);margin-top:12px;padding:16px;font-family:inherit;font-size:1rem;line-height:1.7}.free-input:focus{outline:2px solid var(--c-blue-200);border-color:var(--c-blue-500);box-shadow:none;outline-offset:2px}[data-theme=focus] body{background:var(--c-bg)}[data-theme=focus] .today-queue,[data-theme=focus] .panel{background:var(--c-surface-0);border-color:var(--c-border);box-shadow:none}[data-theme=focus] .goal-grid div,[data-theme=focus] .summary-grid article,[data-theme=focus] .grammar-unit-card{background:var(--c-surface-1);border-color:var(--c-border);box-shadow:none}[data-theme=focus] .summary-grid article:first-child,[data-theme=focus] .summary-grid article:nth-child(2),[data-theme=focus] .summary-grid article:nth-child(3){border-top:1px solid var(--c-border)}[data-theme=focus] .summary-grid article:first-child strong{color:var(--c-blue-500)}[data-theme=focus] .summary-grid article:nth-child(2) strong{color:var(--c-green-500)}[data-theme=focus] .summary-grid article:nth-child(3) strong{color:var(--c-ink-2)}[data-theme=focus] .today-queue-segs article:first-child strong,[data-theme=focus] .today-queue-segs article:nth-child(2) strong,[data-theme=focus] .today-queue-segs article:nth-child(3) strong{color:var(--c-ink)}[data-theme=focus] .track-switch-row{background:var(--c-surface-2);border-color:#0000}[data-theme=focus] .track-switch-btn.active{background:var(--c-surface-0)}[data-theme=focus] .track-switch-btn.active strong{color:var(--c-blue-600)}[data-theme=focus] .unit-card:not(.locked):hover{border-color:var(--c-blue-200);box-shadow:none}[data-theme=focus] .unit-card.expanded{border-color:var(--c-blue-200);box-shadow:none;background:var(--c-surface-1)}[data-theme=focus] .lesson-image-wrap{box-shadow:0 0 0 1px var(--c-border), 0 8px 32px #0009;background:#000}[data-theme=focus] .lesson-image-wrap:before{background:0 0}[data-theme=focus] .option{background:var(--c-surface-1);border-color:var(--c-border);box-shadow:none}[data-theme=focus] .option:not(.locked):hover{background:var(--c-surface-2);border-color:var(--c-blue-200);box-shadow:none;transform:translateY(-1px)}[data-theme=focus] .option.selected{border-color:var(--c-blue-500);background:var(--c-blue-50);box-shadow:none}[data-theme=focus] .option.correct{border-color:var(--c-green-500);background:var(--c-green-50);box-shadow:none}[data-theme=focus] .option.wrong{border-color:var(--c-red-400);background:var(--c-red-50);box-shadow:none}[data-theme=focus] .feedback.ok{background:var(--c-green-50);border-color:var(--c-green-200);box-shadow:none}[data-theme=focus] .feedback.bad{background:var(--c-orange-50);box-shadow:none;border-color:#e8b14a47}[data-theme=focus] .primary{background:var(--c-blue-500);color:var(--c-primary-ink);box-shadow:none}[data-theme=focus] .primary:active{background:var(--c-blue-600);box-shadow:none}[data-theme=focus] .secondary{background:var(--c-surface-0);color:var(--c-ink-2);border-color:var(--c-border);box-shadow:none}[data-theme=focus] .secondary:active{background:var(--c-blue-50)}[data-theme=focus] .progress-track,[data-theme=focus] .mini-progress .bar{background:var(--c-surface-2)}[data-theme=focus] .mini-progress .bar i{background:var(--c-blue-500)}[data-theme=focus] .action-btn{background:var(--c-blue-500);color:var(--c-primary-ink);box-shadow:none}[data-theme=focus] .action-btn.replay{background:var(--c-surface-1);color:var(--c-blue-600);border-color:var(--c-border)}[data-theme=focus] .progress-fill{background:var(--c-blue-500);background-size:auto}[data-theme=focus] .session-badges span{color:var(--c-subtle)}[data-theme=focus] .login-form input,[data-theme=focus] .free-input{background:var(--c-surface-1);border-color:var(--c-border);color:var(--c-ink)}[data-theme=focus] .login-form input:focus{border-color:var(--c-blue-500);box-shadow:0 0 0 2px var(--c-blue-50)}[data-theme=focus] .exit-confirm-card{background:var(--c-orange-50);box-shadow:none;border-color:#e8b14a47}[data-theme=focus] .translator-header{background:var(--c-surface-1);border-bottom-color:var(--c-border)}[data-theme=focus] .highlight-list li{background:var(--c-surface-1);border-color:var(--c-border)}[data-theme=focus] .current-user{background:var(--c-blue-50);border-color:var(--c-border);color:var(--c-blue-600)}[data-theme=focus] .translator-error{background:var(--c-red-50);color:var(--c-red-400);border-color:#f0736b47}.nature-card-shell{z-index:1;flex-direction:column;align-items:center;gap:12px;margin:4px 0 12px;display:flex;position:relative}.nature-stage{perspective:1400px;perspective-origin:50% 45%;touch-action:none}.nature-card{aspect-ratio:3/4.05;width:min(74vw,280px);transform-style:preserve-3d;will-change:transform;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease-out;position:relative}.nature-card.nature-flip{transition:transform .62s cubic-bezier(.2,.8,.2,1)}.nature-card:focus-visible{outline:none}.nature-card:focus-visible .nature-front,.nature-card:focus-visible .nature-back{box-shadow:0 0 0 3px #3b5bdb73,0 26px 50px -16px #1e465a57}.nature-face{backface-visibility:hidden;border-radius:28px;position:absolute;inset:0;overflow:hidden}.nature-front{background:linear-gradient(165deg,#fff 0%,#f7faff 100%);border:1px solid #7896c829;flex-direction:column;display:flex;box-shadow:0 2px 5px #1e3c501f,0 26px 50px -16px #1e465a57,0 50px 90px -40px #143c5a4d,inset 0 1px #fffffff2}.nature-deco{justify-content:center;align-items:flex-end;height:32px;padding-top:14px;display:flex}.nature-deco svg{display:block}.nature-illus{background:radial-gradient(80% 70% at 50% 42%,#fff 0%,#f1f7fb 100%);border-radius:20px;flex:1;justify-content:center;align-items:center;margin:10px 20px 4px;padding:20px;display:flex;box-shadow:inset 0 1px #ffffffe6,0 4px 14px #28506414}.nature-illus-empty{min-height:120px}.nature-illus img{object-fit:contain;filter:drop-shadow(0 8px 16px #1e465a24);width:100%;height:100%;animation:.45s cubic-bezier(.16,1,.3,1) both imageReveal;display:block}.nature-label{text-align:center;padding:2px 22px 26px}.nature-word{letter-spacing:-.02em;font-size:1.95rem;font-weight:700;line-height:1}.nature-ipa{letter-spacing:.01em;margin-top:8px;font-size:.9rem;font-weight:500}.nature-rule{justify-content:center;min-height:11px;margin:10px auto 0;display:flex}.nature-rule svg{display:block}.nature-back{color:#fff;text-align:center;border:1px solid #ffffff80;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px;display:flex;transform:rotateY(180deg)}.nature-back-tag{letter-spacing:.16em;color:#ffffffb8;margin-bottom:4px;font-size:.74rem;font-weight:600}.nature-zh{font-size:2.9rem;font-weight:700;line-height:1.05}.nature-nl{color:#ffffffd1;margin-top:10px;font-size:1.05rem;font-weight:500}.nature-sentence{margin-top:14px}.nature-sentence-nl{margin:0;font-size:1.02rem;font-weight:600;line-height:1.4}.nature-sentence-zh{color:#ffffffd1;margin-top:6px;font-size:.86rem;font-weight:500;line-height:1.5}.nature-hint{color:#1e2c2ab3;text-shadow:0 1px 4px #fff6;margin:0;font-size:.78rem;font-weight:500}@media (prefers-reduced-motion:reduce){.nature-card{will-change:auto;transition:none}.nature-card.nature-flip{transition:transform .3s}.nature-illus img{animation:none}}.flashcard-selftest-shell{margin-top:8px}.flashcard-selftest-card{cursor:pointer;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.flashcard-selftest-card.flashcard-flipped{transform:rotateY(180deg)}.flashcard-selftest-card.flashcard-reduced{transition:transform .25s}.flashcard-selftest-card:focus-visible{outline:none}.flashcard-selftest-card:focus-visible .nature-front,.flashcard-selftest-card:focus-visible .nature-back{box-shadow:0 0 0 3px #3b5bdb73,0 26px 50px -16px #1e465a57}.flashcard-front{justify-content:center}.flashcard-front-zh{letter-spacing:-.01em;font-size:2.4rem;font-weight:700;line-height:1.1}.flashcard-front-nl-label{text-align:center;padding:2px 22px 26px}.flashcard-front-nl{letter-spacing:-.01em;font-size:2.3rem;font-weight:700;line-height:1.12}.flashcard-front-ipa{letter-spacing:.01em;opacity:.78;margin-top:10px;font-size:.98rem;font-weight:500}.flashcard-back-zh{font-size:2.6rem}.flashcard-back-nl{font-size:2.3rem}.flashcard-back-ipa{letter-spacing:.01em;color:#ffffffdb;margin-top:8px;font-size:1rem;font-weight:500}.flashcard-speak-btn{margin:0}.flashcard-grade-row{margin:14px 0 6px;animation:.28s both flashcardGradeIn}.flashcard-grade-prompt{text-align:center;color:#1e2c2ab8;margin:0 0 8px;font-size:.86rem;font-weight:600}.flashcard-grade-buttons{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.flashcard-grade-btn{border:1px solid var(--flashcard-grade-border,#7896c838);background:var(--flashcard-grade-bg,#fff);color:var(--flashcard-grade-fg,#1f2c2a);cursor:pointer;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:12px 6px;transition:transform .12s,box-shadow .18s,filter .18s;display:flex;box-shadow:0 2px 6px #1e3c5014,inset 0 1px #ffffffb3}.flashcard-grade-btn:hover{filter:saturate(1.08);transform:translateY(-2px)}.flashcard-grade-btn:active{transform:translateY(0)}.flashcard-grade-label{font-size:1.02rem;font-weight:700;line-height:1}.flashcard-grade-hint{opacity:.72;text-align:center;font-size:.68rem;font-weight:500;line-height:1.1}.flashcard-grade-again{--flashcard-grade-bg:linear-gradient(165deg, #fff1ef 0%, #ffe2dc 100%);--flashcard-grade-border:#d6604d66;--flashcard-grade-fg:#9a3522}.flashcard-grade-hard{--flashcard-grade-bg:linear-gradient(165deg, #fff7e9 0%, #ffeccb 100%);--flashcard-grade-border:#ce92296b;--flashcard-grade-fg:#8a5a14}.flashcard-grade-good{--flashcard-grade-bg:linear-gradient(165deg, #ecf8f6 0%, #d4efe8 100%);--flashcard-grade-border:#2d96826b;--flashcard-grade-fg:#16645a}.flashcard-grade-easy{--flashcard-grade-bg:linear-gradient(165deg, #eefaef 0%, #d4f1d6 100%);--flashcard-grade-border:#3aa0506b;--flashcard-grade-fg:#226b30}[data-theme=focus] .flashcard-grade-prompt{color:var(--c-muted)}[data-theme=focus] .flashcard-grade-btn{box-shadow:none}[data-theme=focus] .flashcard-grade-again{--flashcard-grade-bg:var(--c-red-50);--flashcard-grade-border:#f0736b57;--flashcard-grade-fg:var(--c-red-400)}[data-theme=focus] .flashcard-grade-hard{--flashcard-grade-bg:var(--c-orange-50);--flashcard-grade-border:#e8b14a57;--flashcard-grade-fg:var(--c-orange-400)}[data-theme=focus] .flashcard-grade-good{--flashcard-grade-bg:var(--c-green-50);--flashcard-grade-border:#86d96a57;--flashcard-grade-fg:var(--c-green-500)}[data-theme=focus] .flashcard-grade-easy{--flashcard-grade-bg:var(--c-blue-50);--flashcard-grade-border:#48b0f757;--flashcard-grade-fg:var(--c-blue-500)}.flashcard-exit-btn{margin-top:10px}.flashcard-summary-grid{margin-top:12px}@keyframes flashcardGradeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.flashcard-selftest-card{transition:transform .2s}.flashcard-grade-row{animation:none}.flashcard-grade-btn{transition:none}}.frequency-home-entry{border:1.5px solid var(--c-blue-200);border-radius:var(--r-lg);background:linear-gradient(160deg, var(--c-surface-0) 0%, var(--c-blue-50) 100%);width:100%;min-height:48px;color:var(--c-ink);text-align:left;box-shadow:var(--shadow-xs);cursor:pointer;justify-content:space-between;align-items:center;gap:14px;margin:0 0 8px;padding:9px 14px;display:flex}.frequency-home-entry:active:not(:disabled){background:var(--c-blue-100);transform:scale(.985)}.frequency-home-entry:focus-visible{outline-offset:2px;outline:3px solid #3b5bdb5c}.frequency-home-entry:disabled{cursor:default;opacity:.62}.frequency-home-entry-copy{gap:2px;min-width:0;display:grid}.frequency-home-entry-copy strong{color:var(--c-blue-700);letter-spacing:-.02em;font-size:.88rem}.frequency-home-entry-copy small{color:var(--c-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.frequency-home-entry-action{color:var(--c-blue-600);flex:none;font-size:.82rem;font-weight:800}.frequency-hub-panel{width:100%}.topbar .frequency-hub-back{min-width:104px;min-height:44px}.frequency-dashboard{border:1px solid var(--c-border);border-radius:var(--r-xl);background:radial-gradient(circle at 94% 2%, #6384ff29, transparent 34%), linear-gradient(155deg, var(--c-surface-0) 0%, var(--c-surface-1) 100%);box-shadow:var(--shadow-md);padding:18px}.frequency-dashboard-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.frequency-dashboard h3{margin:2px 0 4px;font-size:1.35rem}.frequency-dashboard-head p:last-child{color:var(--c-muted);margin:0;font-size:.86rem}.frequency-eyebrow{color:var(--c-blue-600);letter-spacing:.08em;margin:0;font-size:.72rem;font-weight:800}.frequency-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.frequency-summary-grid article{border:1px solid var(--c-border);background:var(--c-surface-1);text-align:center;border-radius:14px;min-width:0;padding:10px 8px}.frequency-summary-grid strong,.frequency-summary-grid span{display:block}.frequency-summary-grid strong{font-size:1.25rem}.frequency-summary-grid span{color:var(--c-subtle);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.7rem;overflow:hidden}.frequency-today-row{color:var(--c-muted);justify-content:space-between;gap:10px;margin:12px 0 10px;font-size:.78rem;font-weight:650;display:flex}.frequency-settings{background:var(--c-blue-50);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0;padding:10px;display:grid}.frequency-settings label{min-width:0;color:var(--c-muted);flex-direction:column;gap:5px;font-size:.72rem;display:flex}.frequency-settings select{border:1px solid var(--c-blue-200);background:var(--c-surface-0);width:100%;min-height:40px;color:var(--c-ink);font:inherit;border-radius:10px;padding:7px;font-size:.82rem}.frequency-actions{gap:8px;display:flex}.frequency-actions>button{flex:1}.frequency-backlog{color:#8a5a14;margin:9px 0 0;font-size:.76rem}.frequency-source-links{flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:.72rem;display:flex}.frequency-source-links a{color:var(--c-blue-600);text-underline-offset:2px}.frequency-session{width:min(100%,560px);margin:0 auto}.frequency-flip-card{border:1px solid var(--c-blue-200);background:radial-gradient(circle at 88% 10%, #6384ff2b, transparent 34%), linear-gradient(155deg, var(--c-surface-0) 0%, var(--c-blue-50) 100%);min-height:330px;box-shadow:var(--shadow-lg);cursor:pointer;touch-action:pan-y;border-radius:26px;margin-top:14px;transition:transform .16s,background .24s,box-shadow .24s;display:grid;overflow:hidden}.frequency-flip-card.flipped{background:radial-gradient(circle at 18% 8%,#ffffff2e,#0000 34%),linear-gradient(145deg,#3b5bdb 0%,#312e81 100%);box-shadow:0 24px 48px #312e8147}.frequency-flip-card:focus-visible{outline-offset:3px;outline:3px solid #3b5bdb75}.frequency-card-face{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:28px 24px;display:flex}.frequency-card-face>strong{overflow-wrap:anywhere;max-width:100%;font-size:clamp(2.1rem,9vw,3.35rem);line-height:1.05}.frequency-card-face>small{opacity:1;margin-top:9px;font-size:.9rem}.frequency-card-front p{color:var(--c-subtle);margin:32px 0 0;font-size:.8rem}.frequency-card-kicker{letter-spacing:.1em;opacity:1;margin-bottom:14px;font-size:.72rem;font-weight:800}.frequency-card-back{color:#fff}.frequency-card-back h3{margin:12px 0 0;font-size:1.3rem}.frequency-card-forms{color:#ffffffc7;margin:10px 0 0;font-size:.76rem}.frequency-card-forms p{margin:3px 0}.frequency-card-forms span{color:#fff;min-width:4.7rem;font-weight:800;display:inline-block}.frequency-example{border-top:1px solid #ffffff38;width:100%;margin-top:22px;padding-top:17px}.frequency-example p{margin:0;font-weight:700}.frequency-example small{color:#ffffffc2;margin-top:6px;display:block}.frequency-speak{width:100%;margin-top:10px}.frequency-session .progress-fill{background:linear-gradient(90deg, var(--c-blue-500) 0%, #6366f1 55%, #7c3aed 100%)}.frequency-session .flashcard-grade-prompt{color:var(--c-muted)}.frequency-session-finished{text-align:center;width:min(100%,560px);margin:0 auto}.frequency-session-finished h2{margin-top:4px}.frequency-session-finished .frequency-actions{margin-top:16px}@media (width<=420px){.frequency-dashboard{border-radius:18px;padding:15px}.frequency-settings{grid-template-columns:1fr}.frequency-actions{flex-direction:column}.frequency-today-row{flex-direction:column;gap:3px}.frequency-flip-card{border-radius:22px;min-height:300px}.frequency-card-face{padding:24px 18px}}.grammar-flashcard{margin-top:4px}.grammar-flashcard-shell{margin-top:8px}.grammar-flashcard-card{aspect-ratio:3/4.3}.grammar-front{justify-content:center}.grammar-front-body{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:8px 22px 26px;display:flex}.grammar-kind-pill{letter-spacing:.04em;color:#2a4d5a;background:#78b4c829;border:1px solid #78aac842;border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-block}.grammar-front-title{letter-spacing:-.01em;font-size:1.5rem;font-weight:700;line-height:1.28}.grammar-card-mistake .grammar-front-title{font-style:italic}.grammar-front-sub{color:#1e2c2aa8;margin:0;font-size:.84rem;font-weight:500;line-height:1.5}.grammar-back{justify-content:flex-start;align-items:stretch;padding:20px 18px;overflow-y:auto}.grammar-back .nature-back-tag{align-self:center}.grammar-back-body{text-align:left;flex-direction:column;gap:12px;width:100%;display:flex}.grammar-back-line{flex-direction:column;gap:3px;display:flex}.grammar-back-text{align-items:flex-start;gap:8px;margin:0;font-size:1.04rem;font-weight:600;line-height:1.45;display:flex}.grammar-back-text>span{flex:1}.grammar-back-zh{color:#ffffffd1;margin:0;font-size:.84rem;font-weight:500;line-height:1.5}.grammar-back-note{color:#ffffffe0;border-top:1px solid #ffffff47;margin:4px 0 0;padding-top:10px;font-size:.84rem;font-weight:500;line-height:1.5}.grammar-pairs{flex-direction:column;gap:14px;display:flex}.grammar-pair{background:#ffffff1f;border-radius:14px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.grammar-pair-a,.grammar-pair-b{align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;line-height:1.35;display:flex}.grammar-pair-a{color:#ffffffbd}.grammar-pair-text{flex:1}.grammar-mark{color:#ffffffdb;background:#ffffff29;border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.3em;height:1.3em;font-size:.74rem;font-weight:800;display:inline-flex}.grammar-mark-bad{color:#ffe6e1;background:#ffb4aa57}.grammar-mark-good{color:#e7ffe9;background:#96e6aa57}.grammar-speak-btn{margin:0}.grammar-mini-speak{color:#fff;cursor:pointer;background:#ffffff29;border:none;border-radius:10px;flex:none;padding:2px 8px;font-size:.9rem;line-height:1.2;transition:background .16s,transform .12s}.grammar-mini-speak:hover{background:#ffffff47;transform:translateY(-1px)}.grammar-mini-speak:active{transform:translateY(0)}.grammar-flashcard-nav{justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.grammar-nav-btn{flex:1;margin:0}.grammar-nav-btn:disabled{opacity:.45;cursor:not-allowed}.grammar-nav-count{text-align:center;color:#1e2c2ab3;flex:none;min-width:56px;font-size:.9rem;font-weight:600}.grammar-flashcard-exit{width:100%;margin-top:10px}.grammar-flashcard-entry{text-align:center;margin-top:16px}.grammar-flashcard-open-btn{margin:0}.grammar-flashcard-entry-hint{margin:8px 0 0;font-size:.82rem;line-height:1.5}.error-review-image{object-fit:contain;border-radius:14px;width:100%;max-width:140px;margin:4px auto 10px;display:block}.error-review-answer{font-weight:700}.error-review-confusable{opacity:.92}@media (prefers-reduced-motion:reduce){.grammar-mini-speak{transition:none}}[data-theme=focus] .debrief-card{background:var(--c-surface-1);border-color:var(--c-border-soft);box-shadow:none}[data-theme=focus] .cheatsheet-row,[data-theme=focus] .cheatsheet-detail{background:var(--c-surface-1);border-color:var(--c-border)}[data-theme=focus] .conjugation-cell{background:var(--c-surface-2);border-color:var(--c-border)}.celebration{margin:2px 0 12px;position:relative}.celebration-confetti{pointer-events:none;z-index:4;width:100vw;max-width:460px;height:320px;margin-left:-50vw;position:absolute;top:-10px;left:50%;overflow:hidden}@media (width>=480px){.celebration-confetti{margin-left:-230px}}.confetti-piece{opacity:0;width:7px;height:11px;animation:confettiFall var(--c-duration,2.4s) cubic-bezier(.32, .5, .66, 1) var(--c-delay,0s) forwards;border-radius:1.5px;position:absolute;top:-16px}@keyframes confettiFall{0%{opacity:0;transform:translateY(-16px)translate(0)rotate(0)}12%{opacity:.92}to{opacity:0;transform:translateY(320px) translateX(var(--c-drift,0)) rotate(660deg)}}.celebration-stars{z-index:5;justify-content:center;gap:10px;margin:2px 0;display:flex;position:relative}.celebration-star{color:#d9e0ea;animation:starPop .5s cubic-bezier(.34, 1.56, .64, 1) var(--star-delay,.2s) forwards;font-size:30px;line-height:1;transform:scale(0)}.celebration-star.filled{color:#fbbf24;text-shadow:0 2px 9px #fbbf2461}@keyframes starPop{0%{transform:scale(0)rotate(-28deg)}to{transform:scale(1)rotate(0)}}.celebration-caption{z-index:5;text-align:center;color:#64748b;margin:6px 0 0;font-size:.9rem;font-weight:600;animation:.5s .62s both feedbackReveal;position:relative}@media (prefers-reduced-motion:reduce){.confetti-piece{display:none}.celebration-star{animation:none;transform:scale(1)}.celebration-caption{animation:none}}[data-theme=focus] .celebration-star{color:#94a3b866}[data-theme=focus] .celebration-caption{color:#94a3b8}.streak-badge{color:#fff;background:linear-gradient(135deg,#fb923c,#f59e0b);border-radius:999px;align-self:center;align-items:center;gap:4px;margin:0 auto 8px;padding:5px 14px;font-size:.92rem;font-weight:700;animation:.45s cubic-bezier(.34,1.56,.64,1) streakPop;display:inline-flex;box-shadow:0 3px 12px #f59e0b4d}@keyframes streakPop{0%{opacity:0;transform:scale(.4)translateY(6px)}60%{opacity:1;transform:scale(1.12)translateY(0)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.streak-badge{animation:none}}.draggable-letter{touch-action:none;cursor:grab}.letter-btn.dragging{opacity:.32;transform:scale(.94)}.drag-letter-ghost{z-index:120;pointer-events:none;color:#2f6f5e;text-align:center;background:#fff;border-radius:13px;min-width:38px;padding:9px 13px;font-size:1.15rem;font-weight:800;animation:.16s ghostLift;position:fixed;transform:translate(-50%,-135%)rotate(-4deg);box-shadow:0 10px 26px #1f544642,0 2px 6px #0000001f}@keyframes ghostLift{0%{opacity:.4;transform:translate(-50%,-135%)rotate(-4deg)scale(.78)}to{opacity:1;transform:translate(-50%,-135%)rotate(-4deg)scale(1)}}[data-theme=focus] .drag-letter-ghost{background:var(--c-surface-2);color:var(--c-green-500);box-shadow:0 6px 20px #00000080}.mini-progress .bar i.route-fill-animate{transform-origin:0;animation:.85s cubic-bezier(.22,1,.36,1) routeFill}@keyframes routeFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.node-icon.route-node-lit{animation:.5s backwards nodeLit}@keyframes nodeLit{0%{opacity:.35;transform:scale(.55)}60%{transform:scale(1.14)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.mini-progress .bar i.route-fill-animate,.node-icon.route-node-lit{animation:none}}.progress-fill.progress-fill-eased{transition:width .5s cubic-bezier(.22,1,.36,1)}.question.question-enter{animation:.4s cubic-bezier(.22,1,.36,1) questionEnter}@keyframes questionEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.question.question-enter{animation:none}.progress-fill.progress-fill-eased{transition:none}}.swipe-stage{touch-action:pan-y;will-change:transform;transition:transform .2s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.swipe-stage{transition:none}}.error-review-card,.error-review-card.flashcard-flipped{aspect-ratio:auto;will-change:auto;width:100%;transition:none;transform:none}.error-review-card .nature-face{min-height:240px;position:relative;inset:auto;transform:none}.error-review-card .grammar-front{justify-content:flex-start}.error-review-card .grammar-front-body{text-align:left;align-items:stretch;padding:12px 20px 24px}.error-review-card .grammar-kind-pill{align-self:flex-start}.error-review-card .grammar-front-title{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;font-weight:500;line-height:1.6}.error-review-card:not(.flashcard-flipped) .flashcard-back,.error-review-card.flashcard-flipped .flashcard-front{display:none}.exam-navigation{margin-top:18px}.exam-navigation-status{color:var(--c-subtle);margin:0 0 8px;font-size:.875rem}.exam-navigation-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.exam-navigation-buttons .primary,.exam-navigation-buttons .secondary{white-space:normal;overflow-wrap:anywhere;width:auto;min-height:48px;margin:0;padding:12px 8px}.exam-submit-confirm{border:1px solid var(--c-blue-500);border-radius:var(--r-md);background:var(--c-surface-0);margin-top:14px;padding:14px}.exam-submit-confirm h3{margin:0 0 8px;font-size:1rem}.exam-submit-confirm p{margin:0 0 14px;font-size:.9375rem;line-height:1.6}.exam-reading{border-left:3px solid var(--c-blue-500);white-space:pre-line;overflow-wrap:anywhere;margin:16px 0;padding:16px 0 16px 14px;font-size:1rem;line-height:1.6}.exam-reading p{line-height:inherit}.exam-listening-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 6px;display:grid}.exam-listening-controls>button.secondary{white-space:nowrap;width:auto;min-height:48px;margin:0}.exam-listening-controls>button:first-child{grid-column:1/-1}.assessment-card .exam-unlock-guidance{color:var(--c-ink);line-height:1.5}@media (width>=480px){.exam-listening-controls{grid-template-columns:repeat(3,max-content)}.exam-listening-controls>button:first-child{grid-column:auto}}@media (width>=900px){.exam-reading{max-width:78ch;line-height:1.75}.exam-navigation>.exam-navigation-buttons{justify-content:flex-end;display:flex}.exam-navigation>.exam-navigation-buttons>button{min-width:108px;padding-inline:20px}.exam-navigation>.exam-navigation-buttons>button:first-child{margin-right:auto}}.exam-question{color:var(--c-ink);margin:18px 0 12px;font-size:1rem;font-weight:650;line-height:1.5}.exam-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exam-summary-grid article{text-align:left;box-shadow:none;padding:12px}.exam-summary-grid article:first-child{grid-column:1/-1}.exam-summary-grid article:first-child strong{font-size:1.75rem}.exam-summary-grid span{margin:4px 0 0;font-size:.875rem;line-height:1.5}.exam-review-section{border-top:1px solid var(--c-border);margin:16px 0;padding-top:14px}.exam-review-section>summary{cursor:pointer;padding:10px 0;font-weight:700;line-height:1.5}.exam-review-section>summary h3{font-size:1rem;display:inline}.exam-review-section>.debrief-card{box-shadow:none}.exam-recovery{padding:1rem;line-height:1.65}.exam-recovery h2{overflow-wrap:anywhere}.exam-recovery-actions{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}.exam-recovery-actions button{white-space:normal;flex:12rem;min-height:44px}.exam-save-status{overflow-wrap:anywhere;margin:.5rem 0 1rem;line-height:1.5}.exam-save-status button{min-height:44px;margin-top:.5rem;display:block}.exam-recovery .notice,.exam-save-status.notice{color:var(--c-ink)}.brand{color:var(--c-ink);white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.brand img{border-radius:9px;width:32px;height:32px}.brand>span{letter-spacing:-.045em;font-size:1.15rem;font-weight:800}.topbar>.brand{flex:none}.topbar-actions{margin-left:auto}.today-queue-title{letter-spacing:-.025em;align-items:center;gap:8px;margin:0;font-size:1.25rem;font-weight:750;line-height:1.45;display:flex}.today-mark{width:24px;height:24px;color:var(--c-brand);flex-shrink:0}.today-queue-rhythm{border-top:1px solid var(--c-border-soft);align-items:center;gap:12px;margin-top:18px;padding-top:14px;display:flex}.unit-number{color:var(--c-subtle);font-variant-numeric:tabular-nums;min-width:30px;padding-top:1px;font-size:1.15rem;font-weight:650;line-height:1.5}.unit-card.expanded .unit-number{color:var(--c-blue-600)}.unit-state{color:var(--c-subtle);flex:none;align-items:center;display:inline-flex}.unit-state svg{width:16px;height:16px}.unit-state.done{color:var(--c-green-500)}.unit-card.locked .unit-title-row strong{color:var(--c-muted)}.unit-head:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--c-blue-500);outline-offset:3px}.auth-shell{justify-content:center;min-height:100dvh}.auth-panel .brand{margin-bottom:20px}.auth-intro{color:var(--c-muted);margin:0;font-size:.9rem}@media (width>=960px){.app-shell:has(.today-queue){grid-template-columns:minmax(320px,1fr) minmax(0,2fr);align-content:start;column-gap:24px;padding-top:24px;display:grid}.app-shell:has(.today-queue)>.topbar{grid-column:1/-1;margin-bottom:20px}.app-shell:has(.today-queue)>.today-queue{grid-area:2/1/span 2;align-self:start;position:static}.app-shell:has(.today-queue)>.track-switch-card{grid-area:2/2}.app-shell:has(.today-queue)>.panel{grid-area:3/2}}@media (width<=420px){.app-shell{padding:12px 10px 24px}.today-queue{padding:14px}.panel{padding:12px}.brand>span{font-size:1rem}.user-menu-identity small{white-space:normal;max-width:10rem}.unit-head{gap:10px;padding:14px 4px}.unit-body{padding-inline:4px}}@media (prefers-reduced-motion:reduce){.route-fill-animate,.route-node-lit{animation:none}}.topbar:not(.immersive){flex-wrap:wrap}.unit-card.locked .mini-progress{display:none}.primary:disabled,.secondary:disabled,.action-btn:disabled{background:var(--c-surface-1);color:var(--c-subtle);border-color:var(--c-border-soft);box-shadow:none;cursor:not-allowed;opacity:1}.app-shell.immersive{max-width:1160px}.app-shell>.panel.fill{align-self:stretch;width:100%}.unit-identity{flex-direction:column;flex:0 0 36px;align-items:center;gap:2px;display:flex}.unit-symbol{object-fit:contain;width:28px;height:28px}.unit-identity .unit-number{min-width:0;padding:0;font-size:.75rem;line-height:1.3}.study-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.study-heading>h1,.panel .study-heading>h2{min-width:0;margin:0}.study-artwork{object-fit:cover;border-radius:9px;flex:none;width:96px;height:64px;display:block}.study-artwork.is-small{width:72px;height:48px}.frequency-dashboard-head{flex-wrap:wrap}.frequency-heading{flex:280px;align-items:flex-start;gap:12px;min-width:0;display:flex}.frequency-heading>div{min-width:0}.frequency-dashboard-head>button{flex:none;width:auto;min-height:44px}
