:root{--ink:#18312e;--ink-soft:#536965;--cream:#f7f4ec;--paper:#fffdf8;--white:#fff;--green:#1c6657;--green-dark:#13493f;--mint:#cfe9dd;--mint-pale:#eaf4ef;--coral:#e98969;--peach:#f7dfd4;--gold:#e9b958;--lilac:#ddd6ef;--red:#c3524d;--red-pale:#f9e9e5;--line:#dddcd3;--shadow:0 18px 50px #1940381a;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;font-size:16px}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #1c665747}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:50;border-right:1px solid var(--line);background:#f0eee5;flex-direction:column;width:254px;height:100vh;padding:27px 18px 22px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{color:var(--ink);align-items:center;gap:11px;padding:0 8px 28px;font-family:Fraunces,serif;font-size:20px;font-weight:700;text-decoration:none;display:flex}.brand small{color:var(--ink-soft);letter-spacing:2.2px;margin-top:2px;font-family:DM Sans,sans-serif;font-size:8px;display:block}.brand-mark{background:var(--ink);width:36px;height:36px;color:var(--paper);border-radius:50% 50% 48% 52%;place-items:center;display:grid;transform:rotate(-4deg)}.brand-mark span{color:var(--coral);font-style:italic}.primary-nav{gap:4px;display:grid}.nav-link{appearance:none;cursor:pointer;color:var(--ink-soft);text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:11px 12px;font-weight:500;display:grid}.nav-link:hover{color:var(--ink);background:#ffffff8c}.nav-link.active{background:var(--white);color:var(--green);box-shadow:0 4px 16px #18312e0f}.nav-icon{text-align:center;font-size:18px}.nav-count{background:var(--peach);color:#8a452f;border-radius:50%;place-items:center;min-width:22px;height:22px;font-size:11px;display:grid}.sidebar-label{letter-spacing:1.8px;color:#83918e;padding:27px 12px 11px;font-size:10px;font-weight:700}.unit-nav{gap:2px;display:grid}.unit-link{appearance:none;text-align:left;cursor:pointer;color:var(--ink-soft);background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.unit-link:hover,.unit-link.active{color:var(--ink);background:#ffffff9e}.unit-link.incomplete .unit-dot{color:var(--ink-soft);border-style:dashed}.unit-dot{border:1px solid #c8cbc4;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:10px;display:grid}.unit-link.done .unit-dot{background:var(--green);color:#fff;border-color:var(--green)}.sidebar-progress{background:var(--ink);color:var(--paper);border-radius:15px;margin-top:auto;padding:15px}.progress-head{justify-content:space-between;font-size:12px;display:flex}.sidebar-progress small{color:#b8c8c4;font-size:10px}.progress-track{background:#ffffff24;border-radius:9px;height:5px;margin:11px 0 7px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--coral);width:0;height:100%;transition:width .4s;display:block}.main-content{width:calc(100% - 254px);min-width:0;margin-left:254px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30;background:#f7f4ece0;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(24px,5vw,76px);display:flex;position:sticky;top:0}.streak-pill{color:var(--ink-soft);align-items:center;gap:7px;font-size:13px;display:flex}.streak-pill strong{color:var(--ink)}.top-actions{align-items:center;gap:15px;display:flex}.sound-button,.icon-button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:36px;height:36px}.sound-button:hover,.icon-button:hover{background:#1c665717}.level-badge{align-items:center;gap:9px;display:flex}.level-badge>span{background:var(--coral);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-family:Fraunces,serif;font-weight:700;display:grid}.level-badge small{letter-spacing:1.5px;color:var(--ink-soft);font-size:8px;display:block}.level-badge strong{font-size:12px}.menu-button{font-size:20px;display:none}.auth-area{position:relative}.auth-button{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:10px;min-height:38px;padding:0 16px;font-size:12px;font-weight:700}.auth-button:hover{background:var(--green-dark)}.user-pill{border:1px solid var(--line);cursor:pointer;text-align:left;background:#ffffffa6;border-radius:12px;align-items:center;gap:8px;min-height:46px;padding:5px 9px 5px 6px;display:flex}.user-pill:hover{background:var(--white)}.user-avatar{background:var(--mint);width:33px;height:33px;color:var(--green-dark);border-radius:50%;flex:0 0 33px;place-items:center;font-family:Fraunces,serif;font-weight:700;display:grid;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%}.user-copy small{letter-spacing:1.2px;color:var(--green);font-size:7px;display:block}.user-copy strong{text-overflow:ellipsis;white-space:nowrap;max-width:105px;font-size:11px;display:block;overflow:hidden}.account-popover{z-index:70;border:1px solid var(--line);background:var(--paper);width:260px;box-shadow:var(--shadow);border-radius:15px;padding:13px;position:absolute;top:calc(100% + 10px);right:0}.account-summary{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:5px 4px 13px;display:flex}.account-summary strong,.account-summary small{text-overflow:ellipsis;white-space:nowrap;max-width:180px;display:block;overflow:hidden}.account-summary small{color:var(--ink-soft);margin-top:2px;font-size:10px}.sync-row{color:var(--ink-soft);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:13px 5px;font-size:11px;display:flex}.sync-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 0 4px var(--mint-pale);border-radius:50%}.sync-row.syncing .sync-dot{background:var(--gold)}.sync-row.error .sync-dot{background:var(--red)}.account-popover>button{text-align:left;width:100%;color:var(--red);cursor:pointer;background:0 0;border:0;padding:11px 5px 4px;font-size:12px;font-weight:700}.view{display:none}.view.active{display:block}#homeView,.practice-view,.review-view{padding:0 clamp(24px,5vw,76px) 60px}.hero{border-bottom:1px solid var(--line);grid-template-columns:1.12fr .88fr;align-items:center;gap:40px;min-height:505px;display:grid}.eyebrow{letter-spacing:2px;color:var(--green);align-items:center;gap:9px;font-size:10px;font-weight:700;display:inline-flex}.eyebrow>span{background:var(--coral);width:24px;height:1px}h1,h2,h3{margin:0;font-family:Fraunces,serif;line-height:1.08}.hero h1{letter-spacing:-3px;margin:17px 0 22px;font-size:clamp(48px,6vw,76px)}.hero h1 em{color:var(--coral);font-weight:600}.hero-copy>p{max-width:610px;color:var(--ink-soft);font-size:17px;line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:32px;display:flex}.button{border:1px solid var(--green);cursor:pointer;background:0 0;border-radius:11px;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:0 20px;font-weight:600;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #1c665726}.button.primary{background:var(--green);color:#fff}.button.secondary{background:var(--white);border-color:var(--line)}.button.coral{background:var(--coral);border-color:var(--coral);color:#fff}.button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.text-button{text-underline-offset:4px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;text-decoration:underline}.hero-visual{place-items:center;height:380px;display:grid;position:relative}.hero-medallion{background:var(--ink);width:145px;height:145px;color:var(--paper);border-radius:50%;align-content:center;place-items:center;font-family:Fraunces,serif;font-size:65px;display:grid;transform:rotate(-5deg);box-shadow:0 20px 40px #18312e2e}.hero-medallion sup{color:var(--coral);margin:-38px 0 0 64px;font-size:24px;position:absolute}.hero-medallion small{letter-spacing:1.8px;color:#b9c7c3;font-family:DM Sans,sans-serif;font-size:8px}.orbit{border:1px solid #1c665733;border-radius:50%;position:absolute;transform:rotate(-18deg)}.orbit-one{width:320px;height:220px}.orbit-two{border-style:dashed;width:375px;height:290px;transform:rotate(28deg)}.floating-card{background:var(--white);border:1px solid var(--line);width:145px;box-shadow:var(--shadow);border-radius:12px;padding:13px 14px;position:absolute;transform:rotate(-4deg)}.floating-card span{color:var(--coral);font-family:Fraunces,serif;font-size:21px;display:block}.floating-card b{font-size:11px;display:block}.floating-card small{color:var(--ink-soft);font-size:9px}.card-a{top:20%;left:2%}.card-b{bottom:15%;right:0;transform:rotate(5deg)}.spark{color:var(--gold);font-size:22px;position:absolute}.spark-a{top:12%;right:15%}.spark-b{font-size:14px;bottom:12%;left:15%}.dashboard-strip{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr) 1.2fr;min-height:106px;display:grid}.dashboard-item{border-right:1px solid var(--line);align-items:center;gap:13px;padding:20px 25px;display:flex}.dashboard-item:first-child{padding-left:0}.dashboard-item:last-child{border:0}.dashboard-icon{border-radius:50%;place-items:center;width:37px;height:37px;display:grid}.dashboard-icon.mint{background:var(--mint)}.dashboard-icon.peach{background:var(--peach)}.dashboard-icon.lilac{background:var(--lilac)}.dashboard-item strong{font-family:Fraunces,serif;font-size:21px;display:block}.dashboard-item small{letter-spacing:1.2px;color:var(--ink-soft);white-space:nowrap;font-size:8px}.band-item{justify-content:space-between}.band-item>span{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:45px;height:45px;font-family:Fraunces,serif;font-size:18px;display:grid}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin:70px 0 30px;display:flex}.section-heading h2{margin-top:12px;font-size:40px}.section-heading p{color:var(--ink-soft);text-align:right;font-size:13px;line-height:1.6}.path-guidance{background:linear-gradient(135deg, var(--mint-pale), #ffffffad);border:1px solid #c9ded5;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;margin:-8px 0 28px;padding:17px 19px;display:grid}.guidance-icon{background:var(--green);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.path-guidance strong{margin-bottom:3px;font-family:Fraunces,serif;font-size:16px;display:block}.path-guidance p{color:var(--ink-soft);max-width:660px;margin:0;font-size:11px;line-height:1.55}.path-legend{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:15px;font-size:10px;display:flex}.path-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{border:1px dashed #aeb9b5;border-radius:50%;place-items:center;width:21px;height:21px;font-size:9px;font-style:normal;display:grid}.legend-dot.complete{border-style:solid;border-color:var(--green);background:var(--green);color:#fff}.path-list{gap:18px;display:grid}.stage-block{grid-template-columns:150px 1fr;gap:24px;display:grid}.stage-intro{padding:20px 0}.stage-intro span{letter-spacing:1.6px;color:var(--coral);font-size:9px;font-weight:700}.stage-intro h3{margin:8px 0;font-size:22px}.stage-intro p{color:var(--ink-soft);font-size:11px;line-height:1.5}.lesson-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lesson-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff6;border-radius:16px;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;min-height:125px;padding:19px;transition:transform .18s,background .18s,box-shadow .18s;display:grid}.lesson-card:hover{background:var(--white);border-color:#b9d2c8;transform:translateY(-2px);box-shadow:0 12px 32px #19403814}.lesson-number{color:var(--coral);font-family:Fraunces,serif;font-size:25px}.lesson-card strong{margin-bottom:5px;font-family:Fraunces,serif;font-size:17px;display:block}.lesson-card small{color:var(--ink-soft);font-size:11px;line-height:1.4}.lesson-state-copy{color:#778985;letter-spacing:.7px;text-transform:uppercase;margin-top:8px;font-size:9px;font-style:normal;font-weight:700;display:block}.lesson-card.completed .lesson-state-copy{color:var(--green)}.lesson-status{border:1px solid #c9ccc6;border-radius:50%;place-items:center;width:29px;height:29px;font-size:12px;display:grid}.lesson-card.completed .lesson-status{background:var(--green);border-color:var(--green);color:#fff}.lesson-view{min-height:calc(100vh - 76px)}.lesson-page-head{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;gap:30px;padding:46px clamp(24px,5vw,76px) 28px;display:grid}.lesson-page-head h1{margin:11px 0 13px;font-size:clamp(38px,5vw,61px)}.lesson-page-head p{color:var(--ink-soft);max-width:680px;margin:0;line-height:1.7}.lesson-step-badge{text-align:right}.completion-pill{letter-spacing:.7px;text-transform:uppercase;border-radius:999px;align-items:center;margin-bottom:10px;padding:6px 9px;font-size:9px;font-weight:700;display:inline-flex}.completion-pill.complete{color:var(--green-dark);background:var(--mint)}.completion-pill.incomplete{color:#6c7b78;background:#ffffff8c;border:1px dashed #aeb9b5}.sequence-note{background:var(--peach);color:#744530;border-radius:12px;align-items:center;gap:10px;width:-moz-fit-content;width:fit-content;margin-top:18px;padding:10px 13px;display:flex}.sequence-note>span{font-weight:700}.sequence-note p{color:inherit;margin:0;font-size:11px;line-height:1.45}.lesson-step-badge strong{font-family:Fraunces,serif;font-size:28px;display:block}.lesson-step-badge small{letter-spacing:1.4px;color:var(--ink-soft);font-size:9px}.tab-bar{border-bottom:1px solid var(--line);gap:28px;padding:0 clamp(24px,5vw,76px);display:flex}.tab-button{cursor:pointer;color:var(--ink-soft);background:0 0;border:0;border-bottom:2px solid #0000;padding:17px 2px 14px;font-size:13px;font-weight:600}.tab-button.active{color:var(--green);border-color:var(--coral)}.lesson-body{max-width:1100px;margin:auto;padding:40px clamp(24px,5vw,76px) 70px}.concept-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:24px;display:grid}.concept-card,.formula-card,.tip-card,.question-card,.builder-card,.review-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:0 10px 35px #1940380d}.concept-card{padding:31px}.concept-card h2{margin-bottom:16px;font-size:30px}.concept-card p{color:var(--ink-soft);line-height:1.75}.learning-points{gap:14px;margin:23px 0 0;padding:0;list-style:none;display:grid}.learning-points li{grid-template-columns:25px 1fr;gap:11px;line-height:1.55;display:grid}.learning-points li:before{content:"✓";background:var(--mint);width:23px;height:23px;color:var(--green);border-radius:50%;place-items:center;font-size:11px;display:grid}.formula-card{background:var(--ink);color:var(--paper);padding:27px}.formula-card .eyebrow{color:#afc8c0}.formula{text-align:center;color:#f7e0d7;background:#ffffff12;border-radius:12px;margin:16px 0;padding:18px;font-family:Fraunces,serif;font-size:18px}.formula-card p{color:#c2d0cd;font-size:13px;line-height:1.6}.tip-card{background:var(--peach);border-color:#edcabc;margin-top:18px;padding:21px 24px}.tip-card strong{letter-spacing:1px;font-size:12px}.tip-card p{color:#714d40;margin:6px 0 0;font-size:13px;line-height:1.55}.examples-section{margin-top:42px}.examples-section h2{margin-bottom:7px;font-size:30px}.examples-section>p{color:var(--ink-soft);margin-bottom:22px}.example-list{gap:10px;display:grid}.example-row{border-top:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.example-row:last-child{border-bottom:1px solid var(--line)}.example-index{color:var(--coral);font-family:Fraunces,serif}.example-row p{margin:0;line-height:1.5}.example-row em{color:var(--green);background:var(--mint-pale);border-radius:4px;padding:1px 4px;font-style:normal;font-weight:700}.example-row small{color:var(--ink-soft);text-align:right;max-width:250px}.generator-card{border-radius:var(--radius);background:var(--mint-pale);border:1px solid #cfe1d9;grid-template-columns:1fr auto;align-items:center;gap:20px;margin-top:26px;padding:25px 27px;display:grid}.generator-card small{letter-spacing:1.5px;color:var(--green);font-size:9px;font-weight:700}.generator-card p{margin:7px 0 4px;font-family:Fraunces,serif;font-size:21px;line-height:1.45}.generator-card p em{color:var(--green);background:#ffffffb3;border-radius:4px;padding:1px 4px;font-style:normal}.generator-card .generator-note{color:var(--ink-soft);letter-spacing:0;font-size:12px;font-weight:400}.lesson-next{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:38px;padding-top:24px;display:flex}.lesson-next p{color:var(--ink-soft);margin:0;font-size:12px}.practice-intro{text-align:center;max-width:620px;margin:0 auto 28px}.practice-intro h2{margin:8px 0;font-size:32px}.practice-intro p{color:var(--ink-soft);line-height:1.6}.quiz-progress{gap:6px;max-width:760px;margin:0 auto 22px;display:flex}.quiz-progress span{background:#dcdcd4;border-radius:5px;flex:1;height:5px}.quiz-progress span.done{background:var(--green)}.quiz-progress span.current{background:var(--coral)}.question-card,.builder-card{max-width:760px;margin:auto;padding:clamp(22px,4vw,38px)}.question-meta{justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.question-meta span{letter-spacing:1.4px;color:var(--green);font-size:10px;font-weight:700}.question-meta small{color:var(--ink-soft)}.question-card h3,.builder-card h3{margin-bottom:22px;font-family:DM Sans,sans-serif;font-size:20px;line-height:1.55}.options{gap:10px;display:grid}.option-button{border:1px solid var(--line);background:var(--white);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;min-height:51px;padding:12px 16px;display:grid}.option-button:hover:not(:disabled){border-color:var(--green);background:var(--mint-pale)}.option-letter{background:#efeee8;border-radius:50%;place-items:center;width:25px;height:25px;font-size:11px;display:grid}.option-button.correct{border-color:var(--green);background:var(--mint-pale)}.option-button.correct .option-letter{background:var(--green);color:#fff}.option-button.wrong{border-color:var(--red);background:var(--red-pale)}.option-button.wrong .option-letter{background:var(--red);color:#fff}.feedback-box{border-radius:12px;margin-top:18px;padding:15px 17px;font-size:13px;line-height:1.55;display:none}.feedback-box.show{display:block}.feedback-box.success{background:var(--mint-pale);color:#174e43}.feedback-box.error{background:var(--red-pale);color:#7d3733}.feedback-box strong{margin-bottom:3px;display:block}.quiz-actions{justify-content:flex-end;margin-top:20px;display:flex}.result-card{text-align:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);max-width:640px;margin:auto;padding:42px}.result-ring{background:conic-gradient(var(--green) var(--score-angle), #e7e6df 0);border-radius:50%;place-items:center;width:115px;height:115px;margin:0 auto 20px;display:grid;position:relative}.result-ring:before{content:"";background:var(--paper);border-radius:50%;position:absolute;inset:9px}.result-ring strong{font-family:Fraunces,serif;font-size:30px;position:relative}.result-card h2{font-size:34px}.result-card p{color:var(--ink-soft);line-height:1.6}.result-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px;display:flex}.builder-instruction{color:var(--ink-soft);margin-top:-10px;font-size:13px}.sentence-zone{background:var(--mint-pale);border:1px dashed #aebcb8;border-radius:13px;flex-wrap:wrap;align-items:center;gap:8px;min-height:76px;margin:22px 0 17px;padding:12px;display:flex}.sentence-zone:empty:after{content:"Your sentence will appear here…";color:#849692;font-size:13px}.word-bank{flex-wrap:wrap;justify-content:center;gap:9px;min-height:70px;padding:17px 0;display:flex}.word-chip{background:var(--white);cursor:pointer;border:1px solid #cbd1cd;border-radius:9px;padding:9px 13px;transition:transform .12s;box-shadow:0 3px #d7d8d2}.word-chip:hover{transform:translateY(-2px)}.word-chip.selected{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:none}.builder-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.practice-hero{border-bottom:1px solid var(--line);grid-template-columns:1fr 230px;align-items:center;min-height:310px;display:grid}.practice-hero h1,.review-header h1{max-width:700px;margin:13px 0;font-size:clamp(42px,5vw,62px)}.practice-hero p,.review-header p{max-width:650px;color:var(--ink-soft);line-height:1.7}.practice-orb{background:var(--coral);color:#fff;width:150px;height:150px;box-shadow:20px 22px 0 var(--mint);border-radius:45% 55% 49% 51%;place-items:center;font-size:48px;display:grid;transform:rotate(8deg)}.mode-grid{grid-template-columns:repeat(3,1fr);gap:13px;margin:32px 0;display:grid}.mode-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#ffffff8c;border-radius:16px;align-content:start;min-height:155px;padding:19px;display:grid;position:relative}.mode-card:hover,.mode-card.selected{background:var(--white);border-color:var(--green);box-shadow:0 10px 25px #19403814}.mode-icon{background:var(--peach);border-radius:50%;place-items:center;width:34px;height:34px;margin-bottom:12px;display:grid}.mode-card strong{font-family:Fraunces,serif;font-size:19px}.mode-card small{color:var(--ink-soft);margin-top:4px}.mode-card i{color:var(--ink-soft);letter-spacing:1px;font-size:8px;font-style:normal;position:absolute;top:18px;right:17px}.mode-card i b{color:var(--ink)}.practice-stage{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff61;min-height:390px;padding:36px}.practice-ready{text-align:center;max-width:500px;margin:40px auto}.ready-mark{background:var(--mint);border-radius:50%;place-items:center;width:72px;height:72px;margin:auto;font-size:27px;display:grid}.practice-ready h2{margin:20px 0 8px;font-size:30px}.practice-ready p{color:var(--ink-soft);line-height:1.6}.practice-stage .question-card,.practice-stage .builder-card{box-shadow:none}.review-header{border-bottom:1px solid var(--line);padding:70px 0 36px}#reviewContent{padding:35px 0}.empty-state{text-align:center;max-width:560px;margin:45px auto}.empty-icon{background:var(--mint);border-radius:50%;place-items:center;width:80px;height:80px;margin:auto;font-size:30px;display:grid}.empty-state h2{margin:20px 0 8px;font-size:30px}.empty-state p{color:var(--ink-soft);line-height:1.6}.review-list{gap:12px;display:grid}.review-card{grid-template-columns:1fr auto;gap:20px;padding:22px;display:grid}.review-card .review-unit{letter-spacing:1.4px;color:var(--green);font-size:9px;font-weight:700}.review-card h3{margin:8px 0;font-family:DM Sans,sans-serif;font-size:16px;line-height:1.5}.review-answer{color:var(--ink-soft);font-size:13px}.review-answer strong{color:var(--green)}.review-card button{align-self:center}footer{border-top:1px solid var(--line);min-height:100px;color:var(--ink-soft);justify-content:space-between;align-items:center;padding:25px clamp(24px,5vw,76px);display:flex}footer span{color:var(--ink);font-family:Fraunces,serif;font-weight:700}footer button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;text-decoration:underline}.toast{z-index:100;background:var(--ink);color:#fff;opacity:0;pointer-events:none;box-shadow:var(--shadow);border-radius:11px;padding:13px 18px;transition:all .25s;position:fixed;bottom:24px;right:24px;transform:translateY(30px)}.toast.show{opacity:1;transform:none}.mobile-overlay{display:none}.auth-dialog{border:1px solid var(--line);background:var(--paper);width:min(500px,100% - 28px);max-height:calc(100vh - 32px);color:var(--ink);border-radius:24px;padding:31px;overflow-y:auto;box-shadow:0 30px 90px #18312e47}.auth-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#132d2894}.dialog-close{cursor:pointer;width:34px;height:34px;color:var(--ink-soft);background:#eeece5;border:0;border-radius:50%;font-size:21px;position:absolute;top:18px;right:18px}.dialog-close:hover{background:var(--peach);color:var(--ink)}.auth-brand{align-items:center;gap:10px;margin-bottom:27px;font-family:Fraunces,serif;font-size:17px;font-weight:700;display:flex}.auth-brand .brand-mark{width:31px;height:31px;font-size:14px}.auth-brand small{letter-spacing:1.6px;color:var(--ink-soft);margin-top:1px;font-family:DM Sans,sans-serif;font-size:7px;display:block}.auth-copy h2{margin:10px 0 8px;font-size:34px}.auth-copy>p{color:var(--ink-soft);margin:0 0 21px;font-size:13px;line-height:1.6}.auth-tabs{background:#eeece5;border-radius:11px;grid-template-columns:1fr 1fr;margin-bottom:15px;padding:4px;display:grid}.auth-tabs button{cursor:pointer;min-height:38px;color:var(--ink-soft);background:0 0;border:0;border-radius:8px;font-size:12px;font-weight:700}.auth-tabs button.active{background:var(--white);color:var(--green);box-shadow:0 3px 12px #19403814}.google-button{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:47px;font-size:13px;font-weight:700;display:flex}.google-button:hover{border-color:var(--green);background:var(--mint-pale)}.google-button span{color:#fff;background:linear-gradient(135deg,#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 75%,#ea4335 75%);border-radius:50%;place-items:center;width:23px;height:23px;font-weight:700;display:grid}.auth-divider{color:#8a9794;letter-spacing:1px;text-transform:uppercase;align-items:center;gap:10px;margin:15px 0;font-size:9px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-form{gap:13px;display:none}.auth-form.active{display:grid}.auth-form label{gap:6px;font-size:11px;font-weight:700;display:grid}.auth-form input[type=text],.auth-form input[type=email],.auth-form input[type=password]{background:var(--white);width:100%;min-height:45px;color:var(--ink);border:1px solid #cfd3ce;border-radius:9px;padding:0 12px}.auth-form input:focus{border-color:var(--green);outline:3px solid #1c665726}.auth-form h3{margin-top:3px;font-family:Fraunces,serif;font-size:24px}.auth-form>p{color:var(--ink-soft);margin:-5px 0 3px;font-size:12px;line-height:1.55}.form-side{justify-content:space-between;align-items:center;gap:10px;display:flex}.auth-form .remember-check{color:var(--ink-soft);grid-template-columns:auto 1fr;align-items:center;gap:6px;font-weight:500;display:flex}.link-button{appearance:none;color:var(--green);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;text-decoration:underline}.auth-back{justify-self:start;margin-bottom:2px}.btn-full{width:100%;margin-top:3px}.terms-note{color:var(--ink-soft);text-align:center;font-size:10px;line-height:1.5}.auth-message{border-radius:10px;margin-top:14px;padding:12px 14px;font-size:12px;line-height:1.55;display:none}.auth-message.show{display:block}.auth-message.success{background:var(--mint-pale);color:var(--green-dark)}.auth-message.error{background:var(--red-pale);color:#7d3733}.auth-form.is-busy,.google-button.is-busy{opacity:.58;pointer-events:none}@media (max-width:1000px){.sidebar{transition:transform .25s;transform:translate(-100%)}.sidebar.open{transform:none}.mobile-overlay.show{z-index:40;background:#18312e59;display:block;position:fixed;inset:0}.main-content{width:100%;margin-left:0}.menu-button{display:block}.topbar{padding-inline:24px}.hero{grid-template-columns:1fr .7fr}.dashboard-strip{grid-template-columns:repeat(2,1fr)}.dashboard-item:nth-child(2){border-right:0}.dashboard-item:first-child{padding-left:25px}.dashboard-item:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (max-width:720px){#homeView,.practice-view,.review-view{padding-inline:18px}.topbar{padding-inline:14px}.streak-pill{font-size:11px}.sound-button{display:none}.top-actions{gap:7px}.level-badge,.user-copy{display:none}.user-pill{padding-right:7px}.auth-button{padding-inline:12px}.account-popover{position:fixed;top:68px;right:10px}.hero{grid-template-columns:1fr;min-height:auto;padding:58px 0 40px}.hero-visual{order:-1;height:270px}.hero-medallion{width:115px;height:115px;font-size:52px}.orbit-one{width:270px;height:180px}.orbit-two{width:300px;height:225px}.floating-card{width:125px}.hero h1{letter-spacing:-2px}.dashboard-strip{grid-template-columns:1fr 1fr}.dashboard-item{gap:8px;padding:16px 10px!important}.dashboard-icon{display:none}.dashboard-item strong{font-size:18px}.band-item>span{width:38px;height:38px;font-size:15px}.section-heading{margin-top:50px;display:block}.section-heading p{text-align:left}.path-guidance{grid-template-columns:auto 1fr}.path-legend{flex-wrap:wrap;grid-column:1/-1}.stage-block{grid-template-columns:1fr;gap:4px}.stage-intro{padding-bottom:5px}.lesson-cards,.lesson-page-head{grid-template-columns:1fr}.lesson-step-badge{text-align:left}.concept-grid{grid-template-columns:1fr}.example-row{grid-template-columns:27px 1fr}.example-row small{text-align:left;grid-column:2}.generator-card{grid-template-columns:1fr}.generator-card .button{justify-self:start}.lesson-next{flex-direction:column;align-items:flex-start;gap:18px}.practice-hero{grid-template-columns:1fr;padding:55px 0 35px}.practice-orb{display:none}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:105px}.practice-stage{padding:14px}.question-card,.builder-card{padding:21px 16px}.builder-actions{flex-wrap:wrap}.review-card{grid-template-columns:1fr}.review-card button{justify-self:start}footer{flex-wrap:wrap;gap:15px}.auth-dialog{border-radius:19px;padding:25px 18px}.auth-copy h2{font-size:29px}.dialog-close{top:13px;right:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
