:root{color-scheme:dark;--gold:#f2cc7a;--muted:#a5bbb0}*{box-sizing:border-box}body{margin:0;background:#102924;color:#eff3df;font-family:'DM Sans',sans-serif;background-image:radial-gradient(ellipse at 80% 40%,#254438 0,transparent 55%);min-height:100vh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:1px solid #ffffff24;background:#ffffff06;border-radius:12px;padding:12px 17px;cursor:pointer;transition:.2s}button:hover{background:#ffffff13;border-color:#e5c58180}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:disabled{opacity:.35;cursor:default}.primary{background:var(--gold);color:#24352a;border-color:var(--gold);font-weight:700}.primary:hover{background:#ffdfa0}.brand{font-family:'Playfair Display',serif;font-size:23px;color:var(--gold);text-decoration:none}header{max-width:1280px;margin:auto;padding:30px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff12}main{max-width:1200px;margin:38px auto 24px;padding:0 40px;display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--gold)}h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(52px,6vw,86px);line-height:1.03;margin:22px 0}h1 em{color:var(--gold);font-weight:500}.intro>p{color:var(--muted);line-height:1.7;max-width:310px;font-size:15px}.chapter{border-top:1px solid #ffffff20;padding-top:25px;margin-top:35px}.chapter>span{letter-spacing:2px;color:#c0b995;font-size:10px}h2{font-family:'Playfair Display',serif;font-size:27px;font-weight:500;margin:10px 0}.chapter p{font-size:14px;color:var(--muted);line-height:1.6;max-width:340px}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#bdcbbb;margin:22px 0}.legend b{color:var(--gold)}.textbtn{padding:10px 0;border:0;color:var(--gold);background:none}.intro .saveNote{font-size:11px;opacity:.65}.play{max-width:580px;width:100%;margin:auto}.gamebar{display:flex;justify-content:space-between;letter-spacing:1.2px;font-size:11px;color:#d7dec9;margin:0 6px 16px}.garden{padding:15px;border-radius:27px;background:linear-gradient(145deg,#4c5940,#253f32 45%,#5c6040);box-shadow:0 24px 70px #0005,inset 0 0 0 1px #c6c68b40;position:relative}svg{display:block;width:100%;border-radius:17px;background:#152e25}.tile{fill:#254735;stroke:#132f24;stroke-width:5}.tile.alt{fill:#294b38}.bug{cursor:pointer;outline:none}.bug:hover .halo,.bug:focus .halo{opacity:.6}.status{text-align:center;color:var(--gold);font-size:14px;min-height:46px;padding-top:17px}.controls{display:flex;gap:8px}.controls button{flex:1;padding:12px 7px;font-size:13px}.controls .primary{flex:1.5}.tip{font-size:11px;text-align:center;color:var(--muted);line-height:1.7;margin:17px 12px}footer{max-width:1180px;margin:32px auto 0;padding:23px 40px;border-top:1px solid #ffffff12;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;color:#91a89a}dialog{background:#19392f;color:#f4efd9;border:1px solid #c8be7855;border-radius:24px;width:min(540px,92vw);padding:35px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#051a14c9;backdrop-filter:blur(7px)}dialog h2{color:var(--gold);margin:6px 0 22px}dialog p,dialog li{font-size:14px;line-height:1.8;color:#c1d1bd}dialog .close{float:right;border:0;padding:0 8px;font-size:26px}.levelgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.levelgrid button{padding:18px 7px}.levelgrid .done{border-color:var(--gold);color:var(--gold)}.levelgrid .current{background:#ead09422}.sky{position:fixed;pointer-events:none;inset:0;background-image:radial-gradient(circle at 8% 30%,#f2ce8c88 0 1px,transparent 3px),radial-gradient(circle at 93% 70%,#f2ce8c88 0 1px,transparent 4px);z-index:-1}@media(max-width:800px){header{padding:20px}.brand{font-size:18px}header button{font-size:11px;padding:9px}main{grid-template-columns:1fr;gap:20px;padding:0 18px;margin-top:25px}.intro h1{font-size:43px;display:inline;line-height:1.2}.intro h1 br{display:none}.eyebrow{display:block;font-size:8px;margin-bottom:10px}.intro>p{max-width:none;font-size:13px;margin:12px 0}.chapter{margin-top:18px;padding-top:15px}.chapter h2{font-size:23px}.chapter p{max-width:none;margin-bottom:8px}.legend{margin:12px 0}.intro .saveNote{display:none}.textbtn{font-size:12px}.garden{padding:10px;border-radius:22px}footer{padding:20px;gap:16px;font-size:8px}.controls button{font-size:12px}.tip{font-size:11px}}@media(prefers-reduced-motion:no-preference){.glow{animation:breathe 2.5s ease-in-out infinite alternate}@keyframes breathe{to{opacity:.55}}}
/* Moonlit botanical edition */
body{background:#102b2a;background-image:radial-gradient(ellipse at 60% 10%,#34645855,transparent 65%),linear-gradient(135deg,#0d2227,#193b32 60%,#112c2b)}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.7;background:radial-gradient(ellipse at 0% 98%,#496d3f 0,transparent 24%),radial-gradient(ellipse at 100% 0%,#35583d 0,transparent 25%)}header{padding:22px 36px;max-width:1440px}.brand{font-size:25px}main{max-width:1370px;grid-template-columns:.75fr 1.25fr;gap:65px;margin-top:30px;padding:0 48px}.intro h1{font-size:clamp(45px,4.8vw,70px);line-height:1.13}.intro>p{max-width:330px}.play{max-width:690px}.garden{padding:19px;border-radius:33px;background:linear-gradient(145deg,#9c9460,#455b3c 15%,#233e2e 43%,#6d7950 84%,#a29261);box-shadow:0 35px 90px #0006,inset 0 0 0 1px #c3c09480,inset 0 0 0 6px #223e2e70}.garden:before,.garden:after{content:'✦';position:absolute;color:#f5d99c;text-shadow:0 0 18px #ffe8b3;pointer-events:none;font-size:23px}.garden:before{left:3px;top:22%;}.garden:after{right:0;bottom:20%}svg{background:#192e26;box-shadow:inset 0 0 20px #0009;border:1px solid #b9b88845}.tile{fill:url(#tile);stroke:#1c3229;stroke-width:4}.tile.alt{fill:url(#tile)}.boardHeading{display:flex;justify-content:space-between;align-items:center;margin:0 6px 13px}.boardHeading .eyebrow{font-size:10px}#sizeLabel{color:#a8c7bc;font-size:11px}.gamebar{margin-bottom:12px}.meter{height:3px;background:#68857344;border-radius:5px;margin:0 8px 17px;overflow:hidden}#meter{height:100%;background:linear-gradient(90deg,#c5ab66,#f7e3ab);box-shadow:0 0 12px #ffd687;transition:width .4s}.chapter{border-left:2px solid #d3bd7355;border-top:0;padding:0 0 0 20px;margin-top:28px}.legend{padding:15px;background:#d8e4be08;border:1px solid #c0d2a914;border-radius:14px;gap:13px;color:#c7d6be}.controls{padding:4px;background:#0c231c66;border:1px solid #dce5c715;border-radius:17px}.controls button{border:0;background:transparent;border-radius:12px}.controls button:hover{background:#ffffff10}.controls .primary{background:#e8c781;box-shadow:0 3px 14px #0003}.controls .primary:hover{background:#f4dca3}.status{min-height:49px}.levelgrid button{position:relative;background:#d8e6ba08}.levelgrid button:nth-child(n+13){border-color:#a3dcd044}.levelgrid button:nth-child(n+21){border-color:#c9b5e26b}.levelgrid{gap:8px}dialog{max-height:90vh;overflow:auto}.saveNote{letter-spacing:.2px}footer{max-width:1290px}.sky{background-image:radial-gradient(circle at 4% 28%,#f8dd8b 0 1px,transparent 3px),radial-gradient(circle at 96% 68%,#f8dd8b 0 1.5px,transparent 5px),radial-gradient(circle at 45% 6%,#f8dd8b 0 1px,transparent 3px),radial-gradient(circle at 8% 82%,#f8dd8b 0 1px,transparent 4px),radial-gradient(circle at 91% 15%,#f8dd8b 0 1px,transparent 4px)}@media(max-width:800px){main{padding:0 16px;grid-template-columns:1fr;gap:22px;margin-top:24px}.intro h1{font-size:38px}.intro h1 br{display:block}.intro>p{max-width:none}.intro .chapter{margin-top:20px}.legend{padding:11px;gap:10px;font-size:10px}.garden{padding:12px;border-radius:25px}header{padding:19px 16px}.brand{font-size:18px}.boardHeading{margin-bottom:10px}.eyebrow{margin-bottom:0}.levelgrid{grid-template-columns:repeat(4,1fr)}.textbtn{padding-bottom:0}}@media(min-width:801px) and (max-height:850px){main{max-width:1170px;margin-top:22px;gap:60px}.play{max-width:540px}.intro h1{font-size:57px}.chapter{margin-top:23px}footer{margin-top:18px}.garden{padding:14px}}
.intro{position:relative}.intro:before{content:'';position:absolute;inset:-90px -50px -60px -130px;background:url('botanical.svg') center/100% 100% no-repeat;pointer-events:none;opacity:.28;z-index:-1}.garden{isolation:isolate}.garden:before,.garden:after{width:55px;height:140px;content:'';background:url('botanical.svg') left center/150px 270px;filter:drop-shadow(0 3px 3px #0005);z-index:2}.garden:before{left:-20px;top:4%;transform:rotate(-12deg)}.garden:after{right:-19px;bottom:4%;transform:rotate(165deg)}@media(max-width:800px){.intro:before{inset:-40px -10px -20px -50px;opacity:.15}.garden:before{left:-12px}.garden:after{right:-12px}}
nav{display:flex;gap:8px}.runbar{display:flex;justify-content:space-between;margin:17px 8px 0;font-size:11px;color:#c2d1b6}#starStats{color:#f1cf7c}.chapterLabel{color:#bfcfad;font-size:12px;font-weight:500;letter-spacing:1px;margin-top:27px}.levelgrid small{display:block;font-size:10px;letter-spacing:2px;margin-top:7px;color:#edce84}.levelgrid b{font-weight:500}.homeHero{text-align:center}.homeHero h2{font-size:38px;line-height:1.2;margin-top:8px}.homeMark{font-size:84px;color:#ffe2a1;text-shadow:0 0 45px #f4cf71;margin:10px 0}.homeHero>button{margin:8px 3px}.homeStats{margin:20px 0;color:#e3d6a6;font-size:12px}.homeLinks{display:flex;justify-content:center;gap:8px}.homeLinks button{font-size:11px;padding:8px 10px}.homeHero .smallprint{font-size:10px;opacity:.7}.bug:focus-visible>circle:first-child{stroke:#fff2b0;stroke-width:3}dialog{max-height:88dvh;overscroll-behavior:contain}header .brand{white-space:nowrap}@media(max-width:800px){header .brand{font-size:16px}header nav button{padding:8px;font-size:10px}.intro{display:flex;flex-direction:column}.intro h1{font-size:30px;margin:12px 0 5px}.intro h1 br{display:none}.intro>.eyebrow{font-size:7px}.intro>p{display:none}.chapter{margin-top:13px!important}.chapter h2{font-size:21px}.legend{margin-bottom:0}.runbar{font-size:10px}.play{scroll-margin-top:10px}.controls button{min-height:46px}.levelgrid button{padding:13px 6px}.homeHero h2{font-size:31px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
