:root{--ink:#25362d;--forest:#182c23;--green:#315442;--cream:#f8f5ee;--red:#9a332a;--gold:#e6c991;--line:#dddcd2;--muted:#626960;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream);font-size:16px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ac7927;outline-offset:4px}button{transition:background .15s,transform .15s}button:hover:not(:disabled){filter:brightness(1.06)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:3.2rem;line-height:1.07;font-weight:400;letter-spacing:-.035em}h2{font-family:Georgia,serif;font-size:1.8rem;line-height:1.15;font-weight:400}h3{font-family:Georgia,serif;font-size:1.5rem;line-height:1.25;font-weight:400}p{line-height:1.65}small,.hint{font-size:.875rem;line-height:1.6}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em;display:block;line-height:1.6}.muted,.hint{color:var(--muted)}.logo{width:175px;height:116px;object-fit:contain}.primary,.cream,.secondary{padding:15px 22px;border-radius:8px;border:1px solid transparent;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:15px}.primary{background:var(--green);color:white}.cream{background:#f6e7c7;color:var(--forest)}.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.text-button{padding:10px 0;border:0;background:transparent;color:var(--ink);font-weight:600;display:flex;justify-content:space-between;gap:15px;text-align:left}.preview{background:#f5dca9;color:#59421e;text-align:center;padding:8px 16px;font-size:.75rem;font-weight:600;letter-spacing:.04em}.workspace{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--forest);color:#ecedde;padding:20px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar>.eyebrow{margin:12px 10px 22px;color:#bdc5ba;font-size:.7rem}.sidebar .logo{margin:0 auto}.sidebar nav{display:grid;gap:7px}.sidebar nav button{display:flex;align-items:center;gap:14px;padding:14px 13px;border:1px solid transparent;background:transparent;border-radius:8px;color:#cad2c9;text-align:left;font-size:1.15rem}.sidebar nav button span{font-size:.9rem}.sidebar nav .selected{color:#fff4d7;background:#2d4135;border-color:#536247}.account{margin-top:auto;border-top:1px solid #3a4a3e;padding:22px 9px 4px}.account p{font-size:.8rem;overflow-wrap:anywhere;margin:8px 0}.account button{border:0;background:transparent;color:#d6d7c9;padding:4px 0;text-decoration:underline;font-size:.85rem}.account .eyebrow{color:#98aa99}.body{min-width:0}.topbar{height:72px;background:#fffdfa;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 40px;font-size:.875rem}.season{font-size:.75rem;letter-spacing:.14em}.welcome{margin:-32px -40px 30px;padding:38px 40px 35px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(115deg,#92392b,#652b22);color:#fff8e9;gap:25px;position:relative;overflow:hidden}.welcome h1{margin:17px 0;font-size:3.6rem}.welcome h1 em{font-weight:400;color:#f5dab0}.welcome p{margin:0;color:#edcdb9}.welcome .eyebrow{color:#e9c697}.progress-summary{text-align:center;flex:0 0 180px;border-left:1px solid #b76b55;padding-left:20px}.progress-summary strong{font-family:Georgia,serif;font-weight:400;font-size:3.4rem;display:block}.progress-summary strong span{font-size:1.6rem;color:#d3a58c}.progress-summary>span{font-size:.8rem;color:#edcdb9}#content{padding:32px 40px 45px;min-height:75vh}.home-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.next,.quick{padding:32px;border-radius:16px}.next{background:var(--green);color:#fff9eb}.next h2{font-size:2.2rem;margin:20px 0 12px;max-width:400px}.next>p{color:#e0e7da;max-width:420px}.next .eyebrow{color:var(--gold)}.next-note{font-size:.75rem;color:#d1d9cb;margin-top:25px;line-height:1.5}.quick{background:#eeeadf;border:1px solid #dfdacd}.quick h2{font-size:2.2rem;margin:20px 0 14px}.quick .eyebrow{color:#806641}.quick>p{color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:32px 0 18px}.section-title h2{margin:0}.section-title>span{font-size:.7rem;letter-spacing:.12em;color:#717569}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.course{background:#fffdfa;border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;flex-direction:column}.course-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.course-top .eyebrow{color:#6a7569}.tag{background:#eceee4;padding:5px 9px;border-radius:20px;font-size:.75rem;white-space:nowrap;color:#55604e}.course p{font-size:.94rem;color:var(--muted)}.course .text-button{margin-top:auto;border-top:1px solid #eceae2;padding-top:15px}.course h3{margin-bottom:12px}.page-heading{margin:15px 0 32px}.page-heading>.eyebrow,.page-heading .eyebrow{color:#8a673f;margin-bottom:14px}.page-heading h1{margin-bottom:16px}.page-heading p{color:var(--muted)}footer{text-align:center;padding:20px 20px 30px;font-size:.8rem;color:#747b70}.lesson{max-width:820px;background:#fffdfa;border:1px solid var(--line);border-radius:14px;padding:38px;font-size:1rem;line-height:1.8}.lesson .lead{font-size:1.15rem;color:#566356}.lesson h2{margin:35px 0 15px}.lesson aside,.lesson blockquote{background:#eeefe5;border-left:3px solid #9fa67b;margin:25px 0;padding:22px}.lesson ol{padding-left:24px}.lesson li{margin:12px 0}.lesson-end{border-top:1px solid var(--line);padding-top:28px;margin-top:30px;display:flex;gap:25px;flex-wrap:wrap}.help{max-width:800px}details{background:#fffdfa;border:1px solid var(--line);border-radius:10px;padding:20px 24px;margin-bottom:14px}summary{cursor:pointer;font-weight:600;line-height:1.5}details p{margin:18px 0 0;color:var(--muted)}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{padding:35px 55px;background:var(--forest);color:#fff4dc;display:flex;flex-direction:column;justify-content:space-between;gap:50px}.login-story .logo{width:230px;height:155px;margin-left:-25px}.login-story h1{font-size:4.7rem;margin:22px 0}.login-story .eyebrow{color:var(--gold)}.login-story p{color:#c9d4c5}.login-story small{color:#b2c1b1}.login-form{max-width:540px;width:100%;padding:60px 50px;align-self:center;justify-self:center}.login-form h2{font-size:2.6rem;margin-top:20px}.login-form p,.login-form small{color:var(--muted)}form label{display:grid;gap:9px;font-size:.9rem;color:#3c4a3e}input{border:1px solid #c7ccbf;border-radius:7px;padding:13px 12px;background:#fff;color:var(--ink);min-width:0;width:100%}#login .primary{width:100%;margin-top:20px}#login-feedback,#verify-error{font-size:.9rem;min-height:22px}.login-form details{font-size:.9rem;padding:16px;margin:22px 0}.login-form>small{display:block}.loading{padding:70px;text-align:center}.calc-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}.calc-heading h1{font-size:2.9rem}.panel{background:#fffdfa;border:1px solid var(--line);padding:28px;border-radius:12px;margin-bottom:20px}.panel .section-title{margin:0 0 22px}.panel h2{font-size:1.5rem}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.hint{margin:22px 0 0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{font-size:.8rem;font-weight:600}.ingredients th:first-child{width:33%}.ingredients td{padding:7px 6px}.ingredients th{white-space:nowrap}.ingredients input{padding:12px 9px}.ingredients .remove{border:0;background:transparent;font-size:1.5rem;color:#835744}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px}#calc-error{color:#9a332a;margin-bottom:0}.result-card{padding:26px;border:1px solid #b7c2ad;border-radius:12px;background:#eef2e6}.result-card h2{font-size:2.5rem;margin:20px 0 12px}.result-card.low{background:#fbede0;border-color:#d0ad8c}.result-card dl{display:grid;grid-template-columns:1fr auto;gap:14px;font-size:.85rem;padding-top:20px}.result-card dd{margin:0;text-align:right;font-weight:600}.result-card p{font-size:.85rem;margin-bottom:0}.result-meta{font-size:.9rem;margin-bottom:18px;color:var(--muted)}#results .cards{grid-template-columns:repeat(3,minmax(0,1fr))}#toast:not(:empty){position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#14271c;color:#fff;padding:15px 24px;max-width:90vw;border-radius:9px;box-shadow:0 5px 25px #0003;z-index:20;font-size:.9rem}
@media(min-width:1600px){#content{max-width:1400px;margin:auto}}@media(max-width:1100px){.workspace{grid-template-columns:195px 1fr}.sidebar{padding:15px 10px}.topbar{padding:0 25px}#content{padding:25px}.welcome{margin:-25px -25px 25px;padding:30px 25px}.welcome h1{font-size:2.9rem}.progress-summary{flex-basis:130px}.home-grid{grid-template-columns:1.2fr 1fr}.next,.quick{padding:25px}.next h2,.quick h2{font-size:1.9rem}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}#results .cards{grid-template-columns:1fr}.calc-heading{align-items:flex-start;flex-direction:column}}@media(max-width:760px){.workspace{display:block}.sidebar{position:static;height:auto;padding:8px 16px 12px}.sidebar .logo{height:80px;width:135px;margin:0}.sidebar>.eyebrow,.account{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:8px;padding-bottom:3px}.sidebar nav button{flex:0 0 auto;padding:11px;font-size:1rem}.sidebar nav button span{font-size:.85rem}.topbar{height:52px;padding:0 20px}.topbar .season{display:none}#content{padding:22px 18px}.welcome{margin:-22px -18px 22px;padding:30px 22px;display:block}.welcome h1{font-size:2.9rem}.welcome .eyebrow{font-size:.65rem}.progress-summary{display:none}.home-grid,.cards{grid-template-columns:1fr}.next,.quick{padding:26px}.section-title{align-items:flex-start}.section-title>span{display:none}.course{padding:22px}.page-heading h1,.calc-heading h1{font-size:2.5rem}.lesson{padding:23px}.lesson h2{font-size:1.6rem}.lesson table{font-size:.75rem}.lesson td,.lesson th{padding:8px 4px}.fields{grid-template-columns:1fr 1fr;gap:18px 12px}.panel{padding:22px 16px}.ingredients{min-width:570px}.panel h2{font-size:1.5rem}.actions>*{width:100%}.login{display:block}.login-story{padding:20px 28px;gap:20px}.login-story .logo{width:140px;height:85px;margin-left:0}.login-story h1{font-size:2.8rem;margin:12px 0}.login-story p,.login-story small{display:none}.login-form{padding:35px 28px}.login-form h2{font-size:2.2rem}.login-story .eyebrow{font-size:.7rem}.preview{font-size:.65rem}.result-card dl{font-size:.9rem}.help details{padding:18px}.lesson-end{gap:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.mobile-logout{display:none}.example-note{background:#f5e8cd;padding:14px;border-radius:8px;font-size:.85rem}
@media(max-width:760px){.mobile-logout{display:block;border:0;background:transparent;color:var(--ink);padding:10px;text-decoration:underline}}

.lesson-video{display:block;width:100%;max-height:70vh;background:#102e25;border-radius:12px;margin:20px 0;aspect-ratio:16/9}
