
:root{--ink:#193c31;--paper:#fff7e8;--cream:#fffaf1;--rust:#c29547;--red:#9b543e;--line:#dfcca7;--muted:#5b6b5d;--dark:#09291f;--green:#315f49;--brown:#274a38;--shadow:0 12px 36px #0003;--gold:#f1c66c}
html{scroll-padding-top:100px}body{background:#071f19;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 0 65%,#245e3d45,transparent 45%),radial-gradient(ellipse at 100% 90%,#e8b15113,transparent 45%)}
h1,h2,h3,.western{font-family:Georgia,"Times New Roman",serif}.container{width:min(1200px,calc(100% - 40px));margin-inline:auto}.skip-link{position:fixed;left:12px;top:-100px;z-index:100;background:#fff8e6;color:#123c29;padding:12px;border-radius:10px}.skip-link:focus{top:12px}
header,header.topbar{height:auto;position:relative;z-index:20;background:#061d18f5;border-bottom:1px solid #cba15855;color:#fff7df}
header .container,header.topbar .container{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:10px}
.brand{font:bold 26px Georgia,serif;color:#fff7e8;letter-spacing:.035em;display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.brand span.brandmark{border:0;box-shadow:none;transform:none;background:none;color:var(--gold);font-size:32px;line-height:1}
.brand small{display:block;font:9px/1.6 system-ui,sans-serif;letter-spacing:.2em;color:#dbcda7}.brand .brand-gold{color:var(--gold)}.brand .brand-symbol{font-size:35px;color:var(--gold)}
nav,nav.navlinks{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-left:0}nav a,nav.navlinks a{min-height:44px;padding:10px 12px;color:#ede6ce;text-decoration:none;font-size:13px;font-weight:650;border-radius:9px}
nav a:hover,nav a:focus-visible,nav a[aria-current="page"]{background:#244335;color:#ffd987}nav a[aria-current="page"]{box-shadow:inset 0 -2px var(--gold)}
.topchip{display:none}.btn,button.pill{min-height:44px}.btn{border-radius:11px;border-color:#264d38;background:#254b38;color:#fff8e9;padding:11px 17px}.btn.primary{background:#f2c76b;border-color:#f2c76b;color:#173b2b;box-shadow:0 5px 16px #dbb15b25}.btn.pale{background:#fff8e8;color:#244e38;border-color:#d8c598}.btn.outline{border-color:#c8a45e;background:#173c2b;color:#fff5d5}.btn:hover{box-shadow:0 5px 18px #0002}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a86f28;outline-offset:3px}
.hero,.forest-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff9e6;background:#0a2d22 url("/assets/art/forest-hq.webp") center 47%/cover no-repeat;padding:0;border-bottom:1px solid #dcb35c4d}
.hero::before,.forest-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071f19ed 0%,#08271aca 37%,#08251c42 76%,#09231933);opacity:1;pointer-events:none}
.hero .container{position:relative;min-height:310px;padding:36px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero h1{color:#fff8e1;line-height:1.04;letter-spacing:-.045em;font-size:clamp(36px,5vw,58px);margin:10px 0 18px}.hero h1 em{font-style:normal;color:#f6cf7a}.hero .eyebrow{color:#edcc80}.hero p{color:#f4ecd4;max-width:620px}.hero .hero-copy{position:relative;max-width:740px;z-index:1}.hero .hero-copy .tool-subtitle{font-family:Georgia,serif;color:#f2d38d;font-size:19px;margin-bottom:15px}.hero .hero-actions,.hero .actions{display:flex;gap:10px;flex-wrap:wrap}
.tiny-mascot{flex:none;display:block;width:clamp(170px,24vw,300px);aspect-ratio:1;background-image:url("/assets/art/tiny-crew.webp");background-size:300% 200%;background-repeat:no-repeat;pointer-events:none;filter:drop-shadow(0 12px 12px #021a1599);position:relative}
.tiny-home{background-position:0 0;clip-path:inset(0 7% 0 0)}.tiny-ew{background-position:50% 0}.tiny-gear{background-position:100% 0}.tiny-buddy{background-position:0 100%}.tiny-infographics{background-position:50% 100%}.tiny-raccoon{background-position:100% 100%}
.handwritten{font:italic 19px/1.3 "Comic Sans MS","Segoe Print",cursive;transform:rotate(-5deg);color:#f8d594}
.forest-notice{background:#173b2d;border-bottom:1px solid #b58e4c55;color:#fff5d9}
.forest-notice .container{display:flex;align-items:center;gap:14px;min-height:64px;padding-block:10px}.notice-label{color:#f5cb71;font:bold 12px/1.3 system-ui,sans-serif;flex:none}.notice-text{flex:1;min-width:0;font-size:13px;line-height:1.5;margin:0}.notice-controls{display:flex;gap:6px;flex:none}.notice-controls button{border:1px solid #9b844e77;min-width:44px;min-height:44px;background:#274c38;color:#fff6db;border-radius:9px;padding:7px 10px;font:600 12px system-ui}
main{padding:32px 0 65px}.main{padding-top:24px}.panel{background:var(--paper);color:var(--ink);border:1px solid #e8d4a9;border-radius:17px;box-shadow:0 10px 28px #02130d33}.panel h2,.panel h3{color:#143f2d}.eyebrow{color:#557344}.muted,.hint,.help{color:var(--muted)}.panel .hint{color:var(--muted)}
.section-head:not(.panel .section-head),.sectionhead:not(.panel .sectionhead){color:#f5ebcd}.section-head:not(.panel .section-head) .eyebrow,.sectionhead:not(.panel .sectionhead) .eyebrow{color:#d0b779}.section-head:not(.panel .section-head) .hint,.sectionhead:not(.panel .sectionhead) .hint{color:#d4ddcb}
.main>.container>p.hint,.main>.container>p.hint a{color:#e8d5a5}.panel a{color:#286346}.panel a.btn{color:#fff8e9}.panel a.btn.pale,.panel a.btn.primary{color:#193f2a}
input:not([type=checkbox]),select,textarea{background:#fffdf5;border-color:#d4c6a7;color:#193a2d}input[type=checkbox]{accent-color:#3d6b49}fieldset{border-color:#ddcda9}.notice{background:#f4ead1;border-color:#dfcda3;color:#354b31}.notice.error{background:#fff0e9;color:#863f2d;border-color:#dbab94}.badge{background:#ecdfbe;border-color:#d5c399;color:#455a36}.badge.good{background:#e0eddf;color:#295936}.badge.warn{background:#fff0cf;color:#865420}.pill{background:#e7ebd8;border-color:#cdd5ba;color:#365333}.pill.active{background:#315b41;color:#fff6db}
.formation{background:radial-gradient(ellipse,#eef1d9,#dfdfbd);border-color:#adba8c}.formation h3{color:#3b6244}.slot{background:#fff9e8;border-color:#c4c99e;box-shadow:0 3px 0 #93a27230}.slot .lev{color:#435d37}.callout{border-color:#cdbd94;background:#edf1df}.callout .eyebrow{color:#46603d}.progress{background:#e3e4cf}.progress span{background:#3d704d}.cost-pill{background:#eddfb9;color:#4c5731}.step-number{background:#2f5940;color:#ffefd0}.step:first-child .step-number{background:#ba8841;color:#fff9e7}
.tool{position:relative;overflow:hidden}.footer{background:#061b16;border-top:1px solid #92734555;color:#dfd2ad}.footer a{color:#edd59a}.toast{background:#284d38;color:#fff7df}
#pageGate{margin-top:35px}.panel input[type=file]{max-width:100%}.forest-banner{display:flex;align-items:center;gap:18px}.forest-banner .tiny-mascot{width:120px}.forest-empty{display:flex;align-items:center;gap:20px}.forest-empty .tiny-raccoon{width:170px}
.library-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.library-toolbar input{flex:1;min-width:160px;max-width:350px}.season-tabs{display:flex;gap:8px;flex-wrap:wrap}.season-tabs button{background:#eddfbe;color:#36583a;border:1px solid #d2bd92;border-radius:99px;min-height:44px;padding:8px 14px}.season-tabs button[aria-pressed=true]{background:#315b41;color:#fff6d4}.infographic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.infographic-card{padding:18px;background:#fffcf4;border:1px solid #ddc9a0;border-radius:12px;min-width:0}.infographic-card h3{font-size:20px;overflow-wrap:anywhere}.file-preview{width:100%;height:180px;object-fit:contain;background:#e8eddc;border-radius:8px;margin-bottom:14px}.pdf-preview{display:grid;place-items:center;background:#e8eddc;border-radius:8px;height:180px;color:#406039;font:700 28px Georgia;margin-bottom:14px}.infographic-card .actions{margin-top:14px}.admin-gallery{margin-top:25px}.season-heading{color:#1a4931}
@media(min-width:1000px){.forest-home .hero .container{min-height:555px}.forest-home .hero h1{font-size:clamp(58px,5.3vw,76px);max-width:680px}.forest-home .hero .hero-copy{max-width:690px}.forest-home .hero .tiny-home{width:460px;margin-right:-8px}.forest-home .hero::before{background:linear-gradient(90deg,#061f19ef 0%,#092d1dcc 40%,#092c1b20 85%)}}
@media(max-width:760px){.container{width:calc(100% - 28px)}header .container,header.topbar .container{align-items:flex-start;flex-direction:column;gap:8px;min-height:0;padding-block:12px}.brand{font-size:23px}nav,nav.navlinks{gap:3px;width:100%;margin:0;justify-content:flex-start}nav a,nav.navlinks a{padding:8px 10px;font-size:12px}.forest-notice .container{flex-wrap:wrap;gap:8px}.notice-label{font-size:11px}.notice-text{flex-basis:calc(100% - 100px)}.notice-controls{margin-left:auto}.hero .container{min-height:290px;padding:24px 0;gap:12px}.hero .hero-copy{flex:1;min-width:0}.hero h1{font-size:37px}.hero p{font-size:14px}.hero .tiny-mascot{width:180px;margin-right:-24px;align-self:flex-end}.hero .container>.eyebrow{width:100%}.hero .hero-actions a,.hero .hero-actions button{font-size:12px}.hero .hero-copy .tool-subtitle{font-size:16px}.hero .container{flex-wrap:nowrap}.infographic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.forest-empty .tiny-raccoon{width:110px}.forest-empty{gap:10px}}
@media(max-width:520px){.hero .container{flex-wrap:wrap;min-height:0;padding-bottom:16px}.hero .hero-copy{flex-basis:100%;max-width:100%}.hero .tiny-mascot{width:170px;margin:0 0 -8px auto}.hero .handwritten{align-self:center;margin-left:16px}.hero h1{font-size:39px;max-width:360px;margin-bottom:12px}.hero::before{background:linear-gradient(90deg,#071f19f0,#08271ab0)}.forest-home .hero .container{padding-bottom:0}.forest-home .hero .tiny-home{width:225px;margin-top:-18px}.forest-home .hero h1{font-size:45px}.hero .hero-actions{gap:8px}.panel{padding:18px}.forest-notice .container{padding-block:8px}.notice-label{width:100%}.notice-controls{margin:0}.notice-text{flex-basis:0}.infographic-grid{grid-template-columns:1fr}.forest-empty{align-items:flex-start}.forest-empty .tiny-raccoon{width:85px}.sectionhead .hint{max-width:100%}.navlinks a[href^="#"]{font-size:11px;padding:8px}.tiny-mascot{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
