*{box-sizing:border-box}html,body,#root{color:#173b33;width:100%;height:100%;margin:0;font-family:DM Sans,system-ui,sans-serif}button,input{font:inherit}button{cursor:pointer}.primary,.secondary{border:0;border-radius:14px;padding:13px 22px;font-weight:700}.primary{color:#173b33;background:#ffcf5c;box-shadow:0 7px #dca93a}.secondary{color:#173b33;background:#fff;margin-left:12px}.link{color:#27775e;background:0 0;border:0;padding:10px}.error{color:#a9303a}.brand{letter-spacing:-.03em;font-weight:800}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#e1794d;font-size:12px;font-weight:800}.landing{background:linear-gradient(155deg,#eefbe8,#cceee2);grid-template-columns:1fr 1fr;align-items:center;height:100%;padding:8vw;display:grid;position:relative;overflow:hidden}.landing section{z-index:2;max-width:660px}.landing h1,.saves h1,.auth h1{margin:24px 0;font-family:Fraunces,Georgia,serif;font-size:clamp(58px,8vw,110px);line-height:.86}.landing h1 em{color:#e66f4f;font-style:normal}.landing p{max-width:580px;font-size:20px;line-height:1.6}.mini-park{background:#78bd70;border-radius:50%;width:500px;height:420px;position:relative;transform:rotate(-7deg);box-shadow:0 30px #5a9e5d,0 45px 60px #487b6866}.mini-park:before{content:"";border:28px solid #f3d69d;border-radius:47%;position:absolute;inset:60px}.mini-park i,.mini-park b,.mini-park span{font-size:110px;font-style:normal;position:absolute}.mini-park i{top:-60px;right:40px}.mini-park b{bottom:35px;left:100px}.mini-park span{font-size:85px;bottom:35px;right:40px}.sky-orb{filter:blur(2px);background:#fff8;border-radius:50%;position:absolute}.sky-orb.a{width:300px;height:300px;top:-10%;right:10%}.sky-orb.b{width:150px;height:150px;bottom:-5%;left:35%}.auth,.loading{background:linear-gradient(145deg,#dff6e5,#a9dcd2);place-items:center;min-height:100%;display:grid}.card{background:#fff;border-radius:28px;width:min(460px,92vw);padding:46px;box-shadow:0 30px 90px #27584933}.card h1{font-size:42px}.card label{margin:18px 0;font-weight:700;display:block}.card input,.new-save input{border:2px solid #d7e7df;border-radius:12px;width:100%;margin-top:7px;padding:13px;display:block}.card .primary{width:100%}.saves{background:#f4f4e8;min-height:100%}.saves header{color:#fff;background:#174b3f;justify-content:space-between;padding:22px 5vw;display:flex}.saves section{padding:6vh 7vw}.saves h1{margin:15px 0 36px;font-size:55px}.save-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;display:grid}.save-grid article{background:#fff;border-radius:22px;padding:24px;box-shadow:0 12px 36px #2d564815}.new-save{border:2px dashed #83ad98}.save-grid button{margin:10px 8px 0 0}.park-preview{background:linear-gradient(#bdece4 55%,#8bc474 55%);border-radius:15px;place-items:center;height:130px;font-size:58px;display:grid;position:relative}.park-preview small{background:#fff;border-radius:8px;padding:5px 9px;font-size:12px;position:absolute;bottom:10px;right:10px}.stats{color:#60766f;justify-content:space-between;display:flex}.danger{color:#a0444c;background:0 0;border:0}.game{background:#bde8ee;width:100%;height:100%;overflow:hidden}.park-scene{width:100%;height:100%}.hud{color:#fff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#163f36ef;position:absolute;box-shadow:0 8px 35px #132f2a33}.top{border-radius:18px;align-items:center;gap:28px;height:68px;padding:10px 18px;display:flex;top:18px;left:18px;right:18px}.top .brand{margin-right:auto;font-size:20px}.top div:not(.brand){flex-direction:column;display:flex}.top small{opacity:.68}.top button,.speed button{color:#fff;background:#ffffff15;border:0;border-radius:10px;padding:9px 12px}.message{border-radius:12px;padding:10px 18px;top:100px;left:50%;transform:translate(-50%)}.tools{border-radius:18px;gap:7px;padding:8px;display:flex;bottom:22px;left:50%;transform:translate(-50%)}.tools button{color:#fff;background:0 0;border:0;border-radius:13px;min-width:100px;padding:10px;font-size:25px}.tools small{margin-top:4px;font-size:11px;display:block}.hud button.active{color:#173b33;background:#ffcf5c}.speed{border-radius:14px;gap:4px;padding:7px;display:flex;bottom:22px;right:22px}@media (width<=760px){.landing{padding:20vh 8vw;display:block}.landing h1{font-size:60px}.mini-park{display:none}.top{flex-wrap:wrap;gap:8px;height:auto}.top .brand{width:100%}.message{text-align:center;width:90%;top:145px}.tools{width:95%;overflow:auto}.tools button{min-width:90px}.saves h1{font-size:40px}}
