:root{font-family:ui-rounded,'Trebuchet MS',sans-serif;color:#243e35;background:#f6f5ec}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:14px;padding:12px 20px;background:#17694e;color:white;font-weight:bold;box-shadow:0 3px 0 #104c39}button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(1.1)}button:focus-visible,a:focus-visible{outline:3px solid #eea52f;outline-offset:4px}header{height:80px;padding:16px 5%;display:flex;align-items:center;gap:22px;border-bottom:1px solid #dce2d5;background:#fffef8}header a{color:inherit;text-decoration:none;font-size:20px;margin-right:auto}header button{background:#eceee4;color:#355343;box-shadow:none;font-size:12px}main{max-width:1180px;margin:auto;padding:34px 28px}h1{font-size:clamp(32px,5vw,58px);line-height:1.05;letter-spacing:-2px;margin:14px 0}h2{font-size:28px;margin:12px 0}p{line-height:1.6}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:bold;text-transform:uppercase;color:#528068}.hero{background:#dcebd9;border-radius:28px;padding:38px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;overflow:hidden}.hero p{max-width:470px}.art{position:relative;min-height:240px;background:radial-gradient(ellipse at bottom,#a4cb97 40%,transparent 41%);display:grid;place-items:center;font-size:110px}.art:before{content:'✦';position:absolute;left:15%;top:5%;font-size:50px;color:#e9b12c}.art:after{content:'🌲';position:absolute;right:0;bottom:0;font-size:130px}.pill{display:inline-block;background:#fff9da;padding:7px 12px;border-radius:25px;font-size:12px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:30px 0 16px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:#fffef9;padding:20px;border:1px solid #e0e5d7;border-radius:20px;text-align:left;color:inherit;box-shadow:0 4px 0 #e5e8dc;min-height:180px}.card .icon{font-size:36px;display:block;margin-bottom:18px}.card small{color:#69806e}.card b{display:block;margin:7px 0}.card.locked{background:#edeee7}.sub{color:#6f806e;font-size:13px}.practice{background:#fff0cb;border-radius:24px;padding:24px;margin-top:28px}.practice button{margin:5px;background:#fffdf4;color:#4e573b;box-shadow:0 2px 0 #e2cea3}.topline{display:flex;align-items:center;gap:15px}.topline button{background:#e5eadd;color:#355343;box-shadow:none}.game-layout{display:grid;grid-template-columns:1fr 280px;gap:24px;margin-top:24px}.stage{background:#fffdf6;border:1px solid #dde4d6;border-radius:26px;padding:25px;min-height:430px}.sidebar{background:#e6eddf;border-radius:24px;padding:24px}.hint{border-top:1px solid #cad7bf;padding-top:15px;color:#536b50;font-size:14px}.forest{position:relative;height:360px;background:linear-gradient(#cce9df 0 40%,#9fc98a 40%);border-radius:18px;overflow:hidden;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(6,1fr)}.tile{display:grid;place-items:center;font-size:28px;position:relative}.tile.gem{font-size:24px}.tile small{position:absolute;bottom:0;background:#fffce9;border-radius:5px;padding:1px 4px;font-size:12px;color:#234}.player{font-size:34px;filter:drop-shadow(0 3px 1px #547748)}.controls{display:flex;justify-content:center;gap:10px;margin:14px}.controls button{padding:12px 18px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:16px 0}input{width:140px;padding:12px;border:2px solid #b3c7ac;border-radius:12px;background:white}select{padding:10px;border-radius:10px}.shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.item{background:#f1e9d1;border:2px solid #e0d4b3;border-radius:16px;padding:20px 8px;cursor:grab;text-align:center}.item span{font-size:40px;display:block}.basket{border:3px dashed #84ac7d;border-radius:18px;min-height:110px;padding:20px;margin-top:20px;background:#edf5e6}.basket button{margin:4px;padding:8px;background:#d8e7cd;color:#304f32;box-shadow:none}.coin{background:#eebc4e;color:#503915;box-shadow:0 3px 0 #bc8c2c}.battle{display:flex;justify-content:space-around;align-items:center;background:#e6e0f3;border-radius:20px;min-height:210px;font-size:80px}.bar{height:12px;background:#c9c2d3;border-radius:12px;overflow:hidden;margin:12px 0}.bar div{height:100%;background:#72a469;transition:width .3s}.array{display:grid;gap:7px;justify-content:center;margin:20px}.array span{width:25px;height:25px;background:#f1c451;border-radius:6px}.pizza{width:min(330px,100%);display:block;margin:15px auto}.pizza path{cursor:pointer;stroke:#ae6731;stroke-width:2;transition:fill .2s}.pizza path:focus{outline:none;stroke:#17694e;stroke-width:6}.success{text-align:center;padding:40px 20px}.success .big{font-size:90px}.numberline{display:flex;gap:5px;align-items:end;justify-content:center;height:160px}.block{background:#85b99d;width:30px;border-radius:6px}.footer{margin:30px 0;color:#6a7e6c;font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90%;background:#243e35;color:white;border-radius:14px;padding:14px 24px;display:none;z-index:10}.flash{animation:bounce .4s}@keyframes bounce{50%{transform:scale(1.1)}}@media(max-width:850px){.grid{grid-template-columns:repeat(2,1fr)}.game-layout{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.art{display:none}header{gap:10px;padding:12px}header a{font-size:15px}main{padding:22px 14px}.stage{padding:14px}.hero{padding:25px}#wallet{font-size:12px}.forest{height:320px}.tile{font-size:24px}.sidebar{order:-1}.sidebar p{margin:5px 0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
