:root{--forest:#173f34;--forest-dark:#123128;--forest-light:#225348;--ink:#22362f;--muted:#61746c;--paper:#f5f5eb;--soft:#eef1e4;--white:#fffefa;--line:#dde5d8;--lime:#dcf6a7;--gold:#f4ce7c;--orange:#e99866;--shadow:0 16px 45px rgba(37,64,44,.095);--radius:25px;color-scheme:light}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#f2f4e9;color:var(--ink);font-family:ui-rounded,"Avenir Next",Nunito,"Trebuchet MS",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5;min-height:100vh;min-height:100dvh;overscroll-behavior-y:none}
button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:4px solid #eda548;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.48}
[hidden]{display:none!important}
.background-grain{position:fixed;pointer-events:none;inset:0;background:radial-gradient(ellipse 55% 45% at 95% 8%,rgba(214,235,188,.45),transparent),radial-gradient(ellipse 52% 52% at 2% 95%,rgba(221,231,209,.55),transparent);z-index:-1}
.app-shell{max-width:1210px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:0 clamp(16px,3.5vw,42px)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 0 18px}
.brand-button{border:0;background:none;display:flex;gap:10px;text-align:left;align-items:center;padding:0;color:var(--forest)}.brand-mark{background:var(--forest);width:49px;height:49px;border-radius:16px;display:grid;place-items:center;flex-shrink:0}.brand-mark svg{width:45px}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-weight:900;font-size:21px;letter-spacing:-.65px}.brand-copy small{font-size:12px;color:var(--muted);font-weight:750;margin-top:5px}
.top-actions{display:flex;gap:9px;align-items:center}.nav-pill{min-height:44px;border:1px solid #cfdfcb;border-radius:999px;background:#edf5de;padding:9px 16px;display:flex;align-items:center;gap:7px;font-weight:850;font-size:13px;color:var(--forest)}.nav-pill:hover{background:#d9ecbf}.nav-pill-muted{background:#fffdf8}.nav-pill-muted:hover{background:#eaf2e3}.nav-icon{font-size:19px;line-height:14px}.offline-label{font-size:12px;color:var(--muted);font-weight:800}.offline-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e7a04c;margin-right:5px}
#app{flex:1;padding-bottom:30px}.footer{border-top:1px solid #dbe4d5;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:19px 0 25px;color:#829287;font-size:11px;font-weight:700}
.eyebrow{text-transform:uppercase;letter-spacing:2.1px;font-weight:1000;font-size:11px;color:#5f8160}.section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:30px 0 15px}.section-head h2{font-size:clamp(23px,3vw,30px);margin:3px 0 0;letter-spacing:-1.15px;line-height:1.18}.section-head p{font-size:13px;color:var(--muted);font-weight:650;margin:0}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(270px,.9fr);background:radial-gradient(ellipse 66% 70% at 90% 8%,#2b6851 0,transparent 66%),linear-gradient(125deg,#143d31,#245542);border-radius:32px;position:relative;overflow:hidden;min-height:312px;box-shadow:0 22px 45px rgba(21,57,39,.17)}
.hero:after{content:'';position:absolute;width:250px;height:250px;border:1px solid rgba(220,246,167,.13);border-radius:50%;right:18%;top:-140px}.hero-content{padding:clamp(26px,4.1vw,50px);position:relative;z-index:1}.hero .eyebrow{color:#c7e2ac}.hero h1{color:#fffdf2;font-size:clamp(31px,4.3vw,57px);line-height:1.07;letter-spacing:-2.5px;max-width:650px;margin:15px 0 15px;font-weight:950}.hero h1 em{font-style:normal;color:var(--lime)}.hero p{color:#d9ecdf;font-size:clamp(14px,1.6vw,17px);max-width:485px;line-height:1.55;margin:0 0 23px;font-weight:600}.hero-art{width:100%;height:100%;min-height:294px;display:flex;align-items:flex-end;justify-content:center;position:relative;isolation:isolate}.hero-art svg{width:min(104%,460px);max-height:330px;filter:drop-shadow(0 16px 16px rgba(7,28,22,.16));transform:translateY(12px)}
.btn{border:0;border-radius:17px;padding:14px 22px;min-height:52px;font-weight:1000;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:transform .16s,background .16s,border .16s;white-space:normal;line-height:1.3}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn-primary{background:var(--lime);color:#23442b;box-shadow:0 5px 0 rgba(3,34,17,.16)}.btn-primary:hover{background:#e9ffc0}.btn-deep{background:var(--forest);color:white}.btn-deep:hover{background:#2c624f}.btn-ghost{background:white;border:1.5px solid #cedcc9;color:#365846}.btn-ghost:hover{background:#f5f9eb}.btn-warm{background:#fbe7c1;color:#79501b}.btn-warm:hover{background:#ffeccf}.btn-mini{font-size:12px;padding:9px 12px;min-height:38px;border-radius:11px}.btn-wide{width:100%}.btn-icon{font-size:21px}
.hero-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.mini-tag{display:inline-flex;align-items:center;gap:6px;background:#ebf3de;border-radius:999px;font-size:11px;font-weight:900;padding:5px 10px;color:var(--forest)}
.mode-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.mode-card{border:1px solid #e0e7d7;background:var(--white);box-shadow:var(--shadow);border-radius:23px;padding:23px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:9px;min-height:160px;color:inherit;transition:transform .15s,border .15s}.mode-card:hover{transform:translateY(-3px);border-color:#aacc9b}.mode-card .mode-icon{border-radius:16px;display:grid;place-items:center;width:48px;height:48px;background:#e5efdb;font-size:24px}.mode-card h3{font-size:19px;letter-spacing:-.5px;margin:0;font-weight:950}.mode-card p{color:#718079;font-size:13px;font-weight:650;margin:0;line-height:1.5}.mode-card .card-link{margin-top:auto;padding-top:10px;font-weight:900;font-size:13px;color:#366646}.mode-card:nth-child(2) .mode-icon{background:#ffe9c7}.mode-card:nth-child(3) .mode-icon{background:#dff0ef}
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.topic-card{border:1px solid #e0e5d9;border-radius:22px;background:var(--white);padding:18px;min-height:124px;text-align:left;display:flex;align-items:center;gap:13px;transition:transform .15s,border .15s;color:var(--ink)}.topic-card:hover{transform:translateY(-2px);border-color:#accdab}.topic-icon{width:61px;height:61px;border-radius:18px;display:grid;place-items:center;flex-shrink:0}.topic-icon svg{width:36px;height:36px}.topic-card h3{font-size:15px;line-height:1.22;letter-spacing:-.3px;font-weight:900;margin:0 0 6px}.topic-card p{font-size:11px;line-height:1.4;color:#728278;font-weight:750;margin:0}.chevron{font-size:20px;color:#abb9ad;margin-left:auto}.home-bottom{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-top:23px;padding:16px 19px;background:#e9edde;border-radius:18px}.home-bottom p{font-size:13px;color:#586e60;margin:0;font-weight:750}.stats{display:flex;gap:22px}.stat{display:flex;flex-direction:column;align-items:center}.stat strong{font-size:24px;color:var(--forest);font-weight:1000}.stat small{font-size:10px;color:#6b806e;font-weight:850;white-space:nowrap}.switch-row{display:flex;align-items:center;gap:10px;color:#667a68;font-weight:800;font-size:12px;cursor:pointer}.switch-row input{width:19px;height:19px;accent-color:#2e694c;cursor:pointer}
.breadcrumb{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:9px 0 20px}.back-link{border:0;background:transparent;color:#4d7258;padding:8px 0;font-weight:900;font-size:14px}.back-link:hover{text-decoration:underline}.session-status{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:800;color:#799084}.question-shell{background:var(--white);border:1px solid #e2e8db;border-radius:30px;padding:clamp(20px,3.4vw,38px);box-shadow:var(--shadow);min-height:536px}.progress-row{display:flex;gap:12px;align-items:center}.progress-text{font-size:13px;font-weight:1000;color:var(--forest);white-space:nowrap}.progress-track{height:11px;background:#e9efe4;border-radius:99px;overflow:hidden;flex:1}.progress-fill{height:100%;background:linear-gradient(90deg,#7fbb83,#b1d979);border-radius:99px;transition:width .26s}.progress-count{color:#7b907e;font-size:12px;font-weight:900}.question-divider{height:1px;background:#e7ecdf;margin:21px 0 22px}.question-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(295px,.85fr);gap:clamp(18px,3vw,40px)}.question-grid.no-visual{grid-template-columns:minmax(0,1fr) minmax(285px,.73fr)}.question-intro .eyebrow{font-size:10px;color:#648669}.question-intro h1{font-size:clamp(25px,3.25vw,38px);letter-spacing:-1.25px;line-height:1.2;margin:10px 0 16px;max-width:650px}.help-note{font-weight:750;color:#708075;font-size:12px;margin:0 0 16px}.question-answers{display:grid;grid-template-columns:1fr;gap:10px;margin-top:21px}.answer{border:2px solid #e0e8da;border-radius:17px;background:#fffefa;text-align:left;min-height:64px;display:flex;align-items:center;gap:12px;padding:12px 15px;color:#2b4438;font-size:15px;font-weight:830;transition:background .15s,border .15s,transform .15s}.answer:hover:not(:disabled){transform:translateX(2px);border-color:#a9c9a4;background:#f7faee}.answer .choice-index{width:32px;height:32px;border:1px solid #d8e5d8;border-radius:11px;background:#f1f6ed;display:grid;place-items:center;flex:0 0 32px;font-size:12px;font-weight:1000;color:#4b7559}.answer.is-selected{border-color:#4e9169;background:#e9f5e7}.answer.is-selected .choice-index{background:#2d6649;color:white;border-color:#2d6649}.answer.is-right{border-color:#4d996f;background:#e6f6e9}.answer.is-right .choice-index{background:#3d8b63;color:white;border-color:#3d8b63}.answer.is-wrong{border-color:#df968a;background:#fef0eb}.answer.is-wrong .choice-index{background:#c97167;color:white;border-color:#c97167}.answer:disabled{opacity:1;cursor:default}.answer.is-submitted:not(.is-right):not(.is-wrong){opacity:.69}.answer-text{flex:1}.answer-tick{margin-left:auto;flex:0 0 20px;font-size:20px;color:#438a60}.question-side{border-radius:25px;background:#eff2e7;overflow:hidden;min-height:340px;display:flex;align-items:center;justify-content:center;position:relative;padding:12px}.question-side:before{content:'';position:absolute;width:70%;height:70%;background:radial-gradient(circle,#fffef7,transparent 70%);z-index:0}.question-side > *{position:relative;z-index:1}.question-side svg{width:100%;max-height:405px}.side-placeholder{display:flex;flex-direction:column;text-align:center;align-items:center;justify-content:center;padding:24px;gap:15px}.side-placeholder svg{width:72%;max-width:260px;min-height:195px}.side-placeholder strong{font-size:19px;line-height:1.2;color:#345e45}.side-placeholder span{font-size:13px;color:#729077;font-weight:800}.highlight-ring{fill:rgba(255,212,103,.21);stroke:#e17f2c;stroke-width:5;stroke-dasharray:9 7;stroke-linecap:round;filter:drop-shadow(0 1px 1px rgba(66,31,7,.13))}.highlight-question{fill:#954b13;font-weight:1000;font-size:25px;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#fff9e7;stroke-width:5}.question-footer{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:25px;flex-wrap:wrap}.question-footer .right-controls{display:flex;align-items:center;gap:10px;margin-left:auto}.feedback{margin-top:23px;border-radius:19px;padding:18px;display:flex;gap:12px;align-items:flex-start;background:#e6f4e3;border:1px solid #cfe5c8}.feedback.bad{background:#fff0df;border-color:#f2d9b8}.feedback .feedback-icon{flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#c9eac5;display:grid;place-items:center;font-size:20px}.feedback.bad .feedback-icon{background:#ffe0b8}.feedback strong{font-weight:1000;font-size:15px;color:#2f5b3c}.feedback.bad strong{color:#93521e}.feedback p{font-size:13px;font-weight:650;margin:4px 0 0;color:#4d6554;line-height:1.55}.feedback.bad p{color:#735c45}.answer-recap{font-weight:1000;color:#325f47}
.order-help{font-size:13px;font-weight:750;color:#68816e;margin:10px 0}.order-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:13px 0}.order-slot{min-height:64px;background:#eef4e7;border:2px dashed #c3d5bb;border-radius:12px;font-size:12px;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;text-align:center;font-weight:880;padding:4px;color:#4f7457}.order-slot.done{background:#daf2dc;border-style:solid;border-color:#92c59c}.order-slot small{font-size:11px;color:#87988a}.order-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.order-option{border:2px solid #dce6d9;background:white;border-radius:14px;min-height:62px;padding:9px;font-weight:900;font-size:13px;color:#3a6049}.order-option:disabled{border-color:#dbebd5;background:#eef6e8;color:#a4b8a9}
.result-card{background:var(--white);border:1px solid #e0e8d8;border-radius:30px;box-shadow:var(--shadow);padding:clamp(25px,4vw,44px);text-align:center;max-width:850px;margin:20px auto 25px}.result-illustration{max-width:250px;margin:0 auto;display:block}.result-label{font-size:12px;letter-spacing:2px;color:#77977a;font-weight:950;text-transform:uppercase;margin-top:14px}.result-card h1{font-size:clamp(31px,4vw,46px);letter-spacing:-1.6px;margin:8px 0 5px}.result-card>p{color:#738676;font-weight:700;margin:0 auto 19px;max-width:530px}.score-circle{border-radius:50%;background:#e9f5d9;width:155px;height:155px;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:19px auto;box-shadow:inset 0 0 0 7px #d8ecc2}.score-circle strong{font-size:48px;line-height:1;font-weight:1000;color:var(--forest)}.score-circle span{font-size:12px;color:#68856a;font-weight:900}.result-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:22px}.review-list{max-width:850px;margin:0 auto}.review-item{border:1px solid #e2e8dd;background:#fffefa;border-radius:15px;padding:14px 17px;margin:8px 0;display:flex;align-items:flex-start;gap:11px}.review-num{background:#fce6d5;color:#915a40;border-radius:8px;padding:5px 8px;font-size:11px;font-weight:950;flex-shrink:0}.review-item strong{display:block;font-size:14px;margin-bottom:5px}.review-item p{font-size:12px;color:#687a6d;margin:0;line-height:1.5;font-weight:650}.review-item b{color:#37694c}
.lesson-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.9fr);gap:20px}.lesson-panel{background:var(--white);padding:clamp(20px,3vw,35px);border:1px solid #e2e8da;border-radius:28px;box-shadow:var(--shadow)}.lesson-panel h1{font-size:clamp(27px,3.7vw,43px);line-height:1.13;letter-spacing:-1.4px;margin:9px 0 14px}.lesson-panel p{color:#68806c;font-weight:750}.lesson-list{display:flex;flex-direction:column;gap:10px;padding:0;margin:19px 0 25px;list-style:none}.lesson-list li{border:1px solid #e5ebdd;border-radius:13px;padding:13px 15px 13px 41px;position:relative;font-size:14px;font-weight:780}.lesson-list li:before{content:'✓';position:absolute;left:13px;top:12px;color:#50946d;font-weight:950;font-size:17px}.lesson-visual{background:#ebf1e5;border-radius:28px;min-height:430px;display:flex;align-items:center;justify-content:center;padding:15px}.lesson-visual svg{width:100%;max-height:485px}.lesson-visual.cycle-view{background:#f9eccc}.lesson-visual.autumn-view{background:#fae8d3}.lesson-actions{display:flex;gap:9px;flex-wrap:wrap}.lesson-nav{display:flex;justify-content:space-between;margin-top:16px;gap:9px}.lesson-nav .btn{font-size:13px}
.modal-scrim{position:fixed;inset:0;background:rgba(14,36,26,.53);display:grid;place-items:center;padding:20px;z-index:50;backdrop-filter:blur(4px)}.modal{border:1px solid #e1e7db;background:#fffef9;padding:30px;box-shadow:0 25px 100px rgba(17,40,22,.24);border-radius:25px;width:min(100%,480px);position:relative}.modal h2{font-size:26px;letter-spacing:-.8px;line-height:1.15;margin:0 0 12px}.modal p,.modal li{font-size:14px;color:#5e7464;line-height:1.6;font-weight:700}.modal ol{padding-left:23px}.modal-close{position:absolute;right:15px;top:15px;border:0;background:#f0f4e9;width:36px;height:36px;border-radius:50%;font-size:18px;color:#54735c}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(100px);background:#1e4d3a;color:white;padding:11px 19px;border-radius:99px;z-index:70;box-shadow:0 12px 25px rgba(30,64,38,.2);font-size:13px;font-weight:850;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:960px){.hero{grid-template-columns:1.15fr .85fr}.hero-content{padding:30px}.hero h1{font-size:clamp(31px,4.4vw,45px);letter-spacing:-1.4px}.hero-art svg{width:115%}.topic-grid{grid-template-columns:repeat(2,1fr)}.question-grid,.question-grid.no-visual{grid-template-columns:1fr .8fr}.question-intro h1{font-size:30px}.question-side{min-height:310px}}
@media(max-width:700px){.topbar{padding:14px 0}.app-shell{padding:0 14px}.brand-copy strong{font-size:18px}.brand-mark{width:42px;height:42px;border-radius:14px}.brand-mark svg{width:38px}.brand-copy small{font-size:10px}.home-text,.install-text{display:none}.nav-pill{min-width:42px;justify-content:center;padding:8px 10px}.hero{grid-template-columns:1fr;border-radius:25px;min-height:0}.hero-content{padding:29px 24px 10px}.hero h1{font-size:clamp(34px,8vw,48px);max-width:490px}.hero-art{height:165px;min-height:165px;justify-content:flex-end}.hero-art svg{width:min(65%,300px);height:220px;transform:translateY(36px);margin-right:10px}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:110px;padding:16px;display:grid;grid-template-columns:52px 1fr;gap:5px 13px}.mode-icon{grid-row:1/3}.mode-card h3{align-self:end}.mode-card p{align-self:start}.mode-card .card-link{display:none}.topic-grid{grid-template-columns:1fr 1fr;gap:9px}.topic-card{padding:13px;gap:8px;min-height:100px}.topic-icon{width:43px;height:43px;border-radius:12px}.topic-icon svg{width:28px;height:28px}.topic-card h3{font-size:12px}.topic-card p{font-size:10px}.chevron{display:none}.home-bottom{align-items:start;flex-direction:column}.question-shell{border-radius:22px;padding:18px;min-height:auto}.question-grid,.question-grid.no-visual{display:flex;flex-direction:column;gap:17px}.question-side{order:-1;min-height:200px;max-height:275px}.question-side svg{max-height:267px}.question-intro h1{font-size:clamp(24px,6vw,32px);margin:8px 0 13px}.question-answers{margin-top:12px}.answer{min-height:60px;font-size:14px}.question-divider{margin:14px 0 17px}.question-footer{align-items:stretch}.question-footer .right-controls{flex:1;justify-content:flex-end}.lesson-grid{grid-template-columns:1fr}.lesson-visual{min-height:270px;max-height:340px;order:-1}.lesson-visual svg{max-height:315px}.result-card{border-radius:23px;padding:22px}.footer{font-size:10px}.order-slots{grid-template-columns:repeat(2,1fr)}}
@media(max-width:400px){.brand-copy small{display:none}.brand-copy strong{font-size:16px}.topic-card{padding:10px}.topic-icon{width:39px;height:39px}.topic-card h3{font-size:11px}.question-shell{padding:14px}.answer{padding:10px}.btn{padding:12px 14px;font-size:13px}.hero-content{padding:23px 20px 10px}.hero h1{font-size:32px}.section-head p{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top)}.topbar{padding-top:13px}}
