:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17181c;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #ffffff;--surface: #ffffff;--surface-2: #fbfaff;--surface-soft: #f8f7fb;--text: #171625;--muted: #666379;--faint: #ece8f3;--border: #d8d4e1;--accent: #7950f2;--danger: #c74938;--green: #3e8160;--warn: #a86a12}.app-fallback{min-height:100vh;padding:32px;display:grid;place-content:center;justify-items:center;gap:12px;color:#202124;background:#fff;text-align:center}.app-fallback strong{font-size:20px}.app-fallback span{color:#777582;font-size:13px}.app-fallback button{min-height:40px;padding:0 16px;border:1px solid #6558d9;border-radius:8px;color:#fff;background:#6558d9;font:inherit;font-weight:700;cursor:pointer}:root[data-theme=light]{color:#17181c;background:#fff;--bg: #ffffff;--surface: #ffffff;--surface-2: #fbfaff;--surface-soft: #f8f7fb;--text: #171625;--muted: #666379;--faint: #ece8f3;--border: #d8d4e1;--accent: #7950f2;--danger: #c74938;--green: #3e8160;--warn: #a86a12}:root[data-theme=dark]{color:#f0eef7;background:#101117;--bg: #101117;--surface: #181920;--surface-2: #20212a;--surface-soft: #1d1e27;--text: #f0eef7;--muted: #aaa7b8;--faint: #343640;--border: #4b4d59;--accent: #b59af8;--danger: #ef7d6c;--green: #83c69d;--warn: #e2b45f;--mantine-color-text: var(--text);--mantine-color-body: var(--bg);--mantine-color-dimmed: var(--muted)}*{box-sizing:border-box}html{max-width:100%;overflow-x:clip;scroll-behavior:smooth}body{margin:0;min-width:320px;max-width:100%;min-height:100vh;overflow-x:clip;background:var(--bg);transition:color .28s ease,background-color .28s ease}.seo-fallback{width:min(760px,calc(100% - 40px));margin:12vh auto;color:#17181c;text-align:center}.seo-fallback h1{font-size:clamp(32px,6vw,58px);line-height:1.08;letter-spacing:-.05em}.seo-fallback p{color:#625e55;line-height:1.8}button,textarea{font:inherit}button{color:inherit}button:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(pointer:coarse){.mantine-Button-root{min-height:40px}.mantine-ActionIcon-root{min-width:40px;min-height:40px}}.practice-app{width:min(1760px,calc(100% - 48px));min-height:100vh;margin:0 auto;display:flex;flex-direction:column}.nav{position:sticky;top:0;z-index:20;width:min(100%,1140px);height:76px;min-height:76px;margin-inline:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;overflow:visible;border-bottom:1px solid color-mix(in srgb,var(--faint) 70%,transparent);background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.logo{display:inline-flex;align-items:center;gap:10px;width:max-content;padding:0;border:0;color:var(--text);background:transparent;text-decoration:none;cursor:pointer}.logo>span{width:38px;height:38px;display:grid;place-items:center;color:var(--bg);background:var(--accent);border-radius:11px}.logo>span b{display:none;font-size:11px;font-weight:900;letter-spacing:-.04em}.logo strong{font-size:20px;letter-spacing:-.04em}.logo:hover>span{transform:rotate(-4deg) scale(1.04)}.logo>span{transition:transform .3s cubic-bezier(.22,1,.36,1)}.top-module-navigation{position:absolute;left:50%;min-width:0;width:max-content;max-width:calc(100% - 440px);display:flex;align-items:center;justify-content:center;gap:8px;padding:0;background:transparent;transform:translate(-50%)}.top-module-navigation::-webkit-scrollbar{display:none}.mobile-module-navigation{position:relative;display:none;min-width:0}.mobile-module-menu{display:none;min-width:0}.mobile-module-dropdown{position:absolute;top:calc(100% + 7px);left:0;z-index:30;width:228px;padding:6px;display:grid;gap:2px;border:1px solid var(--faint);border-radius:12px;background:var(--surface)}.mobile-module-item{min-height:40px;border-radius:8px;color:var(--muted);font-size:12px;font-weight:700}.mobile-module-item[data-active=true]{color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.mobile-module-item-progress{margin-top:4px;border-top:1px solid var(--faint)!important;border-radius:0 0 8px 8px}.top-nav-button{position:relative;flex:0 0 auto;min-height:44px;padding-inline:10px;border:0;border-radius:0;color:var(--muted);transition:color .2s ease,background-color .2s ease}.top-nav-button .mantine-Button-label{font-size:13px;font-weight:720;letter-spacing:.005em}.top-nav-button .mantine-Button-section{margin-inline-end:6px}.top-nav-button:hover,.top-nav-button[data-active=true]{color:var(--text);background:transparent}.top-nav-button[data-active=true]:after{content:"";position:absolute;right:8px;bottom:0;left:8px;height:2px;border-radius:2px;background:var(--accent)}.training-menu-dropdown{padding:8px;border-radius:15px;box-shadow:0 14px 32px #231d411c}.training-menu-dropdown .mantine-Menu-label{padding:8px 10px 5px;color:var(--muted);font-size:11px;font-weight:750}.training-menu-item{min-height:44px;border-radius:9px}.training-menu-item[data-active=true]{color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.mobile-module-group-label{padding:9px 10px 3px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.account-profile-trigger{padding-inline:5px 8px}.account-avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--accent);font-size:10px;font-weight:850}.account-name{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cloud-synced-icon{position:relative;width:18px;height:18px;display:inline-grid;place-items:center}.cloud-synced-icon>:last-child{position:absolute;right:-2px;bottom:-1px;padding:1px;border-radius:50%;color:var(--accent);background:var(--surface)}.navigation-progress{position:absolute;right:0;bottom:-1px;left:0;height:2px;overflow:hidden;pointer-events:none}.navigation-progress>span{display:block;width:42%;height:100%;border-radius:2px;background:var(--accent);animation:navigation-sweep .52s cubic-bezier(.22,1,.36,1) both}@keyframes navigation-sweep{0%{opacity:0;transform:translate(-115%) scaleX(.45)}25%{opacity:1}to{opacity:0;transform:translate(250%) scaleX(1.05)}}.nav-actions{min-width:0;justify-self:end;display:flex;align-items:center;gap:7px}.mantine-Input-input{border-color:color-mix(in srgb,var(--text) 25%,var(--border));background:var(--surface);box-shadow:0 1px 2px #20194209;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.mantine-Input-input:hover:not(:disabled):not(:focus){border-color:color-mix(in srgb,var(--text) 42%,var(--border))}.mantine-Input-input:focus,.mantine-Input-input:focus-within{border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)!important}.mantine-Input-input:focus-visible,.writing-response textarea:focus-visible,.dictation-input:focus-visible{outline:2px solid var(--accent)!important;outline-offset:2px}.mantine-Input-input::placeholder{color:color-mix(in srgb,var(--muted) 82%,transparent);opacity:1}.mantine-Select-dropdown,.mantine-Combobox-dropdown{border-color:var(--faint);background:var(--surface);box-shadow:0 14px 34px #14122629}.mantine-Combobox-group-label{color:var(--muted)}.mantine-Combobox-option{color:var(--text)}.mantine-Combobox-option:hover,.mantine-Combobox-option[data-combobox-active],.mantine-Combobox-option[data-checked]{color:var(--text);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.mantine-SegmentedControl-root{border:1px solid var(--faint);background:var(--surface)}.mantine-SegmentedControl-indicator{border:0;background:color-mix(in srgb,var(--accent) 10%,var(--surface));box-shadow:none}.mantine-SegmentedControl-control{border-color:transparent!important}.mantine-Button-root[data-variant=light]{border-color:transparent;background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.mantine-Button-root[data-variant=light]:hover{background:color-mix(in srgb,var(--accent) 15%,var(--surface))}.mantine-Button-root[data-variant=subtle]{border-color:transparent;background:transparent}.mantine-Button-root:disabled,.mantine-Button-root[data-disabled=true]{border-color:color-mix(in srgb,var(--faint) 72%,transparent)!important;color:color-mix(in srgb,var(--muted) 82%,transparent)!important;background:color-mix(in srgb,var(--accent) 5%,var(--surface))!important;opacity:.82}.best-score{display:flex;align-items:center;gap:6px;margin-right:4px;color:var(--muted);font-size:11px}.best-score svg{color:var(--accent)}.best-score strong{color:var(--text);font-size:13px}.home-dashboard{width:min(100%,1080px);margin:0 auto;padding:82px 0 66px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.82fr);align-items:center;gap:64px}.home-dashboard-copy{max-width:650px}.home-dashboard>*{min-width:0}.home-dashboard-copy{animation:gentle-rise .65s cubic-bezier(.22,1,.36,1) both}.home-dashboard-copy>*{animation:hero-piece-in .6s cubic-bezier(.22,1,.36,1) both}.home-dashboard-copy>*:nth-child(1){animation-delay:40ms}.home-dashboard-copy>*:nth-child(2){animation-delay:.11s}.home-dashboard-copy>*:nth-child(3){animation-delay:.18s}.home-dashboard-copy>*:nth-child(4){animation-delay:.25s}.home-dashboard-copy>*:nth-child(5){animation-delay:.32s}.home-dashboard-copy>*:nth-child(6){animation-delay:.39s}@keyframes hero-piece-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.home-eyebrow{margin-bottom:20px}.home-dashboard h1{max-width:680px;margin:0;color:var(--text);font-size:clamp(43px,4.65vw,62px);line-height:1.12;letter-spacing:-.035em;text-wrap:balance}.home-dashboard[data-language=en] h1{max-width:980px;line-height:1.15;letter-spacing:-.018em;word-spacing:.035em}.home-dashboard[data-language=zh] h1{max-width:860px;line-height:1.2;letter-spacing:-.022em}.hero-title-accent{display:block;color:var(--accent)}.hero-title-tail{white-space:nowrap}.home-dashboard-copy>p{max-width:760px;margin:30px 0 0;color:var(--muted);font-size:15px;line-height:2}.home-dashboard[data-language=en] .home-dashboard-copy>p{max-width:820px;line-height:2.05;letter-spacing:.008em;word-spacing:.025em}.home-dashboard[data-language=zh] .home-dashboard-copy>p{max-width:760px;line-height:2.1;letter-spacing:.018em}.home-cta-group{margin-top:36px}.home-cta-group a{text-decoration:none}.home-next-focus{max-width:590px;margin-top:22px;padding-left:14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;border-left:2px solid color-mix(in srgb,var(--accent) 72%,transparent)}.home-next-focus-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.home-next-focus .mantine-Badge-root{flex:0 0 auto}.home-trust-row{margin-top:24px;display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px}.home-trust-row span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.home-trust-row svg{color:var(--green)}.review-preview{position:relative;overflow:visible;border-color:color-mix(in srgb,var(--accent) 26%,var(--faint));background:var(--surface);box-shadow:0 18px 48px #38317c14;animation:preview-in .72s .1s cubic-bezier(.22,1,.36,1) both}.review-preview:before{content:"";position:absolute;top:34px;left:-5px;width:5px;height:66px;border-radius:5px;background:var(--accent)}.home-float-chip{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--faint));border-radius:10px;color:var(--muted);background:var(--surface);box-shadow:0 12px 34px #28235e1a;font-size:10px;font-weight:700;white-space:nowrap}.home-float-chip svg{color:var(--accent)}.home-float-chip-top{top:-18px;right:24px;animation:chip-drift-top 4.6s ease-in-out infinite}.home-float-chip-bottom{right:-18px;bottom:38px;animation:chip-drift-bottom 5.4s .7s ease-in-out infinite}@keyframes chip-drift-top{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(1deg)}}@keyframes chip-drift-bottom{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(6px) rotate(-1deg)}}.review-preview-kicker{color:var(--accent);letter-spacing:.12em}.review-count-badge{min-width:44px;flex:0 0 auto;justify-content:center;overflow:visible}.review-count-badge .mantine-Badge-label{overflow:visible;text-overflow:clip}.review-preview h2{margin:8px 0 0;color:var(--text);font-size:22px;letter-spacing:-.035em}.review-preview-description{margin-top:12px;color:var(--muted);line-height:1.7}.home-skill-preview{padding:32px}.home-skill-preview-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;padding-bottom:22px;border-bottom:1px solid color-mix(in srgb,var(--faint) 70%,transparent)}.home-skill-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;color:#fff;background:var(--accent);font-size:16px;font-weight:900;letter-spacing:-.03em;box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 24%,transparent)}.home-skill-preview-head h2{margin-top:5px;font-size:21px}.home-skill-bars{display:grid;gap:17px;padding:25px 0 22px}.home-skill-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(120px,1.5fr) 38px;align-items:center;gap:12px}.home-skill-row>.mantine-Text-root:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-skill-track{height:8px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--faint) 58%,transparent)}.home-skill-track span{display:block;width:var(--skill-width);height:100%;border-radius:inherit;background:var(--skill-color);transform-origin:left;animation:skill-bar-grow .9s var(--skill-delay) cubic-bezier(.22,1,.36,1) both}.home-skill-row.is-empty{grid-template-columns:minmax(110px,1fr) minmax(120px,1.5fr) 52px}.home-skill-track.is-empty{position:relative;overflow:visible;border:1px dashed color-mix(in srgb,var(--faint) 82%,transparent);background:transparent}.home-skill-track.is-empty:before{content:"";position:absolute;top:50%;left:-1px;width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--accent) 72%,var(--surface));transform:translateY(-50%);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 9%,transparent);animation:baseline-pulse 2.4s ease-in-out infinite}.home-skill-value{text-align:right;white-space:nowrap}.home-skill-row.is-empty .home-skill-value{color:var(--muted);font-size:10px;font-weight:700}.home-skill-preview-footer{padding-top:15px;display:flex;align-items:center;gap:8px;border-top:1px solid color-mix(in srgb,var(--faint) 70%,transparent);color:var(--muted);font-size:11px}.home-skill-preview-footer svg{color:var(--green)}.home-skill-empty-state{min-height:360px;display:grid;grid-template-rows:auto 1fr auto;align-items:center;text-align:center}.home-skill-empty-state>.review-preview-kicker{justify-self:center;color:var(--accent);letter-spacing:.12em}.home-skill-orbit{position:relative;width:190px;height:190px;margin:2px auto 0;display:grid;place-items:center}.home-skill-orbit-ring{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px dashed color-mix(in srgb,var(--accent) 34%,var(--faint));border-radius:50%;animation:orbit-ring-spin 18s linear infinite}.home-skill-orbit-ring:after{content:"";position:absolute;top:28px;right:28px;bottom:28px;left:28px;border:1px solid color-mix(in srgb,var(--faint) 72%,transparent);border-radius:50%}.home-skill-orbit-core{position:relative;z-index:2;width:68px;height:68px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--faint));border-radius:20px;color:#fff;background:var(--accent);font-size:18px;font-weight:900;letter-spacing:-.04em;box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 18%,transparent);animation:orbit-core-breathe 3.2s ease-in-out infinite}.home-skill-orbit-node{position:absolute;z-index:3;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--faint);border-radius:12px;color:var(--accent);background:var(--surface);box-shadow:0 8px 20px #25204f12;animation:orbit-node-float 3s ease-in-out infinite}.home-skill-orbit-node.node-1{top:0;left:76px;animation-delay:-.2s}.home-skill-orbit-node.node-2{top:76px;right:0;animation-delay:-.9s}.home-skill-orbit-node.node-3{bottom:0;left:76px;animation-delay:-1.6s}.home-skill-orbit-node.node-4{top:76px;left:0;animation-delay:-2.3s}.home-skill-empty-copy{display:grid;justify-items:center;gap:8px}.home-skill-empty-copy h2{max-width:330px;margin:0;font-size:22px;line-height:1.15;letter-spacing:-.035em}.home-skill-empty-copy>.mantine-Text-root{max-width:360px;line-height:1.65}.home-skill-empty-copy .mantine-Button-root{margin-top:5px}@keyframes skill-bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes baseline-pulse{0%,to{opacity:.62;transform:translateY(-50%) scale(.9)}50%{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes orbit-ring-spin{to{transform:rotate(360deg)}}@keyframes orbit-core-breathe{0%,to{transform:scale(.97);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 14%,transparent)}50%{transform:scale(1.03);box-shadow:0 15px 34px color-mix(in srgb,var(--accent) 23%,transparent)}}@keyframes orbit-node-float{0%,to{transform:translateY(2px)}50%{transform:translateY(-5px)}}.home-stats-strip{width:min(100%,1080px);margin:0 auto 46px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--faint);border-bottom:1px solid var(--faint)}.home-stat-item{min-height:104px;padding:20px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px;border-right:1px solid var(--faint);text-align:center}.home-stat-item:last-child{border-right:0}.home-stat-item strong{color:var(--text);font-size:28px;letter-spacing:-.045em}.home-stat-item span{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.review-stage-meta .mantine-Badge-root{flex:0 0 auto}.review-progress-block{margin-top:24px}.review-task-list{margin-top:20px}.review-task{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;border-color:var(--faint);background:var(--surface);transition:border-color .25s ease,background-color .25s ease}.review-task.completed{border-color:color-mix(in srgb,var(--green) 28%,var(--faint));background:color-mix(in srgb,var(--green) 4%,var(--surface))}.review-task-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.review-task.completed .review-task-icon{color:var(--green);background:color-mix(in srgb,var(--green) 11%,transparent)}.review-task-copy{min-width:0}.review-mastery-label{flex:0 0 auto}.review-mastery-progress{min-width:70px;flex:1}.review-task .mantine-Button-root{width:34px;padding:0}.review-task.featured{margin-top:20px}.review-baseline{margin-top:20px;padding-top:17px;display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:24px;border-top:1px solid color-mix(in srgb,var(--faint) 68%,transparent)}.review-baseline>div{display:flex;align-items:baseline;gap:4px}.review-baseline strong{color:var(--text);font-size:23px;letter-spacing:-.04em}.review-baseline span{color:var(--muted);font-size:9px;text-transform:uppercase}@keyframes preview-in{0%{opacity:0;transform:translateY(14px) rotate(1deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes preview-float{0%,to{translate:0 0}50%{translate:0 -6px}}.page-view{width:100%;min-width:0;max-width:100%;min-height:calc(100vh - 77px);animation:page-reveal .38s cubic-bezier(.22,1,.36,1)}.workspace-shell{width:min(100%,960px);margin:0 auto;padding:28px 0 56px}.workspace-content{width:100%;min-width:0}.workspace-content .practice-stage{width:min(100%,920px);margin:0 auto;padding-top:10px}.progress-recommendation{width:min(100%,1080px);margin:0 auto 22px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}.progress-recommendation-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,transparent)}.page-intro{width:min(100%,880px);margin:0 auto;padding:66px 0 34px}.page-intro h1{max-width:760px;margin:10px 0 12px;overflow-wrap:anywhere;color:var(--text);font-size:clamp(36px,5.2vw,58px);line-height:1.04;letter-spacing:-.055em}.page-intro>.mantine-Text-root:last-child{max-width:690px;font-size:14px;line-height:1.8}.progress-page-intro{width:min(100%,1080px)}.progress-page-intro h1{max-width:940px;margin-bottom:18px;overflow-wrap:normal;text-wrap:balance;line-height:1.15;letter-spacing:-.025em}.progress-page-intro[data-language=en] h1{max-width:980px;margin-bottom:18px;font-size:clamp(38px,4.35vw,53px);line-height:1.15;letter-spacing:-.018em;word-spacing:.035em}.progress-page-intro>.mantine-Text-root:last-child{max-width:760px;line-height:2}.progress-page-intro[data-language=en]>.mantine-Text-root:last-child{max-width:800px;letter-spacing:.008em;word-spacing:.02em}.progress-page-intro[data-language=zh]>.mantine-Text-root:last-child{letter-spacing:.015em}@keyframes page-reveal{0%{opacity:0}to{opacity:1}}.home-loop{width:min(100%,1080px);margin:0 auto 64px;padding-top:20px}.home-loop-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,440px);align-items:end;gap:46px;margin-bottom:22px}.home-loop-heading h2{margin:8px 0 0;color:var(--text);font-size:clamp(27px,3.5vw,40px);line-height:1.08;letter-spacing:-.045em}.home-loop-heading>.mantine-Text-root{line-height:1.75}.home-loop-card{min-height:218px;display:flex;flex-direction:column;border-color:color-mix(in srgb,var(--faint) 78%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent);animation:loop-card-in .55s var(--loop-delay) cubic-bezier(.22,1,.36,1) both;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s ease,background-color .3s ease}.home-loop-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 38%,var(--faint));background:var(--surface)}.home-loop-card h3{margin:28px 0 8px;color:var(--text);font-size:17px;letter-spacing:-.025em}.home-loop-card>.mantine-Text-root{line-height:1.7}.home-loop-card>.mantine-Button-root{width:max-content;margin-top:auto;margin-left:-10px}.home-loop-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);transition:transform .3s cubic-bezier(.22,1,.36,1)}.home-loop-card:hover .home-loop-icon{transform:rotate(-5deg) scale(1.06)}@keyframes loop-card-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.home-guide{width:min(100%,1080px);margin:0 auto 76px;padding-top:54px;border-top:1px solid var(--faint)}.home-guide-heading{max-width:780px}.home-guide-heading h2{margin:10px 0 14px;color:var(--text);font-size:clamp(30px,4vw,46px);line-height:1.12;letter-spacing:-.045em;text-wrap:balance}.home-guide-heading>.mantine-Text-root:last-child{max-width:720px;font-size:14px;line-height:1.85}.home-guide-principles{margin-top:30px}.home-guide-principle{min-height:245px;border-color:color-mix(in srgb,var(--faint) 80%,transparent);background:var(--surface)}.home-guide-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.home-guide-principle h3{margin:28px 0 9px;color:var(--text);font-size:17px;line-height:1.35;letter-spacing:-.02em}.home-guide-principle>.mantine-Text-root{line-height:1.8}.home-guide-detail-grid{margin-top:18px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);gap:18px;align-items:start}.home-guide-metrics{padding:30px 30px 16px}.home-guide-metrics h3,.home-guide-plan h3,.home-guide-faq h3{margin:0;color:var(--text);font-size:23px;letter-spacing:-.035em}.home-guide-metrics>.mantine-Text-root{margin-top:9px;line-height:1.75}.home-guide-metrics dl{margin:23px 0 0}.home-guide-metrics dl>div{padding:15px 0;display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;border-top:1px solid color-mix(in srgb,var(--faint) 72%,transparent)}.home-guide-metrics dt{color:var(--text);font-size:12px;font-weight:800}.home-guide-metrics dd{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.home-guide-plan{border-color:color-mix(in srgb,var(--accent) 25%,var(--faint));background:color-mix(in srgb,var(--accent) 3%,var(--surface))}.home-guide-plan h3{margin-top:8px}.home-guide-plan>.mantine-Text-root:nth-of-type(2){margin-top:8px;line-height:1.75}.home-guide-plan ol{margin:24px 0 0;padding:0;list-style:none}.home-guide-plan li{min-height:58px;padding:9px 0;display:grid;grid-template-columns:62px minmax(0,1fr);gap:14px;border-top:1px solid color-mix(in srgb,var(--faint) 70%,transparent)}.home-guide-plan li>span{padding-top:2px;color:var(--accent);font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;text-transform:uppercase}.home-guide-plan li strong{color:var(--text);font-size:12px}.home-guide-plan li p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.home-guide-faq{margin-top:46px}.home-guide-faq .mantine-Button-root{text-decoration:none}.home-guide-faq .mantine-Accordion-item{border-color:var(--faint);background:var(--surface)}.home-guide-faq .mantine-Accordion-control{min-height:54px;color:var(--text);font-size:13px;font-weight:750}.home-guide-faq .mantine-Accordion-panel{color:var(--muted);font-size:12px;line-height:1.8}.home-feature-hub{margin-top:8px;margin-bottom:26px}.page-view .feature-card{animation:feature-card-in .5s cubic-bezier(.22,1,.36,1) both}.page-view .feature-card:nth-child(2){animation-delay:55ms}.page-view .feature-card:nth-child(3){animation-delay:.11s}.page-view .feature-card:nth-child(4){animation-delay:165ms}.page-view .feature-card:nth-child(5){animation-delay:.22s}.page-view .feature-card:nth-child(6){animation-delay:275ms}@keyframes feature-card-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.coach-recommendation{width:min(100%,1080px);margin:0 auto 6px;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,auto);align-items:center;gap:22px;border-color:color-mix(in srgb,var(--accent) 24%,var(--faint));background:var(--surface)}.coach-icon{width:52px;height:52px;display:grid;place-items:center;align-self:start;border-radius:15px;color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,transparent)}.coach-copy{min-width:0}.coach-kicker{color:var(--accent);letter-spacing:.12em}.coach-copy h2{margin:7px 0 0;color:var(--text);font-size:clamp(22px,2.8vw,31px);line-height:1.12;letter-spacing:-.045em}.coach-copy h3{margin:15px 0 6px;color:var(--text);font-size:15px;letter-spacing:-.02em}.coach-copy p{max-width:680px;margin:0;font-size:12px;line-height:1.75}.coach-action{min-width:220px;display:flex;align-items:flex-end;flex-direction:column;gap:13px;text-align:right}.coach-action .mantine-Button-root{text-decoration:none}.practice-stage{width:min(100%,920px);margin:0 auto;padding:28px 0 32px;transition:padding .45s cubic-bezier(.22,1,.36,1)}.site-hero{max-width:780px;margin:0 auto 42px;text-align:center;animation:gentle-rise .65s cubic-bezier(.22,1,.36,1) both}.site-hero h1{margin:18px 0 14px;color:var(--text);font-size:clamp(36px,6vw,64px);line-height:1.04;letter-spacing:-.06em}.site-hero>p{max-width:720px;margin:0 auto;color:var(--muted);font-size:14px;line-height:1.85}.site-hero>small{display:block;margin-top:14px;color:var(--muted);font-size:10px}@keyframes gentle-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.control-bar{position:relative;width:100%;min-height:52px;margin:0 0 34px;padding:10px!important;overflow:visible;box-shadow:none!important}.control-bar-main{width:100%}.practice-select{width:auto;min-width:280px;flex:1 1 340px}.practice-mode-control{width:100%;margin:10px 0 0;padding-top:11px;border-top:1px solid color-mix(in srgb,var(--faint) 72%,transparent)}.practice-mode-control .mantine-SegmentedControl-label{min-height:36px;display:grid;place-items:center;white-space:normal;line-height:1.2}.template-trigger{min-width:230px;height:38px;padding:0 13px;display:flex;align-items:center;gap:9px;border-radius:10px;background:transparent;text-align:left}.template-trigger:hover{background:var(--surface-2)}.template-trigger>span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent);font-size:10px}.template-trigger strong{flex:1;font-size:12px;font-weight:650}.template-trigger svg{color:var(--muted);transition:transform .2s}.template-trigger svg.rotated{transform:rotate(180deg)}.settings-trigger{height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;border-radius:9px;color:var(--muted);background:transparent;font-size:10px}.settings-trigger:hover{color:var(--text);background:var(--surface-2)}.time-tabs{display:flex;gap:2px;padding-left:5px;border-left:1px solid #333740}.time-tabs button{width:40px;height:34px;border-radius:8px;color:var(--muted);background:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.time-tabs button:hover{color:var(--text);background:var(--surface-2)}.time-tabs button.active{color:var(--bg);background:var(--accent);font-weight:800}.shuffle-button{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;color:var(--muted);background:transparent}.shuffle-button:hover{color:var(--accent);background:var(--surface-2)}.template-menu{position:absolute;left:0;top:57px;z-index:20;width:390px;padding:10px;border:1px solid #30343d;border-radius:15px;background:#1b1e24;box-shadow:0 25px 65px #0000007a;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px) scale(.985);transform-origin:top left;transition:opacity .2s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s linear .28s}.template-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);transition-delay:0s}.menu-label{padding:7px 10px 10px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.template-option{position:relative;display:flex;align-items:center;border-radius:10px}.template-option:hover,.template-option.selected{background:var(--surface-2)}.template-select{width:100%;min-height:55px;padding:8px 42px 8px 10px;display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;border-radius:10px;background:transparent;text-align:left}.template-select>span{color:var(--muted);font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.template-select>div{display:flex;flex-direction:column;gap:3px}.template-menu small{color:var(--accent);font-size:8px;letter-spacing:.1em;text-transform:uppercase}.template-menu strong{font-size:12px}.template-menu svg{color:var(--accent)}.delete-template{position:absolute;right:7px;width:31px;height:31px;display:grid;place-items:center;border-radius:8px;color:#626772;background:transparent}.delete-template:hover{color:var(--danger);background:#e86a581a}.delete-template svg{color:inherit}.import-template-button{width:100%;height:42px;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px;border-top:1px solid #30343d!important;border-radius:0 0 9px 9px;color:var(--accent);background:transparent;font-size:10px;font-weight:750}.import-template-button:hover{background:var(--surface-2)}.exercise-header{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:30px;transition:opacity .2s}.category{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:10px;font-weight:760;letter-spacing:.1em;text-transform:uppercase}.exercise-header h2{margin:9px 0 7px;color:var(--text);font-size:clamp(30px,4vw,43px);line-height:1.04;letter-spacing:-.05em}.exercise-header p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}.countdown{min-width:116px;padding:10px 13px;border:1px solid color-mix(in srgb,var(--faint) 78%,transparent);border-radius:11px;background:color-mix(in srgb,var(--surface) 72%,transparent);text-align:center;cursor:pointer}.countdown:hover{border-color:color-mix(in srgb,var(--accent) 36%,var(--faint));background:var(--surface)}.countdown small{display:block;margin-bottom:3px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.countdown strong{color:var(--accent);font-family:inherit;font-size:27px;font-weight:760;line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.countdown.urgent strong{color:var(--danger);animation:blink 1s steps(2) infinite}.shared-countdown{min-width:132px;min-height:56px;padding:9px 12px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 7px;border:1px solid color-mix(in srgb,#7950f2 38%,var(--border));border-radius:11px;color:#7950f2;background:color-mix(in srgb,#7950f2 10%,var(--surface));font:inherit;text-align:left}:root[data-theme=dark] .shared-countdown{border-color:color-mix(in srgb,#b59af8 42%,var(--border));color:#b59af8;background:color-mix(in srgb,#b59af8 12%,var(--surface))}.shared-countdown span{color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.04em}.shared-countdown strong{grid-column:1 / -1;font-size:24px;font-weight:850;line-height:1.05;text-align:center;font-variant-numeric:tabular-nums}.shared-countdown.urgent{border-color:color-mix(in srgb,var(--danger) 46%,var(--border));color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,var(--surface))}.shared-countdown.urgent strong{animation:blink 1s steps(2) infinite}.shared-countdown.compact{min-width:112px;min-height:48px;padding:7px 10px}.shared-countdown.compact strong{font-size:20px}.shared-countdown.interactive{cursor:pointer}.shared-countdown.interactive:focus-visible{outline:2px solid currentColor;outline-offset:2px}@keyframes blink{50%{opacity:.45}}.setup-reveal{display:grid;grid-template-rows:0fr;margin:0;opacity:0;visibility:hidden;transform:translateY(-7px);transition:grid-template-rows .48s cubic-bezier(.22,1,.36,1),margin .48s cubic-bezier(.22,1,.36,1),opacity .32s ease,transform .42s cubic-bezier(.22,1,.36,1),visibility 0s linear .48s}.setup-reveal.open{grid-template-rows:1fr;margin:0 0 38px;opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}.setup-reveal-inner{min-height:0;overflow:hidden}.setup-card{margin:0;overflow:hidden}.setup-heading{display:flex;justify-content:space-between;gap:30px;padding-bottom:20px;border-bottom:1px solid #2d3038}.setup-heading span{color:var(--accent);font:800 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em}.setup-heading h2{margin:7px 0 0;color:var(--text);font-size:18px;letter-spacing:-.025em}.setup-heading p{max-width:330px;margin:0;color:var(--muted);font-size:11px;line-height:1.7}.setup-heading code{padding:2px 5px;border-radius:4px;color:var(--accent);background:#252932;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.practice-presets{padding:20px 0 2px}.practice-preset-card{min-width:0;background:var(--surface);transition:border-color .2s ease,background-color .2s ease}.practice-preset-card.active{border-color:color-mix(in srgb,var(--green) 45%,var(--faint));background:color-mix(in srgb,var(--green) 5%,var(--surface))}.practice-preset-card>.mantine-Group-root>div{min-width:0}.practice-preset-card .mantine-Badge-root{flex:0 0 auto}.slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px 0}.slot-grid .mantine-InputWrapper-root{min-width:0}.slot-grid .mantine-InputWrapper-label{color:var(--muted);font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace}.no-slots{margin:22px 0;padding:15px;display:flex;align-items:center;gap:8px;border-radius:10px;color:var(--green);background:#79b79114;font-size:11px}.setup-footer{padding-top:18px;border-top:1px solid #2d3038;display:flex;align-items:center;justify-content:space-between;gap:18px}.custom-timer{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.custom-timer>svg{color:var(--accent)}.custom-timer>span{margin-right:2px}.custom-timer i{color:#525761;font-style:normal}.listening-panel{margin:-5px 0 20px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 16px;border-color:color-mix(in srgb,var(--accent) 20%,var(--faint));background:var(--surface)}.listening-panel-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.listening-panel-copy{min-width:0}.listening-question-toolbar{grid-column:1 / -1;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--faint)}.listening-bank-button{min-height:38px;font-weight:800}.listening-exam-stage{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) 164px;align-items:start;padding-block:16px!important;column-gap:28px;row-gap:10px;border:0;border-radius:0;border-top:1px solid var(--faint);background:transparent}.listening-exam-prompt{max-width:560px}.listening-exam-answer,.dictation-composer{min-width:0}.dictation-input{width:100%;height:132px;padding:16px 18px;resize:vertical;border:2px solid color-mix(in srgb,var(--accent) 48%,var(--border));border-radius:var(--mantine-radius-md);outline:0;color:var(--text);background:var(--surface-soft);font:500 16px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.dictation-input:hover{border-color:color-mix(in srgb,var(--accent) 68%,var(--border))}.dictation-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.dictation-input::placeholder{color:var(--muted)}.dictation-input:disabled{opacity:.65;cursor:not-allowed}.dictation-toolbar{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:16px}.dictation-primary-actions{flex:0 0 auto}.dictation-primary-actions .shared-countdown{min-height:38px;min-width:104px;padding-block:4px}.dictation-primary-actions .shared-countdown strong{font-size:17px}.dictation-navigation{min-width:0}.listening-primary-player{grid-column:2;grid-row:1 / span 2;align-self:center;display:grid;justify-items:center;gap:8px;text-align:center}.listening-plays-left{color:var(--accent);font-variant-numeric:tabular-nums}.listening-play-orb{width:70px;height:70px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:50%;color:#fff;background:var(--accent);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 20%,transparent);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.listening-play-orb:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 11px 24px color-mix(in srgb,var(--accent) 25%,transparent)}.listening-play-orb:active:not(:disabled){transform:scale(.97)}.listening-play-orb:disabled{color:var(--muted);background:var(--surface-2);box-shadow:none;cursor:not-allowed;opacity:.72}.listening-stop-button{margin-top:2px}.listening-question-navigation{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:14px 0 2px;border-top:1px solid var(--faint)}.listening-question-navigation>:last-child{justify-self:end}.listening-answer-composer{min-height:0;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));border-radius:var(--mantine-radius-md);background:var(--surface)}.listening-answer-heading{position:relative;z-index:2;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border);pointer-events:none}.listening-answer-composer .capture-input{position:static;width:100%;height:150px;padding:14px 16px;opacity:1;resize:vertical;pointer-events:auto;border:1px solid color-mix(in srgb,var(--text) 25%,var(--border));border-radius:var(--mantine-radius-sm);outline:0;color:var(--text);background:var(--surface);font:500 16px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.listening-answer-composer .capture-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 14%,transparent)}.listening-answer-composer .capture-input::placeholder{color:var(--muted)}.listening-answer-composer:not([data-status=finished]):not([data-status=reviewing]) .text-display{display:none}.listening-answer-composer[data-status=finished] .capture-input,.listening-answer-composer[data-status=reviewing] .capture-input{display:none}.listening-answer-composer[data-status=finished] .text-display,.listening-answer-composer[data-status=reviewing] .text-display{min-height:120px;padding:16px;border:1px solid var(--border);border-radius:var(--mantine-radius-sm);background:var(--surface-soft)}.listening-answer-composer[data-status=finished] .text-display.listening-inline-result,.listening-answer-composer[data-status=reviewing] .text-display.listening-inline-result{display:none}.dictation-submit-button{min-width:126px;font-weight:850}.dictation-answer-comparison{margin-top:4px}.dictation-answer-card{min-height:118px;background:var(--surface)}.dictation-answer-card.is-reference{border-color:color-mix(in srgb,var(--accent) 34%,var(--border));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.dictation-result-differences{border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}.listening-answer-composer+.progress-line{margin-top:18px}.listening-answer-composer+.progress-line+.bottom-actions{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.answer-action-row{margin-top:14px;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--border)}.answer-action-row .bottom-actions{margin:0;padding:0;border:0}.listening-answer-composer~.answer-action-row{flex-wrap:nowrap}.listening-inline-navigation{padding-left:8px;border-left:1px solid var(--border)}.listening-revealed-answer{margin-top:12px;border-color:color-mix(in srgb,var(--accent) 24%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.listening-source-builder{grid-column:1 / -1;display:grid;gap:16px;margin-top:4px;padding:18px 0 0;border:0;border-top:1px solid var(--faint);border-radius:0;background:transparent}.listening-source-builder textarea{background:var(--surface);font:500 14px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.listening-filter-empty{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.listening-source-builder[data-practice-active] textarea{color:transparent;caret-color:transparent;-webkit-user-select:none;user-select:none}.listening-source-builder[data-practice-active] textarea::selection{color:transparent;background:transparent}.module-panel-collapse{grid-column:1 / -1;width:100%}.module-panel-collapse>div{padding-top:16px}.listening-panel-controls{display:grid;grid-template-columns:minmax(250px,1fr) auto auto auto;align-items:end;gap:12px;padding-top:16px;border-top:1px solid var(--faint)}.listening-panel-controls>.mantine-Group-root{grid-column:1 / -1;justify-content:flex-end}.listening-panel-controls>div>.mantine-Text-root{margin-bottom:6px;text-align:left}.reading-feedback-actions{margin-top:16px}.reading-feedback-actions .mantine-Button-root{min-width:132px}.reading-word-details{margin-top:14px}.reading-word-meaning,.reading-word-definition{white-space:pre-line}.listening-audio-loading{grid-column:1 / -1;padding:11px 13px;display:flex;align-items:center;gap:12px;color:var(--muted);background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.listening-audio-loading>span{height:24px;display:flex;align-items:center;gap:3px;color:var(--accent)}.listening-audio-loading i{width:3px;height:8px;border-radius:999px;background:currentColor;animation:audio-loading-wave 1.1s ease-in-out infinite}.listening-audio-loading i:nth-child(2){animation-delay:.12s}.listening-audio-loading i:nth-child(3){animation-delay:.24s}.listening-audio-loading i:nth-child(4){animation-delay:.36s}@keyframes audio-loading-wave{50%{height:22px}}.listening-playlist{grid-column:1 / -1;overflow:hidden;border:0;border-top:1px solid var(--faint);border-radius:0!important;background:transparent}.listening-playlist-head{padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--faint)}.listening-playlist-controls{min-height:54px;padding:9px 12px;display:grid;grid-template-columns:auto minmax(150px,auto) auto auto minmax(0,1fr);align-items:center;gap:8px;border-bottom:1px solid var(--faint)}.listening-playlist-controls>.mantine-Text-root{justify-self:end}.listening-now-playing{min-width:0;justify-self:stretch}.listening-now-playing>.mantine-Text-root:last-child{margin-top:3px;color:var(--text);font-weight:650}.listening-playlist-items{max-height:230px;overflow-y:auto;padding:6px}.listening-playlist-item{width:100%;min-height:48px;padding:8px 10px;display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:8px;border-radius:8px;color:var(--muted);text-align:left;transition:color .18s ease,background-color .18s ease}.listening-playlist-item:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 6%,transparent)}.listening-playlist-item[data-active]{color:var(--text);background:color-mix(in srgb,var(--accent) 10%,transparent)}.listening-playlist-item>span:first-child{color:var(--accent);font-size:10px;font-weight:850;font-variant-numeric:tabular-nums}.listening-playlist-item>svg{color:var(--accent)}.listening-playlist-pagination{padding:10px 12px 13px;display:flex;justify-content:center;border-top:1px solid var(--faint)}.speaking-practice-panel{margin:-5px 0 34px;border-color:color-mix(in srgb,var(--accent) 20%,var(--faint));background:var(--surface)}.speaking-practice-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px}.speaking-record-indicator{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.speaking-record-indicator.active{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);animation:recording-pulse 1.5s ease-in-out infinite}@keyframes recording-pulse{50%{transform:scale(.96);opacity:.72}}.speaking-prompt{margin-top:20px;padding-inline:0!important;color:var(--text);background:transparent}.speaking-transcript-panel{margin-top:16px;padding-inline:0!important;border-top:1px solid var(--faint)!important;border-radius:0!important;background:transparent}.speaking-transcript-panel textarea{font:500 14px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.speaking-record-controls{margin-top:18px;display:grid;grid-template-columns:auto minmax(200px,1fr) auto;align-items:center;gap:10px}.speaking-audio{width:100%;min-width:0;height:38px}.speaking-privacy{margin-top:14px;padding-top:13px;border-top:1px solid var(--faint);line-height:1.65}.writing-practice-panel{margin:-5px 0 34px;border-color:color-mix(in srgb,var(--accent) 20%,var(--faint));background:var(--surface)}.writing-stage-strip{margin:18px 0 0;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:center;gap:10px;background:color-mix(in srgb,var(--accent) 3%,var(--surface))}.writing-stage-strip>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;color:var(--muted)}.writing-stage-strip>div>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--faint);border-radius:50%;font-size:10px;font-weight:850}.writing-stage-strip>div>strong{font-size:11px}.writing-stage-strip>div>small{font-size:10px;font-variant-numeric:tabular-nums}.writing-stage-strip>div[data-active]{color:var(--text)}.writing-stage-strip>div[data-active]>span{color:#fff;border-color:var(--accent);background:var(--accent)}.writing-stage-strip>i{height:1px;background:var(--faint)}.writing-initial-response{margin-top:14px;border-left:3px solid var(--green);background:color-mix(in srgb,var(--green) 4%,var(--surface))}.writing-template-drill{margin:20px 0 14px;padding-inline:0!important;border:0;border-radius:0!important;background:transparent}.writing-template-drill>.mantine-Select-root{max-width:620px}.writing-template-mode{min-height:92px;padding:13px 14px;text-align:left}.writing-template-mode .mantine-Button-label{width:100%;white-space:normal}.writing-template-mode span{width:100%;display:grid;gap:5px}.writing-template-mode strong{color:var(--text);font-size:12px}.writing-template-mode small{color:var(--muted);font-size:10px;font-weight:500;line-height:1.55}.writing-practice-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px}.writing-practice-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.writing-prompt{margin-top:20px;color:var(--text);background:var(--surface)}.writing-practice-heading.is-simple{grid-template-columns:minmax(0,1fr)}.writing-task-settings{margin-top:12px;padding-inline:0!important;border:0;border-top:1px solid var(--faint);border-radius:0!important;background:transparent}.writing-exam-prompt{padding-inline:0!important;border:0;border-radius:0!important;background:transparent}.writing-exam-prompt .mantine-Text-root:last-child{max-width:780px;font-size:clamp(16px,1.8vw,19px)}.writing-prompt-input{margin-top:14px}.writing-prompt-input textarea{background:var(--surface);font-weight:600;line-height:1.7}.writing-composer{margin-top:20px;border:1px solid color-mix(in srgb,var(--text) 28%,var(--border));border-radius:var(--mantine-radius-md);background:var(--surface);transition:border-color .2s ease,box-shadow .2s ease}.writing-composer:focus-within{border-color:color-mix(in srgb,var(--accent) 56%,var(--faint));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}.writing-composer-toolbar{position:sticky;top:76px;z-index:3;min-height:62px;padding:11px 12px 11px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--faint);border-radius:calc(var(--mantine-radius-md) - 1px) calc(var(--mantine-radius-md) - 1px) 0 0;background:color-mix(in srgb,var(--accent) 3%,var(--surface))}.writing-composer-heading{min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.writing-composer-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px}.writing-inline-timer{min-width:150px;height:40px;padding:0 11px;display:grid;grid-template-columns:auto auto auto;align-items:center;justify-content:end;gap:7px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--faint));border-radius:9px;color:var(--muted);background:var(--surface)}.writing-inline-timer svg{color:var(--accent)}.writing-inline-timer span{font-size:10px;font-weight:750;letter-spacing:.04em}.writing-inline-timer strong{min-width:54px;color:var(--accent);font-size:19px;font-weight:800;line-height:1;letter-spacing:-.025em;text-align:right;font-variant-numeric:tabular-nums}.writing-composer.urgent .writing-inline-timer{border-color:color-mix(in srgb,var(--danger) 42%,var(--faint));background:color-mix(in srgb,var(--danger) 5%,var(--surface))}.writing-composer.urgent .writing-inline-timer svg,.writing-composer.urgent .writing-inline-timer strong{color:var(--danger)}.writing-time-track{height:3px;overflow:hidden;background:color-mix(in srgb,var(--accent) 10%,var(--faint))}.writing-time-track span{height:100%;display:block;background:var(--accent);transition:width 1s linear,background-color .2s ease}.writing-composer.urgent .writing-time-track span{background:var(--danger)}.writing-time-hint{margin:0;padding:8px 16px;color:var(--muted);border-bottom:1px solid var(--faint);background:color-mix(in srgb,var(--accent) 2%,var(--surface))}.writing-composer.urgent .writing-time-hint{color:var(--danger);background:color-mix(in srgb,var(--danger) 5%,var(--surface))}.writing-response{margin:0}.writing-response textarea{width:calc(100% - 24px);min-height:250px;margin:12px;padding:18px;border:1px solid color-mix(in srgb,var(--text) 25%,var(--border));border-radius:var(--mantine-radius-sm);color:var(--text);background:var(--surface-soft);font:500 15px/1.8 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.writing-response textarea:hover:not(:disabled):not(:focus){border-color:color-mix(in srgb,var(--text) 42%,var(--border))}.writing-response textarea:focus{border-color:var(--accent)!important;background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)!important}.writing-input-actions{min-height:68px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--faint);background:color-mix(in srgb,var(--accent) 2%,var(--surface))}.writing-check-bar{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 18px;background:var(--surface)}.deep-writing-check-bar{margin-top:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 18px;border-color:color-mix(in srgb,var(--accent) 24%,var(--faint));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.deep-writing-check-bar>div{min-width:0}.deep-writing-check-bar>.mantine-Button-root{flex:0 0 auto}.writing-check-bar>div{min-width:0}.writing-check-copy{min-width:0;overflow-wrap:anywhere}.writing-analysis-loading{grid-column:1 / -1;min-width:0;display:grid;grid-template-columns:minmax(180px,auto) minmax(160px,1fr) 42px;align-items:center;gap:12px;padding-top:13px;border-top:1px solid var(--faint)}.writing-check-bar>.mantine-Button-root{flex:0 0 auto}.writing-analysis-panel{margin-top:14px;background:var(--surface)}.deep-writing-analysis-panel{margin-top:14px;border-color:color-mix(in srgb,var(--accent) 25%,var(--faint));background:var(--surface)}.deep-writing-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--faint)}.deep-writing-list,.deep-writing-sentence{background:var(--surface)}.deep-writing-revised{color:var(--text);background:color-mix(in srgb,var(--accent) 3%,var(--surface));font-size:14px;line-height:1.85;white-space:pre-wrap}.writing-dimension-grid .mantine-Paper-root{background:var(--surface)}.writing-coach-note{border:1px solid color-mix(in srgb,var(--accent) 16%,var(--faint));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.writing-issues-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--faint)}.writing-issue{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface)}.writing-issue>div{min-width:0}.writing-status-row{margin-top:16px;display:block}.writing-actions{margin-top:14px;justify-content:center;padding-top:13px;border-top:1px solid var(--faint)}.history-writing-text{font-family:inherit;line-height:1.8}.typing-zone{position:relative;min-height:250px;cursor:text}.capture-input{position:fixed;left:-100px;top:50%;width:1px;height:1px;padding:0;opacity:.01;pointer-events:none}.text-display{max-width:100%;font:500 clamp(22px,2.45vw,30px) / 1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:-.025em;-webkit-user-select:none;user-select:none}.text-display span{position:relative;color:#555a64;white-space:pre-wrap;cursor:text;transition:color .07s,background .07s}.text-display .correct{color:#d2d0c8}.text-display .wrong{color:var(--danger);background:#e86a581a;border-radius:3px}.text-display .missing{color:#d29a42;background:#d29a421f;border-bottom:1px solid currentColor;border-radius:3px}.memory-preview-text{color:var(--text)!important}.memory-preview-countdown{margin-top:18px;padding:10px 13px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);background:color-mix(in srgb,var(--accent) 5%,var(--surface));font-size:11px}.memory-preview-countdown svg,.memory-preview-countdown strong{color:var(--accent)}.text-display .review-wrong:after{content:attr(data-expected);position:absolute;left:50%;bottom:-.7em;transform:translate(-50%);color:var(--danger);font-size:.42em;font-weight:800;line-height:1}.text-display .focus-entered{color:var(--text);background:transparent}.text-display .masked{color:transparent;border-bottom:1px solid color-mix(in srgb,var(--faint) 62%,transparent)}.text-display .initial-hint{color:var(--accent);font-weight:800}.text-display .current:before{content:"";position:absolute;left:-1px;top:.06em;width:2px;height:1.15em;border-radius:2px;background:var(--accent);animation:caret 1s steps(2) infinite}.text-display .end-current:after{content:"";position:absolute;right:-1px;top:.06em;width:2px;height:1.15em;border-radius:2px;background:var(--accent);animation:caret 1s steps(2) infinite}.text-display.focus-mode{min-height:2em}.text-display .focus-current:after,.text-display .focus-empty-caret:after{content:"";position:absolute;top:.06em;width:2px;height:1.15em;border-radius:2px;background:var(--accent);animation:caret 1s steps(2) infinite}.text-display .focus-current:after{right:-2px}.text-display .focus-empty-caret{position:relative;display:inline-block;width:0;color:transparent}.text-display .focus-empty-caret:after{left:0}.focus-empty-state{min-height:230px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:var(--muted);text-align:center}.focus-empty-state>span{width:44px;height:44px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--faint));border-radius:13px;color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface));animation:orbit-node-float 3s ease-in-out infinite}.focus-empty-state strong{color:var(--text);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;letter-spacing:-.01em}.focus-empty-state small{max-width:430px;color:var(--muted);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:500;line-height:1.65}.focus-empty-cursor{width:2px;height:27px;margin-top:3px;border-radius:2px;background:var(--accent);animation:caret 1s steps(2) infinite}@keyframes caret{50%{opacity:0}}.metric-card,.metric-card-content{display:grid;grid-template-rows:minmax(24px,auto) minmax(39px,auto) minmax(17px,auto);align-content:start;row-gap:6px;overflow:visible}.metric-card-content{height:100%}.metric-label-row{min-height:24px;align-items:center;overflow:visible}.metric-icon{width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;overflow:visible;color:var(--accent)}.metric-icon svg{display:block;width:16px;height:16px;overflow:visible}.metric-label{min-height:24px;margin:0;display:flex;align-items:center;line-height:1.35!important;white-space:nowrap;overflow:visible}.metric-value{min-height:39px;margin:0;display:flex;align-items:flex-end;line-height:1!important;overflow:visible}.metric-value.result-metric-value{min-height:46px}.metric-unit{min-height:17px;margin:0;display:flex;align-items:center;line-height:17px!important;white-space:nowrap;overflow:visible}.result-metric-card{grid-template-rows:minmax(24px,auto) minmax(46px,auto) minmax(17px,auto)}.start-hint{margin-top:27px;display:flex;align-items:center;justify-content:center;gap:8px;color:#5e636e;font-size:11px}.keycap{width:25px;height:23px;display:grid;place-items:center;border:1px solid #3b3f48;border-radius:6px;box-shadow:0 2px #30333a}.paused-state{position:absolute;top:-15px;right:-15px;bottom:-15px;left:-15px;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:0;border-radius:14px;color:var(--text);background:#14161be6;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer}.paused-state svg{color:var(--accent)}.paused-state strong{font-size:18px}.paused-state span{color:var(--muted);font-size:11px}.completed-review-note{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:color-mix(in srgb,var(--accent) 24%,var(--faint));background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.progress-line{height:2px;margin-top:36px;background:#292c33;overflow:hidden}.progress-line span{display:block;height:100%;background:var(--accent);transition:width .12s linear}.bottom-actions{margin-top:34px;display:flex;align-items:center;justify-content:center;gap:8px}.bottom-actions button{min-height:38px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:11px;cursor:pointer}.bottom-actions button:hover{color:var(--text);background:var(--surface)}.bottom-actions kbd{margin-left:4px;padding:2px 5px;border:1px solid #373b44;border-radius:4px;color:#5d626d;background:#1a1c22;font:8px ui-monospace,SFMono-Regular,Menlo,monospace}.is-running .control-bar,.is-running .exercise-header{opacity:.62}.is-running .control-bar:hover,.is-running .exercise-header:hover{opacity:1}.memory-strip{width:min(100%,980px);margin:0 auto 28px;padding:18px 22px;display:flex;align-items:center;gap:28px;border-radius:13px;color:var(--muted);background:#191b21}.memory-strip>span{color:#505560;font:8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;text-transform:uppercase}.memory-strip>div{display:flex;align-items:center;gap:9px}.memory-strip b{color:#a4a39d;font-size:11px}.memory-strip svg{color:#454952}.memory-strip p{margin:0 0 0 auto;font-size:10px}.local-progress,.mistake-review{width:min(100%,1080px);margin:34px auto 28px;overflow:hidden}.progress-page-shell{width:min(100%,1240px);margin:0 auto;display:grid;grid-template-columns:142px minmax(0,1fr);align-items:stretch;gap:18px}.progress-page-content{min-width:0}.progress-page-content .local-progress,.progress-page-content .mistake-review{width:100%}.progress-section-rail-column{position:sticky;top:76px;min-width:0;height:max-content;align-self:start}.progress-section-rail{position:static;margin-top:26px;padding:12px 0}.progress-section-rail nav{margin-top:10px;display:grid;gap:3px}.progress-section-rail a{min-height:38px;padding:8px 9px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:5px;border-left:2px solid transparent;color:var(--muted);font-size:11px;font-weight:700;line-height:1.25;text-decoration:none;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.progress-section-rail a span{color:color-mix(in srgb,var(--muted) 72%,transparent);font-size:9px;font-variant-numeric:tabular-nums}.progress-section-rail a:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 5%,transparent)}.progress-section-rail a[data-active]{border-left-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}.progress-scroll-anchor{scroll-margin-top:102px}.progress-report-sheet{overflow:hidden;background:var(--surface)}.progress-report-head{padding:20px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--faint)}.progress-report-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#fff;background:var(--accent);font-size:11px;font-weight:850}.progress-report-table strong{color:var(--text)}.progress-report-next{background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.progress-daily-report{padding:20px;border-top:1px solid var(--faint)}.progress-chapter-heading{margin:4px 0 12px;padding-left:2px}.progress-chapter-spaced{margin-top:34px;padding-top:26px;border-top:1px solid var(--faint)}.progress-chart-card{min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--faint) 68%,transparent);background:var(--surface)}.progress-chart-empty{min-height:150px;margin-bottom:32px;padding:24px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;border:1px dashed color-mix(in srgb,var(--accent) 25%,var(--faint));background:color-mix(in srgb,var(--accent) 2.5%,var(--surface))}.progress-chart-empty>span{width:42px;height:42px;display:grid;place-items:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent)}.progress-chart-card .recharts-cartesian-axis-tick-value{fill:var(--muted);font-size:10px}.progress-chart-card .recharts-cartesian-grid line{stroke:color-mix(in srgb,var(--faint) 78%,transparent)}.progress-chart-loading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:32px}.progress-chart-loading span{min-height:282px;border:1px solid var(--faint);border-radius:var(--mantine-radius-md);background:linear-gradient(90deg,var(--surface) 25%,color-mix(in srgb,var(--accent) 5%,var(--surface)) 50%,var(--surface) 75%);background-size:220% 100%;animation:chart-loading 1.8s ease-in-out infinite}@keyframes chart-loading{0%{background-position:100% 0}to{background-position:-120% 0}}@media(max-width:62em){.progress-chart-loading{grid-template-columns:1fr}}@media(max-width:72em){.progress-page-shell{grid-template-columns:1fr;gap:0}.progress-section-rail-column{position:sticky;top:76px;z-index:8}.progress-section-rail{position:static;margin:0;padding:8px 0;overflow-x:auto;border-top:1px solid var(--faint);border-bottom:1px solid var(--faint);background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);scrollbar-width:none}.progress-section-rail::-webkit-scrollbar{display:none}.progress-section-rail>.mantine-Text-root{display:none}.progress-section-rail nav{width:max-content;margin:0;display:flex;gap:4px}.progress-section-rail a{min-height:34px;grid-template-columns:auto auto;border:0;border-bottom:2px solid transparent;white-space:nowrap}.progress-section-rail a[data-active]{border-bottom-color:var(--accent)}}@media(prefers-reduced-motion:reduce){.progress-chart-loading span{animation:none}}@media(prefers-reduced-motion:reduce){.listening-playlist-item,.progress-section-rail a{transition:none}.listening-audio-loading i{height:12px;animation:none}}@media(max-width:40em){.listening-playlist-head{align-items:flex-start;flex-direction:column}.listening-playlist-controls{grid-template-columns:auto minmax(0,1fr) auto}.listening-playlist-controls>.mantine-Text-root{grid-column:1 / -1;justify-self:start;padding-left:2px}}.support-card{width:min(100%,1080px);margin:8px auto 26px;padding:18px 4px;display:grid;grid-template-columns:minmax(0,1fr) 128px;align-items:center;gap:24px;border:0;background:transparent}.support-card-payment{grid-template-columns:1fr;padding:22px 24px;border-radius:12px;background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.support-main{min-width:0;display:grid;gap:18px}.support-copy{display:flex;align-items:center;gap:12px}.support-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.support-copy-body{min-width:0}.support-card-payment .support-copy{display:grid;grid-template-columns:auto minmax(0,640px);align-items:start;justify-content:start}.support-card-payment .support-copy-body{max-width:640px}.support-card-payment .support-primary-action{grid-column:2;justify-self:start;margin-top:2px}.support-stats{display:grid;grid-template-columns:minmax(110px,auto) minmax(150px,auto) minmax(0,1fr);align-items:center;gap:12px}.support-stats>div{min-height:62px;padding:10px 12px;display:grid;align-content:center;border-left:2px solid color-mix(in srgb,var(--accent) 55%,var(--faint));background:var(--surface-2)}.support-stats strong{color:var(--text);font-size:20px;line-height:1.1;letter-spacing:-.035em}.support-stats span{margin-top:5px;color:var(--muted);font-size:10px;font-weight:700}.support-card img{width:112px;height:auto;display:block;border:0;border-radius:7px;background:#fff;opacity:.9}.support-qr-wrap{display:grid;justify-items:center;gap:5px}.support-summary{margin-top:12px;display:grid;gap:3px}.support-primary-action{min-height:42px;padding-inline:22px;box-shadow:none}.support-amount-option{min-height:86px;padding:14px 16px;border:0;border-radius:9px;background:var(--surface-2);transition:background-color .2s ease,color .2s ease}.support-amount-option:hover,.support-amount-option[data-selected]{color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,var(--surface))}.support-checkout-qr{display:grid;justify-items:center;gap:10px;text-align:center;background:var(--surface-2)}.support-checkout-qr img{width:min(180px,58vw);height:auto;display:block}.supporter-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.payment-badges{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:10px}.payment-badge{min-width:43px;height:27px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;gap:3px;border:1px solid var(--faint);border-radius:6px;color:#161616;background:#fff}.payment-badge-dark{color:#fff;border-color:#111;background:#111}.payment-wordmark{font-size:9px;font-weight:750;white-space:nowrap}.payment-google{color:#4285f4;font-size:14px;font-weight:900}.payment-visa{color:#1a1f71;font-size:12px;font-style:italic;letter-spacing:-.04em}.payment-mastercard{position:relative;width:29px;height:16px;display:block}.payment-mastercard i{position:absolute;top:1px;width:14px;height:14px;border-radius:50%;background:#eb001b}.payment-mastercard i:first-child{left:2px}.payment-mastercard i:last-child{right:2px;background:#f79e1b;opacity:.86}.payment-amex{color:#1f72cd;font-size:9px;letter-spacing:.03em}.exam-plan-card{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(210px,.55fr);align-items:center;gap:20px;border-color:color-mix(in srgb,var(--accent) 24%,var(--faint));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.exam-plan-icon{width:46px;height:46px;display:grid;place-items:center;align-self:start;border-radius:13px;color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,transparent)}.exam-plan-copy{min-width:0}.exam-plan-copy h3{margin:7px 0 5px;color:var(--text);font-size:20px;letter-spacing:-.03em}.exam-plan-stats>div{display:flex;align-items:baseline;gap:6px}.exam-plan-stats strong{color:var(--text);font-size:24px;letter-spacing:-.04em}.exam-plan-stats span{color:var(--muted);font-size:9px}.exam-plan-controls{min-width:0;padding-left:20px;border-left:1px solid var(--faint)}.exam-plan-controls .mantine-InputWrapper-label{color:var(--muted);font-size:10px}.progress-stat{overflow:hidden}.progress-insight-card{min-height:190px;overflow:hidden;background:var(--surface)}.streak-value{margin:14px 0 9px;color:var(--accent);font-size:34px;line-height:1;letter-spacing:-.05em}.weekly-activity{height:105px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:7px}.activity-day{height:100%;min-width:0;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;gap:7px}.activity-bar{width:100%;min-height:7px;display:flex;align-items:flex-start;justify-content:center;border-radius:4px 4px 2px 2px;color:var(--muted);background:color-mix(in srgb,var(--faint) 68%,transparent);transition:height .35s cubic-bezier(.22,1,.36,1),background-color .25s ease}.activity-bar.level-0{height:7px}.activity-bar.level-1{height:34px;background:color-mix(in srgb,var(--accent) 36%,var(--surface-2))}.activity-bar.level-2{height:61px;background:color-mix(in srgb,var(--accent) 62%,var(--surface-2))}.activity-bar.level-3{height:88px;color:#fff;background:var(--accent)}.activity-bar i{padding-top:6px;font-size:8px;font-style:normal;font-weight:800}.activity-day small{color:var(--muted);font-size:9px}.phase-card h3{margin:13px 0 8px;color:var(--text);font-size:17px;letter-spacing:-.025em}.trend-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);align-items:center;gap:28px;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.trend-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.trend-metrics .mantine-Paper-root{background:var(--surface)}.trend-metrics .mantine-Text-root:last-child{margin-top:3px;font-size:22px;letter-spacing:-.035em}.trend-metrics small{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:0}.skill-mastery{margin-top:22px;padding-top:20px;border-top:1px solid var(--faint)}.skill-mastery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:9px}.skill-mastery-card{min-width:0;background:var(--surface)}.skill-mastery-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,transparent)}.skill-mastery-stats{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:9px}.skill-mastery-card .mantine-Button-root{width:100%;margin-top:12px}.recent-practice{margin-top:24px;padding-top:20px;border-top:1px solid var(--faint)}.recent-practice-row{padding:9px 2px;border-bottom:1px solid color-mix(in srgb,var(--faint) 65%,transparent)}.recent-practice-row:last-child{border-bottom:0}.history-record-list{max-height:min(62vh,620px);display:flex;flex-direction:column;gap:7px;overflow-y:auto;padding-right:4px}.history-filters{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:10px}.history-record-item{width:100%;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--faint);border-radius:10px;color:var(--text);background:var(--surface);text-align:left;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.history-record-item:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--faint));background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.history-record-item>div:first-child{min-width:0;display:flex;flex-direction:column;gap:4px}.history-record-item strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.history-record-item span{color:var(--muted);font-size:10px}.history-record-item>div:last-child{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px}.history-text-block{color:var(--text);background:var(--surface);font:500 14px/1.85 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.cloud-sync-card{border-color:color-mix(in srgb,var(--accent) 30%,var(--faint));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.cloud-sync-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,transparent)}.sync-code-input input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em}.cloud-sync-actions .mantine-Button-root{min-height:38px}.history-comparison span{white-space:pre-wrap}.record-correct{color:var(--text)}.record-wrong{border-radius:3px;color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.record-missing{color:var(--muted);opacity:.5;text-decoration:underline dashed;text-underline-offset:4px}.recorded-error-row{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--danger) 4%,var(--surface))}.record-next-action{display:flex;align-items:center;justify-content:space-between;gap:24px;background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.record-next-action>div{min-width:0}.record-next-action .mantine-Button-root{flex:0 0 auto}.weak-word-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.weak-word-card{min-width:0;background:var(--surface)}.weak-word-card .mantine-Badge-root{max-width:140px;flex:0 0 auto}.weak-word-context{color:var(--text);overflow-wrap:anywhere}.feature-hub{width:min(100%,1080px);margin:34px auto 30px;overflow:hidden}.feature-hub-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:end;gap:48px;margin-bottom:28px}.feature-hub-heading span{color:var(--accent);font:800 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.15em;text-transform:uppercase}.feature-hub-heading h2{max-width:620px;margin:12px 0 0;color:var(--text);font-size:clamp(27px,4vw,43px);line-height:1.08;letter-spacing:-.05em}.feature-hub-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.8}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.feature-card{min-height:228px;display:flex;flex-direction:column;overflow:hidden;transition:transform .42s cubic-bezier(.22,1,.36,1),border-color .42s ease}.feature-card:hover{transform:translateY(-1px);border-color:#424650}.feature-card.available{border-color:color-mix(in srgb,var(--accent) 48%,var(--faint))}.feature-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.feature-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--muted);background:var(--surface-2)}.feature-card.available .feature-icon{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.feature-card-top small{padding:4px 7px;border:1px solid #353944;border-radius:999px;color:var(--muted);font:750 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase}.feature-card.available .feature-card-top small{border-color:color-mix(in srgb,var(--accent) 30%,var(--faint));color:var(--accent)}.feature-card h3{margin:20px 0 8px;color:var(--text);font-size:15px;letter-spacing:-.02em}.feature-card p{margin:0 0 20px;color:var(--muted);font-size:10px;line-height:1.7}.feature-card .mantine-Button-root{width:max-content;margin-top:auto}.feature-hub-footnote{margin:22px 0 0;color:var(--muted);font:9px ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center}.result-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:20px;background:#0a0b0ec7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:backdrop-in .22s ease both}.result-modal,.coming-soon-modal{position:relative;width:min(520px,100%);padding:38px;border:1px solid #343842;border-radius:20px;background:#1b1e24;box-shadow:0 35px 100px #0000008c}.result-modal,.import-modal,.coming-soon-modal{animation:modal-in .32s cubic-bezier(.2,.85,.2,1) both}.import-modal{position:relative;width:min(650px,100%);max-height:calc(100vh - 40px);padding:34px;overflow-y:auto;border:1px solid #343842;border-radius:20px;background:#1b1e24;box-shadow:0 35px 100px #0000008c}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}.import-modal h2{margin:13px 0 8px;color:var(--text);font-size:28px;letter-spacing:-.04em}.import-description{margin:0 0 23px;color:var(--muted);font-size:11px;line-height:1.7}.import-description code{padding:2px 5px;border-radius:4px;color:var(--accent);background:var(--surface-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.import-field{display:flex;flex-direction:column;gap:7px;margin-top:14px}.import-field>span,.detected-slots>span{color:var(--muted);font:800 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;text-transform:uppercase}.import-field input,.import-field textarea{width:100%;border:1px solid #343842;border-radius:10px;outline:0;color:var(--text);background:#15171c;font-size:12px}.import-field input{height:43px;padding:0 13px}.import-field textarea{min-height:145px;padding:13px;resize:vertical;line-height:1.7}.import-field input:focus,.import-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}.detected-slots{min-height:48px;margin-top:15px;padding:12px;display:flex;align-items:center;flex-wrap:wrap;gap:7px;border-radius:10px;background:var(--surface-2)}.detected-slots>span{margin-right:4px}.detected-slots b{padding:5px 8px;border-radius:6px;color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent);font:500 9px ui-monospace,SFMono-Regular,Menlo,monospace}.detected-slots small{color:var(--muted);font-size:10px}.share-link-row{margin-top:15px;display:flex;gap:7px}.share-link-row input{min-width:0;flex:1;height:39px;padding:0 11px;border:1px solid #343842;border-radius:9px;outline:0;color:var(--muted);background:#15171c;font:9px ui-monospace,SFMono-Regular,Menlo,monospace}.share-link-row button{min-width:130px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;color:var(--text);background:var(--surface-2);font-size:9px;cursor:pointer}.share-link-row button:hover{color:var(--accent)}.import-actions{margin-top:22px;display:flex;justify-content:flex-end;gap:8px}.import-actions button{height:42px;padding:0 15px;border:0;border-radius:10px;font-size:10px;font-weight:750;cursor:pointer}.cancel-import{color:var(--muted);background:var(--surface-2)}.save-template{display:inline-flex;align-items:center;gap:7px;color:var(--bg);background:var(--accent)}.save-template:disabled{opacity:.35;cursor:not-allowed}.close-result{position:absolute;top:15px;right:15px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;color:var(--muted);background:transparent;cursor:pointer}.close-result:hover{color:var(--text);background:var(--surface-2)}.result-kicker{display:flex;align-items:center;gap:7px;color:var(--accent);font:800 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;text-transform:uppercase}.result-modal h2{margin:15px 0 30px;color:var(--text);font-size:31px;letter-spacing:-.045em}.coming-soon-modal h2{margin:15px 0 12px;color:var(--text);font-size:31px;letter-spacing:-.045em}.coming-soon-modal>p{margin:0;color:var(--muted);font-size:12px;line-height:1.8}.coming-soon-modal .again-button{margin-top:26px}.practice-score{overflow:hidden}.score-breakdown{padding:2px 0}.practice-result-modal{max-height:calc(100dvh - 24px);overflow-y:auto}.practice-result-header{min-height:50px;padding:12px 18px}.practice-result-body{padding:12px 18px 18px}.typing-result-layout .practice-result-title{margin:0;font-size:20px;line-height:1.25}.typing-result-score .practice-score-content{min-height:88px}.typing-result-score .mantine-RingProgress-root{flex:0 0 auto}.typing-result-score .mantine-Stack-root{min-width:0}.typing-result-score .mantine-Text-root{line-height:1.45}.typing-result-stats .compact-result-metric,.typing-result-stats .metric-card-content{grid-template-rows:18px 34px 16px;row-gap:2px}.typing-result-stats .compact-result-metric{min-height:84px}.typing-result-stats .metric-label,.typing-result-stats .metric-value,.typing-result-stats .metric-unit{min-height:0}.typing-result-layout .score-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.typing-result-layout .score-breakdown .mantine-Group-root{gap:4px;align-items:flex-start}.typing-result-layout .score-breakdown .mantine-Text-root:last-child{text-align:right}.typing-result-mistakes{min-height:56px}.typing-result-mistakes .mantine-Group-root{margin-top:6px}.practice-result-actions{margin-top:2px}.again-button{width:100%;height:45px;margin-top:25px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;color:var(--bg);background:var(--accent);font-size:12px;font-weight:800;cursor:pointer}.again-button:hover{background:#5b52e8}.sponsor-ad{position:relative;min-height:86px;margin:0 0 20px;padding:16px 54px 16px 18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;overflow:hidden;border:1px solid #30333b;border-radius:14px;background:var(--surface)}.sponsor-ad-home{width:min(100%,1080px);margin:4px auto 26px;border-color:color-mix(in srgb,var(--accent) 20%,var(--faint))}.sponsor-ad:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent)}.sponsor-ad-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.sponsor-ad-copy{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px}.sponsor-ad-copy>span{width:max-content;padding:3px 6px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--faint));border-radius:4px;color:var(--accent);font:800 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.sponsor-ad-copy strong{color:var(--text);font-size:13px;letter-spacing:-.01em}.sponsor-ad-copy p{grid-column:1 / -1;margin:0;color:var(--muted);font-size:10px;line-height:1.5}.sponsor-ad>a{height:36px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;color:var(--bg);background:var(--accent);font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap;transition:transform .18s ease,background-color .18s ease}.sponsor-ad>a:hover{transform:translateY(-1px);background:#5b52e8}.sponsor-ad-close{position:absolute;top:9px;right:9px;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:8px;color:var(--muted);background:transparent;cursor:pointer}.sponsor-ad-close:hover{color:var(--text);background:var(--surface-2)}.ad-switcher{position:relative;min-height:110px;margin:0 0 20px}.ad-switcher .google-ad{margin:0;transition:opacity .24s ease}.ad-switcher .sponsor-ad-fallback{min-height:110px;margin:0;transition:opacity .24s ease}.ad-switcher:not(.ad-switcher-filled) .google-ad{position:absolute;top:0;right:0;bottom:0;left:0;visibility:hidden;opacity:0;pointer-events:none}.ad-switcher-filled .sponsor-ad-fallback{position:absolute;top:0;right:0;bottom:0;left:0;visibility:hidden;opacity:0;pointer-events:none}.google-ad{position:relative;min-height:110px;padding:22px 12px 10px;overflow:hidden;border:1px solid #30333b;border-radius:14px;background:var(--surface)}.google-ad-progress{margin:24px 0 6px}.google-ad>span{position:absolute;top:7px;left:10px;color:var(--muted);font:700 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.google-ad .adsbygoogle{min-height:78px}@media(prefers-reduced-motion:reduce){.ad-switcher .google-ad,.ad-switcher .sponsor-ad-fallback,.reading-mode-card{transition:none}.reading-mode-card:hover{transform:none}}.reading-lab{max-width:1120px;margin-inline:auto;background:var(--surface)}.reading-mode-picker{background:var(--surface-soft)}.reading-mode-picker-heading{max-width:720px}.reading-mode-grid{align-items:stretch;gap:20px!important}.reading-mode-card{min-height:154px;padding:22px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:1fr auto;align-items:start;gap:12px 16px;border:1px solid color-mix(in srgb,var(--text) 22%,var(--border));border-left:3px solid var(--accent);border-radius:var(--mantine-radius-md);background:var(--surface);box-shadow:0 1px color-mix(in srgb,var(--text) 7%,transparent);text-align:left;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.reading-mode-card:hover{border-color:color-mix(in srgb,var(--text) 38%,var(--border));border-left-color:var(--accent);background:var(--surface);transform:translateY(-1px)}.reading-mode-card:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:3px;border-color:var(--accent)}.reading-mode-icon{width:44px;height:44px;display:grid;grid-row:1 / -1;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:var(--mantine-radius-md);color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.reading-mode-copy{min-width:0;display:block}.reading-mode-copy>span{display:block}.reading-mode-overline{margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.reading-mode-overline>span{display:inline-block;margin-right:8px;padding-right:8px;border-right:1px solid var(--border);color:var(--accent);font-variant-numeric:tabular-nums}.reading-mode-title{color:var(--text);font-size:18px;line-height:1.3}.reading-mode-count{grid-column:2;width:max-content;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border))}.reading-mode-arrow{grid-column:3;grid-row:1 / -1;align-self:center;color:var(--muted)}.reading-active-mode{min-height:34px}.reading-lab-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px 28px}.reading-lab-heading{min-width:0}.reading-lab-tools{align-self:start}.reading-lab-tools .mantine-Badge-root,.reading-lab-tools .mantine-Button-root{flex:0 0 auto}.reading-bank-label-compact{display:none}.reading-adaptive-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.reading-adaptive-icon{display:grid;width:40px;height:40px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:var(--mantine-radius-md);color:var(--accent);background:var(--surface)}.reading-adaptive-copy{min-width:0}.reading-adaptive-metrics{display:grid;grid-template-columns:repeat(3,auto);align-items:stretch}.reading-adaptive-metrics>div{min-width:92px;padding:2px 15px;border-left:1px solid var(--border)}.reading-adaptive-metrics span,.reading-adaptive-metrics strong{display:block}.reading-adaptive-metrics span{color:var(--muted);font-size:10px;font-weight:700}.reading-adaptive-metrics strong{margin-top:3px;color:var(--text);font-size:12px}.reading-results-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.reading-kicker{margin-bottom:7px;color:var(--accent);font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.reading-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin-top:28px}.reading-question-rail{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:2px}.reading-question-rail span{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--muted);font-size:12px;font-weight:750}.reading-question-rail span.active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.reading-question-rail span.done{border-color:color-mix(in srgb,var(--success) 45%,var(--border));background:color-mix(in srgb,var(--success) 10%,var(--surface));color:var(--success)}.reading-task{min-width:0;padding:4px 2px}.reading-passage{max-width:800px;padding:18px 20px;border-left:3px solid var(--accent);background:var(--surface-soft);font-size:17px;line-height:1.8}.reading-response{margin-top:16px}.reading-word-check{width:min(100%,660px);margin:8px auto 0;text-align:center}.reading-focus-word{padding:26px 16px 24px;font-size:clamp(2.35rem,7vw,4.75rem);font-weight:900;letter-spacing:.015em;line-height:1}.reading-word-actions{width:min(100%,520px);margin:0 auto}.reading-unknown-word{display:block;margin:12px auto 0}.reading-review-enrolled{padding-block:12px;border-block:1px solid var(--border)}.reading-task-navigation{margin-top:8px}.reading-timed-ready{min-height:180px;display:grid;align-content:center;justify-items:center}.reading-timed-start{min-width:min(100%,280px)}.reading-word-details{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.reading-word-detail-grid{margin-top:10px}.reading-word-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.reading-word-grid .mantine-Button-root{min-height:46px}.reading-word-grid .reading-word-correct:disabled{opacity:1;color:var(--mantine-color-green-8)!important;border-color:var(--mantine-color-green-5)!important;background:var(--mantine-color-green-0)!important}.reading-word-grid .reading-word-wrong:disabled{opacity:1;color:var(--mantine-color-red-8)!important;border-color:var(--mantine-color-red-5)!important;background:var(--mantine-color-red-0)!important;text-decoration:line-through}.reading-word-grid .reading-word-missed:disabled{opacity:1;color:var(--mantine-color-orange-8)!important;border-color:var(--mantine-color-orange-5)!important;background:var(--mantine-color-orange-0)!important}.reading-word-grid .reading-word-neutral:disabled{opacity:.55}.reading-answer-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.reading-answer-legend span:before{content:"";width:9px;height:9px;border-radius:2px;background:var(--mantine-color-green-5)}.reading-answer-legend span[data-state=wrong]:before{background:var(--mantine-color-red-5)}.reading-answer-legend span[data-state=missed]:before{background:var(--mantine-color-orange-5)}.reading-option{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--border);border-radius:var(--mantine-radius-md);cursor:pointer}.reading-option[data-checked]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.reading-completion{padding:16px 18px;border-left:3px solid var(--accent);background:var(--surface-soft);font-size:17px;line-height:1.7}.reading-completion mark{margin-inline:5px;padding:3px 7px;border-bottom:2px solid var(--accent);background:transparent;color:var(--accent);font-weight:800}.reading-submit-actions{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.reading-feedback{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);color:var(--text)}.reading-feedback.is-correct .reading-feedback-status{color:var(--success)}.reading-feedback.is-incorrect .reading-feedback-status{color:var(--mantine-color-red-6)}.reading-answer-explanation{border-color:color-mix(in srgb,var(--accent) 22%,var(--border));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.reading-results-hero{justify-content:flex-start;align-items:center}.reading-skill-row.is-weak{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.reading-recommendation{background:var(--surface-soft)}.discussion-panel{width:min(100%,1040px);margin:22px auto 0;border:0;background:transparent;box-shadow:none}.discussion-heading{max-width:960px}.discussion-composer{max-width:960px;min-height:96px;margin-top:18px;padding:10px 12px 9px;border:1px solid color-mix(in srgb,var(--text) 25%,var(--border));border-radius:13px;background:var(--surface);transition:border-color .18s ease,box-shadow .18s ease}.discussion-composer:focus-within{border-color:color-mix(in srgb,var(--accent) 60%,var(--faint));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.discussion-composer-input textarea{max-height:132px;padding:2px 1px 8px;line-height:1.65}.discussion-composer-toolbar{min-height:34px}.emoji-picker-popover{max-width:calc(100vw - 24px);overflow:hidden}.emoji-picker-popover .EmojiPickerReact{--epr-bg-color: var(--surface);--epr-category-label-bg-color: var(--surface);--epr-hover-bg-color: var(--surface-soft);--epr-search-input-bg-color: var(--surface-soft);--epr-highlight-color: var(--accent);border:0}.emoji-picker-loading{width:min(340px,calc(100vw - 24px));height:390px;display:grid;place-items:center;color:var(--muted)}.discussion-list{max-width:960px;border-top:1px solid var(--border);padding-top:0}.discussion-post{padding:24px 4px 26px;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.discussion-post-header{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px}.discussion-mood{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface-soft);font-size:17px}.discussion-avatar{display:grid;width:42px;height:42px;place-items:center;flex:0 0 auto;border:1px solid hsl(var(--avatar-hue) 46% 72%);border-radius:50%;color:hsl(var(--avatar-hue) 48% 30%);background:hsl(var(--avatar-hue) 62% 93%);font-size:14px;font-weight:850}.discussion-avatar.is-small{width:30px;height:30px;font-size:10px}.discussion-author-block{min-width:0;line-height:1.2}.discussion-content{margin:7px 0 0 53px;color:color-mix(in srgb,var(--text) 94%,transparent);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:15px;line-height:1.68}.discussion-result-preview{min-height:30px}.discussion-result-card{margin:12px 0 0 53px;padding:10px 12px;border-left:2px solid var(--accent);background:var(--surface-soft)}.discussion-result-label{display:block;margin-bottom:7px}.discussion-result-grid{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px}.discussion-result-grid>div{display:flex;align-items:baseline;gap:5px}.discussion-result-grid strong{color:var(--text);font-size:16px;font-variant-numeric:tabular-nums}.discussion-result-grid span{color:var(--muted);font-size:11px}.discussion-result-grid>div:first-child span{color:var(--text);font-size:12px;font-weight:750}.discussion-post-actions{max-width:780px;margin:8px 0 0 49px;min-height:34px}.discussion-post-actions .mantine-Button-root,.discussion-comment-actions .mantine-Button-root{min-height:36px;padding-inline:7px}.discussion-more-action{min-width:36px;min-height:36px;opacity:.48;transition:opacity .18s ease,color .18s ease}.discussion-post:hover .discussion-more-action,.discussion-more-action:focus-visible{opacity:1}.discussion-like-action{color:var(--muted);transition:color .18s ease,transform .18s ease}.discussion-like-action:hover{color:var(--accent);transform:scale(1.08)}.discussion-like-action[data-variant=subtle][data-color=brand]{color:var(--accent)}.discussion-comments{max-width:780px;margin:8px 0 0 53px;padding:2px 0 0 18px;border-left:2px solid color-mix(in srgb,var(--accent) 14%,var(--border))}.discussion-comment{padding:10px 0;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;border-bottom:0;background:transparent}.discussion-comment:last-of-type{border-bottom:0}.discussion-comment-body{min-width:0}.discussion-comment-content{overflow-wrap:anywhere;word-break:break-word;line-height:1.62}.discussion-comment-actions{min-height:32px}.discussion-reply-target{margin-right:4px;color:color-mix(in srgb,var(--accent) 72%,var(--muted))}.discussion-expand-replies{margin:4px 0 0 40px;min-height:38px;color:var(--muted)}.discussion-expand-replies:hover{color:var(--accent)}.discussion-reply-form{max-width:720px;margin:10px 0 0 53px;padding:7px 9px 7px 11px;border:1px solid var(--faint);border-radius:11px;background:var(--surface);transition:border-color .18s ease,box-shadow .18s ease}.discussion-reply-form:focus-within{border-color:color-mix(in srgb,var(--accent) 58%,var(--faint));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)}.discussion-reply-form .mantine-Textarea-input{min-height:46px;max-height:110px;padding:2px 1px 6px}.discussion-reply-toolbar{min-height:32px}.discussion-empty{max-width:960px;padding:28px 0 8px}.discussion-skeleton-list{max-width:960px}.discussion-skeleton{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px}.discussion-panel.is-compact{margin-top:22px;background:var(--surface-soft)}.task-discussion-section{width:min(100%,1120px);margin:56px auto 0;padding-top:32px;border-top:1px solid var(--border)}.task-discussion-section>.discussion-panel{margin-top:0;padding:0!important;border:0;border-radius:0;background:transparent}.personal-attempts-section{width:min(100%,1120px);margin:48px auto 0;padding:30px 0 52px;border-top:1px solid var(--border)}.task-aftercare-section{width:min(100%,1120px);margin:56px auto 0;padding:30px 0 52px;border-top:1px solid var(--border)}.task-aftercare-section .mantine-Tabs-list{gap:8px}.task-aftercare-actions{min-height:42px;display:flex;justify-content:flex-end;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border)}.question-actions{min-height:34px}.task-aftercare-section .mantine-Tabs-tab{min-height:42px;font-weight:750}.task-aftercare-panel>.discussion-panel{width:100%;max-width:none;margin:0;padding:0!important;border:0;border-radius:0;background:transparent}.task-aftercare-panel .discussion-heading,.task-aftercare-panel .discussion-composer,.task-aftercare-panel .discussion-list,.task-aftercare-panel .discussion-empty,.task-aftercare-panel .discussion-skeleton-list{width:100%;max-width:none}.personal-attempts-panel{min-height:150px}.personal-attempt-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:0!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;box-shadow:none!important;background:transparent}.weak-review-workspace{width:min(100%,820px);margin:0 auto;padding:22px 0 72px}.weak-review-stage{min-height:310px;display:flex;flex-direction:column;justify-content:center;box-shadow:none!important}.weak-review-countdown{color:var(--accent);font-size:58px;font-weight:850;font-variant-numeric:tabular-nums}.weak-review-feedback.is-correct{border-left:3px solid var(--mantine-color-green-6)}.weak-review-feedback.is-wrong{border-left:3px solid var(--mantine-color-red-6)}.weak-review-done{text-align:center}.community-room-toolbar{margin-bottom:12px;box-shadow:none!important;background:transparent}.mock-exam-page{width:min(100%,980px);margin-inline:auto}.mock-exam-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.mock-task,.mock-report{box-shadow:none!important}.mock-ready-summary{margin-top:42px;padding-top:30px;border-top:1px solid var(--border)}.question-bank-drawer-body{height:calc(100dvh - 86px);display:flex;flex-direction:column;overflow:hidden}.question-bank-scroll{flex:1;min-height:0;margin-top:16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.question-bank-row{width:100%;min-height:88px;padding:13px 8px;display:grid;grid-template-columns:50px minmax(0,1fr) 22px;align-items:center;gap:12px;border-bottom:1px solid var(--border);color:var(--text);text-align:left}.question-bank-row:hover,.question-bank-row[data-active]{background:color-mix(in srgb,var(--accent) 6%,transparent)}.question-bank-row[data-active]{box-shadow:inset 3px 0 0 var(--accent)}.question-bank-row>svg{color:var(--success)}.question-bank-number{color:var(--accent);font-size:11px;font-weight:850;font-variant-numeric:tabular-nums}.question-bank-copy{min-width:0;display:grid;gap:4px}.question-bank-copy strong{display:-webkit-box;overflow:hidden;font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.question-bank-copy strong:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.question-bank-copy small{overflow:hidden;color:var(--muted);font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.question-bank-status{width:9px;height:9px;justify-self:center;border:1px solid var(--muted);border-radius:50%}.achievement-celebration{padding:6px 8px 12px}.achievement-icon{width:72px;height:72px;display:grid;place-items:center;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 26%,var(--border));border-radius:50%;background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.reading-option-correct{border-color:var(--mantine-color-green-6)!important;background:var(--mantine-color-green-light)!important}.reading-option-wrong{border-color:var(--mantine-color-red-6)!important;background:var(--mantine-color-red-light)!important}.reading-option-missed{border-color:var(--mantine-color-orange-6)!important;background:var(--mantine-color-orange-light)!important}.reading-input-correct input{border-color:var(--mantine-color-green-6);background:var(--mantine-color-green-light)}.writing-settings-collapse{margin-top:14px}.writing-practice-panel[data-status=ready] .writing-check-bar,.writing-practice-panel[data-status=ready] .deep-writing-check-bar,.writing-practice-panel[data-status=running] .writing-check-bar,.writing-practice-panel[data-status=running] .deep-writing-check-bar,.writing-practice-panel[data-status=paused] .writing-check-bar,.writing-practice-panel[data-status=paused] .deep-writing-check-bar{display:none}.community-page{max-width:1180px;margin-inline:auto;padding-top:40px}.community-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.community-heatmap-card{grid-column:span 2}.community-heatmap-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.learning-heatmap{display:grid;grid-template-rows:repeat(7,12px);grid-auto-flow:column;grid-auto-columns:12px;gap:4px;overflow-x:auto;margin-top:20px;padding-bottom:5px}.learning-heatmap[data-range=year]{grid-template-rows:repeat(7,10px);grid-auto-columns:10px;gap:3px}.learning-heatmap span,.heatmap-legend{width:12px;height:12px;border-radius:2px;background:color-mix(in srgb,var(--muted) 12%,var(--surface))}.learning-heatmap[data-range=year] span{width:10px;height:10px}.learning-heatmap span[data-outside]{opacity:.22}.learning-heatmap span[data-level="1"],.heatmap-legend[data-level="1"]{background:color-mix(in srgb,var(--accent) 28%,var(--surface))}.learning-heatmap span[data-level="2"],.heatmap-legend[data-level="2"]{background:color-mix(in srgb,var(--accent) 48%,var(--surface))}.learning-heatmap span[data-level="3"],.heatmap-legend[data-level="3"]{background:color-mix(in srgb,var(--accent) 70%,var(--surface))}.learning-heatmap span[data-level="4"],.heatmap-legend[data-level="4"]{background:var(--accent)}.question-review-section{margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--faint)}.question-review-grid{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.question-review-card{min-width:0;background:var(--surface)}.heatmap-legend{display:inline-block;flex:0 0 12px}.community-principle-card{min-height:190px}.community-feed{margin-top:20px}.community-feed>.discussion-panel{width:100%;max-width:none;padding-inline:0!important}.community-feed .discussion-heading,.community-feed .discussion-composer,.community-feed .discussion-list,.community-feed .discussion-empty,.community-feed .discussion-skeleton-list{width:100%;max-width:none}.admin-community-page{max-width:1240px;margin-inline:auto;padding-top:36px;padding-bottom:56px}.admin-page-tabs>.mantine-Tabs-list{position:sticky;top:var(--nav-height, 74px);z-index:8;padding:8px 0;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-page-tabs>.mantine-Tabs-list .mantine-Tabs-tab{min-height:44px;font-weight:800}.admin-section-header,.admin-community-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.admin-stat{min-height:104px}.admin-stat-value{margin-top:7px;font-size:1.65rem;font-weight:850;line-height:1;letter-spacing:-.035em}.admin-traffic-card{grid-column:span 2;min-width:0}.admin-traffic-bars{height:210px;margin-top:24px;display:flex;align-items:stretch;gap:clamp(4px,.7vw,10px);overflow-x:auto}.admin-traffic-day{min-width:26px;flex:1 0 26px;display:grid;grid-template-rows:minmax(0,1fr) 20px 18px;justify-items:center;gap:4px}.admin-traffic-day>span{width:min(100%,24px);height:100%;display:flex;align-items:flex-end;border-radius:4px 4px 2px 2px;background:var(--surface-soft);overflow:hidden}.admin-traffic-day i{width:100%;border-radius:inherit;background:var(--accent)}.admin-traffic-day strong{font-size:10px;font-variant-numeric:tabular-nums}.admin-traffic-day small{color:var(--muted);font-size:9px;white-space:nowrap}.admin-top-pages,.admin-top-page{min-width:0}.admin-users-card{overflow:hidden}.admin-users-heading{min-height:76px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border)}.admin-users-heading .mantine-TextInput-root{width:min(100%,340px)}.admin-moderation-table{overflow:hidden}.admin-filterbar{display:grid;grid-template-columns:auto 190px minmax(240px,1fr);gap:12px;padding:16px;border-bottom:1px solid var(--mantine-color-default-border)}.admin-search{min-width:0}.admin-content-row{cursor:pointer}.admin-content-row td:first-child{max-width:420px}.admin-audit-row{padding-block:8px;border-bottom:1px solid var(--mantine-color-default-border)}.admin-audit-row:last-child{border-bottom:0}.admin-content-preview{border-left:3px solid var(--mantine-primary-color-filled)}@media(max-width:720px){.question-review-grid{grid-template-columns:1fr}.answer-action-row{align-items:stretch;flex-direction:column-reverse}.answer-action-row>.shared-countdown{width:100%}.listening-inline-navigation{width:100%;padding:8px 0 0;flex-wrap:wrap!important;border-top:1px solid var(--border);border-left:0}.listening-inline-navigation .mantine-Button-root{flex:1}.listening-exam-stage{min-height:0;padding:24px 0!important;grid-template-columns:1fr;gap:18px}.listening-primary-player{grid-column:1;grid-row:auto;padding-top:4px}.dictation-toolbar{align-items:stretch;flex-direction:column}.dictation-primary-actions{width:100%}.dictation-primary-actions .dictation-submit-button{flex:1}.dictation-navigation{width:100%;justify-content:space-between}.dictation-navigation .mantine-Button-root{flex:1;padding-inline:6px}.listening-exam-actions{width:100%;justify-content:stretch}.listening-exam-actions>.mantine-Button-root:first-child{flex:1 1 100%}.listening-exam-prompt{align-items:flex-start}.listening-question-navigation{grid-template-columns:1fr 1fr}.listening-question-navigation>:nth-child(2){grid-column:1 / -1;grid-row:2;width:100%}.listening-question-navigation>:last-child{justify-self:stretch}.listening-question-navigation .mantine-Button-root{width:100%}.task-discussion-section,.task-aftercare-section{margin-top:44px;padding-top:28px}.personal-attempts-section{margin-top:40px;padding-top:26px}.reading-lab{padding:18px 14px!important}.reading-lab-header,.reading-results-hero{flex-direction:column}.reading-layout{grid-template-columns:1fr;gap:18px}.reading-question-rail{flex-direction:row;overflow-x:auto;justify-content:flex-start;padding-bottom:4px}.reading-question-rail span{flex:0 0 30px;width:30px;height:30px}.reading-word-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-focus-word{padding-block:24px}.reading-word-actions{align-items:stretch}.question-bank-filter-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.question-bank-filter-row>*{width:100%;min-width:0}.question-bank-filter-row>:last-child{grid-column:1 / -1}.reading-passage{padding:15px;font-size:15px}.community-page{padding-top:20px}.community-hero{flex-direction:column}.community-heatmap-card{grid-column:auto}.community-heatmap-heading{align-items:flex-start;flex-direction:column}.admin-community-page{padding-top:20px}.admin-section-header{flex-direction:column;gap:14px}.admin-section-header .mantine-SegmentedControl-root{width:100%}.admin-community-header{flex-direction:column;gap:12px}.admin-traffic-card{grid-column:auto}.admin-users-heading{align-items:stretch;flex-direction:column}.admin-users-heading .mantine-TextInput-root{width:100%}.admin-filterbar{grid-template-columns:1fr}.admin-filterbar .mantine-SegmentedControl-root{width:100%;overflow-x:auto}.admin-audit-row{align-items:flex-start;flex-direction:column}.discussion-panel{padding-inline:0!important}.discussion-heading{align-items:flex-start;flex-direction:column}.discussion-post-header{grid-template-columns:36px minmax(0,1fr);gap:9px}.discussion-avatar{width:36px;height:36px;font-size:12px}.discussion-avatar.is-small{width:28px;height:28px}.discussion-content,.discussion-result-card{margin-left:45px}.discussion-post-actions{margin-left:41px}.discussion-comments{margin-left:36px;padding-left:10px}.discussion-comment{grid-template-columns:28px minmax(0,1fr);gap:8px}.discussion-reply-form{margin-left:36px;padding-left:10px}.discussion-expand-replies{margin-left:36px}.discussion-more-action{opacity:1}}@media(max-width:480px){.discussion-composer{min-height:92px}.discussion-content,.discussion-result-card{margin-left:0}.discussion-post-actions{margin-left:-4px}.discussion-comments,.discussion-reply-form{margin-left:10px}.discussion-post-actions .mantine-Button-root,.discussion-comment-actions .mantine-Button-root,.discussion-more-action{min-height:40px}}footer{min-height:64px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #24272e;color:#444953;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}footer p{margin:0;font-family:ui-sans-serif,system-ui;letter-spacing:0;text-transform:none}footer a{color:inherit;text-decoration:none}footer a:hover{color:var(--text);text-decoration:underline}:root[data-theme=light] .nav{border-bottom-color:#e3e1ed}:root[data-theme=light] .logo>span{color:#fff}:root[data-theme=light] body{background:var(--bg)}:root[data-theme=light] .nav-copy{color:#77738a}:root[data-theme=light] .setup-card,:root[data-theme=light] .template-menu,:root[data-theme=light] .result-modal,:root[data-theme=light] .import-modal,:root[data-theme=light] .coming-soon-modal{box-shadow:0 18px 45px #2a26521a}:root[data-theme=light] .control-bar,:root[data-theme=light] .setup-card,:root[data-theme=light] .template-menu,:root[data-theme=light] .memory-strip,:root[data-theme=light] .result-modal,:root[data-theme=light] .import-modal,:root[data-theme=light] .coming-soon-modal{background:#fff;border-color:#dedbea}:root[data-theme=light] .setup-heading,:root[data-theme=light] .setup-footer,:root[data-theme=light] .text-display span{color:#918da3}:root[data-theme=light] .text-display .correct{color:#22242a}:root[data-theme=light] .text-display .masked{color:transparent}:root[data-theme=light] .text-display .initial-hint{color:var(--accent)}:root[data-theme=light] .progress-line{background:#e2dfeb}:root[data-theme=light] .live-stats>div{border-color:#dedbea;background:#ffffffc7}:root[data-theme=light] .bottom-actions button:hover{background:#faf8ff}:root[data-theme=light] .bottom-actions kbd{color:#77738a;background:#faf8ff;border-color:#ece8f3}:root[data-theme=light] .paused-state{background:#f7f7fcf0}:root[data-theme=light] .local-progress,:root[data-theme=light] .mistake-review,:root[data-theme=light] .feature-hub,:root[data-theme=light] .progress-stat,:root[data-theme=light] .feature-card{border-color:#e3e1ed}:root[data-theme=light] .feature-card:hover{border-color:#c6c0ec}:root[data-theme=light] .feature-card.available{border-color:#6c63ff61}:root[data-theme=light] .feature-icon{background:#f7f4ff}:root[data-theme=light] .feature-card-top small{border-color:#dedbea}:root[data-theme=light] .sponsor-ad{border-color:#dedbea;background:#fff;box-shadow:0 12px 32px #2e2a5e12}:root[data-theme=light] .sponsor-ad-icon{background:#6c63ff1a}:root[data-theme=light] .google-ad{border-color:#dedbea;background:#fff}:root[data-theme=light] footer{border-top-color:#dedbea;color:#9995a8}:root[data-theme=dark] body{background:var(--bg)}:root[data-theme=dark] .mantine-Text-root:not([style*=--text-color]){color:var(--text)}:root[data-theme=dark] .nav{border-bottom-color:#2d2f38;background:#101117f0}:root[data-theme=dark] .top-module-navigation,:root[data-theme=dark] .mobile-module-dropdown{border-color:#343640;background:#181920;box-shadow:none}:root[data-theme=dark] .top-nav-button:hover,:root[data-theme=dark] .mobile-module-menu:hover{background:#20212a}:root[data-theme=dark] .mantine-Input-input,:root[data-theme=dark] .mantine-SegmentedControl-root{border-color:#50525f;background:#181920}:root[data-theme=dark] .mantine-Input-input:hover:not(:disabled):not(:focus){border-color:#676a78}:root[data-theme=dark] .mantine-Input-input:focus,:root[data-theme=dark] .mantine-Input-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}:root[data-theme=dark] .mantine-Select-dropdown,:root[data-theme=dark] .mantine-Combobox-dropdown{border-color:#3a3c47;background:#1b1c24;box-shadow:0 18px 46px #00000061}:root[data-theme=dark] .mantine-Combobox-group-label{color:#aaa7b8}:root[data-theme=dark] .mantine-Combobox-option{color:#f0eef7}:root[data-theme=dark] .mantine-Combobox-option:hover,:root[data-theme=dark] .mantine-Combobox-option[data-combobox-active],:root[data-theme=dark] .mantine-Combobox-option[data-checked]{color:#fff;background:#2a2738}:root[data-theme=dark] .mantine-SegmentedControl-indicator{background:#292a35}:root[data-theme=dark] .control-bar,:root[data-theme=dark] .setup-card,:root[data-theme=dark] .template-menu,:root[data-theme=dark] .memory-strip,:root[data-theme=dark] .result-modal,:root[data-theme=dark] .import-modal,:root[data-theme=dark] .coming-soon-modal,:root[data-theme=dark] .local-progress,:root[data-theme=dark] .mistake-review,:root[data-theme=dark] .feature-hub,:root[data-theme=dark] .feature-card,:root[data-theme=dark] .progress-stat,:root[data-theme=dark] .progress-insight-card,:root[data-theme=dark] .progress-chart-card,:root[data-theme=dark] .progress-report-sheet,:root[data-theme=dark] .home-loop-card{border-color:#343640;background:#181920;box-shadow:none}:root[data-theme=dark] .progress-report-table tbody tr:hover,:root[data-theme=dark] .history-record-item:hover,:root[data-theme=dark] .listening-playlist-item:hover{background:#20212a}:root[data-theme=dark] .support-card-payment{background:#181920}:root[data-theme=dark] .support-stats>div,:root[data-theme=dark] .support-amount-option,:root[data-theme=dark] .feature-icon,:root[data-theme=dark] .progress-recommendation-icon,:root[data-theme=dark] .home-loop-icon{background:#23242e}:root[data-theme=dark] .sponsor-ad,:root[data-theme=dark] .google-ad{border-color:#343640;background:#181920;box-shadow:none}:root[data-theme=dark] .progress-section-rail a:hover,:root[data-theme=dark] .progress-section-rail a[data-active]{background:#20212a}:root[data-theme=dark] .progress-line{background:#2c2e38}:root[data-theme=dark] .bottom-actions button:hover{background:#20212a}:root[data-theme=dark] .bottom-actions kbd{color:#aaa7b8;border-color:#343640;background:#20212a}:root[data-theme=dark] .custom-timer i,:root[data-theme=dark] .start-hint,:root[data-theme=dark] .memory-strip>span,:root[data-theme=dark] .memory-strip svg{color:var(--muted)}:root[data-theme=dark] .paused-state{background:#181920f5}:root[data-theme=dark] footer{border-top-color:#2d2f38;color:#777986}@media(max-width:1080px){.nav{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}.top-module-navigation{display:none}.mobile-module-navigation{display:block;justify-self:start}.mobile-module-menu{display:grid;grid-template-columns:auto minmax(0,auto) auto;align-items:center;justify-self:start;gap:7px;width:max-content;max-width:100%;min-height:40px;padding:0 7px;overflow:hidden;color:var(--text);border:0;border-radius:9px;background:transparent}.mobile-module-current-icon{width:22px;height:22px;display:grid;place-items:center;color:var(--accent)}.mobile-module-current-label{min-width:0;overflow:hidden;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.mobile-module-chevron{flex:0 0 auto;color:var(--muted)}.reading-lab-header{grid-template-columns:1fr;gap:16px}.reading-lab-tools{width:100%;justify-content:space-between}.reading-adaptive-strip{grid-template-columns:auto minmax(0,1fr)}.reading-adaptive-metrics{grid-column:1 / -1;width:100%}.reading-adaptive-metrics>div{min-width:0;padding:8px 10px 0 0;border-top:1px solid var(--border);border-left:0}.best-score.mantine-Badge-root{display:none!important}}@media(max-width:980px){.home-dashboard{grid-template-columns:1fr;gap:38px;padding:68px 0 50px}.home-dashboard-copy{max-width:760px}.review-preview{width:min(100%,680px)}.home-guide-detail-grid{grid-template-columns:1fr}.workspace-shell{padding-top:24px}}@media(max-height:820px)and (min-width:761px){.workspace-shell{padding-top:18px}.reading-lab{padding:24px!important}.reading-lab-header{gap:12px 20px}.reading-lab-description{display:none}.reading-lab>.mantine-Progress-root{margin-top:18px!important}.reading-layout{margin-top:18px}.reading-response{margin-top:10px}.reading-focus-word{padding-block:20px}.reading-task>h3{margin-top:14px!important}}@media(max-width:760px){.practice-app{width:min(calc(100% - 28px),650px);max-width:calc(100% - 28px)}.nav{width:100%;height:68px;min-height:68px;gap:7px}.progress-section-rail-column{top:68px}.reading-lab{padding:18px 16px!important}.reading-mode-grid{gap:14px!important}.reading-mode-card{min-height:142px;padding:17px 16px;grid-template-columns:auto minmax(0,1fr) auto;gap:9px 12px}.reading-mode-icon{width:38px;height:38px}.reading-mode-picker-heading h2{font-size:clamp(1.45rem,6vw,1.8rem)}.reading-lab-header{gap:14px}.reading-lab-header h2{font-size:clamp(1.45rem,6vw,1.8rem)}.reading-lab-description{display:none}.reading-lab-tools{align-items:center;flex-wrap:nowrap!important}.reading-lab-tools .mantine-Button-root{flex:0 1 auto}.reading-adaptive-strip{padding:14px!important}.reading-adaptive-icon{width:36px;height:36px}.reading-adaptive-metrics{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(54px,.65fr))}.reading-bank-label{display:none}.reading-bank-label-compact{display:inline}.reading-layout{margin-top:20px}.reading-response{margin-top:12px}.reading-focus-word{padding:22px 12px 20px;font-size:clamp(3rem,17vw,4.5rem)}.reading-word-actions{gap:10px}.reading-word-actions .mantine-Button-root{min-height:48px;padding-inline:10px}.reading-task>h3{margin-top:14px!important;font-size:clamp(1.2rem,5.2vw,1.45rem)}.reading-task>.mantine-Divider-root{margin-block:18px!important}.logo strong{font-size:18px}.account-trigger{width:36px;padding:0}.account-trigger .mantine-Button-section{margin:0}.account-trigger .mantine-Button-label,.hint-switch .mantine-Switch-label{display:none}.home-dashboard{padding:50px 0 38px}.home-dashboard h1{max-width:100%;font-size:clamp(37px,10.4vw,51px);line-height:1.16;overflow-wrap:break-word}.home-dashboard[data-language=en] h1{line-height:1.19;letter-spacing:-.012em;word-spacing:.02em}.home-dashboard[data-language=zh] h1{line-height:1.24;letter-spacing:-.015em}.hero-title-tail{white-space:normal}.home-dashboard-copy>p{margin-top:25px;font-size:13px;line-height:2}.home-dashboard[data-language=zh] .home-dashboard-copy>p{line-height:2.08}.home-cta-group{align-items:stretch;flex-direction:column}.home-cta-group .mantine-Button-root{width:100%}.home-next-focus{max-width:100%}.review-preview{padding:24px}.home-float-chip-bottom{right:14px;bottom:-17px}.review-task-list{margin-top:18px}.home-loop{margin-bottom:44px;padding-top:8px}.home-stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.home-stat-item:nth-child(2){border-right:0}.home-stat-item:nth-child(-n+2){border-bottom:1px solid var(--faint)}.home-loop-heading{grid-template-columns:1fr;gap:12px}.home-loop-card{min-height:195px}.home-guide{margin-bottom:54px;padding-top:42px}.home-guide-heading h2{font-size:clamp(29px,8vw,39px)}.home-guide-detail-grid{margin-top:14px}.home-guide-metrics{padding:24px 18px 10px}.home-guide-faq{margin-top:36px}.page-intro{padding:50px 0 28px}.page-intro h1{font-size:clamp(32px,8.6vw,42px)}.progress-page-intro[data-language=en] h1{margin-bottom:16px;font-size:clamp(30px,7.9vw,39px);line-height:1.18;letter-spacing:-.012em;word-spacing:.025em}.progress-recommendation{grid-template-columns:auto minmax(0,1fr)}.progress-recommendation .mantine-Button-root{grid-column:1 / -1;width:100%}.home-feature-hub{margin-top:16px}.coach-recommendation{grid-template-columns:auto minmax(0,1fr);padding:24px}.coach-action{grid-column:1 / -1;width:100%;min-width:0;align-items:stretch;text-align:left}.coach-action .mantine-Button-root{width:100%}.practice-stage{padding:24px 0 32px}.control-bar{margin-bottom:30px}.control-bar-main .practice-select{flex-basis:100%}.practice-mode-control{margin:10px 0 0}.listening-panel{grid-template-columns:auto minmax(0,1fr);margin-bottom:28px}.listening-panel-controls{grid-template-columns:1fr 1fr}.listening-voice-select{grid-column:1 / -1}.listening-panel-controls>.mantine-Button-root{width:100%}.speaking-record-controls{grid-template-columns:1fr 1fr}.listening-filter-empty,.progress-chart-empty{align-items:stretch;grid-template-columns:1fr}.listening-filter-empty{flex-direction:column}.listening-filter-empty .mantine-Button-root,.progress-chart-empty .mantine-Button-root{width:100%}.writing-composer-toolbar{top:68px;align-items:stretch;flex-direction:column;padding:12px}.writing-composer-heading,.writing-composer-controls{justify-content:space-between}.writing-input-actions{align-items:stretch;flex-direction:column-reverse}.writing-input-actions>.shared-countdown{width:100%}.writing-input-actions>.mantine-Group-root,.writing-input-actions .mantine-Button-root{width:100%}.writing-inline-timer{min-width:0;flex:1;justify-content:start}.writing-status-row{grid-template-columns:1fr;align-items:stretch}.writing-status-row .mantine-Button-root{width:100%}.writing-check-bar{grid-template-columns:1fr;align-items:stretch}.writing-check-bar .mantine-Button-root{width:100%}.deep-writing-check-bar{grid-template-columns:1fr;align-items:stretch}.deep-writing-check-bar .mantine-Button-root{width:100%}.writing-analysis-loading{grid-column:1;min-width:0;grid-template-columns:1fr auto;padding:12px 0 0;border-top:1px solid var(--faint);border-left:0}.writing-analysis-loading .mantine-Progress-root{grid-column:1 / -1;grid-row:2}.writing-issue{align-items:flex-start;flex-direction:column}.speaking-audio{grid-column:1 / -1;grid-row:1}.practice-select{min-width:220px;flex:1}.setup-reveal.open{margin:-12px 0 42px}.setup-card{padding:20px}.setup-heading{display:block}.setup-heading p{margin-top:12px}.slot-grid{grid-template-columns:1fr}.setup-footer{align-items:stretch;flex-direction:column}.custom-timer{flex-wrap:wrap}.ready-button{width:100%;justify-content:center}.exercise-header{align-items:flex-start;margin-bottom:35px}.site-hero{margin-bottom:32px;text-align:left}.site-hero h1{font-size:40px}.site-hero>p{font-size:13px}.exercise-header h2{font-size:32px}.exercise-header p{max-width:230px;line-height:1.6}.countdown{min-width:93px}.countdown strong{font-size:25px}.typing-zone{min-height:230px}.text-display{font-size:21px;line-height:1.65}.memory-strip{align-items:flex-start;flex-wrap:wrap;gap:13px 20px}.memory-strip p{width:100%;margin:0}.local-progress{padding:24px}.progress-report-head{align-items:stretch;flex-direction:column}.exam-plan-card{grid-template-columns:auto minmax(0,1fr);align-items:start}.exam-plan-controls{grid-column:1 / -1;padding:18px 0 0;border-top:1px solid var(--faint);border-left:0}.progress-insight-card{min-height:0}.trend-summary{grid-template-columns:1fr;gap:18px}.feature-hub{padding:28px 22px}.feature-hub-heading{grid-template-columns:1fr;gap:16px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-record-item{align-items:flex-start;flex-direction:column}.history-record-item>div:last-child{justify-content:flex-start}.record-next-action{align-items:stretch;flex-direction:column}.record-next-action .mantine-Button-root{width:100%}.mistake-review-header{align-items:stretch;flex-direction:column}.mistake-review-header>.mantine-Group-root{width:100%}.sponsor-ad{grid-template-columns:auto minmax(0,1fr)}.sponsor-ad>a{grid-column:2;width:max-content}footer p{display:none}}@media(max-width:480px){.cloud-action,.theme-action{display:none}.nav-actions{gap:2px}.best-score,.logo strong{display:none}.logo>span{width:40px;height:40px;box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 18%,transparent)}.logo>span svg{display:none}.logo>span b{display:block}.mobile-module-menu{transition:color .18s ease,background-color .18s ease}.mobile-module-menu:hover,.mobile-module-menu[aria-expanded=true]{color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}.mobile-module-current-icon{flex:0 0 auto}.mobile-module-current-label{letter-spacing:-.02em}.mobile-module-chevron{flex:0 0 auto;color:var(--muted);transition:transform .18s ease}.mobile-module-menu[aria-expanded=true] .mobile-module-chevron{transform:rotate(180deg)}.nav-actions .mantine-ActionIcon-root,.account-trigger{width:40px;height:40px;min-width:40px;min-height:40px}.time-tabs button{width:34px}.settings-trigger{padding:0 9px;font-size:0}.settings-trigger svg{width:16px;height:16px}.shuffle-button{display:none}.home-dashboard{padding-top:34px}.home-eyebrow{margin-bottom:16px}.home-dashboard h1{font-size:40px}.home-next-focus{grid-template-columns:auto minmax(0,1fr)}.home-next-focus .mantine-Badge-root{grid-column:2;width:max-content}.home-trust-row{align-items:flex-start;flex-direction:column;gap:8px}.home-guide-heading>.mantine-Text-root:last-child{font-size:13px}.home-guide-principle{min-height:0}.home-guide-metrics dl>div{grid-template-columns:1fr;gap:5px}.home-guide-plan{padding:22px 18px}.home-guide-faq>.mantine-Group-root{align-items:flex-start;flex-direction:column}.review-preview{padding:20px 18px}.review-preview:before{top:26px;height:54px}.home-float-chip{display:none}.home-skill-preview{padding:22px 18px}.home-skill-empty-state{min-height:340px}.home-skill-orbit{width:170px;height:170px}.home-skill-orbit-node.node-1{left:66px}.home-skill-orbit-node.node-2{top:66px}.home-skill-orbit-node.node-3{left:66px}.home-skill-orbit-node.node-4{top:66px}.home-skill-row{grid-template-columns:minmax(90px,1fr) minmax(80px,1.2fr) 34px;gap:8px}.home-skill-row.is-empty{grid-template-columns:minmax(90px,1fr) minmax(80px,1.2fr) 48px}.review-task{grid-template-columns:auto minmax(0,1fr)}.review-task .mantine-Button-root{grid-column:1 / -1;width:100%}.review-baseline{grid-template-columns:1fr 1fr}.review-baseline>.mantine-Text-root{grid-column:1 / -1}.coach-recommendation{grid-template-columns:1fr;padding:22px 18px}.coach-icon{width:44px;height:44px}.practice-mode-control .mantine-SegmentedControl-label{min-height:42px;padding-inline:4px;font-size:9px}.listening-panel{grid-template-columns:1fr;padding:18px}.listening-panel-controls{grid-column:auto}.listening-panel-controls .mantine-SegmentedControl-root,.listening-panel-controls .mantine-Button-root{width:100%;flex:auto}.practice-stage{padding-top:18px}.control-bar,.exercise-header{margin-bottom:24px}.typing-zone{min-height:180px}.focus-empty-state{min-height:165px;padding-inline:10px}.progress-line{margin-top:22px}.speaking-practice-panel{padding:18px 16px}.speaking-practice-heading{grid-template-columns:auto minmax(0,1fr);align-items:start}.speaking-practice-heading .mantine-RingProgress-root{grid-column:1 / -1;justify-self:center}.speaking-record-controls{grid-template-columns:1fr}.speaking-audio{grid-column:auto;grid-row:auto}.speaking-record-controls .mantine-Button-root{width:100%}.writing-practice-panel{padding:18px 16px}.writing-practice-heading{grid-template-columns:auto minmax(0,1fr);align-items:start}.writing-practice-heading .mantine-RingProgress-root{grid-column:1 / -1;justify-self:center}.writing-response textarea{min-height:190px;padding:14px;font-size:14px}.writing-actions{align-items:stretch;flex-direction:column}.writing-actions .mantine-Button-root{width:100%}.cloud-sync-card>.mantine-Group-root:first-child{align-items:flex-start;flex-direction:column}.cloud-sync-actions{align-items:stretch;flex-direction:column}.cloud-sync-actions .mantine-Button-root{width:100%}.completed-review-note{align-items:stretch;flex-direction:column}.completed-review-note .mantine-Button-root{width:100%}.exercise-header{display:block}.countdown{margin-top:18px;text-align:center}.text-display{font-size:19px}.bottom-actions{align-items:stretch;gap:6px}.bottom-actions button{min-height:44px;padding-inline:12px}.bottom-actions kbd{display:none}.memory-strip>span{width:100%}.history-filters{grid-template-columns:1fr}.trend-metrics{grid-template-columns:1fr 1fr}.local-progress,.mistake-review{width:100%;max-width:100%;padding:18px 14px}.exam-plan-card{grid-template-columns:1fr}.exam-plan-icon{width:40px;height:40px}.exam-plan-controls{grid-column:auto}.skill-mastery-grid,.weak-word-grid{grid-template-columns:1fr}.mistake-review-header>.mantine-Group-root{align-items:stretch;flex-direction:column}.mistake-review-header .mantine-Button-root{width:100%}.feature-hub{margin-top:30px;padding:24px 16px}.feature-hub-heading h2{font-size:29px}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:205px}.sponsor-ad{padding:15px 45px 15px 14px;gap:12px}.support-card{grid-template-columns:1fr;align-items:flex-start}.support-card-payment{padding:18px 16px}.support-copy{align-items:flex-start}.support-card-payment .support-copy{grid-template-columns:auto minmax(0,1fr)}.support-card-payment .support-primary-action{grid-column:1 / -1;width:100%}.support-stats{width:100%;grid-template-columns:1fr 1fr}.support-stats>.mantine-Text-root{grid-column:1 / -1}.support-qr-wrap{width:100%}.support-card img{width:min(100%,128px)}.listening-panel-controls{grid-template-columns:1fr}.listening-voice-select{grid-column:auto}.listening-panel-controls .mantine-SegmentedControl-root{width:100%}.listening-engine-control>.mantine-Group-root{align-items:stretch;flex-direction:column}.sponsor-ad-icon{width:36px;height:36px}.sponsor-ad-copy{display:flex;align-items:flex-start;flex-direction:column;gap:5px}.sponsor-ad>a{grid-column:1 / -1;width:100%}.practice-score-content{align-items:flex-start;flex-direction:column}.typing-result-score .practice-score-content{align-items:center;flex-direction:row}.typing-result-layout .score-breakdown{grid-template-columns:1fr;gap:9px}}@media(max-width:480px){.practice-result-header{padding:10px 14px}.practice-result-body{padding:10px 14px 14px}.typing-result-score .practice-score-content{align-items:flex-start;flex-direction:column}.typing-result-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.typing-result-stats .compact-result-metric{padding:9px}.typing-result-stats .metric-value{font-size:25px!important}.typing-result-stats .metric-label,.typing-result-stats .metric-unit{font-size:9px}.practice-result-actions{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.workspace-shell:has(.listening-panel){width:min(100%,1180px)}.workspace-content .practice-stage:has(.listening-panel){width:min(100%,1140px);padding-top:8px}.listening-panel{margin:0 0 24px;display:block;padding:24px!important;border-color:color-mix(in srgb,var(--accent) 18%,var(--faint));border-radius:16px!important;box-shadow:none}.listening-header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px}.listening-panel-icon{width:42px;height:42px;border-radius:11px}.listening-panel-copy h1{margin:0 0 3px;font-size:20px;line-height:1.2}.listening-settings-button{align-self:start;min-height:36px}.listening-question-toolbar{margin-top:18px;padding:14px 0;border-top:1px solid var(--faint);border-bottom:1px solid var(--faint)}.listening-question-toolbar .mantine-Badge-root{height:26px;padding-inline:10px;font-size:11px}.listening-bank-button{min-height:34px}.listening-flow-stepper{margin-top:18px;padding:15px 18px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--faint));border-radius:12px;background:color-mix(in srgb,var(--accent) 2.5%,var(--surface))}.listening-flow-stepper .mantine-Stepper-step,.listening-flow-stepper .mantine-Stepper-stepBody{min-width:0}.listening-flow-stepper .mantine-Stepper-stepLabel{color:var(--text);font-size:13px;font-weight:800}.listening-flow-stepper .mantine-Stepper-stepDescription{color:var(--muted);font-size:11px}.listening-flow-stepper .mantine-Stepper-stepIcon{border-color:color-mix(in srgb,var(--accent) 25%,var(--faint));background:var(--surface)}.listening-flow-stepper .mantine-Stepper-step[data-progress] .mantine-Stepper-stepIcon,.listening-flow-stepper .mantine-Stepper-step[data-completed] .mantine-Stepper-stepIcon{color:#fff;border-color:var(--accent);background:var(--accent)}.listening-flow-stepper .mantine-Stepper-separator{background:var(--faint)}.listening-flow-stepper .mantine-Stepper-separator[data-active]{background:var(--accent)}.listening-core{padding-top:20px}.listening-exam-prompt{max-width:none;display:flex;align-items:baseline;justify-content:space-between;gap:18px}.listening-exam-prompt>.mantine-Text-root:first-child{font-size:17px}.listening-exam-stage{margin-top:12px;min-height:268px;display:grid;grid-template-columns:minmax(0,72fr) minmax(190px,28fr);align-items:stretch;column-gap:0;padding:0!important;overflow:hidden;border:1px solid color-mix(in srgb,var(--text) 24%,var(--border));border-radius:14px;background:var(--surface-soft)}.listening-exam-answer{min-width:0;padding:22px 24px 18px}.dictation-composer{height:100%;display:flex;flex-direction:column}.dictation-input{flex:1;width:100%;min-height:184px;height:auto;padding:14px 16px;resize:none;border:1px solid color-mix(in srgb,var(--text) 25%,var(--border));border-radius:var(--mantine-radius-sm);outline:0;color:var(--text);background:var(--surface);font:500 17px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.dictation-input:hover:not(:disabled):not(:focus){border-color:color-mix(in srgb,var(--text) 42%,var(--border))}.dictation-input:focus{border-color:var(--accent)!important;background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)!important}.dictation-toolbar{margin-top:auto;padding-top:14px;border-top:1px solid var(--faint)}.dictation-primary-actions .shared-countdown{min-width:auto;min-height:34px;padding:0 8px;border:0;background:transparent}.dictation-primary-actions .shared-countdown strong{font-size:15px}.dictation-navigation .mantine-Button-root{min-height:34px}.dictation-nav-compact{display:none}.dictation-submit-button{min-width:132px}.listening-primary-player{grid-column:2;grid-row:auto;min-width:0;align-self:stretch;display:grid;place-content:center;justify-items:center;gap:8px;padding:24px;border-left:1px solid var(--faint);background:color-mix(in srgb,var(--accent) 3%,var(--surface))}.listening-play-orb{position:relative;width:68px;height:68px;border:0;box-shadow:none}.listening-play-orb:hover:not(:disabled){transform:scale(1.04);box-shadow:none}.listening-play-orb[data-playing]{background:color-mix(in srgb,var(--accent) 88%,#111)}.listening-wave{position:absolute;right:-9px;bottom:3px;height:22px;display:flex;align-items:center;gap:2px;padding:3px 4px;border-radius:7px;color:var(--accent);background:var(--surface)}.listening-wave i{width:2px;height:8px;border-radius:2px;background:currentColor;animation:dictation-wave 1s ease-in-out infinite}.listening-wave i:nth-child(2){height:14px;animation-delay:.12s}.listening-wave i:nth-child(3){animation-delay:.24s}@keyframes dictation-wave{50%{transform:scaleY(.45)}}.listening-shortcut-hint{margin-top:3px;font-size:10px!important}.listening-quick-controls{width:min(100%,260px);display:grid;gap:7px;margin-top:4px}.listening-quick-controls .mantine-SegmentedControl-root{width:100%}.listening-quick-controls .mantine-Button-root{justify-self:center}.listening-answer-reveal{grid-column:1 / -1;padding:15px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-top:1px solid var(--faint);background:var(--surface)}.listening-answer-reveal>div{min-width:0}.listening-answer-reveal>div>.mantine-Text-root:last-child{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.7}.module-panel-collapse>div{padding-top:22px}.listening-settings{border-top:1px solid var(--faint)}.listening-settings-heading{display:flex;align-items:center;gap:8px;padding:18px 0 4px}.listening-settings-heading svg{color:var(--accent)}.listening-settings-group{padding:18px 0;border-bottom:1px solid var(--faint)}.listening-settings-label{display:block;margin-bottom:12px;text-transform:uppercase;letter-spacing:.06em}.listening-speech-settings{display:grid;grid-template-columns:minmax(230px,1.3fr) minmax(220px,1.4fr) auto auto auto;align-items:end;gap:12px}.listening-speech-settings>div>.mantine-Text-root{margin-bottom:6px}.listening-engine-control{grid-column:auto;padding:0;border:0}.listening-filter-empty{margin-top:12px}.listening-source-builder{display:contents}.listening-playlist-group{padding-bottom:0;border-bottom:0}.listening-playlist-head{padding:0 0 13px;border:0}.listening-playlist-controls{border:1px solid var(--faint);border-radius:10px}.dictation-result-state{margin-top:12px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.dictation-result-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.dictation-result-heading h2{margin:2px 0 0;color:var(--accent);font-size:32px;letter-spacing:-.04em}.dictation-result-comparison{display:grid;gap:10px}.dictation-result-answer{min-height:92px;padding:15px 17px;border:1px solid var(--faint);border-left-width:3px;border-radius:8px;background:var(--surface)}.dictation-result-answer.is-user{border-left-color:var(--danger);background:color-mix(in srgb,var(--danger) 3%,var(--surface))}.dictation-result-answer.is-user[data-correct],.dictation-result-answer.is-reference{border-left-color:var(--green);background:color-mix(in srgb,var(--green) 3%,var(--surface))}.dictation-answer-label{display:flex;align-items:center;gap:7px}.dictation-answer-label>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.dictation-result-answer[data-correct] .dictation-answer-label>span,.dictation-result-answer.is-reference .dictation-answer-label>span{color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent)}.dictation-answer-label .mantine-Badge-root{margin-left:auto}.dictation-answer-sentence{color:var(--text);font:600 15px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}.dictation-result-notes{margin-top:14px}.dictation-diff-panel{padding:15px 17px;border:1px solid var(--faint);border-left:3px solid var(--accent);border-radius:8px;background:var(--surface)}.dictation-diff-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:11px}.dictation-diff-rowlabels{display:flex;gap:12px}.dictation-diff-rowlabel{font-size:11px;font-weight:750;color:var(--muted)}.dictation-diff-rowlabel.is-user:before,.dictation-diff-rowlabel.is-ref:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:3px;vertical-align:0}.dictation-diff-rowlabel.is-user:before{background:color-mix(in srgb,var(--danger) 60%,transparent)}.dictation-diff-rowlabel.is-ref:before{background:color-mix(in srgb,var(--green) 65%,transparent)}.dictation-diff-grid{display:flex;flex-wrap:wrap;gap:6px}.dictation-diff-col{display:inline-flex;flex-direction:column;gap:4px}.dictation-diff-cell{min-height:27px;padding:3px 8px;border:1px solid transparent;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font:650 13.5px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}.dictation-diff-cell[data-empty]{border-style:dashed;border-color:var(--faint)}.dictation-diff-cell[data-empty]:before{content:"·";color:var(--muted);opacity:.6}.dictation-diff-col[data-kind=match] .dictation-diff-cell{color:var(--text)}.dictation-diff-col[data-kind=match] .dictation-diff-cell.is-user{color:var(--muted);background:color-mix(in srgb,var(--muted) 6%,transparent)}.dictation-diff-col[data-kind=substitution] .dictation-diff-cell.is-user,.dictation-diff-col[data-kind=extra] .dictation-diff-cell.is-user{color:var(--danger);text-decoration:line-through;text-decoration-thickness:1.5px;background:color-mix(in srgb,var(--danger) 9%,transparent);border-color:color-mix(in srgb,var(--danger) 28%,transparent)}.dictation-diff-col[data-kind=substitution] .dictation-diff-cell.is-ref{color:var(--green);font-weight:800;background:color-mix(in srgb,var(--green) 11%,transparent);border-color:color-mix(in srgb,var(--green) 30%,transparent)}.dictation-diff-col[data-kind=missing] .dictation-diff-cell.is-ref{color:var(--warn);font-weight:800;background:color-mix(in srgb,var(--warn) 13%,transparent);border-color:color-mix(in srgb,var(--warn) 36%,transparent)}.dictation-diff-col[data-kind=capitalization] .dictation-diff-cell.is-user,.dictation-diff-col[data-kind=punctuation] .dictation-diff-cell.is-user{color:var(--accent);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.dictation-diff-col[data-kind=capitalization] .dictation-diff-cell.is-ref,.dictation-diff-col[data-kind=punctuation] .dictation-diff-cell.is-ref{color:var(--muted)}.dictation-diff-col[data-kind=punctuation] .dictation-diff-cell{min-width:24px;padding-inline:5px}.dictation-diff-col[data-moved] .dictation-diff-cell{color:var(--accent);text-decoration:none;border-color:color-mix(in srgb,var(--accent) 38%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent);font-weight:750}.dictation-diff-col[data-moved] .dictation-diff-cell[data-empty]{color:var(--accent)}.dictation-diff-col[data-moved] .dictation-diff-cell[data-empty]:before{content:"↔";opacity:.8}.dictation-diff-key i[data-kind=moved]{background:color-mix(in srgb,var(--accent) 60%,transparent)}.dictation-diff-key{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px}.dictation-diff-key span{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:650;color:var(--muted)}.dictation-diff-key i{width:11px;height:11px;border-radius:3px}.dictation-diff-key i[data-kind=substitution]{background:color-mix(in srgb,var(--danger) 55%,transparent)}.dictation-diff-key i[data-kind=missing]{background:color-mix(in srgb,var(--warn) 60%,transparent)}.dictation-diff-key i[data-kind=capitalization]{background:color-mix(in srgb,var(--accent) 55%,transparent)}.dictation-result-comparison+.dictation-diff-panel{margin-top:10px}.dictation-diff-panel+.dictation-result-answer{margin-top:10px}.dictation-result-actions{margin-top:22px;padding-top:16px;border-top:1px solid var(--faint)}.question-bank-drawer-content{width:min(800px,52vw)!important;max-width:100vw}.question-bank-drawer-header{position:sticky;z-index:2;top:0;border-bottom:1px solid var(--faint);background:var(--surface)}.question-bank-drawer-body{height:calc(100dvh - 70px);padding-bottom:14px}.question-bank-row{min-height:82px}@media(max-width:1024px){.listening-speech-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.listening-engine-control,.listening-voice-select{grid-column:span 1}.question-bank-drawer-content{width:min(800px,70vw)!important}}@media(max-width:900px)and (min-width:768px){.dictation-toolbar{align-items:stretch;flex-direction:column}.dictation-primary-actions,.dictation-navigation{width:100%}.dictation-navigation{justify-content:flex-end}.dictation-navigation .mantine-Button-root{min-width:max-content}}@media(max-width:767px){.workspace-shell:has(.listening-panel){padding-top:12px}.workspace-content .practice-stage:has(.listening-panel){padding-top:0}.listening-panel{padding:18px 16px!important;border-right:0;border-left:0;border-radius:0!important}.listening-header{grid-template-columns:36px minmax(0,1fr) 40px;gap:10px}.listening-panel-icon{width:36px;height:36px}.listening-panel-copy h1{font-size:18px}.listening-settings-button{grid-column:3;grid-row:1;width:40px;min-width:40px;padding:0}.listening-settings-button .mantine-Button-label,.listening-settings-button .mantine-Button-section[data-position=right]{display:none}.listening-settings-button .mantine-Button-section[data-position=left]{margin:0}.listening-question-toolbar{align-items:flex-start;flex-direction:column}.listening-question-toolbar>.mantine-Group-root:last-child{width:100%;justify-content:flex-end}.listening-flow-stepper{padding:12px 10px}.listening-flow-stepper .mantine-Stepper-steps{flex-wrap:nowrap}.listening-flow-stepper .mantine-Stepper-step{min-width:0;flex:1 1 0;padding:0}.listening-flow-stepper .mantine-Stepper-step:last-of-type{flex:0 1 auto}.listening-flow-stepper .mantine-Stepper-separator,.listening-flow-stepper .mantine-Stepper-stepDescription{display:none}.listening-flow-stepper .mantine-Stepper-stepLabel{font-size:12px}.listening-flow-stepper .mantine-Stepper-stepIcon{width:32px;min-width:32px;height:32px}.listening-exam-prompt{align-items:flex-start;flex-direction:column;gap:3px}.listening-exam-stage{min-height:0;grid-template-columns:1fr;overflow:visible}.listening-primary-player{grid-column:1;grid-row:1;min-height:138px;padding:14px;border-bottom:1px solid var(--faint);border-left:0}.listening-quick-controls{width:min(100%,320px)}.listening-play-orb{width:60px;height:60px}.listening-exam-answer{grid-row:2;padding:18px 16px}.dictation-input{min-height:136px;font-size:16px}.dictation-toolbar{align-items:stretch;flex-direction:column}.dictation-primary-actions{width:100%}.dictation-primary-actions .dictation-submit-button{flex:1}.dictation-navigation{width:100%}.dictation-navigation .mantine-Button-root{flex:1;min-width:0;padding-inline:5px;font-size:12px}.dictation-navigation .mantine-Button-section{margin-inline:3px}.dictation-nav-full{display:none}.dictation-nav-compact{display:inline}.listening-shortcut-hint{display:none}.listening-speech-settings{grid-template-columns:1fr}.listening-engine-control,.listening-voice-select{grid-column:auto}.listening-speech-settings .mantine-SegmentedControl-root{width:100%}.listening-playlist-head{align-items:flex-start;flex-direction:column}.listening-playlist-controls{grid-template-columns:auto minmax(0,1fr) auto}.listening-playlist-controls>.mantine-Button-root:nth-of-type(2){display:none}.listening-now-playing{grid-column:1 / -1}.dictation-result-state{padding:18px 14px}.dictation-result-actions{align-items:stretch;flex-direction:column}.dictation-result-actions>.mantine-Group-root,.dictation-result-actions .mantine-Button-root{width:100%}.dictation-result-actions>.mantine-Group-root{flex-direction:column}.question-bank-drawer-content{width:100vw!important}}.readiness-page{width:min(100%,1120px);margin:0 auto;padding:58px 0 100px}.readiness-intro{display:grid;grid-template-columns:minmax(0,1fr) 390px;align-items:center;gap:54px;padding:20px 0 64px}.readiness-intro h1{color:var(--text);font-size:clamp(38px,5vw,60px);line-height:1.08;letter-spacing:-.045em}.readiness-pass{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--accent) 28%,var(--faint));background:var(--surface);box-shadow:0 18px 52px #332b7017}.readiness-pass:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--accent)}.readiness-pass-score{display:flex;align-items:baseline;gap:8px;margin:28px 0 24px}.readiness-pass-score strong{color:var(--text);font-size:68px;line-height:.9;letter-spacing:-.06em}.readiness-pass-score span{color:var(--muted);font-size:15px;font-weight:700}.readiness-pass .mantine-SimpleGrid-root>div{min-width:0;display:grid;gap:4px;padding-top:15px;border-top:1px solid var(--faint)}.readiness-pass .mantine-SimpleGrid-root strong{color:var(--text);font-size:20px}.readiness-pass .mantine-SimpleGrid-root span{color:var(--muted);font-size:10px;font-weight:700}.readiness-section{padding:54px 0;border-top:1px solid var(--faint)}.readiness-page .mantine-Button-root{min-height:40px}.readiness-section h2,.readiness-utility h2{margin:7px 0 8px;color:var(--text);font-size:clamp(27px,3vw,36px);line-height:1.2;letter-spacing:-.035em}.readiness-section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px}.readiness-section-heading>div:first-child{max-width:760px}.readiness-section-heading .mantine-Text-root:last-child{line-height:1.75}.readiness-task{min-height:190px;display:flex;align-items:flex-start;flex-direction:column;gap:12px;border-color:var(--faint);background:var(--surface)}.readiness-task[data-complete=true]{border-color:color-mix(in srgb,var(--green) 30%,var(--faint));background:color-mix(in srgb,var(--green) 3%,var(--surface))}.readiness-task .mantine-Badge-root{margin-top:auto}.readiness-task .mantine-Button-root{align-self:stretch}.challenge-total{min-width:108px;display:grid;justify-items:end}.challenge-total strong{color:var(--accent);font-size:29px;letter-spacing:-.04em}.challenge-total span{color:var(--muted);font-size:10px;font-weight:750}.daily-challenge-card{min-height:176px;border-color:var(--faint);background:var(--surface)}.daily-challenge-card .mantine-Button-root{margin-top:auto}.readiness-plan-grid{margin-top:26px;display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.5fr);gap:16px}.readiness-plan-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;border-color:var(--faint)}.readiness-plan-output{border-color:color-mix(in srgb,var(--accent) 22%,var(--faint));background:color-mix(in srgb,var(--accent) 3%,var(--surface))}.readiness-plan-output .mantine-SimpleGrid-root>div{display:grid;gap:5px}.readiness-plan-output .mantine-SimpleGrid-root strong{color:var(--text);font-size:29px;letter-spacing:-.045em}.readiness-plan-output .mantine-SimpleGrid-root span{color:var(--muted);font-size:10px;font-weight:750}.readiness-utility-grid{padding:54px 0;border-top:1px solid var(--faint)}.readiness-utility{min-height:400px;display:flex;align-items:flex-start;flex-direction:column;border-color:var(--faint);background:var(--surface)}.readiness-utility>.mantine-Text-root{line-height:1.75}.readiness-utility>.mantine-Button-root{margin-top:auto}.mic-test-running{width:100%;margin-top:auto;display:grid;gap:14px;padding:24px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--faint));border-radius:12px;color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.mic-test-running .mantine-Text-root{color:var(--text)}.mini-mock-visual{width:100%;margin-top:auto;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:22px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.mini-mock-visual>svg{color:var(--accent)}.mini-mock-visual>div{display:grid;gap:4px}.mini-mock-visual strong{color:var(--text);font-size:28px;letter-spacing:-.04em}.mini-mock-visual span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.09em}.readiness-share{display:grid;grid-template-columns:minmax(0,1fr) 300px 180px;align-items:center;gap:30px}.share-card-preview{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--accent) 28%,var(--faint));background:var(--surface)}.share-card-preview:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}.share-card-preview>div:nth-child(2){display:flex;align-items:baseline;gap:8px;margin:24px 0 18px}.share-card-preview>div:nth-child(2) strong{color:var(--text);font-size:42px;line-height:1;letter-spacing:-.05em}.share-card-preview>div:nth-child(2) span{color:var(--accent);font-weight:800}@media(max-width:1080px){.top-module-navigation{gap:8px}.readiness-intro{grid-template-columns:minmax(0,1fr) 340px;gap:32px}.readiness-plan-grid{grid-template-columns:1fr}.readiness-share{grid-template-columns:minmax(0,1fr) 300px}.readiness-share>.mantine-Stack-root{grid-column:1 / -1;display:flex;align-items:center;flex-direction:row}}@media(max-width:767px){.readiness-page{padding:24px 0 70px}.readiness-intro{grid-template-columns:1fr;gap:28px;padding-bottom:44px}.readiness-intro h1{font-size:39px}.readiness-pass-score strong{font-size:58px}.readiness-section{padding:42px 0}.readiness-section-heading{grid-template-columns:1fr;gap:18px}.readiness-section-heading .mantine-RingProgress-root{justify-self:start}.challenge-total{justify-items:start}.readiness-task{min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.readiness-task .mantine-Badge-root{margin:0}.readiness-task .mantine-Button-root{grid-column:1 / -1}.readiness-plan-form{grid-template-columns:1fr}.readiness-utility-grid{padding:42px 0}.readiness-utility{min-height:350px;padding:20px!important}.readiness-share{grid-template-columns:1fr}.readiness-share>.mantine-Stack-root{grid-column:auto;align-items:stretch;flex-direction:column}}
