:root{font-family:ui-rounded,"Segoe UI",system-ui,sans-serif;background:#f7f6e9;color:#344d39;--green:#567c50;--ink:#344d39;--gold:#f7cf62}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 4% 5%,#e8efdd,transparent 55%),radial-gradient(ellipse at 100% 10%,#fff0d3,transparent 50%),#f9f8ee}button,a{-webkit-tap-highlight-color:transparent}button{border:0;font:inherit;font-weight:750;cursor:pointer;min-height:50px;padding:12px 18px;border-radius:16px;color:inherit;background:#fff;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible{outline:4px solid #9271b5;outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.shell{max-width:1050px;margin:auto;padding:22px 28px}header{display:flex;align-items:center;gap:14px;border-bottom:1px solid #dfdfc9;padding-bottom:18px}.back{display:grid;place-items:center;width:44px;height:44px;background:#fff;border-radius:50%;font-size:24px}.eyebrow{font-size:9px;letter-spacing:2px;color:#8b9475;font-weight:800}h1{font-size:21px;margin:4px 0 0;letter-spacing:-.5px}header #sound{margin-left:auto}header button{background:#fff9;font-size:20px;padding:10px;min-width:48px}.topline{display:flex;justify-content:space-between;align-items:center;padding:24px 0 20px;gap:20px}.tag{font-size:9px;letter-spacing:2px;color:#9a9c6d;font-weight:800}h2{font-family:Georgia,serif;font-size:30px;font-weight:500;margin:8px 0 0;letter-spacing:-.7px}.stats{display:flex;gap:9px}.stats>div{border:1px solid #fff;border-radius:17px;min-width:87px;background:#fff9;padding:10px 13px;text-align:center}.stats span{display:block;font-size:10px;color:#889171}.stats b{display:block;font-size:23px;margin-top:2px;color:#526d44}.gameboard{position:relative;aspect-ratio:10/7;border:8px solid #fff9;border-radius:30px;overflow:hidden;box-shadow:0 18px 45px #65784419;background:#dcebc4}canvas{display:block;width:100%;height:100%}.plot{position:absolute;transform:translate(-50%,-50%);width:6.4%;aspect-ratio:1;min-width:43px;min-height:43px;max-width:65px;padding:0;background:#fff5;border:2px dashed #f9fff0;border-radius:50%;box-shadow:0 2px 8px #6e8c4233;color:#fff;font-size:29px;text-shadow:0 2px 0 #779350;display:flex;align-items:center;justify-content:center}.plot.planted{background:transparent;border:2px solid transparent;box-shadow:none;color:transparent;text-shadow:none}.plot.planted:focus-visible,.plot.planted:hover{border-color:#fff8}.plot.selected{outline:3px solid #fff;outline-offset:4px}.plot>small{position:absolute;bottom:-7px;font-size:10px;background:#fff;border-radius:9px;padding:2px 5px;color:#708152;text-shadow:none}.entrance{position:absolute;top:13%;left:2%;font-size:8px;letter-spacing:1px;font-weight:800;color:#7f9563;background:#ffffff75;padding:4px 8px;border-radius:20px}.castle-label{position:absolute;top:38%;left:83%;font-size:8px;letter-spacing:1px;color:#8c74a0;font-weight:800}.actionbar{display:flex;align-items:stretch;justify-content:center;gap:14px;margin:20px 0}.primary{background:#5d824e;color:white;box-shadow:0 4px 0 #45653a}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #45653a}.wave-start{min-width:240px;font-size:17px}.magic{display:flex;align-items:center;gap:13px;background:#b99bcf;color:white;position:relative;overflow:hidden;box-shadow:0 4px 0 #9477ac;min-width:230px;text-align:left;padding:9px 20px;isolation:isolate}.magic>span{font-size:34px;color:#ffe68e}.magic div{z-index:1}.magic b{display:block;font-size:16px}.magic small{display:block;font-size:11px;margin-top:4px;color:#f6effb}.magic i{position:absolute;inset:0 auto 0 0;background:#9e7bbd;z-index:-1;width:0;transition:width .2s}.magic:disabled{opacity:.68}.guide{display:flex;align-items:center;gap:15px;background:#fff9;border:1px solid white;border-radius:22px;padding:14px 18px}.guide .gecko{font-size:42px;filter:hue-rotate(270deg) saturate(.7);transform-origin:bottom;flex-shrink:0}.guide>div:nth-child(2){flex:1}.guide p{margin:5px 0 0;font-size:14px;line-height:1.5}.guide button{font-size:21px;background:transparent;min-width:44px;padding:8px}.guide small{color:#b2867a;font-size:10px}.gecko.scared{animation:scare .15s 5 alternate}.legend{display:flex;justify-content:center;gap:20px;color:#8b957b;font-size:10px;padding:18px 0 8px}.save-note{font-size:10px;color:#a0a28d;text-align:center;margin:4px 0}footer{display:flex;justify-content:space-between;align-items:center;color:#a5aa91;font-size:10px;padding:14px 0 0}footer button{background:transparent;min-height:40px;font-size:11px;color:#919a80;padding:8px}.floating{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(85%,360px);padding:30px;text-align:center;border-radius:28px;background:#fffaf1f2;box-shadow:0 20px 60px #4a624733;backdrop-filter:blur(8px)}.floating>span{font-size:50px;color:#bf9dcc}.floating h2{font-size:30px}.floating p{font-size:14px;line-height:1.5;color:#899175}.floating button{margin-top:7px}.big{padding:16px 30px;font-size:20px}.welcome-flower{display:block;font-size:75px;margin-bottom:15px}dialog{border:0;border-radius:28px;background:#fffdf5;color:var(--ink);padding:35px;text-align:center;max-width:min(94vw,510px);box-shadow:0 25px 100px #344b3a44}dialog::backdrop{background:#3c583d66;backdrop-filter:blur(7px)}dialog h2{font-size:32px}dialog p{color:#8c947d;line-height:1.6;font-size:15px}dialog small{display:block;font-size:10px;color:#a5aa94;margin-top:18px}.welcome-steps{display:flex;flex-direction:column;gap:8px;font-size:13px;margin:20px}.close{position:absolute;top:10px;right:10px;width:43px;min-height:43px;padding:8px;background:transparent}.tower-choice{display:flex;text-align:left;align-items:center;gap:14px;border:2px solid #e9eedc;border-radius:20px;width:100%;margin:10px 0;background:#f8faef;padding:14px 17px;min-height:84px}.tower-choice>span{font-size:40px;min-width:48px}.tower-choice div{flex:1}.tower-choice b{font-size:17px}.tower-choice small{font-size:11px;margin:5px 0 0;color:#939d7f}.tower-choice em{font-style:normal;color:#9d8c40;font-size:18px;font-weight:800;white-space:nowrap}.tower-info{font-size:44px;margin:16px}.upgrade{width:100%;margin:10px 0}.sell{font-size:12px;background:transparent;color:#8b997a}.reset-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.storage{color:#ae8063}.pop{animation:pop .4s}.wave-start:disabled{background:#c2cfb4;box-shadow:none;color:#59744d}@keyframes pop{50%{transform:scale(1.16)}}@keyframes scare{to{transform:rotate(-9deg) translateX(-3px)}}@media(max-width:800px){.shell{padding:15px 18px}.topline{align-items:flex-start}.garden-label h2{font-size:27px}.stats>div{min-width:73px;padding:9px}.stats{gap:5px}.stats b{font-size:21px}.stats span{font-size:9px}.gameboard{border-width:5px;border-radius:24px}.castle-label{font-size:7px}.legend{gap:12px}.actionbar{margin:15px 0}}@media(max-width:560px){.shell{padding:12px}header{gap:8px;padding-bottom:14px}h1{font-size:16px;max-width:210px}.eyebrow{font-size:8px;letter-spacing:1px}.back{width:34px;height:38px;font-size:20px}header button{min-width:40px;min-height:44px;padding:7px;font-size:19px}.topline{display:block;padding:18px 0 12px}.garden-label{display:flex;flex-direction:column;gap:3px}.garden-label h2{font-size:27px;margin:5px 0 13px}.tag{font-size:8px}.stats{width:100%;gap:7px}.stats>div{flex:1;padding:7px 10px;display:flex;align-items:center;justify-content:space-between;gap:6px;border-radius:13px;min-width:0}.stats span{font-size:9px}.stats b{font-size:19px;margin:0}.gameboard{aspect-ratio:10/8}.entrance{font-size:6px;top:13%;letter-spacing:0;padding:3px 5px}.castle-label{top:37%;left:80%;font-size:6px;letter-spacing:0}.plot{font-size:24px;min-width:39px;min-height:39px;border-width:1px}.plot>small{font-size:8px}.actionbar{gap:8px}.wave-start{min-width:0;flex:1;font-size:13px;padding:10px}.magic{min-width:0;flex:1;padding:8px 12px;gap:7px}.magic>span{font-size:28px}.magic b{font-size:13px}.magic small{font-size:9px}.guide{padding:12px;gap:9px}.guide .gecko{font-size:33px}.guide p{font-size:12px}.guide button{font-size:18px;min-width:35px}.legend{flex-wrap:wrap;gap:8px;font-size:9px;padding:13px 0 7px}dialog{padding:30px 20px}.floating{padding:18px}.floating h2{font-size:24px}.floating p{font-size:12px}.floating>span{font-size:35px}footer{font-size:9px}.save-note{font-size:9px}.tower-choice{padding:12px;gap:8px}.tower-choice>span{font-size:33px;min-width:38px}.tower-choice b{font-size:15px}.tower-choice em{font-size:15px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.plot{min-width:44px;min-height:44px}.castle-label{top:28%;left:83%;background:#fff8;padding:3px 6px;border-radius:10px}@media(max-width:560px){.castle-label{top:27%;left:79%;font-size:6px}}
