:root{color-scheme:light;--paper:#f6f6ef;--ink:#203b36;--muted:#62766e;--green:#166753;--pale:#e7f1e8;--line:#d7dfd5;--orange:#ae6730;--white:#fffef9;--radius:20px;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:18px;line-height:1.65}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}a{color:var(--green);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 20px;border:1px solid transparent;border-radius:12px;background:var(--green);color:white;font-weight:650;text-decoration:none;cursor:pointer;line-height:1.4}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.55;cursor:default}button.quiet,.button.quiet{background:white;border-color:var(--line);color:var(--green)}button.text-button{background:transparent;color:var(--green);text-decoration:underline;padding:8px 4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c88b32;outline-offset:4px}input,select,textarea{color:var(--ink);border:1px solid #a7b8ad;border-radius:10px;background:white;padding:12px;min-height:48px;max-width:100%}input[type=number]{width:130px}textarea{display:block;width:100%;min-height:110px;resize:vertical}.topbar{max-width:1320px;margin:auto;display:flex;gap:25px;align-items:center;justify-content:space-between;padding:22px 36px;border-bottom:1px solid var(--line)}.brand{font-weight:750;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand-icon{background:var(--green);color:white;font-size:26px;width:40px;height:40px;display:inline-grid;place-items:center;border-radius:12px}.brand-sub{font-weight:400;color:var(--muted);font-size:15px}nav{display:flex;gap:25px;flex-wrap:wrap}nav a{font-size:15px;text-decoration:none}nav a[aria-current=page]{font-weight:700;text-decoration:underline}main{max-width:1220px;margin:auto;padding:48px 32px 85px;min-height:70vh}h1,h2,h3{line-height:1.22;letter-spacing:-.025em}h1{font-size:clamp(2.1rem,4.8vw,3.7rem);margin:14px 0 24px;font-weight:700;max-width:920px}h2{font-size:1.6rem;margin:12px 0 20px}h3{font-size:1.13rem;margin:10px 0}p{margin:12px 0 20px}.eyebrow{font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.13em;color:var(--green)}.lead{font-size:1.14rem;color:var(--muted);max-width:750px}.small{font-size:.82rem;color:var(--muted)}.muted{color:var(--muted)}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;padding-bottom:44px}.hero-art{border-radius:32px;background:#e6eddf;min-height:330px;padding:38px;display:flex;flex-direction:column;justify-content:center;transform:rotate(1deg)}.hero-art .equation{font-size:clamp(1.6rem,3vw,2.5rem);padding:22px 8px;white-space:nowrap}.hero-art .path{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:15px}.hero-art .path span{padding:8px 12px;background:white;border-radius:10px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.stats{display:flex;gap:25px;border-top:1px solid var(--line);padding-top:20px;flex-wrap:wrap}.stat strong{font-size:1.7rem;display:block;line-height:1.1}.stat span{font-size:.76rem;color:var(--muted)}.section{margin-top:44px}.panel{border:1px solid var(--line);background:var(--white);border-radius:var(--radius);padding:28px;margin:20px 0}.panel.soft{background:var(--pale)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.lesson-card{display:flex;gap:20px;padding:24px;border:1px solid var(--line);background:var(--white);border-radius:var(--radius);text-decoration:none;color:var(--ink);transition:transform .15s}.lesson-card:hover{transform:translateY(-2px);border-color:#87a992}.lesson-card h3{margin:0 0 10px}.lesson-number{color:#7c9c82;font-size:1.6rem;font-weight:650;line-height:1.2}.lesson-card p{margin:6px 0}.tag{display:inline-block;padding:3px 9px;background:var(--pale);border-radius:6px;font-size:.72rem;color:#426450;margin-right:6px}.tag.warm{background:#f6e9d3;color:#855c25}.breadcrumb{font-size:.83rem;margin-bottom:20px;display:flex;gap:10px;flex-wrap:wrap}.lesson-title{font-size:clamp(1.9rem,3.7vw,2.9rem);max-width:1000px}.lesson-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px}.side{align-self:start;position:sticky;top:20px}.side button{display:block;width:100%;text-align:left;justify-content:flex-start;background:transparent;color:var(--ink);border:1px solid transparent;padding:11px;font-size:.85rem;margin-bottom:5px}.side button.current{background:var(--pale);border-color:#9ab69c}.side button .status{float:right;color:var(--green);font-weight:bold}.content-column{min-width:0}.problem{border:1px solid var(--line);background:white;border-radius:24px;padding:32px}.problem .prompt{font-size:1.23rem;line-height:1.85;margin:18px 0 26px}.task-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.task-heading h2{font-size:1.2rem;margin:0}.source-note{font-size:.72rem;color:var(--muted);margin-top:8px}.answer-form{margin-top:26px}.answer-form label{display:block;font-weight:600;margin-bottom:10px}.answer-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.answer-controls input{width:min(330px,100%);font-size:1.2rem}.answer-preview{min-height:35px;margin:12px 0;color:var(--muted)}.choices{display:grid;gap:12px;margin:14px 0}.choices button{background:var(--white);color:var(--ink);border:1px solid var(--line);text-align:left;justify-content:flex-start;padding:16px;min-height:55px;font-weight:450}.choices button.selected{border:2px solid var(--green);background:var(--pale);padding:15px}.feedback{padding:16px 20px;border-radius:12px;background:#edf3e8;line-height:1.65;margin:18px 0}.feedback:empty{display:none}.feedback.error{background:#fff1da;color:#74501e}.help{margin:22px 0;padding:18px 22px;border-left:4px solid #c49550;background:#fbf4e6;border-radius:0 10px 10px 0}.help p:last-child{margin-bottom:0}.steps{margin-top:25px}.step{padding:22px 0;border-top:1px solid var(--line)}.step.completed{background:#f5f8f2;border-radius:12px;padding:20px;margin:12px 0}.step .step-label{font-size:.76rem;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.07em}.step h3{line-height:1.65}.step .recorded{font-size:1.1rem}.detour{padding:22px;margin:24px 0 0;background:#f0f5ed;border-radius:14px}.detour h3{margin-top:0}.detour button{font-size:.83rem;padding:9px 13px;background:white;color:var(--green);border-color:#c7d8c6}.return-banner{background:#e3eee3;border:1px solid #c0d1bc;border-radius:14px;padding:17px 21px;margin-bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.navigation{display:flex;justify-content:space-between;gap:12px;margin:22px 0;flex-wrap:wrap}details{margin:20px 0}summary{cursor:pointer;font-weight:600;padding:10px 0;min-height:44px}.theory-block{border-left:3px solid #9eb597;padding:3px 22px;margin:25px 0}.theory-example{background:var(--pale);padding:14px;border-radius:12px}.skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.skill-card{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column}.skill-card p{font-size:.87rem}.skill-card .button{margin-top:auto}.level-select{max-width:340px}.fra{display:inline-flex;vertical-align:middle;flex-direction:column;text-align:center;line-height:1.1;min-width:1.1em;margin:0 .13em;font-variant-numeric:tabular-nums}.fra>span{padding:.11em .16em}.fra>span:first-child{border-bottom:1.5px solid currentColor}.mixed{white-space:nowrap;display:inline-flex;align-items:center;gap:.1em}.inline-math{white-space:nowrap}.model{overflow:hidden;padding:10px 0;margin:20px 0 30px}.model details{margin:0}.model .pm-wrap{font-size:1rem}progress{accent-color:var(--green);width:100%;height:9px}.progress-table{width:100%;border-collapse:collapse;font-size:.9rem}.progress-table th,.progress-table td{padding:14px 9px;text-align:left;border-bottom:1px solid var(--line)}.search-results{margin-top:16px}.number-form{display:flex;align-items:end;gap:15px;flex-wrap:wrap}.number-form label{display:flex;flex-direction:column;gap:8px}.error-page{padding:35px;border:1px solid #d8be95;background:#fff5e6;border-radius:20px}.storage-warning{background:#fff0d7;color:#69451b;padding:12px 30px}.skip{position:absolute;top:-100px;left:16px;background:white;padding:10px;z-index:50}.skip:focus{top:10px}.loading{padding:50px}footer{border-top:1px solid var(--line);max-width:1250px;padding:25px 32px 40px;margin:auto;display:flex;gap:22px;justify-content:space-between;flex-wrap:wrap;font-size:.73rem;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(max-width:900px){.hero{gap:25px}.hero-art{padding:22px}.lesson-layout{grid-template-columns:1fr}.side{position:static}.side details{margin:0 0 14px}.side-list{display:grid;grid-template-columns:repeat(3,1fr)}.side button{font-size:.78rem}.skill-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){:root{font-size:17px}.topbar{padding:16px 18px;flex-direction:column;align-items:flex-start;gap:16px}nav{gap:22px}.brand-sub{font-size:14px}main{padding:28px 16px 55px}.hero{grid-template-columns:1fr;gap:20px}.hero-art{min-height:220px;padding:24px;transform:none}.hero-art .equation{font-size:2rem}.hero h1{font-size:2.5rem}.grid,.skill-grid{grid-template-columns:1fr}.panel,.problem{padding:22px 18px}.lesson-card{padding:20px;gap:16px}.side-list{grid-template-columns:repeat(2,1fr)}.answer-controls{align-items:stretch}.answer-controls input{width:100%}.answer-controls button{width:100%}.problem .prompt{font-size:1.1rem}.progress-table{font-size:.78rem}.progress-table th,.progress-table td{padding:9px 4px}.detour{padding:18px}.stats{gap:25px}.stat strong{font-size:1.5rem}}

.hero>*{min-width:0}.table-scroll{overflow-x:auto}.progress-table{min-width:480px}@media(max-width:620px){.hero{grid-template-columns:minmax(0,1fr)}.hero h1{font-size:clamp(1.9rem,8.5vw,2.5rem);overflow-wrap:anywhere}.hero-art .equation{font-size:clamp(1.6rem,7vw,2rem)}}

.fra{max-width:100%;font-size:.98em}.fra>span{padding:.17em .23em}.prompt{overflow-wrap:anywhere}.hero-art .equation{font-size:clamp(1.4rem,2.8vw,2.2rem);white-space:normal}.model-panel{margin-top:25px}.number-form input{display:block;margin-top:10px} .step h3{font-weight:550}.side-list{max-height:70vh;overflow-y:auto}.problem .prompt{font-size:1.32rem;line-height:2} @media(max-width:600px){.fra{font-size:.93em}.problem{padding:22px 16px}.hero-art{padding:25px}.lesson-layout{display:block}.side{position:static}.side-list{display:flex;overflow:auto;max-height:none;gap:6px}.side button{min-width:150px;width:auto;font-size:.75rem}.hero-art .equation{font-size:1.45rem}.step h3{font-size:1rem}.answer-controls input{width:100%}}
