:root{color-scheme:light;--ink:#285b50;--ink-light:#668179;--green:#43866f;--green-dark:#1c6957;--coral:#f17e72;--cream:#fffbef;--soft-shadow:0 14px 40px rgba(45,116,86,.12);font-family:ui-rounded,"Trebuchet MS",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;width:100%;overscroll-behavior:none}
body{background:radial-gradient(circle at 86% 2%,#fff3bd 0,transparent 28%),radial-gradient(circle at 10% 94%,#c3eece 0,transparent 42%),linear-gradient(145deg,#d5f5e7 0%,#e1f3d1 47%,#d6f1ec 100%);color:var(--ink);padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px,env(safe-area-inset-left))}
button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:focus-visible{outline:4px solid #ffbc59;outline-offset:3px}
button:disabled{cursor:not-allowed;opacity:.42}
button:not(:disabled):active{transform:translateY(2px) scale(.975)}
[hidden]{display:none!important}
.flower{position:fixed;pointer-events:none;border-radius:50%;opacity:.15;filter:blur(2px);z-index:-1}.flower-a{width:280px;height:280px;background:#fff;top:12%;right:-170px}.flower-b{width:310px;height:310px;background:#95d2a2;bottom:-200px;left:-140px}
.app-shell{width:min(1500px,100%);margin:0 auto;padding:14px 0 6px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:6px 7px 18px}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand-icon{display:flex;align-items:center;justify-content:center;width:67px;height:67px;flex:0 0 67px;border:3px solid white;border-radius:23px;background:linear-gradient(145deg,#ffedc2,#ffc9bc);box-shadow:0 5px 0 #dfcfab}
.eyebrow,.control-kicker,.level-kicker{font-size:11px;font-weight:900;letter-spacing:.13em;color:#599481}
.brand h1{font-size:clamp(23px,2.8vw,34px);letter-spacing:-.048em;margin:1px 0 0;white-space:nowrap;line-height:1.18;color:#285f4f}
.brand h1 span{font-size:.68em;vertical-align:middle}
.top-actions{display:flex;align-items:center;gap:14px}
.no-ads{font-size:13px;font-weight:750;color:#5b917e;white-space:nowrap}
.sound-button{border:2px solid #fff;background:#fffdfa;border-radius:18px;color:#3c796a;font-weight:850;font-size:13px;padding:13px 15px;box-shadow:0 4px 0 #d3e9d4;white-space:nowrap}
.sound-button span:first-child{font-size:18px;vertical-align:middle;margin-right:3px}
.play-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(240px,24.5%,322px);gap:18px;align-items:stretch}
.game-panel,.control-panel{background:rgba(255,255,250,.92);border-radius:30px;box-shadow:var(--soft-shadow);border:3px solid rgba(255,255,255,.88)}
.game-panel{padding:18px 18px 13px;min-width:0}
.scene-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:0 7px 16px}
.level-kicker{display:flex;align-items:center;gap:7px}
.level-dot{width:9px;height:9px;border-radius:50%;background:#f9b55d;box-shadow:0 0 0 4px #fff0cc}
.scene-title h2{margin:7px 0 0;font-size:clamp(19px,2vw,26px);letter-spacing:-.04em;line-height:1.12}
.flower-counter{display:flex;align-items:center;gap:7px;white-space:nowrap;border-radius:18px;padding:10px 13px;background:#fff0d7;color:#976c43;font-size:16px}
.flower-counter>span:first-child{font-size:24px}.flower-counter strong{font-weight:950;font-size:17px}.flower-label{font-weight:700;font-size:12px}
.scene-wrap{position:relative;overflow:hidden;border-radius:24px;border:5px solid #fff0d6;background:#bde5a4;box-shadow:inset 0 2px 6px #9bb79c,0 5px 16px #d0dfbf;touch-action:pan-x pan-y}
.scene-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:1040 / 690}
.welcome-banner{pointer-events:none;position:absolute;bottom:5%;left:50%;transform:translateX(-50%);border:2px solid rgba(255,255,255,.9);background:rgba(255,255,246,.91);border-radius:30px;padding:9px 16px;color:#44745a;white-space:nowrap;text-align:center;font-size:clamp(11px,1.4vw,16px);font-weight:900;box-shadow:0 4px 14px #407c5b24;animation:banner-appear 500ms ease both}
.game-toast{opacity:0;pointer-events:none;position:absolute;left:50%;top:12%;transform:translate(-50%,-12px) scale(.9);border-radius:30px;background:#fff9e6;color:#7c663e;padding:10px 22px;font-weight:950;box-shadow:0 6px 22px #598a5c30;transition:opacity .2s,transform .2s;white-space:nowrap}
.game-toast.show{opacity:1;transform:translate(-50%,0) scale(1)}
.win-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;isolation:isolate}
.win-screen:before{content:"";position:absolute;inset:0;background:rgba(44,113,67,.35);backdrop-filter:blur(5px);z-index:-2}
.win-screen:after{content:"";position:absolute;left:50%;top:50%;width:min(440px,86%);height:84%;transform:translate(-50%,-50%);border-radius:35px;background:#fffdf2;box-shadow:0 16px 40px #27544046;z-index:-1;border:5px solid white}
.win-confetti{font-size:clamp(20px,2.9vw,32px);letter-spacing:.3em;animation:confetti 1.8s ease-in-out infinite alternate}
.win-cat{font-size:clamp(40px,6vw,77px);line-height:1.1;animation:boing 1.8s ease-in-out infinite}
.win-screen h2{font-size:clamp(26px,3.4vw,46px);color:#39835c;line-height:1.05;margin:8px 0}
.win-screen p{font-size:clamp(14px,1.8vw,21px);margin:4px 0 16px;color:#567969;font-weight:780}
.primary-action{background:linear-gradient(#f5947c,#ef796e);box-shadow:0 6px 0 #c85c54;border:3px solid #ffe6c9;border-radius:22px;padding:13px 24px;color:white;font-size:clamp(15px,2vw,20px);font-weight:950}
.text-action{padding:7px 10px;border:0;background:transparent;color:#5d8d70;font-weight:900;text-decoration:underline;text-underline-offset:4px;margin-top:9px}
.scene-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:12px 8px 2px;color:#729085;font-weight:700;font-size:12px}
.control-panel{padding:24px 18px 18px;display:flex;flex-direction:column;align-items:stretch;position:relative;overflow:hidden}
.control-panel:before{content:"";position:absolute;right:-65px;top:-80px;width:220px;height:220px;border-radius:50%;background:#fef0cc;z-index:0}
.control-top,.dpad,.hold-hint,.control-bottom{position:relative;z-index:1}
.control-sticker{background:#fbe9d2;border:3px solid white;width:49px;height:49px;display:grid;place-items:center;border-radius:18px;font-size:25px;box-shadow:0 4px 0 #d7e4ca;margin-bottom:11px}
.control-kicker{font-size:10px;letter-spacing:.08em;color:#b08e6d}
.control-top h2{line-height:1.07;font-size:clamp(22px,2.4vw,32px);letter-spacing:-.04em;margin:8px 0;color:#376d58}
.control-top h2 em{color:#e99482;font-style:normal}
.control-top p{font-size:14px;line-height:1.45;color:#719084;font-weight:750;margin:11px 0 0}
.dpad{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,minmax(54px,1fr));gap:7px;margin:22px auto 0;width:min(100%,285px);aspect-ratio:1 / .96;user-select:none;-webkit-user-select:none;touch-action:none}
.dpad-button{background:linear-gradient(155deg,#fff5cc,#ffdb89);color:#af7149;border:3px solid #fff;border-radius:22px;box-shadow:0 6px 0 #e8c589;display:grid;place-items:center;line-height:1;font-size:clamp(33px,5.1vw,52px);font-weight:1000;touch-action:none;user-select:none;-webkit-user-select:none;transition:background .1s,transform .1s;min-width:0;min-height:0}
.dpad-button.pressed{transform:translateY(5px);box-shadow:0 1px 0 #d9b875;background:#ffd78a}
.dpad-button.up{grid-column:2;grid-row:1}.dpad-button.left{grid-column:1;grid-row:2}.dpad-button.right{grid-column:3;grid-row:2}.dpad-button.down{grid-column:2;grid-row:3}
.dpad-center{grid-column:2;grid-row:2;border-radius:24px;background:#eaf4db;border:3px dashed #c2ddbd;display:grid;place-items:center;font-size:27px;color:#80aa86}
.hold-hint{font-size:12px;font-weight:730;text-align:center;margin:19px 0 13px;color:#91a096;line-height:1.4}
.control-bottom{margin-top:auto;padding-top:5px}
.level-nav{display:flex;gap:7px;margin-bottom:10px}
.level-nav-button,.restart-button,.level-selector-button{border:2px solid #e6eee2;background:#f7faf3;color:#557b66;border-radius:15px;font-size:12px;font-weight:920;padding:12px 8px}
.level-nav-button{flex:1}.restart-button{flex:1.15}
.level-selector-button{width:100%;background:#ecf6eb;border-color:#e4f0dd;font-size:13px}
.app-footer{padding:13px 7px 7px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#6f9b8b;font-size:11px;font-weight:700}
.modal-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:rgba(30,85,63,.58);backdrop-filter:blur(5px);padding:20px}
.modal{width:min(650px,100%);max-height:min(85dvh,830px);overflow:auto;border-radius:30px;background:#fffdf6;border:5px solid white;padding:23px 25px 20px;box-shadow:0 20px 80px #264e3d6c}
.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.modal-heading h2{margin:8px 0 18px;font-size:28px;color:#336f54;letter-spacing:-.03em}
.modal-close{background:#f6eee1;border:0;border-radius:50%;font-size:21px;width:41px;height:41px;color:#806e62}
.level-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.level-item{background:#f4f8e9;border:2px solid #e7ecd9;border-radius:17px;padding:14px 12px;display:flex;align-items:center;gap:12px;text-align:left;color:#52795b;font-size:13px;font-weight:850;min-width:0}
.level-item .num{display:grid;place-items:center;border-radius:14px;background:#e8efcf;min-width:39px;min-height:39px;font-size:20px;color:#698b5b}.level-item .level-copy{display:block}.level-item .level-sub{display:block;font-size:11px;color:#8c9a82;margin-top:3px}.level-item.active{border-color:#f1b77b;background:#fff3df}.level-item:disabled{opacity:.6}.modal-note{font-size:12px;color:#83917f;text-align:center;line-height:1.5;margin:18px 2px 0;font-weight:700}
@keyframes boing{0%,100%{transform:rotate(-8deg) translateY(1px)}50%{transform:rotate(7deg) translateY(-7px)}}
@keyframes confetti{0%{transform:rotate(-6deg)}100%{transform:rotate(6deg)}}
@keyframes banner-appear{0%{opacity:0;transform:translate(-50%,12px)}100%{opacity:1;transform:translate(-50%,0)}}
@media (min-width:1280px) and (min-height:780px){.app-shell{padding-top:22px}.topbar{padding-bottom:23px}.game-panel{padding:22px}.control-panel{padding:28px 24px 22px}.dpad{margin-top:26px}}
@media (max-width:900px) and (orientation:landscape){body{padding-left:max(9px,env(safe-area-inset-left));padding-right:max(9px,env(safe-area-inset-right))}.app-shell{padding:4px 0}.topbar{padding:3px 3px 10px}.brand-icon{width:51px;height:51px;flex-basis:51px;border-radius:17px}.brand-icon svg{width:44px;height:44px}.eyebrow{font-size:9px}.brand h1{font-size:21px}.no-ads{display:none}.sound-button{padding:8px 12px}.play-grid{grid-template-columns:minmax(0,1fr) 210px;gap:10px}.game-panel{padding:10px}.scene-head{padding-bottom:9px}.scene-title h2{font-size:16px}.flower-counter{padding:6px 9px}.flower-label{display:none}.scene-wrap{border-width:3px}.scene-foot{padding:7px 4px 0;font-size:10px}.control-panel{padding:12px}.control-sticker{display:none}.control-kicker{font-size:9px}.control-top h2{font-size:19px;margin:5px 0}.control-top p{font-size:11px;margin:4px 0}.dpad{margin:11px auto 0;max-width:180px;grid-template-rows:repeat(3,53px);aspect-ratio:auto}.dpad-button{font-size:30px;border-radius:15px}.dpad-center{border-radius:15px}.hold-hint{display:none}.control-bottom{margin-top:10px}.level-nav-button,.restart-button,.level-selector-button{padding:9px 4px;font-size:10px}.app-footer{display:none}}
@media (max-width:900px) and (orientation:portrait){.app-shell{padding-top:5px}.topbar{padding:4px 0 16px}.brand{gap:9px}.brand-icon{width:52px;height:52px;flex-basis:52px;border-radius:17px}.brand-icon svg{width:42px;height:42px}.brand h1{font-size:clamp(21px,4.8vw,28px)}.eyebrow{font-size:8px}.top-actions .no-ads{display:none}.sound-button{padding:10px;font-size:0}.sound-button span:first-child{font-size:23px;margin:0}.play-grid{display:flex;flex-direction:column;gap:12px}.game-panel{padding:10px;border-radius:22px}.scene-head{padding:5px 3px 11px}.level-kicker{font-size:9px}.scene-title h2{font-size:clamp(17px,3.6vw,22px)}.flower-counter{padding:7px 9px;gap:4px}.flower-counter strong{font-size:13px}.flower-counter>span:first-child{font-size:18px}.flower-label{display:none}.scene-wrap{border-radius:17px;border-width:3px}.scene-foot{font-size:10px;padding:9px 4px 1px}.control-panel{padding:12px 15px 13px;border-radius:22px}.control-top{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}.control-top .control-sticker{display:none}.control-kicker{display:none}.control-top h2{font-size:19px;margin:0}.control-top h2 br{display:none}.control-top p{font-size:12px;margin:0 0 0 7px}.dpad{width:min(270px,92%);height:210px;grid-template-rows:repeat(3,1fr);aspect-ratio:auto;gap:7px;margin:9px auto 0}.dpad-button{font-size:38px;border-radius:17px}.dpad-center{border-radius:17px}.hold-hint{margin:6px 0;color:#85a18f;font-size:10px}.control-bottom{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}.level-nav{flex:1.2;margin:0}.level-selector-button{flex:1;min-width:132px}.app-footer{display:none}}
@media (max-height:670px) and (orientation:landscape){.app-shell{padding-top:2px}.topbar{padding-bottom:6px}.game-panel{padding:10px}.scene-head{padding-bottom:7px}.scene-foot{padding-top:6px}.control-panel{padding:11px}.control-top h2{font-size:20px;margin:4px 0}.control-top p{font-size:11px;margin:5px 0}.control-sticker{display:none}.dpad{margin-top:9px;max-width:208px;aspect-ratio:1/.89}.dpad-button{border-radius:15px}.hold-hint{font-size:10px;margin:9px 0}.level-nav-button,.restart-button,.level-selector-button{padding:9px 6px}.app-footer{padding:7px 5px;font-size:9px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
