.garden-decor-editor{max-width:900px;margin:0 auto;padding:10px 0 28px;color:#23312a}
.decor-heading{display:flex;align-items:center;gap:18px;margin-bottom:18px}.decor-heading h1{font-size:clamp(28px,5vw,38px);margin:0;line-height:1.25}.decor-heading .decor-button{flex:none}
.garden-decor-editor p,.garden-decor-editor span,.garden-decor-editor strong{font-size:18px}.decor-placement-stage>.instruction-line{margin:0 0 18px}.garden-decor-editor h2{font-size:28px;margin:24px 0 16px}
.decor-button{font:700 20px/1.3 Andika,system-ui,sans-serif;color:#23312a;background:#fff;border:2px solid #cfe0dd;border-radius:18px;min-width:56px;min-height:56px;padding:12px 18px;cursor:pointer}
.decor-button:focus-visible,.decor-tray-card:focus-visible,.decor-placement:focus-visible,.decor-scene:focus-visible{outline:4px solid #d4a12a;outline-offset:3px}
.decor-scene{--decor-size:clamp(112px,20vw,176px);--decor-half:calc(var(--decor-size)/2);position:relative;width:100%;height:clamp(320px,58vw,470px);overflow:hidden;isolation:isolate;border-radius:28px;background:#f4fafa;border:2px solid #d7e7e8;box-sizing:border-box}
.decor-sky{position:absolute;inset:0 0 42%}.decor-grass{position:absolute;inset:52% 0 0;background:#b9d88a}.decor-sun{position:absolute;width:clamp(42px,8vw,70px);height:clamp(42px,8vw,70px);border-radius:50%;background:#f5b83d;top:14%;right:10%}.decor-cloud{position:absolute;left:9%;top:22%;width:20%;height:12%;border-radius:50px;background:#fff;border:2px solid #e2edeb}.decor-cloud:before{content:'';position:absolute;bottom:20%;left:16%;width:38%;height:150%;border-radius:50%;background:#fff}
.decor-scene-sign{position:absolute;left:50%;top:7%;transform:translateX(-50%);width:max-content;max-width:60%;text-align:center}.decor-scene-sign .garden-sign{font-size:clamp(18px,3vw,24px);padding:7px 12px;max-width:100%;overflow-wrap:anywhere}
.decor-real-bed{position:absolute;left:24%;top:51%;width:52%;height:32%;padding:0 2% 3%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));align-items:end;background:#7a5539;border-radius:16px;border-bottom:10px solid #c98e5a;box-sizing:border-box;transform:perspective(700px) rotateX(3deg)}
.decor-real-bed .garden-plant{width:100%;height:150%;object-fit:contain;object-position:center bottom;align-self:end;max-width:none;margin:0;filter:drop-shadow(0 2px 0 #66462d)}
.decor-scene-visitor{position:absolute;width:clamp(32px,6vw,52px);height:clamp(32px,6vw,52px);transform:translate(-50%,-50%);pointer-events:none}.decor-scene-visitor .garden-visitor{width:100%;height:100%;object-fit:contain}
.decor-placement{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;min-width:56px;min-height:56px;width:var(--decor-size);height:var(--decor-size);padding:0;border:3px solid transparent;border-radius:14px;background:transparent;cursor:grab;touch-action:pan-y;box-shadow:none}
.decor-placement.is-selected{border-color:#2b6e39;border-style:dashed;background:#ffffff55}.decor-placement:active{cursor:grabbing}.decor-art{display:block;width:100%;height:100%;max-width:112px;max-height:112px;object-fit:contain;pointer-events:none;user-select:none}.decor-placement .decor-art,.decor-drag-ghost .decor-art{max-width:none;max-height:none}.decor-placement-static{pointer-events:none;border:0}
.decor-tint-blue{filter:hue-rotate(165deg)}.decor-tint-rose{filter:hue-rotate(320deg)}.decor-tint-purple{filter:hue-rotate(230deg)}.decor-tint-gold{filter:hue-rotate(22deg) saturate(1.15)}
.decor-cursor{position:absolute;z-index:30;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;background:#ffffff88;outline:3px dashed #2b6e39;pointer-events:none}.decor-cursor:before,.decor-cursor:after{content:'';position:absolute;top:50%;left:50%;width:16px;height:3px;transform:translate(-50%,-50%);background:#2b6e39}.decor-cursor:after{transform:translate(-50%,-50%) rotate(90deg)}
.decor-status{min-height:27px;margin:12px 0;color:#4f5e55;line-height:1.5}.decor-tools-slot{height:72px;display:grid;align-items:center}.decor-tap-tools,.decor-selection-tools{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:8px}.decor-tools-slot .decor-button{font-size:18px;padding:10px 8px;min-height:56px}.decor-position-tools{padding:16px;border-radius:20px;background:#f4fafa;text-align:center}.decor-position-tools p{margin:0 0 12px}.decor-arrow-pad{display:grid;grid-template-columns:minmax(56px,1fr) minmax(96px,1.4fr) minmax(56px,1fr);gap:8px;max-width:380px;margin:0 auto 14px}.decor-arrow-pad .decor-button{padding:10px 8px}.decor-up{grid-area:1/2}.decor-left{grid-area:2/1}.decor-place{grid-area:2/2;background:#2b6e39;color:#fff;border-color:#2b6e39}.decor-right{grid-area:2/3}.decor-down{grid-area:3/2}.decor-selection-tools{grid-template-columns:1fr 1fr}.decor-more{margin:18px 0;color:#4f5e55}
.decor-tray{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}.decor-tray-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:120px;min-height:144px;padding:12px 8px;box-sizing:border-box;border-radius:20px;border:2px solid #cfe0dd;background:#fff;color:#23312a;font:400 18px/1.3 Andika,system-ui,sans-serif;text-align:center;cursor:pointer;touch-action:pan-y}.decor-tray-card .decor-art{height:70px;max-width:90px}.decor-tray-card.is-selected{border:4px solid #2b6e39;padding:10px 6px;background:#fff8df}.decor-tray-card:disabled{background:#f0f6f6;border-style:dashed;cursor:default;color:#4f5e55;touch-action:auto}.decor-tray-card span{font-size:18px;line-height:1.25}.decor-done{display:block;width:100%;margin-top:24px;min-height:72px;background:#2b6e39;color:#fff;border:0;border-bottom:6px solid #1f5229;font-size:28px}
.decor-drag-ghost{position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%,-50%);width:144px;height:144px;opacity:.85;filter:drop-shadow(0 8px 3px #23312a33)}
.decor-scene-mini{--decor-size:88px;height:190px;min-height:0;border-radius:22px;pointer-events:none}.decor-scene-mini .decor-scene-sign{top:5%}.decor-scene-mini .garden-sign{font-size:18px;padding:3px 8px}.decor-scene-mini .decor-real-bed{border-bottom-width:6px;border-radius:9px}.decor-scene-mini .decor-placement{min-width:0;min-height:0}.decor-scene-mini .decor-sun{width:30px;height:30px}.decor-scene-mini .decor-scene-visitor{width:28px;height:28px}
.decor-mini-link,.decor-mini-preview{display:block;width:100%;min-width:0;border-radius:22px}.decor-mini-link:focus-visible{outline:4px solid #d4a12a;outline-offset:4px}.garden-decor-preview{margin:0 0 24px}.kid-today .today-decorated-garden{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}.today-garden-caption{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:6px 10px;min-height:72px;color:inherit;text-decoration:none}.today-garden-caption>span{display:grid;gap:6px}.today-garden-caption>span>span{font-size:18px;color:#4f5e55}.today-garden-caption>.garden-icon{width:28px;height:28px;flex-shrink:0}.celebration-rewards{padding:22px;border-radius:22px;background:#fff8df;margin:20px 0;text-align:left}.celebration-rewards h2{font-size:26px;margin:0 0 12px}.celebration-rewards p{font-size:20px;line-height:1.5;margin:8px 0 0}
@media(max-width:600px){.decor-tray{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:480px){.decor-heading{gap:10px;align-items:flex-start}.decor-heading h1{font-size:28px}.decor-heading .decor-button{font-size:18px;padding:12px}.decor-scene{border-radius:22px}.decor-tray{grid-template-columns:repeat(2,minmax(120px,1fr))}.decor-tray-card{min-height:150px}.decor-scene-sign{max-width:65%}.decor-real-bed{left:18%;width:64%}.decor-scene-mini{--decor-size:72px;height:170px}}
@media(prefers-reduced-motion:reduce){.garden-decor-editor *,.decor-scene *{animation:none!important;transition:none!important}}
body.reduce-motion .garden-decor-editor *,body.reduce-motion .decor-scene *{animation:none!important;transition:none!important}
@media print{.garden-decor-editor,.decor-scene{display:none!important}}

/* Picking a tray item must not shift the next touch target. */
.decor-placement-stage>.instruction-line,.decor-placement-stage>.decor-instruction{min-height:56px}

@media(hover:hover){.kid-today .today-decorated-garden:hover{border-color:transparent}}

/* The gardener has one movable place, independent of the decoration limit. */
.decor-placement.decor-gardener{--gardener-half:calc(var(--decor-size)*.7);height:calc(var(--decor-size)*1.4);cursor:grab}
.decor-gardener .gardener-figure,.decor-gardener-art{width:100%;height:100%;min-width:0;margin:0;pointer-events:none}
.decor-gardener-art>.gardener-drawing{height:100%}.decor-gardener-art>.gardener-drawing>.gardener{display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto}
.decor-gardener-static{pointer-events:none;border:0}
.decor-tray-card .decor-gardener-art{height:86px;width:90px;min-height:0}
.decor-drag-ghost .decor-gardener-art{height:100%;width:100%}

/* Earned jar decorations stay new until the child places them. */
.decor-tray-card{position:relative}.decor-tray-card .decor-new{position:absolute;top:7px;left:7px;min-height:0;padding:2px 7px;border-radius:8px;background:#F5B83D;color:#23312A;font-size:18px;font-weight:700;line-height:1.3;pointer-events:none}
