@import "https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700&family=Nunito:wght@400;700&display=swap";:root{--bg-top:#fff5f8;--bg-bottom:#ffeef5;--card:#fff;--card-border:#ffd6e8;--text:#5c4a5a;--text-muted:#9a8a96;--accent:#ff8fab;--accent-hover:#ff6b95;--checkbox-border:#ffb7d5;--shadow:0 4px 20px #ff8fab26;--radius:16px;--font:"M PLUS Rounded 1c", "Nunito", system-ui, sans-serif;--garden-band-height:clamp(200px, 44dvh, 320px);--garden-grass-ratio:.825;--garden-headroom-px:280px;--garden-flower-lift:.85rem;--seed-picker-clearance:.75rem;--seed-picker-bottom:calc(var(--garden-band-height) + var(--seed-picker-clearance) + env(safe-area-inset-bottom,0px));--seed-picker-top:max(4.75rem, calc(env(safe-area-inset-top,0px) + 4.25rem))}*,:before,:after{box-sizing:border-box}body{min-height:100vh;font-family:var(--font);color:var(--text);background:linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 100%);margin:0}#root{min-height:100vh}.app-shell{flex-direction:column;min-height:100vh;display:flex;position:relative}.falling-sakura{z-index:0;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.falling-sakura__track{animation:sakuraSway calc(var(--duration,28s) * .45) var(--delay,0s) ease-in-out infinite alternate;position:absolute;top:-8vh;transform:translate(-50%)}.falling-sakura__petal{transform-origin:50%;opacity:0;animation:sakuraFall var(--duration,28s) var(--delay,0s) linear infinite;display:block}.falling-sakura__blossom-svg{width:100%;height:100%;display:block}.falling-sakura__petal--blossom{aspect-ratio:1}@keyframes sakuraFall{0%{opacity:0;transform:translate3d(0, -12vh, 0) rotate(var(--tilt,0deg)) scale(.8)}8%{opacity:var(--peak-opacity,.6)}88%{opacity:var(--peak-opacity,.6)}to{opacity:0;transform:translate3d(var(--drift,0), 112vh, 0) rotate(calc(var(--tilt,0deg) + var(--spin,360deg))) scale(1)}}@keyframes sakuraSway{0%{transform:translateX(calc(-50% - var(--sway,4vw)))}to{transform:translateX(calc(-50% + var(--sway,4vw)))}}.app{z-index:2;width:100%;max-width:560px;padding:1.25rem 1.25rem calc(var(--garden-band-height) + var(--garden-headroom-px) + 5rem);pointer-events:none;flex:1;margin:0 auto;position:relative}.sticky-kawaii-header,.app-body{pointer-events:auto}.app-body{z-index:1;position:relative}.app-celebrations-layer{z-index:15;pointer-events:none;position:fixed;inset:0;overflow:visible}.app-celebrations-layer .spiral-celebration,.app-celebrations-layer .star-burst{z-index:1;position:fixed;inset:0;overflow:visible}.sticky-kawaii-header{z-index:20;margin-top:max(.5rem, env(safe-area-inset-top,0px));background:var(--card);border:2px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);isolation:isolate;margin-bottom:.65rem;padding:.65rem .7rem .55rem;position:sticky;top:0;overflow:visible}.sticky-kawaii-header:before{content:"";z-index:0;background:linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 100%);pointer-events:none;height:100vh;position:absolute;bottom:100%;left:0;right:0}.sticky-kawaii-header:after{content:"";z-index:2;border:2px solid var(--card-border);border-radius:var(--radius);pointer-events:none;position:absolute;inset:-2px}.sticky-kawaii-header .kawaii-header{z-index:1;margin-bottom:0;position:relative}.sticky-kawaii-header .kawaii-header__inner{gap:.55rem}.sticky-kawaii-header .mascot__render{height:clamp(90px,16.2vh,144px)}.kawaii-header__main-row{justify-content:space-between;align-items:center;gap:.45rem;width:100%;display:flex;position:relative;overflow:visible}.app-header-logo{z-index:1;object-fit:contain;object-position:center;flex:1;width:auto;min-width:0;max-width:min(264px,62.4vw);height:auto;max-height:clamp(96px,18vh,168px);margin-inline:auto;display:block;position:relative}.sticky-kawaii-header .app-header-logo{max-width:min(240px,57.6vw);max-height:clamp(91px,16.8vh,154px)}[data-theme=dad] .app-header-logo{max-width:min(280px,68vw);max-height:clamp(100px,18vh,168px)}.garden-level-block{flex-direction:column;flex-shrink:0;align-items:center;gap:.35rem;min-width:5.5rem;display:flex}.garden-level{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.15rem .25rem;display:flex}.garden-progress{flex-direction:column;align-items:center;gap:.2rem;width:100%;display:flex}.garden-progress__label{color:var(--text-muted);letter-spacing:.02em;font-size:.65rem;font-weight:700}.garden-progress__track{justify-content:center;align-items:center;gap:.22rem;display:flex}.garden-progress__pip{background:#ffb7d559;border:1.5px solid #ff8fab73;border-radius:50%;width:.55rem;height:.55rem;transition:background .35s,transform .35s cubic-bezier(.34,1.2,.64,1)}.garden-progress__pip--filled{background:linear-gradient(145deg,#ffb7d5,#ff8fab);border-color:#ff8fab;transform:scale(1.08);box-shadow:0 1px 3px #ff8fab59}.garden-progress__count{color:#5cb85c;font-variant-numeric:tabular-nums;font-size:.62rem;font-weight:700}.reset-garden-btn{color:var(--text-muted);text-underline-offset:2px;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin:0;padding:.15rem .35rem;font-family:inherit;font-size:.58rem;font-weight:600;line-height:1.2;text-decoration:underline}.reset-garden-btn:hover:not(:disabled),.reset-garden-btn:focus-visible:not(:disabled){color:var(--accent)}.reset-garden-btn:disabled{opacity:.45;cursor:default;text-decoration:none}.garden-level__label{color:var(--accent);text-underline-offset:2px;font-size:.88rem;font-weight:700;line-height:1.2;text-decoration:underline}.garden-level__value{color:#5cb85c;font-variant-numeric:tabular-nums;font-size:clamp(1.85rem,5vw,2.35rem);font-weight:700;line-height:1}.sticky-kawaii-header .garden-level__label{font-size:.8rem}.sticky-kawaii-header .garden-level__value{font-size:clamp(1.65rem,4.5vw,2rem)}.kawaii-header__actions-row{align-items:center;gap:.45rem;width:100%;display:flex}.kawaii-header__icon-actions{flex-shrink:0;align-items:center;gap:.45rem;margin-left:auto;display:flex}.view-garden-toggle{border:2px solid var(--card-border);background:var(--card);cursor:pointer;box-shadow:var(--shadow);border-radius:50%;flex-shrink:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.view-garden-toggle:hover:not(:disabled){transform:scale(1.08)}.view-garden-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.view-garden-toggle--actions{opacity:.85;border-width:1.5px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex}.view-garden-toggle--actions:hover:not(:disabled),.view-garden-toggle--actions:focus-visible:not(:disabled){opacity:1}.view-garden-toggle--actions[aria-pressed=true]{opacity:1;border-color:var(--accent);cursor:pointer;background:#fff5f8}.view-garden-toggle__icon{width:18px;height:18px;color:var(--text-muted);transition:color .2s}.view-garden-toggle--actions:hover:not(:disabled) .view-garden-toggle__icon,.view-garden-toggle--actions:focus-visible:not(:disabled) .view-garden-toggle__icon,.view-garden-toggle--actions[aria-pressed=true] .view-garden-toggle__icon{color:var(--accent)}.mute-toggle--actions{opacity:.85;border-width:1.5px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex}.mute-toggle--actions:hover,.mute-toggle--actions:focus-visible{opacity:1}.mute-toggle__icon{width:18px;height:18px;color:var(--text-muted);transition:color .2s}.mute-toggle--actions:hover .mute-toggle__icon,.mute-toggle--actions:focus-visible .mute-toggle__icon{color:var(--accent)}.mute-toggle--actions[aria-pressed=true] .mute-toggle__icon{color:#b89aad}.sticky-kawaii-header .mascot-speech--beside{max-width:min(17.5rem,100vw - 6.5rem);padding:.65rem .75rem}.sticky-kawaii-header .mascot-speech__text{font-size:.78rem;line-height:1.4}.sticky-kawaii-header .mascot--dancing .mascot__render{transform-origin:bottom;animation:1.4s ease-in-out forwards mascotHopCompact}@keyframes mascotHopCompact{0%,50%,75%,to{transform:translateY(0)scaleX(1)scaleY(1)}12.5%,62.5%,87.5%{transform:translateY(-8px)scaleX(1)scaleY(1.05)}25%{transform:translateY(0)scaleX(-1)scaleY(1)}37.5%{transform:translateY(-8px)scaleX(-1)scaleY(1.05)}}.app--loading{min-height:50vh;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.kawaii-header{margin-bottom:0;position:relative;overflow:visible}.kawaii-header__inner{flex-direction:column;align-items:stretch;gap:.5rem;display:flex;overflow:visible}.mascot{z-index:5;background:0 0;flex-shrink:0;line-height:0;position:relative;overflow:visible}.mascot-celebration-layer{z-index:1;pointer-events:none;position:absolute;inset:-100px -80px -48px;overflow:visible}.mascot__render{z-index:2;-webkit-user-select:none;user-select:none;pointer-events:none;background:0 0;width:auto;height:clamp(100px,18vh,160px);animation:3s ease-in-out infinite mascotBob;display:block;position:relative;overflow:visible}@keyframes mascotBob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.mascot--cheering .mascot__render{animation:.5s cubic-bezier(.34,1.56,.64,1) mascotCheer}.mascot--dancing .mascot__render{transform-origin:bottom;animation:1.4s ease-in-out forwards mascotHop}@keyframes mascotHop{0%,50%,75%,to{transform:translateY(0)scaleX(1)scaleY(1)}12.5%,62.5%,87.5%{transform:translateY(-10px)scaleX(1)scaleY(1.05)}25%{transform:translateY(0)scaleX(-1)scaleY(1)}37.5%{transform:translateY(-10px)scaleX(-1)scaleY(1.05)}}@keyframes mascotCheer{0%,to{transform:translateY(0)scale(1)}40%{transform:translateY(-8px)scale(1.06)}}.mascot-speech{border:2px solid var(--card-border);box-shadow:var(--shadow);opacity:0;pointer-events:none;background:#fff;border-radius:14px 14px 14px 4px;padding:.75rem .85rem;transition:opacity .25s,transform .3s cubic-bezier(.34,1.56,.64,1);transform:translateY(8px)scale(.95)}.mascot-speech--beside{z-index:30;box-sizing:border-box;border-radius:4px 14px 14px;width:max-content;max-width:min(18rem,100vw - 6.5rem);position:absolute;top:50%;bottom:auto;left:calc(100% + .45rem);overflow:visible;transform:translateY(-50%)translate(-6px)scale(.95)}.mascot-speech--beside.mascot-speech--visible{opacity:1;transform:translateY(-50%)translate(0)scale(1)}.mascot-speech__text{color:var(--accent);white-space:pre-line;overflow-wrap:break-word;margin:0;font-size:.9rem;font-weight:700;line-height:1.4}.app-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.mute-toggle{border:2px solid var(--card-border);background:var(--card);cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow);border-radius:50%;flex-shrink:0;font-size:1.25rem;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.mute-toggle:hover{transform:scale(1.08)}.mute-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.add-task-form{gap:.5rem;margin-bottom:1.25rem;display:flex}.add-task-input{border:2px solid var(--card-border);border-radius:var(--radius);background:var(--card);color:var(--text);box-shadow:var(--shadow);flex:1;padding:.85rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.add-task-input:focus{border-color:var(--accent);outline:none}.add-task-input::placeholder{color:var(--text-muted)}.add-task-btn{border-radius:var(--radius);background:linear-gradient(135deg, var(--accent), #ffb7d5);color:#fff;cursor:pointer;width:48px;height:48px;box-shadow:var(--shadow);border:none;font-size:1.5rem;font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.add-task-btn:hover{transform:scale(1.05)}.add-task-btn:active{transform:scale(.98)}.app-main{min-height:200px}.pick-task-btn{border:2px dashed var(--accent);border-radius:var(--radius);width:100%;color:var(--accent);cursor:pointer;box-shadow:var(--shadow);background:linear-gradient(135deg,#fff5f9,#ffeef5);margin-bottom:.85rem;padding:.7rem 1rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:transform .2s,background .2s,border-color .2s}.pick-task-btn:hover:not(:disabled){border-color:var(--accent-hover);background:#fff;transform:scale(1.02)}.pick-task-btn:disabled{opacity:.45;cursor:not-allowed}.pick-task-btn--header{text-align:center;flex:1;width:auto;min-width:0;max-width:none;margin:0;padding:.65rem .85rem;font-size:.8rem;line-height:1.35}.task-list-wrap{flex-direction:column;gap:.35rem;display:flex}.task-list__reorder-hint{color:#6b4f9a;text-align:center;border-radius:var(--radius-sm);background:#f5f0ffe6;border:1px dashed #9f7aea8c;margin:0 0 .5rem;padding:.4rem .65rem;font-size:.78rem;font-weight:600}.task-list__reorder-done{color:#6eb8d4;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;margin-left:.35rem;padding:.1rem .45rem;font-size:.78rem;font-weight:700;text-decoration:underline}.task-list__reorder-done:hover{color:#ff8fab}.task-list__completed-hidden{color:var(--text-muted);text-align:center;border-radius:var(--radius-sm);background:#ffffff8c;margin:0 0 .4rem;padding:.35rem .6rem;font-size:.74rem;font-weight:600}.task-list--reordering{position:relative}.task-list--dragging .task-row--preview-shift{will-change:transform;transition:transform .22s cubic-bezier(.34,1.15,.64,1)}.task-list--dragging .task-row--preview-shift:hover{border-color:var(--card-border);background:var(--card);box-shadow:var(--shadow)}.task-list--dragging .task-row--completed.task-row--preview-shift:hover{background:#fffefe;border-color:#c8f0c8}.task-list--dragging .task-row--insert-preview:before{content:"";pointer-events:none;z-index:1;background:#9f7aea;border-radius:999px;height:3px;position:absolute;top:-.35rem;left:.85rem;right:.85rem;box-shadow:0 0 8px #9f7aea73}.task-row--drag-placeholder--collapsed{opacity:0;background:0 0;border:none;min-height:0;padding:0;overflow:hidden;height:0!important;margin:0!important}.task-row__move-btn{color:#6eb8d4;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;font:inherit;background:linear-gradient(#fff 0%,#fff5f9 100%);border:1.5px solid #ff8fab80;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin:-.2rem .15rem -.2rem 0;padding:.28rem .35rem;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;display:flex}.task-row__move-btn:hover{color:#ff8fab;border-color:#ff8fab;box-shadow:0 2px 8px #ff8fab40}.task-row--dragging .task-row__move-btn{cursor:grabbing;color:#5cb8e8;background:#f2f9fc;border-color:#7ec8e8}.reorder-handle__inner{pointer-events:none;flex-direction:column;align-items:center;gap:.1rem;display:flex}.reorder-handle__icon{display:block}.reorder-handle__label{letter-spacing:.04em;text-transform:uppercase;color:#ff8fab;font-size:.58rem;font-weight:800;line-height:1}.task-row--move-mode{cursor:grab;touch-action:none;z-index:2;background:linear-gradient(#faf5ff 0%,#f3ebff 100%);border-color:#b794f6;box-shadow:0 0 0 2px #b794f659,0 4px 16px #805ad52e}.task-row--move-mode .task-text--editable{cursor:grab}.task-row--move-mode .task-text--editable:hover,.task-row--move-mode .task-text--editable:focus-visible{background:0 0}.task-row--menu-open{z-index:4}.task-row--editing{border-color:#ffb7d5}.task-row__actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex;position:relative}.task-row__edit-toggle{color:#ff8fab;font:inherit;cursor:pointer;background:#fff;border:1.5px solid #ff8fab73;border-radius:10px;flex-shrink:0;padding:.35rem .65rem;font-size:.78rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}.task-row__edit-toggle:hover:not(:disabled){background:#fff5f9;border-color:#ff8fab}.task-row__edit-toggle[aria-expanded=true]{color:#e86b95;background:#fff0f5;border-color:#ff8fab}.task-row__edit-toggle:disabled{opacity:.45;cursor:not-allowed}.task-row__move-done{color:#805ad5;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.3rem .5rem;font-size:.72rem;font-weight:700;text-decoration:underline}.task-row__move-done:hover:not(:disabled){color:#ff8fab}.task-action-menu{z-index:10;border:2px solid var(--card-border);background:#fff;border-radius:12px;flex-direction:column;min-width:9.5rem;padding:.35rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 10px 28px #ff8fab47}.task-action-menu__item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .55rem;font-size:.88rem;font-weight:600;transition:background .12s;display:flex}.task-action-menu__item:hover{background:#fff5f9}.task-action-menu__item--delete{color:#e86b95}.task-action-menu__item--delete:hover{background:#fff0f5}.task-action-menu__icon{text-align:center;flex-shrink:0;width:1.25rem;font-size:.95rem}.task-row__edit-input{width:100%;color:var(--text);font:inherit;background:#fff;border:2px solid #ffb7d5;border-radius:10px;padding:.35rem .5rem;font-size:1rem;line-height:1.35}.task-row__edit-input:focus{border-color:#ff8fab;outline:none;box-shadow:0 0 0 3px #ff8fab40}.task-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.task-row--picked{--picked-ring-gap:1px;--picked-ring-stroke:2.5px;--picked-ring-outset:calc(var(--picked-ring-gap) + var(--picked-ring-stroke));box-shadow:var(--shadow);background:#fff5f9;border-color:#ffb7d5;overflow:visible}.task-row__picked-ring{width:calc(100% + 2 * var(--picked-ring-outset));height:calc(100% + 2 * var(--picked-ring-outset));pointer-events:none;z-index:2;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.task-row__picked-ring-rect{fill:none;stroke:var(--accent);stroke-width:var(--picked-ring-stroke);stroke-dasharray:7 5;stroke-linecap:round;animation:.85s linear infinite pickedDashMarch}.task-row__picked-ring-rect--static{animation:none}@keyframes pickedDashMarch{to{stroke-dashoffset:-24px}}.star-burst{pointer-events:none;position:fixed;inset:0;overflow:visible}.star-burst--anchored{z-index:auto;position:absolute;inset:0;overflow:visible}.star-burst__comet{pointer-events:none;width:0;height:0;position:fixed}.star-burst--anchored .star-burst__comet{position:absolute}.star-burst__spiral-arm{transform-origin:0 0;width:0;height:0;animation:spiralFly var(--spiral-duration,7.8s) cubic-bezier(.15, .55, .25, 1) forwards;position:absolute;top:0;left:0}.celebration-burst-arm{transform-origin:0 0;width:0;height:0;animation:burstFly var(--burst-duration,6s) cubic-bezier(.12, .55, .2, 1) forwards;position:absolute;top:0;left:0}@keyframes burstFly{0%{transform:rotate(var(--burst-angle)) translateX(var(--burst-start-radius,0))}to{transform:rotate(var(--burst-angle)) translateX(var(--burst-radius))}}.star-burst__star{filter:drop-shadow(0 0 6px #fffffff2)drop-shadow(0 2px 10px #ff8fab99);animation:starSparkle var(--burst-duration,6.5s) cubic-bezier(.12, .55, .2, 1) forwards;opacity:0;position:absolute;top:0;left:0}.star-burst__star--head{z-index:2;filter:drop-shadow(0 0 10px #fff)drop-shadow(0 0 18px #ffe566d9)drop-shadow(0 3px 12px #ff8faba6)}.star-burst__star--trail{z-index:1;filter:blur(1.5px)drop-shadow(0 0 5px #ffffffbf)drop-shadow(0 1px 6px #ff8fab73);animation-name:starSparkleTrail}.star-burst__streak{transform-origin:100%;background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--streak-color,#ffe566) 15%, transparent) 25%, color-mix(in srgb, var(--streak-color,#ffe566) 70%, white) 55%, var(--streak-color,#ffe566) 100%);filter:blur(4px);opacity:0;z-index:0;animation:streakGlow var(--burst-duration,6.5s) cubic-bezier(.12, .55, .2, 1) forwards;border-radius:999px;position:absolute;top:0;left:0;transform:translate(-100%,-50%)}@keyframes spiralFly{0%{transform:rotate(var(--start-angle)) translateX(var(--spiral-start-radius,0))}to{transform:rotate(calc(var(--start-angle) + var(--spiral-turns))) translateX(var(--spiral-radius))}}@keyframes starSparkle{0%{opacity:1;transform:translate(-50%,-50%)scale(.55)rotate(0)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1.15)rotate(220deg)}}@keyframes starSparkleTrail{0%{opacity:var(--trail-peak,.5);transform:translate(-50%,-50%)scale(.5)rotate(0)}70%{opacity:calc(var(--trail-peak,.5) * .85)}to{opacity:0;transform:translate(-50%,-50%)scale(.95)rotate(200deg)}}@keyframes streakGlow{0%{opacity:.75;transform:translate(-100%,-50%)scaleX(.35)}75%{opacity:.55}to{opacity:0;transform:translate(-100%,-50%)scaleX(1.1)}}.spiral-celebration{pointer-events:none;position:fixed;inset:0;overflow:visible}.spiral-celebration--anchored{z-index:auto;position:absolute;inset:0;overflow:visible}.spiral-celebration--anchored .star-burst__comet{position:absolute}.spiral-celebration__particle{animation:celebrationSparkle var(--burst-duration,6s) cubic-bezier(.12, .55, .2, 1) forwards;opacity:0;display:block;position:absolute;top:0;left:0}.spiral-celebration__particle--head{z-index:2;filter:drop-shadow(0 0 4px #ffffffe6)drop-shadow(0 2px 6px #ff8fab80)}.spiral-celebration__particle--trail{z-index:1;filter:blur(.8px);animation-name:celebrationSparkleTrail}.spiral-celebration__heart,.spiral-celebration__flower{display:block;overflow:visible}.spiral-celebration__particle--combo{width:0;height:0;display:block;position:relative}.spiral-celebration__particle--combo .spiral-celebration__heart{position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.spiral-celebration__particle--combo .spiral-celebration__flower{position:absolute;top:0;left:0;transform:translate(-35%,-65%)}@keyframes celebrationSparkle{0%{opacity:1;transform:translate(-50%,-50%)scale(.5)rotate(0)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1.05)rotate(160deg)}}@keyframes celebrationSparkleTrail{0%{opacity:var(--trail-peak,.45);transform:translate(-50%,-50%)scale(.45)rotate(0)}70%{opacity:calc(var(--trail-peak,.45) * .85)}to{opacity:0;transform:translate(-50%,-50%)scale(.9)rotate(140deg)}}.task-row{background:var(--card);border:2px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:.65rem;padding:.75rem .85rem;transition:border-color .2s;display:flex;position:relative}.task-row--completed{background:#fffefe;border-color:#c8f0c8}.task-row--dragging,.task-row--drag-floating{opacity:.98;z-index:50;cursor:grabbing;background:linear-gradient(#f5f0ff 0%,#ede4ff 100%);border-color:#9f7aea;transform:scale(1.02);box-shadow:0 0 0 2px #9f7aea73,0 10px 28px #805ad552}.task-row--drag-floating{pointer-events:none;touch-action:none;margin:0;list-style:none;position:fixed}.task-row--drag-placeholder{border-radius:var(--radius);box-shadow:none;pointer-events:none;background:#f5f0ff73;border:2px dashed #9f7aea59;margin:0;padding:0;transition:height .22s cubic-bezier(.34,1.15,.64,1),opacity .18s,margin .22s}.task-row--dropping{animation:.48s cubic-bezier(.34,1.25,.64,1) taskDropSettle}@keyframes taskDropSettle{0%{opacity:.88;transform:translateY(-14px)}70%{opacity:1;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.task-row--drop-above:before,.task-row--drop-below:after{content:"";pointer-events:none;background:#9f7aea;border-radius:999px;height:3px;position:absolute;left:.85rem;right:.85rem}.task-row--drop-above:before{top:-.4rem}.task-row--drop-below:after{bottom:-.4rem}.task-checkbox-label{cursor:pointer;flex-shrink:0;position:relative}.task-checkbox{opacity:0;cursor:pointer;width:28px;height:28px;position:absolute}.checkbox-face{border:2.5px solid var(--checkbox-border);background:#fff;border-radius:8px;width:28px;height:28px;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s,border-color .2s;display:block}.task-checkbox-label:hover .checkbox-face{border-color:var(--accent);transform:scale(1.1);box-shadow:0 0 0 3px #ff8fab33}.task-checkbox:checked+.checkbox-face,.task-checkbox:disabled:checked+.checkbox-face{background:linear-gradient(135deg,#b8f0b8,#8ed98e);border-color:#6bc96b}.task-checkbox:checked+.checkbox-face:after,.task-checkbox:disabled:checked+.checkbox-face:after{content:"✓";color:#2d6b2d;justify-content:center;align-items:center;height:100%;font-size:14px;font-weight:700;display:flex}.task-text-wrapper{flex:1;min-width:0;padding:.15rem 0;position:relative}.task-text{word-break:break-word;font-size:1rem;line-height:1.4;transition:opacity .3s;display:inline-block}.task-text--editable{cursor:text;border-radius:6px;margin:-.1rem -.25rem;padding:.1rem .25rem}.task-text--editable:hover,.task-text--editable:focus-visible{background:#ffb6c140;outline:none}.task-text--struck{-webkit-text-decoration:line-through #6bc96b;text-decoration:line-through #6bc96b;text-decoration-thickness:2px}.task-text--rocket-strike{--rocket-strike-progress:0;background-image:linear-gradient(transparent calc(50% - 1px), var(--rocket-strike-color,#f2d56b) calc(50% - 1px), var(--rocket-strike-color,#f2d56b) calc(50% + 1px), transparent calc(50% + 1px));background-position:0;background-repeat:no-repeat;background-size:calc(var(--rocket-strike-progress) * 100%) 100%;text-decoration:none}.stem-overlay{pointer-events:none;position:absolute;top:50%;left:0;overflow:visible;transform:translateY(-50%)}.stem-strike-svg,.rocket-strike-svg{display:block;overflow:visible}.flower-anchor,.rocket-anchor{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.flower-petal{transform-origin:50%;transform-box:fill-box;opacity:0;transform:scale(0)}.flower-petal--open{opacity:1;transform:scale(1)}.flower-petal--bloom{animation:.35s cubic-bezier(.34,1.56,.64,1) forwards petalBloom}.flower-petal--wilt{animation:.32s ease-in forwards petalWilt}.flower-anchor--wilt{animation:.32s ease-in forwards flowerDroop}.flower-svg--wilting{filter:saturate(.7)}.flower-svg--blooming .flower-center{animation:.25s cubic-bezier(.34,1.56,.64,1) .1s forwards centerPop}@keyframes petalBloom{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes centerPop{0%{transform:scale(.5)}to{transform:scale(1)}}@keyframes petalWilt{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.2)rotate(18deg)}}@keyframes flowerDroop{0%{transform:translateY(0)scale(1)}to{opacity:.6;transform:translateY(6px)scale(.75)}}.task-delete{width:32px;height:32px;color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:50%;flex-shrink:0;font-size:1.35rem;line-height:1;transition:opacity .2s,color .2s,background .2s}.task-row:hover .task-delete{opacity:1}.task-delete:hover:not(:disabled){color:var(--accent);background:#fff0f5}.task-delete:disabled{cursor:not-allowed}.delete-confirm{border:2px solid var(--card-border);border-radius:var(--radius);background:var(--card);max-width:min(18rem,100vw - 2.5rem);box-shadow:var(--shadow);color:var(--text);margin:auto;padding:1.1rem 1.15rem}.delete-confirm::backdrop{background:#5c4a5a59}.delete-confirm__message{text-align:center;color:var(--text);margin:0 0 1rem;font-size:.95rem;font-weight:700;line-height:1.45}.delete-confirm__actions{justify-content:center;gap:.5rem;display:flex}.delete-confirm__btn{border:2px solid var(--card-border);min-width:5.5rem;font-family:var(--font);cursor:pointer;border-radius:999px;padding:.55rem .85rem;font-size:.85rem;font-weight:700;transition:transform .15s,background .15s,border-color .15s}.delete-confirm__btn:active{transform:scale(.97)}.delete-confirm__btn--cancel{color:var(--text-muted);background:#fff}.delete-confirm__btn--cancel:hover{background:#f2f9fc;border-color:#b8d4e8}.delete-confirm__btn--delete{border-color:var(--accent);color:var(--accent);background:#fff5f9}.delete-confirm__btn--delete:hover{background:var(--accent);color:#fff}.task-list-footer{text-align:center;margin-top:1rem}.clear-completed{border:2px solid var(--card-border);background:var(--card);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;transition:color .2s,border-color .2s}.clear-completed:hover{color:var(--accent);border-color:var(--accent)}.empty-state{text-align:center;padding:2.5rem 1rem}.empty-state__flower{width:64px;height:64px;margin:0 auto 1.25rem;position:relative}.empty-petal{transform-origin:50% 28px;background:#ffb7d5;border:2px solid #fff;border-radius:50%;width:18px;height:22px;margin:-11px 0 0 -9px;position:absolute;top:50%;left:50%}.empty-petal--1{background:#ffb7d5;transform:rotate(0)}.empty-petal--2{background:#fff4a3;transform:rotate(72deg)}.empty-petal--3{background:#d4b5ff;transform:rotate(144deg)}.empty-petal--4{background:#a8f0d4;transform:rotate(216deg)}.empty-petal--5{background:#ffc9a8;transform:rotate(288deg)}.empty-center{background:#ffe566;border:2px solid #fff;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute;top:50%;left:50%}.empty-state__title{color:var(--accent);margin:0 0 .35rem;font-size:1.15rem;font-weight:700}.empty-state__hint{color:var(--text-muted);margin:0;font-size:.9rem}.garden-scene{z-index:1;height:calc(var(--garden-band-height) + var(--garden-headroom-px));padding-bottom:env(safe-area-inset-bottom,0px);pointer-events:none;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.garden-scene--editable{pointer-events:auto}.garden-scene__sky{background:linear-gradient(#0000 0%,#b8e8a826 40%,#8ed98e59 100%);position:absolute;inset:0}.garden-layer{animation:.7s cubic-bezier(.34,1.2,.64,1) both gardenReveal;position:absolute;bottom:0;left:0;right:0}@keyframes gardenReveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.garden-layer--grass{height:calc(var(--garden-band-height) * var(--garden-grass-ratio));background:linear-gradient(#b8e8a8 0%,#8ed98e 55%,#6bc96b 100%)}.garden-layer--grass:after{content:"";pointer-events:none;opacity:.4;background-image:radial-gradient(28% 22% at 12% 88%,#7dd87d8c 0%,#0000 72%),radial-gradient(24% 20% at 32% 92%,#a8f0a073 0%,#0000 68%),radial-gradient(26% 22% at 68% 90%,#7dd87d80 0%,#0000 70%),radial-gradient(22% 18% at 88% 86%,#a8f0a066 0%,#0000 65%);position:absolute;inset:0}.garden-layer--pond{opacity:.9;border-radius:50% 50% 45% 45%;height:28%;bottom:32%;left:8%;right:52%;overflow:hidden}.garden-layer--petals{opacity:.75;height:100%;inset:0}.garden-doodle{width:100%;height:100%;display:block}.garden-svg{width:100%;height:85%;position:absolute;bottom:0;left:0;right:0}.garden-svg--tree{z-index:2;width:min(34%,140px);height:92%;left:auto;right:0}.garden-svg--planted{z-index:4;height:92%;bottom:4%}.garden-scene__band{height:var(--garden-band-height);z-index:4;position:absolute;bottom:0;left:0;right:0;overflow:visible}.garden-flower-strip{width:100%;height:calc(var(--garden-band-height) + var(--garden-headroom-px));pointer-events:none;align-items:flex-end;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:visible}.garden-flower-strip--scrollable,.garden-flower-strip--editing{pointer-events:auto}.garden-flower-strip--scroll-locked .garden-flower-scroll__viewport{touch-action:pan-y pinch-zoom;overflow-x:hidden}.garden-flower-strip--place-mode .garden-flower-scroll__viewport{cursor:crosshair}.garden-flower-strip--editing .garden-flower-scroll__viewport{touch-action:none;scrollbar-width:thin;scrollbar-color:#c4a8e6 #ffffff80;padding-bottom:.35rem}.garden-flower-strip--editing .garden-flower-scroll__viewport::-webkit-scrollbar{height:10px;display:block}.garden-flower-strip--editing .garden-flower-scroll__viewport::-webkit-scrollbar-thumb{background:#c4a8e6;border-radius:999px}.garden-flower-scroll__viewport{z-index:0;box-sizing:border-box;overscroll-behavior-x:contain;scroll-behavior:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;pointer-events:auto;touch-action:pan-x;flex:auto;align-self:flex-end;align-items:flex-end;min-width:0;height:100%;display:flex;position:relative;overflow:auto visible}.garden-flower-scroll__viewport::-webkit-scrollbar{display:none}.garden-canvas{pointer-events:none;flex:none;align-self:flex-end;margin:0;position:relative;overflow:visible}.garden-canvas--editable{pointer-events:auto;cursor:default}.garden-canvas--editable .garden-canvas__stage{pointer-events:none}.garden-canvas--place-mode{cursor:crosshair}.garden-canvas__stage{z-index:3;transform-origin:0 100%;clip-path:inset(-100vmax 0 0);position:absolute;bottom:0;left:0}.garden-canvas__moon-ground{pointer-events:none;z-index:0;object-fit:cover;object-position:left bottom;display:block;position:absolute;bottom:0;left:0}.garden-canvas__moon-atmosphere{pointer-events:none;z-index:1;background:radial-gradient(140% 90% at 50% 100%,#bec8e138 0%,#7882a514 45%,#0000 72%),linear-gradient(#0000 0%,#232d4b0d 42%,#46507324 72%,#6e789b52 100%);position:absolute;left:0}.garden-canvas__el{--garden-el-flip-x:1;width:auto;transform:translateX(-50%) scaleX(var(--garden-el-flip-x));transform-origin:bottom;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;position:absolute}.garden-canvas__el--new{animation:.45s cubic-bezier(.34,1.4,.64,1) both gardenElPop}@keyframes gardenElPop{0%{opacity:0;transform:translateX(-50%) translateY(8px) scaleX(calc(.85 * var(--garden-el-flip-x,1))) scaleY(.85)}to{opacity:1;transform:translateX(-50%) translateY(0) scaleX(var(--garden-el-flip-x,1))}}.garden-placement-stars{z-index:20000;pointer-events:none;width:0;height:0;position:absolute}.garden-placement-stars__star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 5px #ffe566e6);width:14px;height:14px;transform:rotate(var(--star-angle,0deg)) translateY(0) scale(.4);opacity:0;animation:gardenPlacementStarPop .75s cubic-bezier(.22, 1, .36, 1) var(--star-delay,0s) both;background:radial-gradient(circle,#fff9e8 0%,#ffe566 45%,#e8c878 100%);margin:-7px 0 0 -7px;position:absolute;top:0;left:0}@keyframes gardenPlacementStarPop{0%{opacity:0;transform:rotate(var(--star-angle,0deg)) translateY(0) scale(.4)}18%{opacity:1}to{opacity:0;transform:rotate(var(--star-angle,0deg)) translateY(-34px) scale(1.1)}}.dad-mascot-delivery{z-index:25000;pointer-events:none;transform-origin:bottom;position:absolute;transform:translate(-50%)}.dad-mascot-delivery__runner{align-items:flex-end;gap:1px;animation:2.4s cubic-bezier(.42,.06,.22,1) both dadMascotDeliveryRun;display:flex}.dad-mascot-delivery--from-right .dad-mascot-delivery__runner{flex-direction:row-reverse;animation-name:dadMascotDeliveryRunFromRight}.dad-mascot-delivery__mascot{filter:drop-shadow(0 3px 8px #0a0e1a80);flex-shrink:0;width:auto;height:54px;display:block}.dad-mascot-delivery--from-right .dad-mascot-delivery__mascot{transform:scaleX(-1)}.dad-mascot-delivery__cargo{transform-origin:bottom;filter:drop-shadow(0 2px 8px #0a0e1a66);flex-shrink:0;width:auto;animation:2.4s both dadMascotDeliveryCargo;display:block}@keyframes dadMascotDeliveryRun{0%{transform:translateX(var(--delivery-enter-from,-140px));opacity:0}7%{opacity:1}34%{opacity:1;transform:translate(-8px)}42%{opacity:1;transform:translate(0)}56%{opacity:1;transform:translate(0)}93%{opacity:1}to{transform:translateX(var(--delivery-enter-from,-140px));opacity:0}}@keyframes dadMascotDeliveryRunFromRight{0%{transform:translateX(var(--delivery-enter-from,140px));opacity:0}7%{opacity:1}34%{opacity:1;transform:translate(8px)}42%{opacity:1;transform:translate(0)}56%{opacity:1;transform:translate(0)}93%{opacity:1}to{transform:translateX(var(--delivery-enter-from,140px));opacity:0}}@keyframes dadMascotDeliveryCargo{0%,38%{transform:translateY(-10px) scale(.4) scaleX(var(--garden-el-flip-x,1));opacity:1}46%{transform:translateY(2px) scale(.92) scaleX(var(--garden-el-flip-x,1));opacity:1}54%,to{transform:translateY(0) scale(1) scaleX(var(--garden-el-flip-x,1));opacity:0}}.garden-canvas__el--editable{pointer-events:auto;cursor:grab}.garden-canvas__el--editable:active{cursor:grabbing}.garden-canvas__el--selected{filter:drop-shadow(0 0 #ff8fab)drop-shadow(0 0 6px #ff8fab)drop-shadow(0 0 12px #ff8fabcc);outline-offset:2px;outline:2px dashed #ff8fabe6}.garden-canvas__el--level-move{filter:drop-shadow(0 0 #7ec8e3)drop-shadow(0 0 6px #7ec8e3)drop-shadow(0 0 10px #7ec8e3bf)}.garden-canvas__el--level-move.garden-canvas__el--selected{filter:drop-shadow(0 0 #ff8fab)drop-shadow(0 0 6px #ff8fab)drop-shadow(0 0 12px #ff8fabcc)drop-shadow(0 0 #7ec8e3)drop-shadow(0 0 8px #7ec8e3cc)}.garden-flower-scroll-zone{bottom:var(--garden-flower-lift);z-index:2;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;width:2.75rem;min-width:44px;height:72%;min-height:44px;max-height:7.5rem;padding:0;position:absolute}.garden-flower-scroll-zone--left{left:0}.garden-flower-scroll-zone--right{right:0}.app-shell--garden-editor .dev-toolbar{bottom:auto;top:max(.65rem, calc(env(safe-area-inset-top,0px) + .35rem))}.garden-flower-scroll-zone:disabled{cursor:default;pointer-events:none}:root,.app-body--garden-reveal{--garden-reveal-lift:min(38vh, 300px)}.app-body--garden-reveal .sticky-kawaii-header:before,.app-body--garden-reveal-exit .sticky-kawaii-header:before{opacity:0}.app-main--garden-reveal{transform:translateY(calc(-1 * var(--garden-reveal-lift)));transition:transform .75s cubic-bezier(.33,1,.68,1)}.app-main--garden-reveal-exit{transform:translateY(0)}.task-list-wrap--garden-reveal{perspective:880px}.task-list--garden-reveal{transform-style:preserve-3d}.garden-reveal-slat,.task-row--garden-reveal-slat{transform-origin:bottom;backface-visibility:hidden;animation:.68s cubic-bezier(.4,0,.2,1) forwards venetianBlindLift;animation-delay:calc(var(--blind-index,0) * 58ms)}.task-list--garden-reveal-exit .task-row--garden-reveal-slat,.task-list-wrap--garden-reveal-exit .task-list-footer.garden-reveal-slat,.app-body--garden-reveal-exit .garden-reveal-slat,.sticky-kawaii-header--garden-reveal-exit.garden-reveal-slat{animation:.55s cubic-bezier(.4,0,.2,1) reverse forwards venetianBlindLift;animation-delay:calc(var(--blind-index,0) * 42ms)}.sticky-kawaii-header--garden-reveal.garden-reveal-slat,.sticky-kawaii-header--garden-reveal-exit.garden-reveal-slat,.task-list-footer--garden-reveal.garden-reveal-slat,.task-list-footer--garden-reveal-exit.garden-reveal-slat{transform-origin:bottom;pointer-events:none}@keyframes venetianBlindLift{0%{opacity:1;transform:translate(0,0)rotateX(0)}to{transform:translate3d(0, calc(-1 * var(--garden-reveal-lift) + 20px), 0) rotateX(-14deg);opacity:.12}}.garden-sakura-tree,.garden-bridge-piers,.garden-bridge,.garden-lanterns,.garden-lanterns-extra,.garden-bush,.garden-ground-flower{animation:.6s cubic-bezier(.34,1.4,.64,1) both gardenPop}@keyframes gardenPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.garden-scene__hint{color:var(--text-muted);white-space:nowrap;opacity:.85;margin:0;font-size:.75rem;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.growing-seed__plant,.growing-seed__stem,.growing-seed__leaves,.growing-seed__bud,.growing-seed__bloom,.fire-flower__tip,.fire-flower__leaves-mount,.fire-flower__head{transition:transform .6s cubic-bezier(.34,1.2,.64,1),opacity .5s}.garden-scene__hint--seed{opacity:.9}.starting-seed-picker{z-index:30;top:var(--seed-picker-top);right:max(1rem, env(safe-area-inset-right,0px));bottom:var(--seed-picker-bottom);left:max(1rem, env(safe-area-inset-left,0px));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;pointer-events:auto;flex-direction:column;justify-content:flex-end;width:auto;max-width:520px;margin-inline:auto;display:flex;position:fixed;overflow:hidden auto}.starting-seed-picker__sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.starting-seed-picker__choices{flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;width:100%;display:grid}.seed-choice{border:3px solid var(--card-border);border-radius:var(--radius);cursor:pointer;background:linear-gradient(#fff 0%,#fff5f8 100%);flex-direction:column;justify-content:center;align-items:center;gap:.65rem;min-width:0;min-height:9.5rem;padding:1.1rem .75rem;font-family:inherit;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;box-shadow:0 6px 20px #ff8fab47}.seed-choice:hover{transform:translateY(-3px)scale(1.02);box-shadow:0 10px 28px #ff8fab61}.seed-choice:active{transform:translateY(0)scale(.98)}.seed-choice--moon{background:linear-gradient(#f4f8ff 0%,#e4eef8 100%);border-color:#9ec4e0}.seed-choice--sun{background:linear-gradient(#fffef0 0%,#fff4c8 100%);border-color:#f0d060}.seed-choice--star{background:linear-gradient(#faf5ff 0%,#ede4ff 100%);border-color:#d4b5ff}.seed-choice--saturn{background:linear-gradient(#fff8ee 0%,#ffe9c8 100%);border-color:#e8c878}.seed-choice--tulip{background:linear-gradient(#fff5f8 0%,#ffe4ec 100%);border-color:#ff8fab}.seed-choice--catgrass{background:linear-gradient(#f0fff0 0%,#dff8df 100%);border-color:#7dd87d}.seed-choice--puppypoppy{background:linear-gradient(#fff5f5 0%,#ffe8e8 100%);border-color:#ff8f8f}.seed-choice--wisteria{background:linear-gradient(#faf5ff 0%,#ede4ff 100%);border-color:#c9b8ff}.seed-choice--pinwheel{background:linear-gradient(#fffef5 0%,#fff4c8 100%);border-color:#ffe566}.seed-choice--fireflower{background:linear-gradient(#fff8ee 0%,#ffe4c8 100%);border-color:#ff9f43}.seed-choice--toast{background:linear-gradient(#fffef8 0%,#fff4d8 100%);border-color:#e8c898}.seed-choice--jam{background:linear-gradient(#fff8fa 0%,#ffe8f0 100%);border-color:#c45c8a}.seed-choice__toast-preview{object-fit:contain;pointer-events:none;margin:0 auto;display:block}.seed-choice__pinwheel-preview{transform-origin:50%;animation:4s linear infinite pinwheel-spin}@keyframes pinwheel-spin{to{transform:rotate(360deg)}}.pinwheel-bloom__spinner--0{animation:5s linear infinite pinwheel-spin}.pinwheel-bloom__spinner--1{animation:6.2s linear infinite reverse pinwheel-spin}.pinwheel-bloom__spinner--2{animation:4.8s linear infinite pinwheel-spin}.pinwheel-bloom__spinner--3{animation:7s linear infinite reverse pinwheel-spin}.pinwheel-bloom__spinner--4{animation:5.5s linear infinite pinwheel-spin}.pinwheel-bloom__spinner--5{animation:6.8s linear infinite reverse pinwheel-spin}@keyframes fire-flicker-opacity{0%,to{opacity:.5}40%{opacity:1}70%{opacity:.7}}@keyframes fire-leaf-sway-left{0%,to{transform:rotate(-7deg)}50%{transform:rotate(5deg)}}@keyframes fire-leaf-sway-right{0%,to{transform:rotate(7deg)}50%{transform:rotate(-5deg)}}.fire-flower__leaf-sway--active{transform-origin:0 0;transform-box:fill-box}.fire-flower__leaf--a .fire-flower__leaf-sway--active,.fire-flower__leaf--c .fire-flower__leaf-sway--active{animation:2.2s ease-in-out infinite fire-leaf-sway-left}.fire-flower__leaf--b .fire-flower__leaf-sway--active,.fire-flower__leaf--d .fire-flower__leaf-sway--active{animation:2.4s ease-in-out .3s infinite fire-leaf-sway-right}.fire-flower__flames{pointer-events:none}.growing-seed--fireflower-mature .fire-flower__flame--0{animation:.75s ease-in-out infinite fire-flicker-opacity}.growing-seed--fireflower-mature .fire-flower__flame--1{animation:.9s ease-in-out .15s infinite fire-flicker-opacity}.growing-seed--fireflower-mature .fire-flower__flame--2{animation:.65s ease-in-out .3s infinite fire-flicker-opacity}.growing-seed--fireflower-mature .fire-flower__flame--3{animation:.85s ease-in-out .45s infinite fire-flicker-opacity}.growing-seed--fireflower-mature .fire-flower__flame--4{animation:.7s ease-in-out .2s infinite fire-flicker-opacity}@keyframes wisteria-snake-lower{0%,to{transform:rotate(0)}25%{transform:rotate(8deg)}50%{transform:rotate(0)}75%{transform:rotate(-8deg)}}@keyframes wisteria-snake-upper{0%,to{transform:rotate(0)}25%{transform:rotate(-11deg)}50%{transform:rotate(0)}75%{transform:rotate(11deg)}}@keyframes wisteria-snake-tip{0%,to{transform:rotate(0)}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}.growing-seed--wisteria-mature .growing-seed__wisteria-seg--lower{transform-origin:0 0;animation:2.6s ease-in-out infinite wisteria-snake-lower}.growing-seed--wisteria-mature .growing-seed__wisteria-seg--upper{transform-origin:0 0;animation:2.6s ease-in-out infinite wisteria-snake-upper}.growing-seed--wisteria-mature .growing-seed__wisteria-leaf--a{transform-origin:50%;transform-box:fill-box;animation:2.6s ease-in-out infinite wisteria-snake-tip}.growing-seed--wisteria-mature .growing-seed__wisteria-leaf--b{transform-origin:50%;transform-box:fill-box;animation:2.6s ease-in-out .35s infinite reverse wisteria-snake-tip}@keyframes cat-grass-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}.growing-seed--catgrass-mature .growing-seed__plant--catgrass{transform-origin:0 0;animation:2.8s ease-in-out infinite cat-grass-wiggle}.seed-choice__icon{width:3.4rem;height:3.4rem;display:block}.seed-choice__label{color:var(--text);letter-spacing:.01em;text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:1.05rem;font-weight:700;line-height:1.25}@media (width<=380px){.starting-seed-picker__choices{gap:.55rem}.seed-choice{gap:.45rem;min-height:7.25rem;padding:.8rem .45rem}.seed-choice__icon{width:2.85rem;height:2.85rem}.seed-choice__label{font-size:.88rem}}@media (height<=520px){.starting-seed-picker{--seed-picker-top:max(3.5rem, calc(env(safe-area-inset-top,0px) + 2.75rem))}.seed-choice{gap:.35rem;min-height:6.25rem;padding:.65rem .4rem}.seed-choice__icon{width:2.5rem;height:2.5rem}.seed-choice__label{font-size:.82rem}}@media (prefers-reduced-motion:reduce){.flower-petal--bloom,.flower-petal--wilt,.flower-anchor--wilt,.flower-svg--blooming .flower-center{animation:none}.flower-petal,.flower-petal--open{opacity:1;transform:scale(1)}.task-row--dropping{animation:none}.task-list--dragging .task-row--preview-shift,.task-row--drag-placeholder{transition:none}.mute-toggle:hover,.add-task-btn:hover,.task-checkbox-label:hover .checkbox-face{transform:none}.mascot__render,.mascot--dancing .mascot__render,.task-row__picked-ring-rect,.falling-sakura__track,.falling-sakura__petal,.spiral-celebration__particle,.celebration-burst-arm,.star-burst__spiral-arm,.star-burst__star,.star-burst__streak,.planted-flower__growth,.planted-flower--new,.growing-seed--catgrass-mature .growing-seed__plant--catgrass,.pinwheel-bloom__spinner,.seed-choice__pinwheel-preview,.fire-flower__leaf-sway--active,.growing-seed--fireflower-mature .fire-flower__flame,.growing-seed--wisteria-mature .growing-seed__wisteria-seg--lower,.growing-seed--wisteria-mature .growing-seed__wisteria-seg--upper,.growing-seed--wisteria-mature .growing-seed__wisteria-leaf--a,.growing-seed--wisteria-mature .growing-seed__wisteria-leaf--b,.garden-reveal-slat,.task-row--garden-reveal-slat,.sticky-kawaii-header--garden-reveal.garden-reveal-slat,.sticky-kawaii-header--garden-reveal-exit.garden-reveal-slat,.task-list-footer--garden-reveal.garden-reveal-slat,.task-list-footer--garden-reveal-exit.garden-reveal-slat,.app-main--garden-reveal,.app-main--garden-reveal-exit,.garden-flower-scroll__viewport,.seed-choice:hover,.seed-choice:active,.garden-layer,.garden-sakura-tree,.garden-bridge-piers,.garden-bridge,.garden-lanterns,.garden-lanterns-extra,.garden-bush,.garden-ground-flower,.garden-placement-stars__star,.dad-mascot-delivery__runner,.dad-mascot-delivery__cargo{animation:none}}.garden-planted-flowers{pointer-events:none}.planted-flower__growth{transform-box:fill-box;transform-origin:0 0;transition:transform 1.1s cubic-bezier(.34,1.15,.64,1)}.planted-flower__growth line,.planted-flower__growth ellipse,.planted-flower__growth circle{transition:stroke-width 1.1s,opacity .6s}.planted-flower--new{animation:.85s cubic-bezier(.34,1.35,.64,1) both flowerPlantPop}@keyframes flowerPlantPop{0%{opacity:0}40%{opacity:1}to{opacity:1}}.dev-toggle-btn{z-index:60;right:max(.75rem, env(safe-area-inset-right,0px));bottom:max(.75rem, env(safe-area-inset-bottom,0px));color:#4b2580;letter-spacing:.08em;cursor:pointer;opacity:.92;background:#f3e8ff;border:2px solid #6b3aa0;border-radius:999px;padding:.45rem .85rem;font-family:inherit;font-size:.8rem;font-weight:700;transition:transform .15s,opacity .15s;position:fixed;box-shadow:0 4px 14px #4b258040}.dev-toggle-btn:hover,.dev-toggle-btn:focus-visible{opacity:1;transform:translateY(-1px)}.dev-panel{z-index:70;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto;background:#28143c73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dev-panel__card{color:#2b1e3d;background:#fff;border:2px solid #c4a8e6;border-radius:14px;width:100%;max-width:420px;max-height:calc(100dvh - 2rem);padding:1.25rem 1.25rem 1.1rem;font-family:inherit;overflow-y:auto;box-shadow:0 18px 48px #28145059}.dev-panel__header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.dev-panel__header h2{color:#4b2580;margin:0;font-size:1.05rem}.dev-panel__close{color:#6b3aa0;cursor:pointer;background:0 0;border:none;padding:0 .35rem;font-size:1.5rem;line-height:1}.dev-panel__current{color:#4b2580;background:#faf5ff;border:1px solid #e0d0f5;border-radius:8px;margin-bottom:.85rem;padding:.55rem .7rem;font-size:.85rem}.dev-panel__field{flex-direction:column;gap:.3rem;margin-bottom:.8rem;display:flex}.dev-panel__field label{color:#4b2580;font-size:.8rem;font-weight:600}.dev-panel__level-controls{align-items:stretch;gap:.4rem;display:flex}.dev-panel__step-btn{color:#4b2580;cursor:pointer;background:#faf5ff;border:1.5px solid #c4a8e6;border-radius:8px;flex:none;min-width:2.5rem;padding:.45rem .6rem;font-family:inherit;font-size:1.1rem;font-weight:700;line-height:1}.dev-panel__step-btn:hover:not(:disabled),.dev-panel__step-btn:focus-visible:not(:disabled){background:#f0e4ff;border-color:#9b6fd4}.dev-panel__step-btn:disabled{opacity:.4;cursor:not-allowed}.dev-panel__level-controls input{text-align:center;font-variant-numeric:tabular-nums;flex:auto;min-width:0}.dev-panel__field select,.dev-panel__field input{color:#2b1e3d;background:#fff;border:1.5px solid #c4a8e6;border-radius:8px;padding:.5rem .7rem;font-family:inherit;font-size:.95rem}.dev-panel__field select:focus,.dev-panel__field input:focus{border-color:#6b3aa0;outline:none;box-shadow:0 0 0 3px #6b3aa02e}.dev-panel__preview{color:#4b2580;margin:.3rem 0 .95rem;font-size:.8rem;line-height:1.4}.dev-panel__actions{gap:.5rem;margin-bottom:.5rem;display:flex}.dev-panel__btn{color:#4b2580;cursor:pointer;background:#fff;border:1.5px solid #c4a8e6;border-radius:8px;flex:1;padding:.55rem .85rem;font-family:inherit;font-size:.9rem;font-weight:600}.dev-panel__btn:hover,.dev-panel__btn:focus-visible{background:#faf5ff}.dev-panel__btn--primary{color:#fff;background:#6b3aa0;border-color:#6b3aa0}.dev-panel__btn--primary:hover,.dev-panel__btn--primary:focus-visible{background:#582d87;border-color:#582d87}.dev-panel__btn--danger{color:#b03939;background:#fff;border-color:#d97a7a}.dev-panel__btn--danger:hover,.dev-panel__btn--danger:focus-visible{background:#fff0f0}.dev-panel__divider{border:none;border-top:1px dashed #d8c4f0;margin:.9rem 0 .75rem}.dev-panel__danger{justify-content:stretch;display:flex}.dev-panel__danger .dev-panel__btn{flex:1}.dev-toolbar{z-index:60;right:max(.75rem, env(safe-area-inset-right,0px));bottom:max(.75rem, env(safe-area-inset-bottom,0px));gap:.5rem;display:flex;position:fixed}.dev-toolbar .dev-toggle-btn{position:static;bottom:auto;right:auto}.dev-toggle-btn--active{color:#fff;background:#6b3aa0}.garden-editor{z-index:65;color:#2b1e3d;pointer-events:auto;background:#fffffff7;border-left:2px solid #c4a8e6;flex-direction:column;width:min(340px,88vw);padding:1rem;font-family:inherit;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #28145038}.garden-editor__header{justify-content:space-between;align-items:center;display:flex}.garden-editor__header h2{margin:0;font-size:1.05rem}.garden-editor__close{cursor:pointer;color:#6b3aa0;background:0 0;border:none;font-size:1.4rem;line-height:1}.garden-editor__hint{color:#5a4a72;margin:.5rem 0 .75rem;font-size:.78rem;line-height:1.35}.garden-editor__hint code{background:#f3e8ff;border-radius:4px;padding:0 .25rem;font-size:.72rem}.garden-editor__level-move{background:#faf5ff;border:1px solid #ead9fb;border-radius:10px;flex-shrink:0;margin-bottom:.65rem;padding:.55rem .5rem}.garden-editor__level-move-title{color:#4b2580;margin:0 0 .45rem;font-size:.78rem;font-weight:700}.garden-editor__mode-toggle{flex-shrink:0;gap:.35rem;margin:.5rem 0 .4rem;display:flex}.garden-editor__mode-btn{color:#4b2580;cursor:pointer;background:#fff;border:1px solid #c4a8e6;border-radius:8px;flex:50%;padding:.35rem .5rem;font-family:inherit;font-size:.72rem;font-weight:600}.garden-editor__mode-btn--active{color:#fff;background:#6b3aa0;border-color:#6b3aa0}.garden-editor__mode-btn--compact{flex:auto;width:100%}.garden-editor__level-move-label{color:#5a4a72;margin-bottom:.25rem;font-size:.72rem;display:block}.garden-editor__level-move-select{border:1px solid #c4a8e6;border-radius:8px;width:100%;margin-bottom:.45rem;padding:.35rem .4rem;font-family:inherit;font-size:.78rem}.garden-editor__level-move-hint{color:#5a4a72;margin:0 0 .45rem;font-size:.68rem;line-height:1.35}.garden-editor__level-move .garden-editor__prop-row:last-child{margin-bottom:0}.garden-editor__list{border-top:1px solid #ead9fb;flex:auto;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.garden-editor__item{border-bottom:1px solid #ead9fb}.garden-editor__item-btn{text-align:left;color:#3a2a55;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.5rem .4rem;font-family:inherit;font-size:.82rem;display:flex}.garden-editor__item-label{flex:auto;min-width:0}.garden-editor__item-meta{color:#8a78a8;font-variant-numeric:tabular-nums;flex:none;font-size:.68rem}.garden-editor__item--selected .garden-editor__item-btn{background:#f6ecff;font-weight:700}.garden-editor__stage-tag{color:#8a78a8;flex:none;font-size:.68rem}.garden-editor__stage-select{color:#5a4a72;flex-direction:column;gap:.2rem;padding:0 .4rem .55rem;font-size:.72rem;display:flex}.garden-editor__stage-select select{border:1px solid #c4a8e6;border-radius:8px;padding:.3rem .4rem;font-family:inherit}.garden-editor__props{background:#faf5ff;border-top:1px solid #ead9fb;flex-shrink:0;padding:.65rem .5rem}.garden-editor__props-title{color:#4b2580;margin:0 0 .5rem;font-size:.78rem;font-weight:700}.garden-editor__prop-row{margin-bottom:.55rem}.garden-editor__prop-row:last-child{margin-bottom:0}.garden-editor__prop-label{color:#5a4a72;margin-bottom:.25rem;font-size:.72rem;display:block}.garden-editor__prop-controls{align-items:center;gap:.35rem;display:flex}.garden-editor__prop-btn{color:#4b2580;cursor:pointer;background:#fff;border:1px solid #c4a8e6;border-radius:8px;flex:none;padding:.3rem .45rem;font-family:inherit;font-size:.68rem}.garden-editor__prop-btn:hover,.garden-editor__prop-btn:focus-visible{background:#f3e8ff}.garden-editor__prop-input{text-align:center;border:1px solid #c4a8e6;border-radius:8px;width:4.5rem;padding:.3rem .4rem;font-family:inherit;font-size:.8rem}.garden-editor__prop-input--wide{width:100%}.garden-editor__actions{border-top:1px solid #ead9fb;padding-top:.75rem}.garden-editor__btn{cursor:pointer;background:#fff;border:2px solid #c4a8e6;border-radius:10px;width:100%;padding:.55rem .9rem;font-family:inherit;font-weight:700}.garden-editor__btn--primary{color:#fff;background:#6b3aa0;border-color:#6b3aa0}[data-theme=dad]{--bg-top:#0a0e1a;--bg-bottom:#12182e;--card:#1a2238;--card-border:#3d4f72;--text:#e2e8f4;--text-muted:#9aa8c4;--accent:#c8d4e8;--accent-hover:#e8c878;--checkbox-border:#6b7fa8;--shadow:0 4px 24px #0a0e1a8c;--rocket-strike-color:#f2d56b}[data-theme=dad] body{background:linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 100%)}.twinkling-stars{z-index:0;pointer-events:none;position:fixed;inset:0 0 42%;overflow:hidden}.twinkling-stars__star{transform-origin:50%;justify-content:center;align-items:center;animation:2.4s ease-in-out infinite starTwinkle;display:flex;position:absolute}.twinkling-stars__star-svg{filter:drop-shadow(0 0 5px #fff8e673)drop-shadow(0 0 12px #e8c87833);width:100%;height:100%;display:block}.twinkling-stars__star--bright .twinkling-stars__star-svg{filter:drop-shadow(0 0 8px #fffcf0a6)drop-shadow(0 0 20px #e8c87859)}.twinkling-stars--static .twinkling-stars__star{animation:none}@keyframes starTwinkle{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}.moon-dust-motes--canvas{z-index:2;pointer-events:none;position:absolute;bottom:0;left:0;overflow:visible}.moon-dust-motes__layer{position:absolute;inset:0;overflow:visible}.moon-dust-motes__mote{aspect-ratio:1;will-change:transform, opacity;background:radial-gradient(circle at 35% 35%,#fffffffa 0%,#dce4f5b3 40%,#bec8dc40 70%,#0000 100%);border-radius:50%;flex-shrink:0;animation:ease-in-out infinite moonDustDrift;display:block;position:absolute;box-shadow:0 0 4px 1px #ffffff8c,0 0 10px 2px #c8d2e64d}@keyframes moonDustDrift{0%,to{opacity:.25;transform:translate(0)scale(1)}35%{opacity:.9}50%{transform:translate(var(--mote-drift-x,12px), calc(var(--mote-drift-y,-16px) * -1)) scale(1);opacity:.75}}@media (prefers-reduced-motion:reduce){.moon-dust-motes__mote{opacity:.5;animation:none}}[data-theme=dad] .garden-scene__sky{background:radial-gradient(90% 55% at 50% 100%,#b4bedc1f 0%,#0000 55%),linear-gradient(#0000 0%,#141e3c59 45%,#1e28468c 100%)}.garden-scene--moon:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(70% 40% at 18% 100%,#dce1f014 0%,#0000 65%);position:absolute;inset:0}.garden-layer--moon{height:calc(var(--garden-band-height) * var(--garden-grass-ratio));background:linear-gradient(#4a5068 0%,#3a4058 40%,#2a3048 100%)}[data-theme=dad] .sticky-kawaii-header,[data-theme=dad] .add-task-input,[data-theme=dad] .task-row{background:var(--card);border-color:var(--card-border)}[data-theme=dad] .add-task-btn,[data-theme=dad] .task-checkbox--checked{background:var(--accent-hover);border-color:var(--accent-hover);color:#1a2238}[data-theme=dad] .pick-task-btn{border-color:var(--card-border);color:var(--text);background:var(--card);box-shadow:var(--shadow)}[data-theme=dad] .pick-task-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:#243050}[data-theme=dad] .reset-garden-btn{color:var(--text-muted)}[data-theme=dad] .mascot-speech{background:var(--card);border-color:var(--card-border);color:var(--text)}[data-theme=dad] .task-row--picked:before{border-color:var(--accent-hover)}.rocket-icon--boost{animation:.45s cubic-bezier(.34,1.4,.64,1) both rocketBoost}.rocket-icon--wilt{animation:.32s ease-in forwards rocketWilt}@keyframes rocketBoost{0%{opacity:0;transform:translateY(6px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes rocketWilt{to{opacity:.35;transform:translateY(4px)scale(.9)}}[data-theme=dad] .spiral-celebration__particle--combo{gap:0}@media (prefers-reduced-motion:reduce){.rocket-icon--boost,.rocket-icon--wilt{animation:none}}
