*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#101e23;color:#f2f6e7;font-family:Trebuchet MS,Arial,sans-serif}body{display:flex;justify-content:center;align-items:center;background:radial-gradient(ellipse at center,#305854,#12292d 55%,#0c181d)}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid #ffe887;outline-offset:2px}#app{width:100%;max-width:480px;height:100dvh;max-height:1000px;display:flex;flex-direction:column;padding:max(10px,env(safe-area-inset-top)) 12px max(7px,env(safe-area-inset-bottom));background:linear-gradient(155deg,#2a5250,#163435 48%,#132d32);box-shadow:0 0 80px #0006;gap:0}header{display:flex;justify-content:space-between;align-items:center;height:49px;flex-shrink:0}.brand{display:flex;gap:7px;align-items:center;font-size:19px;font-weight:900;letter-spacing:-.4px}.brand>span{width:36px;height:36px;background:#eacb5e;color:#354f2d;border-radius:12px;display:grid;place-items:center;font-size:29px;box-shadow:inset 0 2px #fff2a3,0 3px #0c2528}.brand small{display:block;font-size:7px;font-weight:700;letter-spacing:1.8px;color:#91b1a2;margin-top:4px}.tools{display:flex;gap:5px}.tools button{width:34px;height:36px;border:1px solid #4c6c60;border-radius:11px;background:#ffffff0c;color:#e5efd0;font-size:19px;box-shadow:inset 0 1px #ffffff12}.status{display:flex;align-items:center;gap:12px;height:55px;flex-shrink:0}.sunbank{border-radius:12px;padding:7px 12px;background:linear-gradient(#ffe291,#e8b94d);color:#60491f;min-width:96px;font-size:23px;font-weight:900;box-shadow:inset 0 2px #fff1b4,0 3px #13292d}.progress{flex:1}.progress>div:first-child{display:flex;flex-direction:column;gap:3px;margin-bottom:5px;font-size:8px;font-weight:700;letter-spacing:.5px}#level{color:#d5e5bb}#wave{color:#8bab9e;font-size:7px}.track{height:7px;border-radius:8px;background:#0b2328;overflow:hidden;box-shadow:0 1px #46685c}.track i{display:block;height:100%;background:#e3c263;transition:width .4s}.score{text-align:center;font-size:7px;letter-spacing:1px;color:#8daf9e;background:#ffffff08;border:1px solid #ffffff12;border-radius:10px;padding:5px 10px}.score b{display:block;color:#e9ecca;font-size:20px;letter-spacing:0}main{position:relative;flex:1;min-height:180px;margin-top:8px;border:3px solid #7ba15b;border-radius:19px;overflow:hidden;background:#8bb955;box-shadow:0 5px #0e2828,0 12px 24px #061b1c66}#game{width:100%;height:100%;display:block;touch-action:none}.seed-heading{display:flex;justify-content:space-between;align-items:center;height:31px;padding:6px 2px 0;flex-shrink:0;font-size:9px;font-weight:900;letter-spacing:1.5px;color:#d1dfb7}.seed-heading span:last-child{font-size:8px;letter-spacing:0;color:#88a89b;font-weight:400}#deck{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,70px);gap:7px;flex-shrink:0;padding:2px 0 5px}.card{position:relative;min-width:0;display:flex;align-items:center;gap:1px;padding:3px 2px;border-radius:12px;border:1px solid #5a7b63;background:linear-gradient(145deg,#3d6551,#294b42);color:#e7edd2;box-shadow:inset 0 1px #8aae6640,0 3px #0c2428;overflow:hidden;text-align:left}.card canvas{width:48px;height:49px;flex-shrink:0;filter:drop-shadow(0 3px 2px #0003)}.seed-info{min-width:0;flex:1}.card strong{display:block;font-size:9px;font-weight:900;white-space:nowrap;letter-spacing:-.3px}.card small{display:block;font-size:5px;letter-spacing:.5px;color:#9cb59b;margin:4px 0}.card span{display:inline-block;background:#dfc56a;color:#4a431d;border-radius:5px;font-size:10px;font-weight:900;padding:2px 5px}.card.selected{border:2px solid #ffe68a;padding:2px 1px;background:linear-gradient(145deg,#69864f,#3c6045);box-shadow:0 0 0 1px #bb98504d,inset 0 1px #b8d278,0 3px #0c2428}.card.selected:after{content:"✓";position:absolute;top:3px;right:5px;font-size:8px;color:#ffeb98}.card.unaffordable{filter:saturate(.65);opacity:.8}.card .cool{position:absolute;inset:auto 0 0;background:#0c2028a8;pointer-events:none}footer{height:43px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:7px;color:#9db7a6;font-size:8px}#shovel{border:1px solid #6a8970;border-radius:11px;padding:9px 13px;background:#31584a;color:#e2ebc4;font-weight:700;font-size:11px;box-shadow:0 3px #10282c}#shovel.active{border-color:#ffdf85;background:#e1c45e;color:#374424}#notice{position:absolute;top:10px;left:50%;transform:translate(-50%);width:max-content;max-width:90%;background:#12352eef;color:#eff4d2;border:1px solid #779264;box-shadow:0 5px 20px #16362355;padding:9px 12px;border-radius:11px;font-size:10px;text-align:center;opacity:0;pointer-events:none;transition:opacity .15s;z-index:2}#notice.show{opacity:1}#overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#173827bd;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:15px;z-index:3}#overlay:empty{display:none}.modal{width:100%;max-height:100%;overflow:auto;text-align:center;padding:20px 13px;border:1px solid #a9c77f80;border-radius:20px;background:linear-gradient(145deg,#315a3cec,#183d35f5);box-shadow:0 15px 30px #0c291955;color:#f3f3da}.modal .eyebrow{font-size:7px;font-weight:700;letter-spacing:1.4px;color:#c8d09a}.modal h1{font-size:30px;line-height:1.07;letter-spacing:-1px;margin:8px 0;color:#f4ebbe;text-shadow:0 3px #14372b}.modal p{font-size:10px;line-height:1.55;color:#b7cda9;margin:10px 0}.hero-art{width:100%;height:auto;max-width:320px;display:block;margin:3px auto}.hero{font-size:35px;color:#e7cb68}.facts{display:flex;justify-content:center;gap:14px;font-size:7px;letter-spacing:1px;color:#a0bc8c;margin:10px 0}.levels{display:flex;justify-content:center;gap:6px;margin:12px 0}.levels button{width:34px;height:34px;border:1px solid #6d8e62;background:#40634b;color:#dde8c4;border-radius:9px;font-weight:700;box-shadow:0 3px #13382d}.levels button.chosen{background:#e7c964;color:#334527;border-color:#ffea97}.levels button:disabled{opacity:.3}.primary,.secondary{display:inline-block;border-radius:11px;padding:11px 15px;margin:4px;font-weight:900;font-size:11px}.primary{background:linear-gradient(#ffe38a,#dfbd58);color:#3c4e26;border:1px solid #fff0ae;box-shadow:inset 0 1px #fff2be,0 4px #7f8542}.secondary{background:#385f4c;color:#d3e4bf;border:1px solid #7a9768;box-shadow:0 3px #173c31}.modal label{display:block;text-align:left;font-size:10px;margin:12px 0;color:#d7e4c6}.modal input{width:100%;padding:10px;border:1px solid #7c9d74;border-radius:8px;background:#133d34;color:#f0f3d7;margin-top:5px;font:inherit}.modal input::placeholder{color:#89aa93}@media(max-width:359px){#app{padding-left:7px;padding-right:7px}.brand{font-size:16px}.brand small{font-size:6px;letter-spacing:1px}.tools button{width:30px}.card canvas{width:39px;height:45px}.card strong{font-size:8px}.card small{font-size:4px}.card span{font-size:9px}#deck{gap:5px;grid-template-rows:repeat(2,64px)}.modal h1{font-size:25px}.modal p{font-size:9px}}@media(max-height:700px){#app{padding-top:5px;padding-bottom:3px}header{height:40px}.status{height:47px}#deck{grid-template-rows:repeat(2,59px)}.card canvas{width:41px;height:44px}.seed-heading{height:26px}footer{height:37px}.hero-art{max-width:250px}.modal{padding:12px 9px}.modal h1{font-size:25px}.modal p{font-size:9px;margin:6px 0}.facts{margin:7px 0}.levels{margin:8px 0}}@media(min-width:650px){#app{border:1px solid #62807045;border-radius:24px;max-height:min(960px,100dvh);padding-top:12px}}
