/* Positions are in the game's390x844 coordinates; raster art keeps its aspect. */
#game{transform:translate(-50%,-50%) scale(var(--scale)) translateX(var(--shake-x,0px))}
.wish,.float-text,.rain-layer,.need.low .need-fill{animation:none}.wish-content{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.wish-content .semantic-icon{width:55px;height:47px}
.feedback-stars{position:absolute;pointer-events:none;width:0;height:0;z-index:8}.feedback-stars img{position:absolute;width:15px;height:15px;object-fit:contain;left:-7px;top:-7px;opacity:0}.wish-stars{left:292px;top:249px}
.need{position:relative}.need-fill{transition:none}.need-delta{position:absolute;left:12px;top:-20px;font-size:14px;font-weight:900;color:#648d40;text-shadow:0 1px 2px #fff,1px 0 #fff;white-space:nowrap;pointer-events:none;z-index:8}.need-delta.negative{color:#c35745}.float-text{pointer-events:none}
.heart-slot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;transform-origin:50% 60%}.heart-slot img{display:block;width:24px;height:24px;object-fit:contain}
.broken-heart{position:absolute;left:178px;top:302px;width:34px;height:32px;z-index:9;pointer-events:none;opacity:0}.heart-half{position:absolute;inset:0;width:34px;height:32px;object-fit:contain}.heart-half.left{clip-path:polygon(0 0,53% 0,45% 28%,60% 45%,45% 62%,53% 100%,0 100%)}.heart-half.right{clip-path:polygon(53% 0,100% 0,100% 100%,53% 100%,45% 62%,60% 45%,45% 28%)}
.night-wish{z-index:6}.grow-hearts{position:absolute;top:182px;left:0;right:0;display:flex;justify-content:center;z-index:5;pointer-events:none}.grow-hearts .hearts{gap:6px}.restore-stars{left:calc(50% + 30px);top:12px}
.growth-fill{transition:none}.growth-goal-flag{position:absolute;right:-5px;top:-15px;width:25px;height:20px;object-fit:contain;filter:grayscale(1);opacity:.4}.growth-goal-flag.reached{filter:drop-shadow(0 0 3px #fff4ad);opacity:1}
.pet-attachments{position:absolute;left:100px;top:252px;width:190px;height:190px;z-index:4;pointer-events:none}.pet-attachments [hidden]{display:none!important}.pet-attachments img{width:100%;height:100%;object-fit:contain}.fly-orbit,.fur-drift{position:absolute;inset:0}.status-fly{position:absolute;left:-10px;top:-10px;width:20px;height:20px}.fur-puff{position:absolute;width:18px;height:13px}
.wear-scarf,.wear-medal,.wear-thermometer{position:absolute;display:block}.wear-scarf{left:73px;top:140px;width:44px;height:42px}.wear-medal{left:82px;top:127px;width:27px;height:37px}.wear-thermometer{left:143px;top:109px;width:21px;height:32px;rotate:-12deg}.pet-attachments[data-attachment-form="young_power"] .wear-scarf,.pet-attachments[data-attachment-form="young_clever"] .wear-scarf{top:137px}.pet-attachments[data-attachment-form="young_power"] .wear-medal,.pet-attachments[data-attachment-form="young_clever"] .wear-medal{top:121px}
@media(prefers-reduced-motion:reduce){#game{--shake-x:0px!important}.wish,.need-delta,.float-text,.heart-half,.broken-heart,.status-fly,.fur-puff{transition:none}}

.action .effects{font-size:10px}
.art-button{grid-auto-flow:column;gap:6px}.button-glyph{width:23px;height:23px;object-fit:contain}.two-buttons .button-glyph{width:18px;height:18px}.time-sun{width:18px;height:18px;object-fit:contain;vertical-align:-3px;margin-right:4px}
.panel,.night-card{background:transparent;border-color:transparent;box-shadow:none;isolation:isolate}.panel:before,.night-card:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border:33px solid transparent;border-right-width:45px;border-image-source:url('assets/panel.webp');border-image-slice:110 150 110 110 fill;border-image-repeat:stretch}
.growth,.need-track{background:transparent;border:0;isolation:isolate}.growth:before,.need-track:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border:6.8px solid transparent;border-left-width:11.5px;border-right-width:11.5px;border-image-source:url('assets/track.webp');border-image-slice:44 74 44 74 fill;border-image-repeat:stretch}.growth-well{position:absolute;inset:6.8px 11.5px;overflow:hidden;border-radius:15px}.growth-fill{height:100%}.growth-label{line-height:23px}.need-track{height:14px;padding:4.16px 7px;margin-top:15px}.need-track:before{border-top-width:4.16px;border-bottom-width:4.16px;border-left-width:7px;border-right-width:7px}.need-fill{height:100%}.need-number{margin-top:2px}

/* V12: one continuous raster surface; existing source pixels and corner sizes. */
.panel[data-panel-surface-status="ready"]:before,.night-card[data-panel-surface-status="ready"]:before{border:0;border-image:none;background-image:var(--panel-surface-image);background-position:0 0;background-size:100% 100%;background-repeat:no-repeat}
