@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--green:#254a31;--green2:#406b46;--lime:#dfe9c7;--brown:#845d3b;--sand:#e8d6b9;--cream:#f8f5ed;--white:#fffefa;--text:#26372a;--muted:#647467;--line:#e6e7dd;--danger:#ac5548;--shadow:0 12px 40px #254a3112}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font:15px/1.55 'DM Sans',system-ui,-apple-system,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9ac27f;outline-offset:2px}.splash{text-align:center;margin:15vh auto}.brandmark{font-size:55px;color:var(--green)}.splash h1{margin:0;font-size:38px}.splash h1 span{font-weight:400}.splash p{color:var(--muted)}.app-shell{max-width:1400px;margin:auto;min-height:100vh;display:grid;grid-template-columns:255px minmax(0,1fr)}.sidebar{background:#f0eee4;border-right:1px solid var(--line);padding:30px 17px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh}.logo-wrap{display:flex;align-items:center;gap:11px;padding:0 10px}.logo-wrap img{width:44px;height:44px;border-radius:12px}.logo-title{font-size:23px;line-height:1.1;letter-spacing:-1px;font-weight:800;color:var(--green)}.logo-title span{font-weight:400}.logo-sub{font-size:10px;letter-spacing:.06em;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:4px}.nav button,.mobile-nav button{border:0;text-align:left;display:flex;align-items:center;gap:13px;background:transparent;color:#48604c;padding:12px 14px;border-radius:13px;font-weight:600}.nav button:hover{background:#e5eadd}.nav button.active,.mobile-nav button.active{background:#dce8ce;color:#1d472a}.nav svg,.mobile-nav svg{width:20px;height:20px;flex:none}.nav-heading{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#879287;padding:12px 14px 4px}.side-bottom{margin-top:auto;font-size:11px;color:#7b887a;padding:15px}.main{min-width:0;padding:30px clamp(22px,4vw,56px) 70px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px;color:#6f875f;text-transform:uppercase}.page-title{font-size:clamp(28px,3.3vw,41px);line-height:1.16;letter-spacing:-1.1px;margin:6px 0 10px;color:#21422c;font-weight:800}.lead{color:var(--muted);max-width:720px;margin:0 0 24px}.chip{border:1px solid #dce7d3;background:#eff5e9;border-radius:100px;color:#486846;font-size:12px;padding:6px 11px;font-weight:700;white-space:nowrap}.pill{display:inline-flex;gap:6px;align-items:center;background:#edf2e5;border-radius:100px;padding:5px 11px;font-size:12px;font-weight:700;color:var(--green)}.card{background:var(--white);border:1px solid var(--line);border-radius:21px;padding:22px;box-shadow:0 3px 18px #152b1406}.card h3{font-size:18px;margin:0 0 9px;color:#24482f;line-height:1.28}.card p{color:var(--muted);margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span2{grid-column:span 2}.hero{border-radius:25px;min-height:280px;background:linear-gradient(105deg,#20482df2 0%,#2e633fe0 57%,#819c6a77 100%),url('./hero.jpg') center/cover;display:flex;align-items:center;padding:clamp(24px,4vw,43px);color:white;overflow:hidden;position:relative}.hero h2{font-size:clamp(25px,3vw,36px);line-height:1.16;margin:10px 0 14px;max-width:440px}.hero p{color:#e2eddc;max-width:420px}.hero .pill{background:#edf3d9;color:#285236}.btn{border:0;border-radius:13px;background:var(--green);color:#fff;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;min-height:43px;transition:transform .14s,background .14s}.btn:hover{background:#386843;transform:translateY(-1px)}.btn.secondary{background:#e9eee3;color:var(--green)}.btn.secondary:hover{background:#dbe8d5}.btn.outline{background:transparent;color:var(--green);border:1px solid #cad8c8}.btn.small{font-size:12px;padding:7px 11px;min-height:33px}.btn.danger{background:#ad5247}.btn.light{background:white;color:var(--green)}.btn svg{width:18px;height:18px}.btnrow{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.section-header{display:flex;align-items:center;justify-content:space-between;margin:26px 0 13px;gap:12px}.section-header h2{font-size:21px;margin:0;letter-spacing:-.5px}.section-header a{font-size:13px;font-weight:700}.icon-tile{width:46px;height:46px;border-radius:14px;background:#e8f0df;display:flex;align-items:center;justify-content:center;color:var(--green);margin-bottom:15px}.icon-tile svg{width:25px;height:25px}.feature{cursor:pointer;transition:transform .15s,box-shadow .15s;min-height:175px}.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.feature h3{font-size:16px}.feature p{font-size:13px}.feature.disabled{opacity:.62;cursor:default}.feature.disabled:hover{transform:none}.photo{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e5e9dc;border-radius:14px}.tree-card{padding:10px;cursor:pointer}.tree-card .content{padding:12px}.tree-card h3{margin:4px 0}.tree-card small,.muted{color:var(--muted)}.tree-cover{position:relative}.tree-cover .chip{position:absolute;bottom:12px;left:12px;background:#fffef5e8}.placeholder{background:linear-gradient(145deg,#e7eee0,#b5c7a1);display:flex;align-items:center;justify-content:center;color:#4a7452}.placeholder svg{width:78px;height:78px}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:13px}.divider{height:1px;background:var(--line);margin:12px 0}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12px;color:#4a644d;font-weight:700}.field input,.field textarea,.field select,.searchbox{background:#fcfdf8;border:1px solid #d7ded2;border-radius:12px;padding:12px 13px;color:var(--text);width:100%;min-height:44px}.field textarea{min-height:90px;resize:vertical}.field-help{font-size:11px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 15px}.step{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid var(--line)}.step:last-child{border:0}.number{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e4ebd7;color:var(--green);font-weight:800}.step h4{margin:0 0 4px;font-size:14px}.step p{font-size:13px}.banner{background:#edf3e4;padding:16px 18px;border-radius:17px;border:1px solid #dce8d4}.banner.warning{background:#f9f0e2;border-color:#efe0c4}.banner.danger{background:#faeeec;border-color:#edc8c2}.banner p{margin:5px 0 0;font-size:13px;color:#566b57}.banner.warning p{color:#7c6747}.banner.danger p{color:#8c554d}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}.tabs button{background:transparent;border:0;padding:12px 14px;color:var(--muted);font-weight:700;white-space:nowrap;border-bottom:3px solid transparent}.tabs button.active{color:var(--green);border-color:var(--green)}.list-item{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:15px;display:flex;gap:12px;align-items:center;justify-content:space-between;margin:9px 0}.list-item strong{display:block}.list-item small{color:var(--muted)}.lesson{cursor:pointer}.lesson .icon-tile{margin:0;width:42px;height:42px}.progress{height:8px;background:#e3e9dc;overflow:hidden;border-radius:30px}.progress > div{height:100%;background:var(--green2);border-radius:30px}.taglist{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.tag{border:1px solid #d8e4cf;background:#f4f7ef;border-radius:100px;color:#4a6547;font-size:11px;padding:5px 10px}.term{display:inline-flex;align-items:center;gap:4px;color:#315c39;font-weight:800;border:0;border-bottom:1px dotted #598765;background:none;padding:0}.term svg{height:15px;width:15px}.course-body h3{margin:24px 0 7px;color:var(--green)}.course-body p{color:#425848;margin:0 0 15px;line-height:1.75}.course-body ul{margin-top:8px}.answer{width:100%;text-align:left;padding:12px 14px;background:white;border:1px solid #dae4d4;border-radius:12px;margin:5px 0}.answer:hover{background:#eff5e9}.answer.chosen{border-color:var(--green);background:#e7efdf}.answer.good{border-color:#559667;background:#ebf5e9}.answer.bad{border-color:#d69a7d;background:#fff0e8}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#15291dcc;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:#fffefa;width:min(620px,100%);max-height:90vh;overflow:auto;border-radius:22px;padding:25px;box-shadow:0 24px 100px #0004}.modal h2{color:var(--green);margin:0 0 10px}.modal .close{float:right;border:0;background:#eff1e9;border-radius:10px;padding:8px;color:#35583c}.toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);background:#234c32;color:#fff;padding:12px 18px;border-radius:100px;z-index:90;box-shadow:var(--shadow);max-width:90%;text-align:center}.mobile-nav{display:none}.editor{position:relative;border-radius:15px;overflow:hidden;background:#e6eadb;min-height:280px;max-height:560px;display:flex;align-items:center;justify-content:center}.editor img{width:100%;height:auto;max-height:560px;object-fit:contain;display:block}.editor svg{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}.editor .dot{stroke:#fff;stroke-width:2}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.legend span:before{content:' ';display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--mark);margin-right:5px}.stat{padding:18px;background:#f0f3e9;border-radius:15px}.stat b{display:block;font-size:23px;color:var(--green)}.stat span{font-size:12px;color:var(--muted)}.empty{text-align:center;padding:35px 18px;background:var(--white);border:1px dashed #ccd9c7;border-radius:19px}.empty svg{width:53px;height:53px;color:#70946e}.empty h3{color:var(--green);margin:12px 0 5px}.empty p{color:var(--muted);margin:0 auto 16px;max-width:350px}.music-link{display:flex;align-items:center;gap:12px;padding:17px;background:#f5f5ef;border-radius:14px;border:1px solid var(--line);margin:10px 0}.music-link svg{height:26px;width:26px;color:var(--green)}.music-link span{font-size:12px;color:var(--muted)}.music-link a{margin-left:auto;font-weight:700;white-space:nowrap}.foot{font-size:12px;color:#859084;margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}.micro{font-size:12px;color:var(--muted)}.callout-three{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.callout-three div{background:#f1f5eb;padding:13px;border-radius:12px;font-size:12px}.callout-three b{display:block;color:var(--green);margin-bottom:4px}.upload{border:2px dashed #bacdb5;text-align:center;padding:24px;border-radius:16px;background:#f6f9f2;cursor:pointer}.upload input{display:none}.upload svg{color:var(--green);height:29px;width:29px}.preview-strip{display:flex;gap:9px;overflow-x:auto;margin:12px 0}.preview-strip img{width:95px;height:95px;border-radius:12px;object-fit:cover}.preview-strip button{border:0;background:transparent;padding:0}.mini-badge{background:#e7eedf;padding:4px 8px;border-radius:8px;color:var(--green);font-size:11px;font-weight:700}.history{border-left:2px solid #c9d9c4;margin:12px 0 8px 13px;padding-left:24px}.history>div{position:relative;padding:0 0 20px}.history>div:before{content:'';width:11px;height:11px;background:#69906e;border:3px solid #f9fbf5;position:absolute;left:-32px;top:3px;border-radius:50%}.history b{color:var(--green)}.history p{color:var(--muted);font-size:13px;margin:3px 0}.hide{display:none!important}@media(max-width:1100px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.app-shell{display:block}.sidebar{display:none}.main{padding:22px 18px 110px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(69px + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);background:#fffefa;border-top:1px solid var(--line);z-index:40;justify-content:space-around;box-shadow:0 -6px 20px #00000008}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;padding:5px 8px;flex:1;border-radius:12px}.mobile-nav svg{width:21px;height:21px}.hero{min-height:250px}.top{margin-bottom:20px}.form-grid{grid-template-columns:1fr}}@media(max-width:540px){.grid,.grid.two,.grid.four{grid-template-columns:1fr 1fr;gap:10px}.grid .card{padding:14px}.grid .feature{min-height:156px}.grid .feature h3{font-size:14px}.grid .feature p{font-size:12px}.grid .icon-tile{width:39px;height:39px;margin-bottom:11px}.grid .icon-tile svg{width:21px}.span2{grid-column:span 2}.callout-three{grid-template-columns:1fr}.page-title{font-size:29px}.hero{padding:22px}.hero h2{font-size:27px}.tree-card{padding:7px}.tree-card .content{padding:9px}.tree-card h3{font-size:15px}.modal{padding:20px}.list-item{padding:12px}}
