.garden-card{align-self:center;min-width:0;padding:24px;border:1px solid #dedfcd;border-radius:30px;background:linear-gradient(155deg,#fffdf5ee,#eef2e3e8);box-shadow:0 15px 45px #6b794b12}
.garden-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.garden-heading h2{font:clamp(24px,3vw,32px)/1.2 Georgia,serif;margin:5px 0;color:#475e43}.garden-heading .eyebrow{font-size:10px;color:#687850}.garden-heading button{white-space:nowrap;font-size:13px}
.garden-stage{height:clamp(250px,38dvh,340px);position:relative;overflow:hidden;isolation:isolate;contain:paint;border-radius:24px;background:radial-gradient(ellipse at 20% 20%,#fff9cb99,transparent 60%),linear-gradient(#e2ebcd 0%,#d4e2ba 60%,#c5d6a7 100%);border:1px solid #cad7b3}
.garden-path{position:absolute;left:36%;top:15%;width:30%;height:115%;background:#eee1bf;transform:rotate(-20deg);border-radius:50%;opacity:.8}.garden-path:after{content:'';position:absolute;inset:0;border:2px dashed #d2c09a;border-radius:50%;opacity:.5}
.garden-mailbox{position:absolute;top:12%;left:46%;width:40px;height:65px;z-index:1}.garden-mailbox:after{content:'';position:absolute;top:25px;left:18px;width:7px;height:35px;background:#b49570}.garden-mailbox-box{display:grid;place-items:center;position:relative;width:40px;height:29px;background:#f6ece0;border:2px solid #b79a81;border-radius:14px 14px 5px 5px;z-index:1}.garden-mailbox-heart{font-size:18px;color:#aa7584}
.garden-monster{position:absolute;z-index:3;top:42%;left:4%;width:28%;height:38%;padding:0;border:0;background:none;box-shadow:none;touch-action:none;user-select:none;-webkit-user-select:none;display:flex;align-items:center;flex-direction:column;justify-content:end;border-radius:18px;color:#455940;cursor:pointer}.garden-monster[data-monster=slime]{left:36%;top:51%;height:38%}.garden-monster[data-monster=fire]{left:68%;top:42%;height:38%}.garden-monster:hover,.garden-monster:active{background:#ffffff22;transform:none;box-shadow:none}.garden-monster:focus-visible{outline:3px solid #9275ac;outline-offset:1px}
.garden-monster-art{position:relative;display:block;width:100%;height:calc(100% - 28px);animation:garden-rest 9s ease-in-out infinite;transform-origin:50% 90%;pointer-events:none;will-change:transform}.garden-monster-art :is(img,.monster-art){position:relative;width:100%;height:100%;object-fit:contain}
/* A soft ground ellipse stands in for a drop-shadow filter, which repainted every animation frame. */
.garden-monster-art:before{content:'';position:absolute;left:22%;right:22%;bottom:1%;height:11%;border-radius:50%;background:radial-gradient(closest-side,#566d4540,#566d4500);transition:opacity .2s}.garden-monster[data-monster=slime] .garden-monster-art{animation-delay:-3s}.garden-monster[data-monster=fire] .garden-monster-art{animation-delay:-6s}
.garden-monster-name{display:block;min-height:24px;line-height:1.3;padding:4px 6px;border-radius:12px;background:#fffaf0d9;font-size:clamp(10px,1.2vw,12px);pointer-events:none;white-space:nowrap}.garden-pet-heart{position:absolute;top:3%;right:15%;font-size:25px;opacity:0;pointer-events:none;color:#ba8094}
.is-petted .garden-monster-art{animation:garden-lean .9s ease-out both}.is-petted[data-monster=slime] .garden-monster-art{animation-name:garden-squish}.is-petted[data-monster=fire] .garden-monster-art{animation-name:garden-warm-bounce}.is-petted .garden-pet-heart{animation:garden-heart .9s ease-out both}
.garden-decorations{position:absolute;inset:0;z-index:2;pointer-events:none}.garden-spot{position:absolute;display:grid;place-items:center;left:7%;top:9%;width:52px;height:48px;padding:0;background:none;border:0;box-shadow:none}.garden-spot img{max-width:100%;max-height:100%;pointer-events:none}.garden-spot[data-spot="1"]{left:72%;top:6%}.garden-spot[data-spot="2"]{left:4%;top:22%}.garden-spot[data-spot="3"]{left:77%;top:77%}.garden-spot[data-spot="4"]{left:8%;top:80%}.garden-spot[data-spot="5"]{left:74%;top:22%}button.garden-spot{pointer-events:auto;border:1px dashed #758764;border-radius:12px;background:#fffdf077;cursor:pointer}button.garden-spot[aria-pressed=true]{outline:3px solid #9475a4;background:#fffaf0}.garden-spot-number{position:absolute;right:-4px;bottom:-4px;border-radius:50%;width:19px;height:19px;display:grid;place-items:center;background:#fffaf0;color:#586748;font-size:11px}
.garden-caption{font-size:14px;line-height:1.6;min-height:46px;margin:16px 0 6px;color:#52624a}.garden-balance{font-size:12px;color:#788064}.garden-save-status{font-size:13px;color:#65546f;margin:10px 0 0}.garden-editor{border-top:1px solid #ced8be;margin-top:18px;padding-top:16px}.garden-editor[hidden]{display:none}.garden-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.garden-choice{font-size:14px;min-height:46px;border:1px solid #c4d0b1;background:#fffaf0;border-radius:12px;padding:8px;color:#546249}.garden-choice[aria-pressed=true]{background:#e2d6ed;border-color:#ab8cbf}.garden-editor .actions{flex-wrap:wrap}.garden-editor .field-label{margin-bottom:12px}
.grooming-hint{color:#6b7055;margin:0 0 14px}.grooming-board{position:relative;display:grid;place-items:center;min-height:300px;overflow:hidden;border:1px solid #d8c8a8;border-radius:22px;background:radial-gradient(circle at 20% 12%,#fff8db,transparent 34%),linear-gradient(160deg,#e8efce,#d2e0bc);touch-action:none;cursor:crosshair}.grooming-art{display:block;width:230px;height:260px;pointer-events:none}.grooming-art .monster-art{width:100%;height:100%;object-fit:contain}.grooming-progress{display:block;width:100%;height:12px;margin-top:14px;accent-color:#73884b}.grooming-mud{opacity:var(--mud-opacity,1);position:absolute;width:58px;height:37px;filter:drop-shadow(0 2px 2px #4a37221f);transform:translate(-50%,-50%) rotate(var(--smudge-angle));transition:opacity .16s,transform .16s;pointer-events:none}.grooming-mud svg{display:block;width:100%;height:100%}.grooming-mud.is-cleaning{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(var(--smudge-angle))}.grooming-brush{position:absolute;top:0;left:0;width:60px;height:60px;pointer-events:none;filter:drop-shadow(0 3px 2px #61452d44);transition:transform .04s linear}.grooming-brush svg{display:block;width:100%;height:100%}[data-garden-groom] .small{margin:12px 0}
[data-message-effects=off] .garden-pet-heart{display:none}
@keyframes garden-rest{0%,25%,65%,100%{transform:translate(0,0) rotate(0)}35%,45%{transform:translate(3px,-2px) rotate(2deg)}75%,85%{transform:translate(-2px,0) rotate(-1deg)}}
@keyframes garden-lean{0%,100%{transform:none}40%{transform:rotate(-9deg) translateY(-3px)}}
@keyframes garden-squish{0%,100%{transform:none}35%{transform:scale(1.12,.88)}65%{transform:scale(.96,1.04)}}
@keyframes garden-warm-bounce{0%,100%{transform:none}40%{transform:translateY(-9px) rotate(5deg)}}
@keyframes garden-heart{0%{opacity:0;transform:translateY(5px) scale(.7)}30%{opacity:.85}100%{opacity:0;transform:translateY(-20px) scale(1)}}
@media(max-width:760px){.home-layout{display:flex;flex-direction:column;gap:24px}.home-copy{width:100%}.garden-card{width:100%;padding:18px}.garden-heading h2{font-size:26px}.garden-heading .quiet{padding:8px}.garden-stage{min-height:260px}.garden-monster-name{font-size:10px}}
@media(prefers-reduced-motion:reduce){.garden-monster-art,.garden-pet-heart{animation:none!important}.is-petted{background:#fffaf044}.garden-pet-heart{display:none}}

@media(max-width:760px){
 .home-layout{gap:16px;padding-top:14px}.home-copy{display:contents;text-align:center}
 .home-copy>.eyebrow{order:0}.home-copy>h1{order:1;font-size:32px;line-height:1.15;margin:0;text-align:center}
 .home-copy>.lead{order:2;font-size:16px;line-height:1.5;margin:0;text-align:center}
 .home-copy>.actions{order:3;margin:0;justify-content:center;width:100%}
 .garden-card{order:4}.home-copy>.human-note{order:5;text-align:center}.home-copy>.quiet{order:6}
}

/* Picking up keeps the hit target under the hand; only the artwork lifts. */
.garden-monster{cursor:grab;-webkit-touch-callout:none}
.garden-monster.is-held{z-index:5;cursor:grabbing;background:#fffaf025}
.garden-monster.is-held .garden-monster-art{animation:garden-surprised .22s ease-out both}.garden-monster.is-held .garden-monster-art:before{opacity:.5}
.garden-surprise{position:absolute;top:0;right:12%;display:none;width:24px;height:27px;border-radius:50% 50% 50% 4px;background:#fff8e6;color:#795d51;font:bold 20px Georgia,serif;box-shadow:0 2px 5px #66552222;pointer-events:none}
.is-held .garden-surprise{display:grid;place-items:center}
.garden-needs-care{position:absolute;top:-6px;right:0;width:28px;height:28px;display:none;pointer-events:none;filter:drop-shadow(0 2px 3px #66552233)}
.garden-needs-care img{display:block;width:100%;height:100%}
.garden-monster[data-rest=tired]:not(.is-held) .garden-needs-care{display:block;animation:garden-needs-care 2.6s ease-in-out infinite}
.is-landed .garden-monster-art{animation:garden-settle .4s ease-out both}
.garden-stage.is-editing .garden-decorations{z-index:6}
.garden-stage.is-editing .garden-residents{display:none}
@keyframes garden-surprised{0%{transform:none}65%{transform:translateY(-12px) rotate(-7deg) scale(1.07)}100%{transform:translateY(-9px) rotate(4deg) scale(1.05)}}
@keyframes garden-settle{0%{transform:translateY(-9px) scale(1.05)}55%{transform:scale(1.08,.92)}100%{transform:none}}
@keyframes garden-needs-care{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-4px) rotate(3deg)}}
[data-message-effects=off] .garden-surprise{display:none}
@media(prefers-reduced-motion:reduce){.garden-monster.is-held .garden-monster-art{animation:none!important;outline:2px solid #a18ab0;border-radius:18px}.garden-needs-care{animation:none!important}}

.garden-editor{background:#fff8e8;border:1px solid #e0d5b9;border-radius:22px;padding:16px;box-shadow:inset 0 -6px 0 #e8dcc533}
.garden-tray-hint{font-size:13px;line-height:1.5;color:#6c765d;margin:0 0 14px}
.garden-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.garden-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 4px;background:#fffdf5;border:0;box-shadow:0 3px 0 #dacbb780;cursor:grab;touch-action:none;user-select:none}
.garden-choice img{width:45px;height:42px;object-fit:contain;pointer-events:none}.garden-choice span{font-size:12px;pointer-events:none}
button.garden-spot{border:0;background:none;cursor:grab;touch-action:none;user-select:none}
button.garden-spot[aria-pressed=true]{outline:none;background:none}
button.garden-spot:focus-visible{outline:3px solid #9475a4;background:#fffaf066}
button.garden-spot[data-decoration=empty]{opacity:0}
button.garden-spot[data-decoration=empty]:focus-visible,.is-placing button.garden-spot[data-decoration=empty]{opacity:1;background:#fffaf033;border:2px dotted #8d9c72;border-radius:50%}
button.garden-spot.is-drop-target{outline:3px solid #fdf6d1;background:#fff6ca88;border-radius:50%;box-shadow:0 0 0 5px #91a87366}
.garden-decoration-ghost{position:fixed;width:54px;height:54px;object-fit:contain;transform:translate(-50%,-65%) rotate(-8deg);opacity:.9;pointer-events:none;z-index:1000}
.garden-editor.is-returning{outline:3px solid #9bad7e;background:#f3f2dc}.is-carrying{opacity:.5}
.just-planted img{animation:garden-plant .35s ease-out both}
@keyframes garden-plant{0%{transform:translateY(-10px) scale(1.12)}65%{transform:scale(1.07,.93)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){.just-planted img{animation:none}.garden-decoration-ghost{transform:translate(-50%,-50%)}}
[data-message-effects=off] .just-planted img{animation:none}
/* Affection notices must never catch a hand reaching for the basket. */
body:has(.garden-stage.is-editing) #toast{pointer-events:none}
.garden-monster-name{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.monster-card h2,.courier strong,.delivery-caption{overflow-wrap:anywhere}
.flow>.garden-card{width:100%;margin:20px 0 28px}
.garden-stage{height:clamp(300px,40dvh,380px)}
.garden-shop{margin-top:22px;padding-top:18px;border-top:1px solid #ded4ba}.garden-shop h3{font-size:20px}.garden-shop>img{width:80px;height:80px;object-fit:contain}.garden-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.garden-shop-grid article{text-align:center;min-width:0}.garden-shop-grid img{width:58px;height:65px;object-fit:contain}.garden-shop-grid h4{font-size:13px;font-weight:500;margin:8px 0}.garden-shop-grid button{font-size:12px;padding:8px;width:100%;white-space:normal;border-radius:12px}
.monster-details-intro{display:flex;align-items:center;gap:16px}.monster-details-intro>:is(img,.monster-art){width:90px;height:110px;object-fit:contain}.monster-history-facts{padding-left:22px;line-height:1.7}.monster-history-letter{margin:12px 0;padding:14px;border:1px solid #dedfcd;border-radius:16px;background:#fffaf0}.monster-history-letter summary{cursor:pointer;overflow-wrap:anywhere}.monster-history-letter summary time,.monster-history-letter summary span{display:block;margin-top:6px;font-size:13px}.monster-history-letter p{white-space:pre-wrap;overflow-wrap:anywhere}.garden-caption+button:not([hidden]){display:block;margin:0 0 12px}
.rest-need{width:16px;height:16px;margin-right:5px;vertical-align:middle;flex:none}
.garden-rest:empty{display:none}.garden-rest{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 4px;max-width:100%;margin-top:3px;padding:2px 8px;border-radius:10px;background:#fffaf0e6;color:#6e537d;font-size:clamp(9px,1.1vw,11px);line-height:1.4;text-align:center;pointer-events:none}.garden-rest .rest-need{width:13px;height:13px;margin:0}
.garden-monster[data-rest=tired] .garden-monster-art{filter:saturate(.7);animation-duration:14s}
.garden-monster[data-rest=away] .garden-monster-art{opacity:.28;filter:grayscale(.6)}.garden-monster[data-rest=away]{cursor:default}
.rest-line{display:flex;align-items:center;flex-wrap:wrap;color:#7a5d86;margin:6px 0}.rest-line[data-rest=ready]{color:#5d7a52}
.courier:disabled{cursor:not-allowed;opacity:.72;background:#f4ecef99}.courier:disabled img{filter:grayscale(.5);opacity:.7}.courier .rest-line{margin:8px 0 0}
.resting-notice{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 16px}.resting-notice p{margin:0;flex:1 1 240px}
.monster-care{margin:16px 0;padding:14px;border:1px solid #dedfcd;border-radius:16px;background:#fffaf0}.monster-care h3{margin-top:0}.monster-care .actions{flex-wrap:wrap}.monster-care-food{margin-top:12px}.monster-care [role=status]:empty{display:none}
.monster-skills{margin:16px 0;padding:14px;border:1px solid #dedfcd;border-radius:16px;background:#fffaf0}.monster-skills h3{margin-top:0}
.monster-skill-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.monster-skill-row p{margin:4px 0}
.monster-card{display:flex;flex-direction:column;align-items:center;gap:6px}.monster-card h2{margin:4px 0 0}.monster-card p{margin:0}
.monster-card .pill-row{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.monster-card .level-bar{width:100%;max-width:200px}
.monster-card .monster-card-art{cursor:pointer}.monster-card>button:last-child{margin-top:auto}
.feature-status:empty{display:none}
.dialog-close{position:absolute;top:14px;right:14px;min-width:40px;min-height:40px;padding:0;font-size:24px;line-height:1;text-decoration:none}
dialog:has(.dialog-close)>h2{padding-right:44px}
.monster-details-intro>div>p{margin:4px 0}
.monster-care h3,.monster-skills h3,.monster-more h3{font-size:18px;margin:0 0 6px}
.monster-care-food li{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:6px 10px}.monster-care-food li img{width:32px;height:32px}.monster-care-food li .walk-item-count{justify-self:start}
.monster-care-food li .walk-item-name{grid-column:2}.monster-care-food li .level-gain-pill{grid-column:3;grid-row:1}.monster-care-food li button{grid-column:4;grid-row:1}.monster-care-food li .walk-item-count{grid-column:2;grid-row:1;justify-self:end}
.monster-more{margin:16px 0}.monster-more .actions{flex-wrap:wrap;justify-content:flex-start}
.monster-details-intro .rest-line{margin:4px 0 0}
.monster-more .actions{align-items:center}.monster-more .actions button{padding:10px 16px}
.monster-history h3{font-size:18px;margin:18px 0 6px}
/* Details dialog: hero, one growth card, quiet history. */
.monster-title-meta{display:flex;align-items:center;gap:8px;margin:-6px 0 8px}.monster-rename{min-width:36px;min-height:36px;padding:0;font-size:18px;text-decoration:none}
.monster-hero{display:grid;justify-items:center;text-align:center;gap:6px}.monster-hero>:is(img,.monster-art){width:150px;height:150px;object-fit:contain}
.monster-hero-status{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px}.monster-hero-status .rest-line{margin:0;padding:2px 10px;border-radius:999px;background:#f1ecf6}
.monster-hero>p{margin:4px 0;max-width:34ch}.monster-chips{justify-content:center;flex-wrap:wrap;gap:8px}
.chip{padding:8px 14px!important;font-size:14px;min-height:0}
.monster-grow-head h3{margin:0}.monster-care h3{font-size:18px}
.monster-skill-link{display:block;width:100%;text-align:left;padding:6px 0;white-space:normal}.monster-skill-link+.monster-skill-link{color:#7a6b8e;font-size:14px;text-decoration:none}
.monster-grow-hint{margin:8px 0 0}
.monster-history-summary{margin:14px 0 6px;font-size:14px;color:#6e5f80}.monster-history-list>summary{cursor:pointer;font-size:14px;color:#5f5080}
.monster-chips{align-items:center}.monster-chips button{margin:0}
.resting-notice h2,.resting-notice .resting-monster{flex:1 1 100%;margin:0}.resting-notice h2{font-size:1rem}.resting-monster{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.resting-monster .rest-line{flex:0 1 auto}
