.pet-evo-overlay{position:fixed;inset:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;border:0;z-index:2147483000;background:rgba(255,250,234,.96);color:#49321d;display:grid;place-items:center;padding:12px;box-sizing:border-box;overflow:auto}
.pet-evo-overlay::backdrop{background:transparent}
.fx-celebrate .pet-evo-result h2{visibility:visible}
.pet-evo-card{width:min(520px,100%);max-height:100%;text-align:center;overflow:auto;background:#fffaf0;border:2px solid #d8ad51;border-radius:20px;padding:12px;box-sizing:border-box}
.pet-evo-scene{height: min(34vh,240px);position:relative;isolation:isolate;overflow:hidden}
.pet-evo-scene img{position:absolute;width:100%;height:100%;inset:0;object-fit:contain;filter:drop-shadow(0 0 15px #efb935)}
.pet-evo-old{animation:pet-evo-old var(--evo-time) both}.pet-evo-new{animation:pet-evo-new var(--evo-time) both}
.pet-evo-ring,.pet-evo-flash{position:absolute;inset:20%;border-radius:50%;border:5px solid #e6b747;animation:pet-evo-ring var(--evo-time) both}
.pet-evo-flash{border:0;background:radial-gradient(circle,#fff 0%,#ffda75 35%,transparent 70%);animation:pet-evo-flash var(--evo-time) both}
.pet-evo-star{position:absolute;left:50%;top:50%;color:#b4770b;animation:pet-evo-star var(--evo-time) both;transform:rotate(var(--angle)) translateX(100px)}
.pet-evo-result{visibility:hidden}.pet-evo-result h2{font-size:clamp(18px,3vw,26px);background:#f6d47d;color:#563713;padding:8px;margin:6px 0;border-radius:8px}.pet-evo-result p{margin:5px;font-weight:700}
.pet-evo-card button{background:#f6d47d;color:#49321d;border:2px solid #bb8730;border-radius:10px;padding:8px 24px;margin-top:8px;cursor:pointer}.pet-evo-card button:focus-visible{outline:3px solid #98651a;outline-offset:2px}
.pet-evo-overlay.is-done .pet-evo-result{visibility:visible}.pet-evo-overlay.is-done .pet-evo-old,.pet-evo-overlay.is-done .pet-evo-star,.pet-evo-overlay.is-done .pet-evo-ring,.pet-evo-overlay.is-done .pet-evo-flash{display:none}.pet-evo-overlay.is-done .pet-evo-new{animation:none;opacity:1}
@keyframes pet-evo-old{0%,25%{opacity:1;transform:scale(1)}40%{filter:drop-shadow(0 0 30px #ffc442);transform:scale(1.15)}65%,100%{opacity:0;transform:scale(.6)}}
@keyframes pet-evo-new{0%,50%{opacity:0;transform:scale(.6)}80%{opacity:1;transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}
@keyframes pet-evo-ring{0%,25%{opacity:0;transform:scale(.3)}55%{opacity:1}100%{opacity:0;transform:scale(3)}}
@keyframes pet-evo-star{0%,35%{opacity:0;transform:rotate(var(--angle)) translateX(0)}65%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(160px)}}
@keyframes pet-evo-flash{0%,35%,100%{opacity:0}55%{opacity:1;transform:scale(2)}}
@media(prefers-reduced-motion:reduce){.pet-evo-scene *{animation:none!important}.pet-evo-old,.pet-evo-ring,.pet-evo-flash,.pet-evo-star{display:none}.pet-evo-new{animation:pet-evo-fade var(--evo-reduced-time) both!important}}
@keyframes pet-evo-fade{from{opacity:0}to{opacity:1}}

/* Decorative layers never intercept the equipment controls. */
.fx-beam{position:absolute;inset:0 32%;background:linear-gradient(90deg,transparent,#ffe5a0,white,#ffe5a0,transparent);opacity:.6;pointer-events:none;animation:pet-evo-flash var(--evo-time) both}
.fx-foot-aura{position:absolute;left:28%;right:28%;bottom:5%;height:12%;border:3px solid var(--fx-aura,#ddd);border-radius:50%;box-shadow:0 0 20px var(--fx-aura,#ddd),inset 0 0 18px var(--fx-aura,#ddd);pointer-events:none;animation:fx-breathe 3s ease-in-out infinite}
[data-fx-rank="0"]{--fx-aura:#d5d8df}[data-fx-rank="1"]{--fx-aura:#629fe8}[data-fx-rank="2"]{--fx-aura:#ad78dc}[data-fx-rank="3"]{--fx-aura:#e6b642}[data-fx-rank="4"]{--fx-aura:#e16b70}
.fx-sweep,.fx-shine{position:relative}.fx-sweep .gear-template-hero,.fx-shine img{animation:fx-shine 1.2s ease-out}
.fx-floating{position:absolute;left:5%;right:5%;top:35%;z-index:20;pointer-events:none;text-align:center;font-weight:700;font-size:16px;color:#674512;background:#fff8e2eF;border:1px solid #dbb965;border-radius:10px;padding:6px;overflow-wrap:anywhere;animation:fx-rise 2.2s both}
.fx-enhance-toast{position:fixed;right:12px;top:12px;z-index:2147483001;width:150px;height:130px;background:#fff7e4;border:2px solid #d8ad51;border-radius:14px;pointer-events:none}.fx-enhance-toast img{width:100%;height:80px;object-fit:contain}
@keyframes fx-breathe{50%{opacity:.45;transform:scale(.95)}}
@keyframes fx-rise{0%{opacity:0;transform:translateY(18px)}20%,75%{opacity:1}100%{opacity:0;transform:translateY(-22px)}}
@keyframes fx-shine{35%{filter:brightness(2) drop-shadow(0 0 12px #ffc95f)}70%{filter:brightness(1.25)}}
.gear-character-stage.fx-sweep::after{content:"";position:absolute;inset:10% 28% 5%;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#fff5b9cc 48%,#fff 50%,transparent 65%);background-size:300% 100%;animation:fx-scan 1.2s both}
@keyframes fx-scan{from{background-position:100% 0;opacity:0}30%{opacity:.7}to{background-position:0 0;opacity:0}}
@media(max-height:450px){.pet-evo-card{width:min(650px,100%);display:grid;grid-template-columns:40% 1fr;align-items:center;gap:6px}.pet-evo-scene{height:210px;grid-row:1/3}.pet-evo-result p{font-size:14px}.pet-evo-card button{margin:0}.pet-evo-result h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.fx-foot-aura,.fx-floating,.fx-sweep .gear-template-hero,.fx-shine img,.fx-beam{animation:none!important}.fx-beam,.gear-character-stage.fx-sweep::after{display:none}.fx-floating{opacity:1}}

/* v649：慶祝卡多色層次（參考 ref-color-layers：淡彩漸層、白卡、彩色 chip、金色主鈕） */
.pet-evo-overlay{background:radial-gradient(circle at 50% 38%,rgba(255,244,214,.97),rgba(234,242,255,.96) 55%,rgba(246,236,255,.96))}
.pet-evo-card{background:#fff;border:0;border-radius:22px;padding:0 0 14px;box-shadow:0 18px 50px rgba(70,90,150,.22),0 0 0 3px #f3d27e}
.pet-evo-scene{background:radial-gradient(circle at 50% 55%,#fff6d6 0,#ffe7a8 22%,#dcebff 52%,#ece2ff 100%);border-radius:22px 22px 0 0}
.pet-evo-result{padding:0 16px}
.pet-evo-result h2{background:linear-gradient(90deg,#3d6fd8,#7a5ad8);color:#fff;border-radius:999px;margin:-18px auto 10px;width:fit-content;max-width:100%;padding:8px 26px;box-shadow:0 6px 16px rgba(61,111,216,.35);position:relative}
.pet-evo-result p{display:inline-block;margin:4px 5px;padding:5px 14px;border-radius:999px;font-weight:800;background:#e8f1ff;color:#2a4f9a;border:1px solid #bcd3fb}
.pet-evo-result p:nth-of-type(2){background:#ffe9e9;color:#a83a3a;border-color:#f6c0c0}
.pet-evo-result p:nth-of-type(3){background:#fff0dd;color:#9a5a12;border-color:#f3cf9c}
.pet-evo-result p:nth-of-type(4){background:#f1e8ff;color:#6340a8;border-color:#d6c2f7}
.pet-evo-card button{background:linear-gradient(180deg,#ffe08a,#f2b938);color:#4a300c;border:0;border-radius:999px;padding:9px 34px;font-weight:800;box-shadow:0 4px 0 #c98a1c}
@media(max-height:450px){.pet-evo-scene{border-radius:22px 0 0 22px;height:100%;min-height:200px}.pet-evo-card{padding:0 12px 0 0}.pet-evo-result h2{margin:10px auto 8px}}
