.landing-page{min-height:100vh;color:var(--color-text);background:linear-gradient(140deg, #eee7ffdb, #fff0 38%), linear-gradient(180deg, #fff 0%, var(--color-bg) 54%, #f8fbff 100%)}.landing-nav{justify-content:space-between;align-items:center;gap:var(--space-5);width:min(1180px,100% - 32px);padding:var(--space-5) 0;margin:0 auto;display:flex}.landing-brand{align-items:center;gap:var(--space-3);color:var(--color-primary-strong);font-size:1.45rem;font-weight:900;display:flex}.landing-brand img{object-fit:cover;border-radius:14px;width:46px;height:46px}.landing-nav nav{justify-content:flex-end;align-items:center;gap:var(--space-4);color:#4f5873;flex-wrap:wrap;font-weight:800;display:flex}.landing-nav nav a:hover{color:var(--color-primary-strong)}.landing-hero{gap:var(--space-10);width:min(1180px,100% - 32px);padding:clamp(44px, 8vw, 92px) 0 var(--space-10);grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);align-items:center;margin:0 auto;display:grid}.hero-copy h1{max-width:820px;margin:var(--space-3) 0 0;letter-spacing:0;font-size:clamp(2.8rem,7vw,5.6rem);line-height:.96}.hero-kicker{align-items:center;gap:var(--space-2);color:var(--color-primary-strong);font-weight:900;display:inline-flex}.hero-copy p{max-width:680px;margin:var(--space-5) 0 0;color:var(--color-muted);font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.65}.hero-actions{align-items:center;gap:var(--space-5);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.text-link{color:var(--color-primary-strong);font-weight:900}.hero-proof{gap:var(--space-3);max-width:720px;margin:var(--space-8) 0 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.hero-proof div{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#ffffffb8}.hero-proof dt{color:var(--color-primary-strong);font-size:1.5rem;font-weight:900}.hero-proof dd{margin:var(--space-1) 0 0;color:var(--color-muted);line-height:1.35}.hero-visual{min-height:520px;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg, #fffffff0, #f4efffd1), var(--color-surface);box-shadow:var(--shadow-soft);justify-items:center;display:grid;position:relative}.hero-visual>img{object-fit:contain;max-height:390px}.promise-panel{right:var(--space-6);bottom:var(--space-6);width:min(320px,100% - 48px);padding:var(--space-5);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff;position:absolute}.promise-panel span{color:var(--color-primary-strong);font-weight:900}.promise-panel strong{margin-top:var(--space-2);font-size:1.25rem;display:block}.promise-panel p{margin:var(--space-2) 0 var(--space-4);color:var(--color-muted);line-height:1.4}.promise-progress{background:#edf0f6;border-radius:999px;height:10px;overflow:hidden}.promise-progress span{background:var(--color-mint);width:76%;height:100%;display:block}.landing-section,.landing-band,.landing-footer{width:min(1180px,100% - 32px);margin:0 auto}.landing-section{padding:clamp(52px,8vw,88px) 0}.section-heading{max-width:760px;margin-bottom:var(--space-6)}.section-heading>span{align-items:center;gap:var(--space-2);color:var(--color-primary-strong);font-weight:900;display:inline-flex}.section-heading h2,.landing-band h2{margin:var(--space-3) 0 0;letter-spacing:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.section-heading p,.landing-band p,.faq-list p{color:var(--color-muted);font-size:1rem;line-height:1.65}.feature-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.feature-grid article,.faq-list article{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#ffffffe0}.feature-grid svg{color:var(--color-primary)}.feature-grid h3,.faq-list h3{margin:var(--space-4) 0 var(--space-2);font-size:1.13rem}.feature-grid p{color:var(--color-muted);margin:0;line-height:1.55}.landing-band{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-8);border-radius:var(--radius-lg);background:var(--color-yellow-soft);box-shadow:var(--shadow-card);border:1px solid #f1cf62;display:flex}.landing-band svg{color:#a67900}.landing-band p{max-width:760px}.faq-list{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.landing-footer{justify-content:space-between;gap:var(--space-4);padding:var(--space-8) 0;color:var(--color-muted);flex-wrap:wrap;font-weight:750;display:flex}@media (width<=980px){.landing-hero,.feature-grid,.faq-list{grid-template-columns:1fr}.hero-visual{min-height:460px}.landing-band{display:grid}}@media (width<=680px){.landing-nav{display:grid}.landing-nav nav{justify-content:start}.hero-proof{grid-template-columns:1fr}.hero-visual{min-height:390px}.hero-visual>img{max-height:270px}}.app-shell{grid-template-columns:282px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{gap:var(--space-5);height:100vh;padding:var(--space-6) var(--space-4);border-right:1px solid var(--color-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffb3;flex-direction:column;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-3);color:var(--color-primary-strong);font-size:1.55rem;font-weight:850;display:flex}.brand img{object-fit:cover;border-radius:14px;width:48px;height:48px}.sidebar-nav{gap:var(--space-2);display:grid}.sidebar-nav a,.sidebar-nav button{align-items:center;gap:var(--space-3);width:100%;min-height:46px;padding:0 var(--space-4);border-radius:var(--radius-sm);color:#56607e;text-align:left;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:0 0;border:0;font-weight:700;display:flex}.sidebar-nav a.active,.sidebar-nav a:hover,.sidebar-nav button:hover{color:var(--color-primary-strong);background:var(--color-primary-soft)}.sidebar-nav a:hover,.sidebar-nav button:hover{transform:translate(2px)}.sidebar-divider{background:var(--color-border);height:1px}.sidebar-nav-muted{margin-bottom:auto}.main-panel{min-width:0}.topbar{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:86px;padding:0 var(--space-8);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffbd;display:flex}.streak-card,.topbar-actions,.currency,.profile-chip{align-items:center;gap:var(--space-3);display:flex}.streak-card{min-width:360px;padding:var(--space-3) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card)}.streak-card svg{color:#ff8a3d}.streak-card span{color:var(--color-muted)}.mini-week{gap:6px;margin-left:auto;display:flex}.mini-week span{border:1px solid var(--color-border);border-radius:50%;place-items:center;width:22px;height:22px;font-size:.7rem;display:grid}.mini-week .done{color:#fff;background:var(--color-mint);border-color:var(--color-mint)}.currency,.profile-chip,.bell-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:44px;box-shadow:var(--shadow-card)}.currency{padding:0 var(--space-5);font-weight:800}.bell-btn{width:44px;color:var(--color-text);place-items:center;display:grid}.profile-chip{padding:0 var(--space-4);color:var(--color-text)}.profile-chip small{color:var(--color-muted);display:block}.dashboard-grid,.mock-layout,.typing-page,.page-stack{padding:var(--space-8)}.dashboard-grid{gap:var(--space-8);grid-template-columns:minmax(0,1fr) 360px;display:grid}.page-heading{justify-content:space-between;align-items:center;gap:var(--space-5);margin-bottom:var(--space-6);display:flex}.page-heading.compact{margin-bottom:var(--space-5)}.page-heading h1{letter-spacing:0;margin:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.page-heading.compact h1{font-size:clamp(1.8rem,3vw,2.45rem)}.page-heading p{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:1rem;line-height:1.6}.heading-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-sm);transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);border:1px solid #0000;font-weight:850;line-height:1;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{color:#fff;background:var(--color-primary);box-shadow:0 12px 24px #7252df3d}.btn-secondary{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border)}.btn-ghost{color:var(--color-primary);background:0 0}.btn-success{color:#fff;background:var(--color-mint);box-shadow:0 12px 24px #3fc58d2e}.icon-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--color-text);background:var(--color-surface);place-items:center;display:grid}.path-list{gap:var(--space-5);display:grid}.practice-node{gap:var(--space-5);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);grid-template-columns:88px minmax(0,1fr) auto;align-items:center;display:grid}.practice-node-active{border-color:#3fc58d8a;box-shadow:0 14px 36px #3fc58d24}.practice-node-icon{border-radius:var(--radius-md);width:72px;height:72px;color:var(--color-primary);background:var(--color-primary-soft);place-items:center;display:grid}.practice-node-completed .practice-node-icon,.practice-node-active .practice-node-icon{color:var(--color-mint);background:var(--color-mint-soft)}.practice-node-locked{opacity:.64}.practice-node-title{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.practice-node h3{margin:0;font-size:1.15rem}.practice-node-title span,.score-badge,.skill-pill{min-height:26px;padding:0 var(--space-3);border-radius:999px;align-items:center;font-size:.78rem;font-weight:850;display:inline-flex}.practice-node-title span{color:#1f8c62;background:var(--color-mint-soft)}.practice-node p{margin:var(--space-2) 0;color:var(--color-muted)}.practice-node-meta{gap:var(--space-4);color:var(--color-muted);flex-wrap:wrap;font-size:.92rem;display:flex}.practice-node-meta span{align-items:center;gap:6px;display:inline-flex}.node-action{min-width:104px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-primary-strong);text-align:center;background:#fff;justify-self:end;font-weight:850}.node-action.muted{color:var(--color-muted)}.reward-strip{justify-content:center;align-items:center;gap:var(--space-5);margin-top:var(--space-6);padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-yellow-soft);box-shadow:var(--shadow-card);border:1px solid #f1cf62;flex-wrap:wrap;display:flex}.treasure{font-size:2rem}.dashboard-rail,.arena-rail{align-content:start;gap:var(--space-5);display:grid}.rail-card,.module-card,.question-card,.progress-overview,.mock-intro,.mock-runner,.empty-state,.typing-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#ffffffeb}.rail-card{padding:var(--space-5)}.rail-card-heading{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.rail-card-heading h2,.rail-card h2{align-items:center;gap:var(--space-2);margin:0;font-size:1.05rem;display:flex}.rail-card-heading a{color:var(--color-primary);font-weight:850}.typing-stats{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-strong);grid-template-columns:repeat(3,1fr);display:grid}.typing-stats div,.typing-live-stats div,.progress-summary div{text-align:center;gap:3px;display:grid}.typing-stats span,.typing-live-stats span,.progress-summary span{color:var(--color-muted);font-size:.8rem;font-weight:700}.typing-stats strong,.typing-live-stats strong,.progress-summary strong{font-size:1.65rem}.typing-stats small{color:#1f8c62}.leaderboard,.leaderboard-card{gap:var(--space-2);display:grid}.leaderboard h3{margin:var(--space-5) 0 var(--space-1)}.leaderboard div,.leaderboard-card div{gap:var(--space-2);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;display:grid}.leaderboard div.is-you,.leaderboard-card div:hover{color:var(--color-primary-strong);background:var(--color-primary-soft)}.leaderboard em,.leaderboard-card em{color:var(--color-muted);font-style:normal;font-weight:800}.progress-ring{--ring-color:var(--color-mint);margin:var(--space-4) auto;place-items:center;display:grid}.progress-ring-primary{--ring-color:var(--color-primary)}.progress-ring-yellow{--ring-color:var(--color-yellow)}.progress-ring-inner{background:radial-gradient(circle at center, #fff 0 56%, transparent 57%), conic-gradient(var(--ring-color) var(--progress), #edf0f6 0);border-radius:50%;place-items:center;width:150px;height:150px;display:grid}.progress-ring-inner strong{align-self:end;font-size:2.4rem}.progress-ring-inner span{color:var(--color-muted);align-self:start}.progress-ring p{margin:var(--space-2) 0 0;color:var(--color-muted);font-weight:800}.skill-bars{gap:var(--space-3);display:grid}.skill-bars div{gap:var(--space-3);grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;display:grid}.skill-bars span{color:var(--color-muted);text-transform:capitalize}meter{width:100%;height:10px}.mascot-coach{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);display:grid}.mascot-coach img{object-fit:contain;justify-self:center;max-height:190px}.mascot-coach-compact img{max-height:130px}.mascot-bubble{padding:var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-primary-soft);font-weight:750;line-height:1.45}.mascot-coach strong{font-size:1.1rem}.mascot-coach span{color:var(--color-muted)}.module-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.module-card{gap:var(--space-3);padding:var(--space-5);flex-direction:column;display:flex}.module-card h2{margin:0;font-size:1.2rem}.module-card p{color:var(--color-muted);margin:0;line-height:1.5}.module-card dl{gap:var(--space-2);margin:auto 0 var(--space-2);display:grid}.module-card dl div{justify-content:space-between;gap:var(--space-3);display:flex}.module-card dt{color:var(--color-muted)}.module-card dd{margin:0;font-weight:850}.skill-reading{color:#315aa6;background:#e8f0ff}.skill-listening{color:#1d7d5b;background:var(--color-mint-soft)}.skill-writing{color:#9a6b00;background:var(--color-yellow-soft)}.skill-speaking{color:var(--color-primary-strong);background:var(--color-primary-soft)}.practice-session{gap:var(--space-6);padding:var(--space-8);grid-template-columns:minmax(0,1fr) 310px;display:grid}.practice-session .page-heading{grid-column:1/-1}.question-card{padding:var(--space-6)}.question-card header{margin-bottom:var(--space-4)}.question-card header h2{margin:0;font-size:1.5rem}.question-card header p,.question-card-body p{color:var(--color-muted);line-height:1.6}.question-card-body{gap:var(--space-5);display:grid}.question-card footer{margin-top:var(--space-5);justify-content:flex-end;display:flex}.question-exam-bar{align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-muted);background:#ffffffc7;flex-wrap:wrap;font-weight:800;display:flex}.question-exam-bar strong{color:var(--color-primary-strong);text-transform:capitalize}.timer-pill{align-items:center;gap:var(--space-2);min-height:32px;padding:0 var(--space-3);color:var(--color-primary-strong);background:var(--color-primary-soft);border-radius:999px;display:inline-flex}.question-stepper{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(20px,1fr));display:grid}.question-stepper span{background:var(--color-border);border-radius:999px;height:8px}.question-stepper .done{background:var(--color-mint)}.question-stepper .active{background:var(--color-primary)}.question-interaction{gap:var(--space-5);display:grid}.question-footer-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.word-check{justify-items:start;gap:var(--space-4);display:grid}.word-check strong{padding:var(--space-5) var(--space-8);border-radius:var(--radius-md);color:var(--color-primary-strong);background:var(--color-primary-soft);font-size:2.4rem}.choice-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.text-answer,.photo-task{gap:var(--space-4);display:grid}label,fieldset{gap:var(--space-2);color:var(--color-text);font-weight:750;display:grid}fieldset{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm)}fieldset label{color:var(--color-muted);grid-template-columns:18px minmax(0,1fr);align-items:start;font-weight:650}input,textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;padding:var(--space-3);color:var(--color-text);background:#fff}textarea{resize:vertical;line-height:1.5}.question-instruction{color:var(--color-muted);margin:0;font-weight:750}.inline-sentence{color:var(--color-text);margin:0;font-size:1.25rem;font-weight:780;line-height:2.2}.word-fragment{min-height:38px;padding:0 3px 0 var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary-strong);border-right:0;align-items:center;display:inline-flex}.inline-word-input,.inline-blank{vertical-align:baseline;width:min(180px,42vw);margin:0 5px;padding:8px 10px;display:inline-block}.inline-word-input{border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-left:0}.passage,.scenario,.typing-prompt{padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-surface-strong)}.passage{color:var(--color-text);line-height:1.8}.passage span,.audio-scenario span,.task-kind{margin-bottom:var(--space-2);color:var(--color-primary-strong);letter-spacing:0;text-transform:uppercase;font-size:.82rem;font-weight:900;display:inline-flex}.passage h3,.task-panel h3,.writing-stage h3,.speaking-stage h3,.text-answer h3{color:var(--color-text);margin:0;font-size:1.18rem;line-height:1.35}.interactive-task-layout{gap:var(--space-5);grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);align-items:start;display:grid}.task-panel,.audio-scenario{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff;display:grid}.choice-options{gap:var(--space-3);display:grid}.choice-option{align-items:start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);grid-template-columns:20px minmax(0,1fr);font-weight:750;display:grid}.choice-option.selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.choice-option input{width:auto;margin-top:3px}.audio-prompt{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.audio-prompt span,.audio-scenario p{color:var(--color-muted);margin:0;font-weight:750}.photo-task{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);align-items:stretch}.photo-frame{margin:0}.photo-frame img,.photo-placeholder{object-fit:cover;border-radius:var(--radius-md);width:100%;height:100%;min-height:210px;max-height:360px}.photo-placeholder{align-content:center;gap:var(--space-3);padding:var(--space-5);border:1px dashed var(--color-border-strong);background:linear-gradient(135deg, #3fc58d1f, transparent 45%), var(--color-primary-soft);display:grid}.photo-placeholder span{color:var(--color-primary-strong);font-weight:850}.spoken-response-shell{gap:var(--space-4);align-content:start;display:grid}.topic-pair,.guiding-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.topic-pair span,.guiding-list li{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-primary-strong);background:var(--color-primary-soft);font-weight:800}.guiding-list{margin:0;padding:0;list-style:none}.session-feedback,.score-panel{align-content:start;gap:var(--space-4);display:grid}.score-panel{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card)}.score-badge-good{color:#126a49;background:var(--color-mint-soft)}.score-badge-ok{color:#8a6100;background:var(--color-yellow-soft)}.score-badge-low{color:#9b2944;background:#ffe8ef}.mock-intro,.mock-runner,.progress-overview,.empty-state,.typing-panel{padding:var(--space-6)}.mock-blueprint{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.mock-blueprint article{gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-surface-strong);display:grid}.mock-blueprint span,.mock-status span{color:var(--color-muted)}.mock-runner{gap:var(--space-5);margin-top:var(--space-5);display:grid}.mock-status{justify-content:space-between;gap:var(--space-3);display:flex}.typing-layout{gap:var(--space-6);margin-top:var(--space-5);grid-template-columns:minmax(0,1fr) 330px;display:grid}.typing-panel{gap:var(--space-4);display:grid}.typing-prompt span{color:var(--color-primary-strong);font-weight:850}.typing-prompt p{margin-bottom:0;font-size:1.2rem;line-height:1.6}.typing-live-stats,.progress-summary{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.typing-live-stats div,.progress-summary div{padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-surface-strong)}.timer-bar{background:#e8e9f1;border-radius:999px;height:10px;overflow:hidden}.timer-bar span{background:var(--color-mint);height:100%;display:block}.progress-overview{gap:var(--space-6);grid-template-columns:220px minmax(0,1fr);align-items:center;display:grid}.empty-state{justify-items:start;gap:var(--space-4);color:var(--color-muted);display:grid}.empty-state h2{color:var(--color-text);margin:0}.modal-backdrop{padding:var(--space-5);background:#20203847;place-items:center;display:grid;position:fixed;inset:0}.modal-panel{width:min(560px,100%);padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface)}.modal-panel header{justify-content:space-between;gap:var(--space-3);display:flex}@media (width<=1180px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.dashboard-grid,.typing-layout,.practice-session,.interactive-task-layout,.photo-task{grid-template-columns:1fr}.dashboard-rail,.arena-rail{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (width<=860px){.app-shell{display:block}.sidebar{gap:var(--space-3);height:auto;padding:var(--space-4);position:static}.sidebar-nav{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.sidebar>.mascot-coach{display:none}.topbar,.page-heading,.practice-node,.progress-overview{grid-template-columns:1fr;display:grid}.topbar{padding:var(--space-4)}.streak-card{min-width:0}.dashboard-grid,.mock-layout,.typing-page,.page-stack,.practice-session{padding:var(--space-4)}.node-action{justify-self:stretch}}@media (width<=560px){.topbar-actions,.currency,.heading-actions,.typing-live-stats,.typing-stats,.progress-summary{grid-template-columns:1fr;width:100%}.topbar-actions,.heading-actions{display:grid}.topbar-actions,.sidebar-nav-muted,.sidebar-divider{display:none}.sidebar-nav a,.sidebar-nav button{min-height:40px;padding:0 var(--space-3)}.question-card{padding:var(--space-4)}.question-exam-bar,.question-footer-actions,.audio-prompt{grid-template-columns:1fr;display:grid}.inline-sentence{font-size:1.05rem}.inline-word-input,.inline-blank{width:min(150px,52vw)}.btn,.profile-chip{width:100%}.practice-node-icon{width:56px;height:56px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#fbf9ff;--color-bg-soft:#f4efff;--color-surface:#fff;--color-surface-strong:#f7f3ff;--color-text:#202038;--color-muted:#68708a;--color-border:#e7ddfb;--color-border-strong:#d6c4f5;--color-primary:#7252df;--color-primary-strong:#5a35ca;--color-primary-soft:#eee7ff;--color-mint:#3fc58d;--color-mint-soft:#e7f8ef;--color-yellow:#f7c94a;--color-yellow-soft:#fff4ca;--color-danger:#e45b78;--color-blue:#3f88f7;--shadow-soft:0 16px 38px #402d701a;--shadow-card:0 10px 28px #402d7014;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--transition-fast:.16s ease;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--color-bg);min-width:320px}body{color:var(--color-text);background:linear-gradient(135deg, #eee7ffb8, transparent 34%), linear-gradient(180deg, #fff 0%, var(--color-bg) 44%, #f8fbff 100%);min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}
