/* Approved v7 ornament worlds; account and collection state stay unchanged. */
.decorated-pet > .pet-decoration{right:1%;top:3%;width:27%;max-height:32%;object-fit:contain}
.main[data-page="pet"] .pet-card .pet-scene:has(.is-interactive){height:auto;container-type:inline-size}
.main[data-page="pet"] .pet-card .pet-scene:has(.is-interactive)::before,.main[data-page="pet"] .pet-card .pet-scene:has(.is-interactive)::after{display:none}
.pet-card .decorated-pet.is-interactive{display:block;position:relative;width:320px;max-width:100%;height:360px;isolation:isolate}
.decoration-world{position:absolute;width:320px;height:320px;left:50%;top:calc(50% - 12px);transform:translate(-50%,-50%);isolation:isolate}
.decoration-world > :is(.pet-touch,.sprite-wrap){position:absolute;z-index:2;left:73px;top:93px;width:174px;height:218px;translate:none;padding:0;border:0;line-height:0;background:transparent}
.decoration-world:has([data-decoration="ufo"]) > :is(.pet-touch,.sprite-wrap){left:42px;top:100px;width:158px;height:211px}
.main[data-page="pet"] .decoration-world :is(.pet-touch > .sprite-wrap,.ptmon-motion,.ptmon-motion-art,.sample-pet,.pixel-sprite){width:100%;height:100%;max-width:100%}
.decoration-world > :is(.pet-touch,.sprite-wrap){transition:filter 850ms ease-in-out}
.decoration-world:has([data-decoration="orb"][data-sky="day"]) > :is(.pet-touch,.sprite-wrap){filter:brightness(1.08) drop-shadow(0 0 13px #ffe7ab)}
.decoration-world:has([data-decoration="orb"][data-sky="night"]) > :is(.pet-touch,.sprite-wrap){filter:brightness(.78) saturate(.88) drop-shadow(0 0 6px #aec1e4)}
.decoration-stage{position:absolute;inset:0;pointer-events:none}
.decoration-backdrop{position:absolute;z-index:0;inset:0;border-radius:22px;background:#eeefdf;overflow:hidden}
.decoration-backdrop::before,.decoration-backdrop::after{content:'';position:absolute;inset:0;opacity:0;transition:opacity 850ms ease-in-out}
.decoration-backdrop::before{background:radial-gradient(ellipse at 27% 21%,#fff8d9 0%,#fae5b5 46%,#e8e7d2 100%)}
.decoration-backdrop::after{background:radial-gradient(ellipse at 78% 18%,#6d8291 0%,#354c68 53%,#202e4b 100%)}
.decoration-stage[data-decoration="orb"][data-sky="day"] .decoration-backdrop::before,.decoration-stage[data-decoration="orb"][data-sky="night"] .decoration-backdrop::after{opacity:1}
.decoration-stage[data-decoration="meteor"] .decoration-backdrop{background:linear-gradient(#273b58,#526876 45%,transparent 90%)}
button.decoration-trigger{position:absolute;z-index:3;left:0;top:0;display:block;width:320px;height:93px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:22px 22px 0 0;background:transparent;pointer-events:auto;-webkit-tap-highlight-color:transparent;transform:none!important;overflow:visible}
.decoration-trigger:focus-visible{outline:var(--focus-ring);outline-offset:3px}
.decoration-trigger :is(img,span){pointer-events:none}
.decoration-actor{position:absolute;left:198px;top:1px;width:124px;height:83px;transform-origin:50% 68%}
.decoration-actor .pet-decoration{position:static;display:block;width:100%;height:100%;max-height:none;object-fit:contain;image-rendering:pixelated}
.decoration-emitter{position:absolute;left:calc(50% - 11px);top:75%;width:8px;height:5px;background:#fff5b6;box-shadow:0 0 10px 3px #ffdc7890;opacity:0}
.decoration-beam{position:absolute;z-index:1;left:215px;top:66px;width:76px;height:227px;transform-origin:50% 0;clip-path:polygon(44% 0,56% 0,56% 5%,62% 5%,62% 14%,68% 14%,68% 28%,76% 28%,76% 44%,84% 44%,84% 66%,92% 66%,92% 84%,100% 84%,100% 100%,0 100%,0 84%,8% 84%,8% 66%,16% 66%,16% 44%,24% 44%,24% 28%,32% 28%,32% 14%,38% 14%,38% 5%,44% 5%);background:linear-gradient(#ffffc9bb,#f8ed8480 50%,#f8ed8424);opacity:0}
.decoration-beam::after{content:'';position:absolute;left:41%;top:0;width:18%;height:100%;background:#fff8c14d}
.decoration-beam i{position:absolute;left:2%;width:96%;height:5px;background:#f7f4b6;top:83%;opacity:0}
.decoration-ground-glow{position:absolute;z-index:0;left:209px;top:282px;width:88px;height:14px;background:#c8d183;border:1px solid #aebc66;border-radius:50%;opacity:0}
.decoration-prop-shadow{position:absolute;z-index:0;left:225px;top:290px;width:56px;height:6px;background:#a6ac923d;border-radius:50%}
.decoration-prop{position:absolute;z-index:3;left:221px;top:253px;width:64px;height:64px;object-fit:contain;image-rendering:pixelated;transform-origin:50% 50%}
.decoration-stage[data-step="caught"] :is(.decoration-prop,.decoration-prop-shadow){opacity:0}
.decoration-stage :is(.decoration-sun,.decoration-moon){position:absolute;z-index:1;top:27px;display:block;width:66px;height:66px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 9px #fff2bb)}
.decoration-sun{left:24px}.decoration-moon{right:24px}
.decoration-stage[data-sky="day"] .decoration-moon{transform:translate(40px,130px);opacity:0}
.decoration-stage[data-sky="night"] .decoration-sun{transform:translate(-40px,130px);opacity:0}
.decoration-stage[data-sky="day"] .decoration-sun,.decoration-stage[data-sky="night"] .decoration-moon{transform:none;opacity:1}
.decoration-stage[data-sky="night"] .decoration-moon{filter:drop-shadow(0 0 12px #e5edee)}
.decoration-star-field{position:absolute;inset:0}
.decoration-sky-star{position:absolute;width:9px;height:9px;background:#fff3bc;clip-path:polygon(38% 0,62% 0,62% 38%,100% 38%,100% 62%,62% 62%,62% 100%,38% 100%,38% 62%,0 62%,0 38%,38% 38%);opacity:var(--star-opacity)}
.decoration-falling-star{position:absolute;z-index:1;width:12px;height:12px;opacity:0}
.decoration-falling-star i{position:absolute;inset:0;background:#fff6ce;box-shadow:0 0 8px #fff0a0;clip-path:polygon(38% 0,62% 0,62% 38%,100% 38%,100% 62%,62% 62%,62% 100%,38% 100%,38% 62%,0 62%,0 38%,38% 38%)}
.decoration-falling-star::before{content:'';position:absolute;left:6px;bottom:6px;width:5px;height:78px;transform-origin:50% 100%;transform:rotate(34deg);background:linear-gradient(transparent,#c1e9d8 80%,#fff4c2)}
.decoration-caption{position:absolute;z-index:4;inset:auto 0 -24px;min-height:20px;color:var(--muted);text-align:center;font-size:12px;line-height:20px;word-break:keep-all}
@container(max-width:319px){.pet-card .decorated-pet.is-interactive{height:324px}.decoration-world{transform:translate(-50%,-50%) scale(.9)}}
@container(max-width:289px){.pet-card .decorated-pet.is-interactive{height:288px}.decoration-world{transform:translate(-50%,-50%) scale(.8)}}
@container(max-width:259px){.pet-card .decorated-pet.is-interactive{height:252px}.decoration-world{transform:translate(-50%,-50%) scale(.7)}}
@container(max-width:229px){.pet-card .decorated-pet.is-interactive{height:216px}.decoration-world{transform:translate(-50%,-50%) scale(.6)}}
.decoration-grid {
  gap: 12px;
}
.decoration-grid article {
  padding: 14px;
  border-radius: 18px;
}
.decoration-grid article:has(button[aria-pressed="true"]) {
  border-color: var(--ink);
  background: color-mix(in srgb, var(--surface-muted) 55%, var(--surface));
}
.decoration-art {
  height: 96px;
  margin-bottom: 14px;
  border-radius: 14px;
  background: var(--surface-muted);
}
.decoration-art img {
  width: 72px;
  height: 72px;
  max-width: calc(100% - 12px);
}
.decoration-art.is-locked img {
  opacity: .62;
}
.decoration-grid .decoration-hint {
  font-size: 12px;
  margin-block: 6px 12px;
}
.decoration-grid progress {
  height: 4px;
  margin-block: 14px 12px;
}


@media(max-width:600px){.decoration-grid article{grid-template-columns:88px minmax(0,1fr);gap:12px;text-align:left}.decoration-art{height:96px;margin:0}.decoration-grid progress{margin:0}}
.decoration-world:has([data-motion="instant"]) > :is(.pet-touch,.sprite-wrap),.decoration-stage[data-motion="instant"] .decoration-backdrop::before,.decoration-stage[data-motion="instant"] .decoration-backdrop::after{transition:none}
@media(prefers-reduced-motion:reduce){.decoration-world > :is(.pet-touch,.sprite-wrap),.decoration-backdrop::before,.decoration-backdrop::after{transition:none}}
