.page-dashboard .base-titleboard h1,.page-material-dashboard .base-titleboard h1{font-size:clamp(2rem,3.3vw,3.3rem)!important;line-height:1.15!important}
.game-entry-button{display:inline-flex;align-items:center;color:#5e6170;text-decoration:none;font-weight:900;white-space:nowrap}
.table-wrap{overflow:auto!important;max-height:min(68vh,720px);overscroll-behavior:contain}
.table-wrap table thead th,.table-wrap table>tbody:first-child>tr:first-child th,.table-wrap table>tr:first-child th{position:sticky;top:0;z-index:5;box-shadow:0 2px 0 rgba(100,110,125,.2)}
.pet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.pet-card{padding:18px;border:2px solid #efc3cc;border-radius:20px;background:#fffaf9;text-align:center}.pet-card>span{display:block;font-size:64px}.pet-card h3{margin:4px 0}.pet-card progress{display:block;width:100%;margin:7px 0}.pet-card form{display:grid;gap:8px;margin-top:12px}.rarity-rare{border-color:#88bce9}.rarity-epic{border-color:#ae8adb}.rarity-legendary{border-color:#ef9c67}.rarity-mythic{border-color:#ef7596}
.game-settings-form{margin-bottom:20px}.game-settings-form label{background:#fff9fb;border:1px solid #efc3cc;border-radius:14px;padding:12px}
@media(max-width:700px){.system-status-bar{max-width:calc(100vw - 90px);flex-wrap:wrap}.game-entry-button{font-size:12px}.pet-grid{grid-template-columns:1fr}}
.heading,main>h1{position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}
.pet-sprite,.item-sprite{display:block;width:160px;aspect-ratio:1;margin:auto;background-repeat:no-repeat;background-color:transparent}
.pet-sprite{background-image:url('assets/game-pet-atlas-v2.png');background-size:600% 500%}.item-sprite{background-image:url('assets/game-item-atlas-v2.png');background-size:700% 300%}
.pet-sprite[style*="--pet-index:0"]{background-position:0% 0%}.pet-sprite[style*="--pet-index:1"]{background-position:20% 0%}.pet-sprite[style*="--pet-index:2"]{background-position:40% 0%}.pet-sprite[style*="--pet-index:3"]{background-position:60% 0%}.pet-sprite[style*="--pet-index:4"]{background-position:80% 0%}.pet-sprite[style*="--pet-index:5"]{background-position:100% 0%}
.pet-sprite[style*="--pet-index:6"]{background-position:0% 25%}.pet-sprite[style*="--pet-index:7"]{background-position:20% 25%}.pet-sprite[style*="--pet-index:8"]{background-position:40% 25%}.pet-sprite[style*="--pet-index:9"]{background-position:60% 25%}.pet-sprite[style*="--pet-index:10"]{background-position:80% 25%}.pet-sprite[style*="--pet-index:11"]{background-position:100% 25%}
.pet-sprite[style*="--pet-index:12"]{background-position:0% 50%}.pet-sprite[style*="--pet-index:13"]{background-position:20% 50%}.pet-sprite[style*="--pet-index:14"]{background-position:40% 50%}.pet-sprite[style*="--pet-index:15"]{background-position:60% 50%}.pet-sprite[style*="--pet-index:16"]{background-position:80% 50%}.pet-sprite[style*="--pet-index:17"]{background-position:100% 50%}
.pet-sprite[style*="--pet-index:18"]{background-position:0% 75%}.pet-sprite[style*="--pet-index:19"]{background-position:20% 75%}.pet-sprite[style*="--pet-index:20"]{background-position:40% 75%}.pet-sprite[style*="--pet-index:21"]{background-position:60% 75%}.pet-sprite[style*="--pet-index:22"]{background-position:80% 75%}.pet-sprite[style*="--pet-index:23"]{background-position:100% 75%}
.pet-sprite[style*="--pet-index:24"]{background-position:0% 100%}.pet-sprite[style*="--pet-index:25"]{background-position:20% 100%}.pet-sprite[style*="--pet-index:26"]{background-position:40% 100%}.pet-sprite[style*="--pet-index:27"]{background-position:60% 100%}.pet-sprite[style*="--pet-index:28"]{background-position:80% 100%}.pet-sprite[style*="--pet-index:29"]{background-position:100% 100%}
.item-sprite[style*="--item-index:0"]{background-position:0% 0%}.item-sprite[style*="--item-index:1"]{background-position:16.666% 0%}.item-sprite[style*="--item-index:2"]{background-position:33.333% 0%}.item-sprite[style*="--item-index:3"]{background-position:50% 0%}.item-sprite[style*="--item-index:4"]{background-position:66.666% 0%}.item-sprite[style*="--item-index:5"]{background-position:83.333% 0%}.item-sprite[style*="--item-index:6"]{background-position:100% 0%}
.item-sprite[style*="--item-index:7"]{background-position:0% 50%}.item-sprite[style*="--item-index:8"]{background-position:16.666% 50%}.item-sprite[style*="--item-index:9"]{background-position:33.333% 50%}.item-sprite[style*="--item-index:10"]{background-position:50% 50%}.item-sprite[style*="--item-index:11"]{background-position:66.666% 50%}.item-sprite[style*="--item-index:12"]{background-position:83.333% 50%}.item-sprite[style*="--item-index:13"]{background-position:100% 50%}
.item-sprite[style*="--item-index:14"]{background-position:0% 100%}.item-sprite[style*="--item-index:15"]{background-position:16.666% 100%}.item-sprite[style*="--item-index:16"]{background-position:33.333% 100%}.item-sprite[style*="--item-index:17"]{background-position:50% 100%}.item-sprite[style*="--item-index:18"]{background-position:66.666% 100%}.item-sprite[style*="--item-index:19"]{background-position:83.333% 100%}.item-sprite[style*="--item-index:20"]{background-position:100% 100%}
.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.collection-card{padding:10px;border:1px solid #efc3cc;border-radius:16px;background:#fff;text-align:center}.collection-card .pet-sprite,.collection-card .item-sprite{width:120px}.silhouette{filter:brightness(0);opacity:.5}
.floating-pet{position:fixed;z-index:70;right:84px;bottom:12px;width:138px;padding:0 0 5px;border:0;background:transparent!important;box-shadow:none!important;color:#6b5260}.floating-pet .pet-sprite{width:132px}.floating-pet small{padding:2px 8px;border-radius:999px;background:#fff;border:1px solid #efc3cc}.floating-pet i{position:absolute;right:5px;top:2px;color:#f07b9b;opacity:0;font-size:24px}
.pet-idle{animation:pet-breathe 3s ease-in-out infinite}.pet-card.is-hungry .pet-sprite,.floating-pet.is-hungry .pet-sprite{animation:pet-hungry 2.8s ease-in-out infinite}.pet-card.is-weak .pet-sprite,.floating-pet.is-weak .pet-sprite{animation:pet-weak 4s ease-in-out infinite}.pet-card.is-petted .pet-sprite,.floating-pet.is-petted .pet-sprite{animation:pet-happy .8s ease}.pet-card.is-petted:after{content:'♥';position:absolute;color:#f27998;font-size:30px;animation:heart-rise .9s ease forwards}.pet-card.is-feeding .pet-sprite{animation:pet-feed .9s ease}.egg-shake{animation:egg-shake 2.8s ease-in-out infinite}.page-game-home .flash.success+.heading~.panel .egg-shake{animation:hatch-glow 1.2s ease}
@keyframes pet-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.015)}}@keyframes pet-hungry{0%,100%{transform:translateY(0)}45%{transform:translateY(5px) rotate(-2deg)}55%{transform:translateY(5px) rotate(2deg)}}@keyframes pet-weak{0%,100%{transform:translateY(9px) scale(.97)}50%{transform:translateY(11px) scale(.95);opacity:.82}}@keyframes pet-happy{0%{transform:scale(1)}35%{transform:translateY(-18px) rotate(-6deg)}70%{transform:translateY(-5px) rotate(6deg)}100%{transform:none}}@keyframes pet-feed{0%{transform:none}45%{transform:scale(1.08) rotate(-3deg)}100%{transform:none}}@keyframes egg-shake{0%,85%,100%{transform:rotate(0)}89%{transform:rotate(-4deg)}93%{transform:rotate(4deg)}97%{transform:rotate(-2deg)}}@keyframes hatch-glow{0%{filter:brightness(1)}50%{filter:brightness(1.8) drop-shadow(0 0 24px #fff4a0)}100%{filter:none}}@keyframes heart-rise{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-45px)}}
@media(max-width:700px){.heading,main>h1{top:0}.floating-pet{right:8px;bottom:8px;transform:scale(.72);transform-origin:right bottom}}
.pet-card{position:relative}.feed-bite{position:absolute!important;z-index:4;width:74px!important;left:50%;top:105px;transform:translateX(-50%);animation:food-eaten .75s ease forwards}.game-wallet{font-size:1.15rem;font-weight:900;color:#9b6818}.food-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.food-shop-card{padding:12px;border:1px solid #efc3cc;border-radius:16px;text-align:center;background:#fff}.food-shop-card .item-sprite{width:110px}.food-shop-card form{margin-top:8px}@keyframes food-eaten{0%{opacity:0;transform:translate(-50%,24px) scale(.7)}35%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-30px) scale(.2)}}
.mystery-pet{display:grid;place-items:center;width:96px;height:118px;margin:5px auto 12px;border-radius:46% 54% 48% 52%;background:#292b35;color:#fff;font-size:42px;font-weight:900;box-shadow:inset 0 -8px 0 rgba(0,0,0,.18);animation:mystery-pulse 3s ease-in-out infinite}.floating-pet{appearance:none!important;width:150px!important;height:150px!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;outline:none!important;overflow:visible!important}.floating-pet .pet-sprite{width:145px!important}.no-pet-frame{background:transparent!important;border-color:transparent!important;box-shadow:none!important}.no-pet-frame:hover{background:rgba(255,255,255,.35)!important}.pet-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;text-align:left}.pet-stats label{font-size:.8rem}.mission-list{display:grid;gap:9px}.mission-list article{display:grid;grid-template-columns:minmax(130px,1fr) auto;gap:5px 12px;align-items:center;padding:10px;border:1px solid #d8cfe0;border-radius:14px}.mission-list progress{grid-column:1/2;width:100%}.chest-row{display:flex;flex-wrap:wrap;gap:12px}.chest-button{min-width:135px}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.inventory-grid article{display:grid;place-items:center;padding:10px;border:1px solid #edd2d9;border-radius:15px;background:rgba(255,255,255,.72)}.inventory-grid .item-sprite{width:90px}.item-emoji{display:grid;place-items:center;height:90px;font-size:58px}.pet-idle{animation:pet-idle-life 3.6s ease-in-out infinite!important;transform-origin:50% 80%}@keyframes pet-idle-life{0%,100%{transform:translateY(0) scale(1) rotate(0)}35%{transform:translateY(-4px) scale(1.012) rotate(-.5deg)}48%{transform:translateY(-4px) scaleY(.965) rotate(.5deg)}55%{transform:translateY(-3px) scale(1.01) rotate(-1deg)}70%{transform:translateY(0) rotate(1deg)}}@keyframes mystery-pulse{0%,100%{transform:scale(1);opacity:.82}50%{transform:scale(1.035);opacity:1}}
.preference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.preference-grid form{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(120px,1.4fr) auto;align-items:center;gap:8px;padding:12px;border:1px solid #f2c7d1;border-radius:16px;background:rgba(255,255,255,.75)}.preference-grid select,.preference-grid button{min-height:40px}.preference-grid button{width:auto;padding:7px 14px}@media(max-width:720px){.preference-grid form{grid-template-columns:1fr}.preference-grid button{width:100%}}
.pet-silhouette{filter:brightness(0)!important;opacity:.9;animation:silhouette-breathe 3.4s ease-in-out infinite}.pet-silhouette:after{content:'?';position:absolute;display:grid;place-items:center;inset:34% 36%;border-radius:50%;background:#fff;color:#16161c;font-size:2rem;font-weight:900;filter:none}.collection-card .pet-silhouette{position:relative}.shop-entry{background:linear-gradient(#ffadbd,#e87992)!important;border-color:#c95b78!important}.shop-section>p{color:#776b75}.shop-price{margin:7px 0;font-weight:900;color:#9b6818}.shop-egg{animation:egg-shake 2.8s ease-in-out infinite}.starvation-warning{padding:7px;border:1px solid #e39393;border-radius:12px;background:#fff0f0;color:#a93737;font-weight:800}@keyframes silhouette-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.02)}}
.pet-sprite,.item-sprite{clip-path:inset(5px)}.collection-card{overflow:hidden}.collection-card summary{cursor:pointer;list-style:none}.collection-card summary::-webkit-details-marker{display:none}.collection-card[open]{grid-column:span 2;background:#fff9fb}.collection-detail{display:grid;gap:8px;padding-top:10px;border-top:1px dashed #efc3cc}.collection-detail form{display:grid;gap:6px}.floating-pet{transition:left 3.2s ease-in-out,top 3.2s ease-in-out!important;right:auto!important;bottom:auto!important;cursor:pointer}.pet-pat-hand{position:fixed;z-index:90;font-size:42px;pointer-events:none;animation:pat-hand .7s ease forwards}@keyframes pat-hand{0%{opacity:0;transform:translate(12px,-18px) rotate(-20deg) scale(.7)}35%{opacity:1;transform:translate(0,0) rotate(8deg) scale(1)}100%{opacity:0;transform:translate(-5px,10px) rotate(-8deg) scale(.8)}}@media(max-width:700px){.collection-card[open]{grid-column:span 1}}

/* v1.3.29 companion movement and petting */
.floating-pet-shell{position:fixed;z-index:70;bottom:12px;width:165px;height:158px;transition:left 4.6s linear,bottom .8s ease;pointer-events:none}.floating-pet-shell .floating-pet{position:absolute!important;left:0!important;top:4px!important;width:150px!important;height:145px!important;transition:none!important;pointer-events:auto;touch-action:none}.floating-pet-shell .pet-sprite{transform-origin:50% 86%}.floating-pet-shell.walk-right .pet-sprite{scale:-1 1}.floating-pet-shell.is-crawling:not(.is-being-petted) .pet-sprite{animation:pet-crawl .62s ease-in-out infinite!important}.floating-pet-shell.is-crawling:not(.is-being-petted):after{content:'••';position:absolute;left:46px;bottom:4px;color:#887381;font-size:25px;letter-spacing:20px;animation:paw-step .62s ease-in-out infinite;opacity:.42}.floating-pet-shell.is-being-petted .pet-sprite,.floating-pet.is-petted .pet-sprite{animation:petting-reaction .72s ease-in-out infinite!important;transform:rotate(var(--pet-stroke,0deg)) scaleY(.94)}.pet-window-link{position:absolute;right:0;bottom:8px;display:grid;place-items:center;width:38px;height:38px;border:3px solid #817886;border-radius:50%;background:#fffaf4;color:#765d70;text-decoration:none;box-shadow:0 4px 0 #68616c;pointer-events:auto}.pet-window-link:hover{transform:translateY(-2px)}.pet-dialogue{position:absolute;left:50%;bottom:145px;min-width:128px;max-width:210px;padding:8px 12px;border:2px solid #d6a5b6;border-radius:15px;background:#fffaf7;color:#6f5260;font-weight:800;text-align:center;opacity:0;transform:translate(-50%,8px);transition:.2s;pointer-events:none}.pet-dialogue.show{opacity:1;transform:translate(-50%,0)}.pet-dialogue:after{content:'';position:absolute;left:45%;bottom:-9px;border:8px solid transparent;border-top-color:#fffaf7;border-bottom:0}.pet-gentle-heart{position:fixed;z-index:91;color:#ef7f9e;font-size:23px;pointer-events:none;animation:gentle-heart 1.15s ease-out forwards}.pet-pat-hand{font-size:38px;transform-origin:50% 100%}.system-link-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.user-edit-role-sprite{width:132px!important;height:132px!important;flex:0 0 132px}.unselected-role-picture{display:grid;place-items:center;width:120px;height:120px;border:4px solid #baacb8;border-radius:28px;background:#fff;font-size:54px}
@keyframes pet-crawl{0%,100%{transform:translateY(0) rotate(-1.5deg) scaleY(.98)}50%{transform:translateY(-5px) rotate(1.5deg) scaleY(1.02)}}
@keyframes paw-step{0%,100%{transform:translateX(-7px) scaleX(.9)}50%{transform:translateX(7px) scaleX(1.08)}}
@keyframes petting-reaction{0%,100%{transform:translateY(0) rotate(var(--pet-stroke,0deg)) scaleY(.96)}35%{transform:translateY(7px) rotate(calc(var(--pet-stroke,0deg) - 2deg)) scale(1.03,.9)}70%{transform:translateY(2px) rotate(calc(var(--pet-stroke,0deg) + 2deg)) scale(.99,.95)}}
@keyframes gentle-heart{0%{opacity:0;transform:translateY(0) scale(.75)}25%{opacity:1}100%{opacity:0;transform:translateY(-48px) scale(.35)}}
@media(max-width:700px){.floating-pet-shell{transform:scale(.72);transform-origin:left bottom}.system-link-grid{grid-template-columns:1fr}}
.floating-pet-shell .floating-pet,.floating-pet-shell .floating-pet:hover,.floating-pet-shell .floating-pet:focus{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.floating-pet-shell .pet-sprite{background-color:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;clip-path:none!important}
.pet-sprite,.item-sprite{clip-path:none!important;overflow:visible!important}
.food-shop-card{overflow:visible}.food-shop-card .item-sprite{width:132px!important;height:132px!important;clip-path:none!important;background-size:contain!important}
.system-database-tools form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end;margin-top:16px}.system-database-tools label{margin:0}
.admin-dock-panel nav a[href="/admin/users"],.admin-dock-panel nav a[href="/admin/game-settings"],.admin-dock-panel nav a[href^="/admin/audit"],.admin-dock-panel nav a[href="/export/all"]{display:none!important}
@media(max-width:700px){.system-database-tools form{grid-template-columns:1fr}}
.pet-detail-page{max-width:760px;margin-inline:auto;text-align:center}.pet-detail-page>.pet-sprite,.pet-detail-page>.item-sprite{width:min(320px,70vw);height:min(320px,70vw)}.pet-detail-actions{display:grid;gap:12px;margin-top:20px}.pet-detail-actions form{display:grid;grid-template-columns:1fr auto;gap:10px}.pet-detail-actions form:not(:has(select)){grid-template-columns:1fr}.pet-detail-page .pet-stats{font-size:1rem;gap:14px}
.admin-dock-panel nav{display:flex!important;flex-direction:column}.admin-dock-panel nav .admin-menu-label{order:999;margin-top:10px}
.user-profile-expanded{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:24px;align-items:stretch}.user-profile-main{min-width:0}.user-pet-summary{display:grid;align-content:start;justify-items:center;padding:18px;border:2px solid #d9c8d7;border-radius:22px;background:linear-gradient(145deg,#fffdf7,#f5f7ff);text-align:center}.user-pet-summary .pet-sprite{width:210px;height:210px}.user-pet-summary .pet-stats{width:100%}.no-user-pet{display:grid;place-items:center;min-height:260px;font-size:72px;color:#9b8fa0}.no-user-pet p{font-size:1rem}
.shop-welcome-dialog{position:fixed;z-index:200;inset:50% auto auto 50%;width:min(760px,calc(100vw - 32px));transform:translate(-50%,-50%);padding:28px;border:4px solid #8a7184;border-radius:30px;background:linear-gradient(145deg,#fffaf4,#f9eaf2);box-shadow:0 0 0 100vmax rgba(45,39,48,.58),0 12px 0 #665b68;text-align:center}.shop-welcome-dialog h2{font-size:clamp(1.8rem,4vw,3rem);margin:0}.welcome-chests{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.welcome-chests form,.welcome-chests button{width:100%}.welcome-chests button{display:grid;gap:8px;place-items:center;min-height:190px}.welcome-chests span{font-size:76px;animation:egg-shake 2.4s ease-in-out infinite}
@media(max-width:760px){.user-profile-expanded{grid-template-columns:1fr}.welcome-chests{grid-template-columns:1fr}.welcome-chests button{min-height:105px}.shop-welcome-dialog{max-height:90vh;overflow:auto}}
.floating-pet-shell.is-running{transition:left 1.35s linear,bottom .35s ease!important}.floating-pet-shell.is-running:not(.is-being-petted) .pet-sprite{animation:pet-run .34s ease-in-out infinite!important}.floating-pet-shell.is-running:after{content:'💨';position:absolute;left:-12px;bottom:30px;font-size:28px;animation:pet-dust .8s ease-out infinite}
.floating-pet-shell.is-napping:not(.is-being-petted) .pet-sprite{animation:pet-nap 3.2s ease-in-out infinite!important}.floating-pet-shell.is-napping:after{content:'Z z z';position:absolute;right:0;top:-8px;color:#8876a5;font-weight:900;font-size:23px;letter-spacing:2px;animation:pet-zzz 2.1s ease-out infinite}
.floating-pet-shell.is-blinking:not(.is-being-petted) .pet-sprite{animation:pet-blink 2.8s ease-in-out infinite!important}
.floating-pet-shell.is-rolling:not(.is-being-petted) .pet-sprite{animation:pet-roll 1.4s cubic-bezier(.5,.05,.4,1) 2!important}
.floating-pet-shell.is-playing:not(.is-being-petted) .pet-sprite{animation:pet-play 1.05s ease-in-out infinite!important}.floating-pet-shell.is-playing:after{content:'✦';position:absolute;right:10px;top:12px;color:#f3a83d;font-size:30px;animation:pet-sparkle 1s ease-in-out infinite}
@keyframes pet-run{0%,100%{transform:translateY(2px) rotate(-3deg) scale(1.03,.96)}50%{transform:translateY(-12px) rotate(3deg) scale(.98,1.05)}}
@keyframes pet-dust{0%{opacity:.8;transform:translateX(18px) scale(.5)}100%{opacity:0;transform:translateX(-20px) scale(1.2)}}
@keyframes pet-nap{0%,100%{transform:translateY(12px) rotate(-7deg) scale(1.03,.91)}50%{transform:translateY(14px) rotate(-8deg) scale(1.06,.88)}}
@keyframes pet-zzz{0%{opacity:0;transform:translate(0,12px) scale(.7)}40%{opacity:1}100%{opacity:0;transform:translate(14px,-20px) scale(1.08)}}
@keyframes pet-blink{0%,43%,49%,100%{transform:scaleY(1)}46%{transform:translateY(6px) scaleY(.88)}}
@keyframes pet-roll{0%{transform:translateX(0) rotate(0) scale(1)}50%{transform:translateX(-22px) rotate(-180deg) scale(.94)}100%{transform:translateX(0) rotate(-360deg) scale(1)}}
@keyframes pet-play{0%,100%{transform:translateY(0) rotate(-2deg)}35%{transform:translateY(-20px) rotate(8deg) scale(1.04)}65%{transform:translateY(-7px) rotate(-7deg)}}
@keyframes pet-sparkle{0%,100%{opacity:.25;transform:scale(.6) rotate(0)}50%{opacity:1;transform:scale(1.25) rotate(35deg)}}
.collection-card.locked-feedback{animation:locked-card-shake .45s ease}.collection-card.locked-feedback:after{content:'尚未取得';display:block;margin-top:6px;color:#c0526e;font-weight:900}@keyframes locked-card-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.user-profile-expanded{grid-template-columns:minmax(300px,.75fr) minmax(0,1.55fr)!important}.user-profile-expanded .user-pet-summary{order:1}.user-profile-expanded .user-profile-main{order:2}.locked-pet-status{display:block;margin-top:6px;color:#d45372;font-weight:900}.keke-alert{position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:20px;background:rgba(43,39,47,.58);backdrop-filter:blur(4px)}.keke-alert section{width:min(430px,100%);padding:25px;border:4px solid #8c7a8b;border-radius:26px;background:linear-gradient(145deg,#fffaf4,#f7edf5);box-shadow:0 10px 0 #615863;text-align:center}.keke-alert h2{margin-top:0;color:#c15372}.keke-alert p{font-size:1.08rem;white-space:pre-wrap}.keke-alert button{min-width:150px}@media(max-width:760px){.user-profile-expanded{grid-template-columns:1fr!important}.user-profile-expanded .user-pet-summary,.user-profile-expanded .user-profile-main{order:initial}}
.wood-chest-art{position:relative;display:block;width:118px;height:92px;font-size:0;animation:chest-knock 2.4s ease-in-out infinite;filter:drop-shadow(0 7px 1px rgba(78,43,17,.25))}.wood-chest-art i{position:absolute;display:block}.wood-chest-art .chest-lid{left:8px;top:8px;width:102px;height:43px;border:5px solid #704018;border-radius:48px 48px 9px 9px;background:repeating-linear-gradient(90deg,#c9762f 0 27px,#a95b25 27px 32px);box-shadow:inset 0 7px #e9a24f}.wood-chest-art .chest-body{left:4px;top:43px;width:110px;height:46px;border:5px solid #704018;border-radius:6px 6px 16px 16px;background:repeating-linear-gradient(90deg,#bf692b 0 28px,#93491e 28px 33px);box-shadow:inset 0 -8px #8e451d}.wood-chest-art .chest-band{left:50px;top:8px;width:18px;height:81px;border-inline:4px solid #80501d;background:linear-gradient(90deg,#e9ad3d,#ffd36b 48%,#bc741d)}.wood-chest-art .chest-lock{left:47px;top:47px;width:25px;height:25px;border:4px solid #754517;border-radius:5px 5px 9px 9px;background:#f0b83f;box-shadow:inset 0 -5px #bd7920}.wood-chest-art .chest-lock:after{content:'';position:absolute;left:8px;top:6px;width:5px;height:10px;border-radius:50% 50% 2px 2px;background:#6e3d18}.wood-chest-small{margin:0 auto 6px;transform:scale(.58);transform-origin:center;animation:none}.chest-button .wood-chest-small{height:55px;margin-top:-15px;margin-bottom:0}@keyframes chest-knock{0%,70%,100%{transform:translateY(0) rotate(0)}76%{transform:translateY(-5px) rotate(-2deg)}82%{transform:translateY(0) rotate(2deg)}88%{transform:translateY(-3px) rotate(-1deg)}}
.pet-vitals{grid-template-columns:1fr!important;gap:10px!important;width:100%}.pet-vitals label{display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:center;font-size:.95rem!important;font-weight:800}.pet-vitals label span{text-align:left}.pet-vitals label b{font-variant-numeric:tabular-nums}.pet-vitals progress{grid-column:1/-1;width:100%;height:12px}.pet-vitals .intimacy-level{padding:9px 11px;border:1px solid #edcbd7;border-radius:13px;background:linear-gradient(90deg,#fff4f8,#f5efff)}
.hatch-process{display:grid;justify-items:center;gap:15px;padding:18px;border:2px solid #e7d4df;border-radius:24px;background:radial-gradient(circle at 50% 26%,#fff8ce 0 12%,#fff8f5 42%,#edf5ff 100%)}.incubator-glow{display:grid;place-items:center;width:min(300px,70vw);height:min(300px,70vw);border-radius:50%;background:radial-gradient(circle,#fff 0 25%,rgba(255,224,116,.72) 42%,rgba(171,208,255,.25) 67%,transparent 70%);animation:incubator-pulse 2.4s ease-in-out infinite}.incubator-glow .pet-egg{width:190px;height:190px}.hatch-process.is-incubating .pet-egg{animation:hatching-egg 1.6s ease-in-out infinite!important}.hatch-process.is-ready .pet-egg{animation:hatching-ready .72s ease-in-out infinite!important;filter:drop-shadow(0 0 18px #ffe270)}.hatch-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.hatch-steps span{padding:10px 7px;border:2px solid #d7d3dc;border-radius:14px;background:#f7f7fb;color:#888;text-align:center;font-weight:800}.hatch-steps span.done{border-color:#98c486;background:#eef9e8;color:#4b773d}.hatch-steps span.active{border-color:#e7b45f;background:#fff4d8;color:#94621c;animation:incubator-pulse 1.5s ease-in-out infinite}.hatch-progress{width:min(520px,100%);height:15px}.hatch-progress:not([value]){animation:progress-wait 1.5s ease-in-out infinite}@keyframes incubator-pulse{0%,100%{transform:scale(1);opacity:.88}50%{transform:scale(1.025);opacity:1}}@keyframes hatching-egg{0%,70%,100%{transform:rotate(0) translateY(0)}76%{transform:rotate(-5deg) translateY(-4px)}83%{transform:rotate(5deg) translateY(0)}90%{transform:rotate(-3deg) translateY(-2px)}}@keyframes hatching-ready{0%,100%{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.04)}}@keyframes progress-wait{0%{opacity:.55}50%{opacity:1}100%{opacity:.55}}@media(max-width:600px){.hatch-steps{grid-template-columns:1fr}.incubator-glow{width:230px;height:230px}.incubator-glow .pet-egg{width:150px;height:150px}}
.chest-button>span{display:inline-block;font-size:30px}.wooden-chest{background:linear-gradient(#bd8752,#8b572f)!important;border-color:#6d4328!important}.blue-chest{background:linear-gradient(#74bce9,#3e78ba)!important;border-color:#285a95!important}.chest-opening-overlay{position:fixed;z-index:300;inset:0;display:grid;place-items:center;background:rgba(39,35,43,.62);backdrop-filter:blur(4px)}.chest-opening-box{display:grid;place-items:center;gap:12px;min-width:280px;padding:36px;border:4px solid #806d7d;border-radius:28px;background:#fff9f1;box-shadow:0 10px 0 #5f5560}.chest-opening-box span{font-size:110px;animation:chest-knock .52s ease-in-out infinite}.chest-opening-box b{font-size:25px;color:#745264}.chest-opening-box span.knock-two{filter:drop-shadow(0 0 14px #8dc8ff)}.chest-opening-box span.knock-three{filter:drop-shadow(0 0 22px #ffe077)}@keyframes chest-knock{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-16px) rotate(-5deg)}70%{transform:translateY(3px) rotate(4deg)}}
.permission-section{margin-top:16px;padding:14px;border:2px solid #d7dce5;border-radius:18px;background:rgba(255,255,255,.55)}.permission-section h3{margin:0 0 12px;color:#667188}.material-approval-form{display:grid;grid-template-columns:110px minmax(150px,1fr) auto;gap:8px;align-items:center}.approval-actions{display:flex;gap:7px;align-items:center}.approval-actions input{min-width:120px}@media(max-width:760px){.material-approval-form{grid-template-columns:1fr}.approval-actions{display:grid}}
.material-approval-form{grid-template-columns:84px minmax(320px,1fr) auto}.short-quantity{width:84px!important;min-width:70px!important}.long-reason{width:100%!important;min-width:280px}.material-add-request{display:grid;grid-template-columns:minmax(320px,1fr) 105px minmax(260px,.8fr) auto;gap:12px;align-items:end}.material-add-request label{margin:0}.material-add-request button{width:auto;white-space:nowrap}.user-profile-expanded{grid-template-columns:minmax(0,1.85fr) minmax(230px,.55fr)!important}.user-profile-expanded .user-profile-main{order:1}.user-profile-expanded .user-pet-summary{order:2;padding:12px}.user-profile-expanded .user-pet-summary .pet-sprite{width:145px;height:145px}.user-role-picture .user-edit-role-sprite{width:180px!important;height:180px!important;flex-basis:180px}.mystery-egg-card{display:grid;place-items:center;min-width:170px;padding:14px;border:2px solid #e7cbd8;border-radius:18px;background:#fffaf8;text-decoration:none;color:#655d70}.mystery-egg-card .item-sprite{width:110px;height:110px}.epic-pet-glow{filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 16px #b67cff) drop-shadow(0 0 28px #ffd466);animation:epic-pet-shine 1.8s ease-in-out infinite!important}.blue-chest-art{position:relative;display:block!important;width:118px;height:92px;margin:0 auto 5px;font-size:0!important;filter:drop-shadow(0 8px 2px rgba(25,53,112,.35));animation:chest-knock 2.2s ease-in-out infinite}.blue-chest-art i{position:absolute;display:block}.blue-chest-art .chest-lid{left:7px;top:8px;width:104px;height:43px;border:5px solid #173f85;border-radius:50px 50px 9px 9px;background:linear-gradient(180deg,#70d7ff,#277bd1);box-shadow:inset 0 8px #b9efff,0 0 14px #72d6ff}.blue-chest-art .chest-body{left:3px;top:42px;width:112px;height:47px;border:5px solid #173f85;border-radius:7px 7px 17px 17px;background:linear-gradient(180deg,#328cd9,#174f9d);box-shadow:inset 0 -8px #123d80}.blue-chest-art .chest-band{left:48px;top:7px;width:22px;height:82px;border-inline:4px solid #9fdcff;background:linear-gradient(90deg,#d9f7ff,#79c8ff 50%,#eafcff)}.blue-chest-art .chest-lock{left:45px;top:45px;width:29px;height:28px;border:4px solid #173f85;border-radius:7px;background:#a9e9ff}.blue-chest-art .chest-gem{left:53px;top:51px;width:14px;height:14px;transform:rotate(45deg);background:#315fff;box-shadow:0 0 13px #fff,0 0 24px #6de6ff}@keyframes epic-pet-shine{0%,100%{filter:drop-shadow(0 0 7px #fff) drop-shadow(0 0 13px #a871ff)}50%{filter:drop-shadow(0 0 14px #fff) drop-shadow(0 0 25px #d28cff) drop-shadow(0 0 34px #ffd95b)}}@media(max-width:800px){.material-add-request{grid-template-columns:1fr}.material-approval-form{grid-template-columns:1fr}.long-reason{min-width:0}.user-profile-expanded{grid-template-columns:1fr!important}}
.pet-detail-actions .companion-status-form{display:flex!important;justify-content:center}.pet-detail-actions .companion-status-form button{width:5cm!important;max-width:100%;min-height:44px;padding:8px 14px}.floating-pet-shell{will-change:left,bottom}.floating-pet-shell.pet-state-restored{animation:none!important}
.pet-detail-actions .companion-status-right{justify-content:flex-end!important}.floating-pet-shell{transition:left 9.5s linear,bottom 1.2s ease!important}.floating-pet-shell.is-running{transition:left 5.8s linear,bottom .8s ease!important}.floating-pet-shell.is-crawling:after,.floating-pet-shell.is-running:after{content:none!important;display:none!important}.floating-pet-shell.is-rolling .pet-sprite{animation:none!important}.floating-pet-shell.is-crawling:not(.is-being-petted) .pet-sprite{animation:pet-crawl-slow 1.25s ease-in-out infinite!important}.floating-pet-shell.is-running:not(.is-being-petted) .pet-sprite{animation:pet-run-straight .72s ease-in-out infinite!important}.floating-pet-shell.is-playing:not(.is-being-petted) .pet-sprite{animation:pet-play-straight 1.5s ease-in-out infinite!important}@keyframes pet-crawl-slow{0%,100%{transform:translateY(0) scaleY(.99)}50%{transform:translateY(-3px) scaleY(1.01)}}@keyframes pet-run-straight{0%,100%{transform:translateY(1px) scale(1.01,.98)}50%{transform:translateY(-7px) scale(.99,1.02)}}@keyframes pet-play-straight{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.inventory-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.inventory-heading h2{margin:0}.inventory-organize-form{display:block}.inventory-item-button{display:grid!important;place-items:center;width:100%!important;padding:4px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important}.inventory-item-button:hover{transform:translateY(-2px)!important}.inventory-select,.inventory-quantity,.inventory-organize-actions{display:none}.inventory-panel.is-organizing .inventory-select{display:flex;gap:6px;align-items:center;justify-self:start}.inventory-panel.is-organizing .inventory-quantity{display:grid;gap:4px;width:100%;font-size:.8rem}.inventory-panel.is-organizing .inventory-quantity input{min-height:38px;padding:6px}.inventory-panel.is-organizing .inventory-organize-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}.inventory-item-dialog{text-align:center}.inventory-item-dialog>.item-sprite{width:150px;height:150px;margin:auto}.inventory-item-dialog dl{display:grid;gap:8px}.inventory-item-dialog dl div{display:flex;justify-content:space-between;gap:25px;padding:8px;border-bottom:1px solid #eadde4}.inventory-item-dialog dd{margin:0;font-weight:800}@media(max-width:650px){.inventory-heading{align-items:flex-start}.inventory-organize-actions{flex-direction:column}}

/* v1.3.43 pet and inventory presentation corrections */
.pet-sprite{background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;clip-path:none!important}
.inventory-item-dialog dl div{display:grid!important;grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important;gap:3px!important}
.inventory-item-dialog dt,.inventory-item-dialog dd{width:100%;text-align:center!important}
.hatch-empty{width:100%;padding:20px;text-align:center}
.collection-detail>form>button{width:min(100%,190px)}

/* v1.3.46 regenerated pet artwork and personality animation */
.pet-sprite[style*="--pet-index:0"],.pet-sprite[style*="--pet-index:1"],.pet-sprite[style*="--pet-index:7"]{transform-origin:50% 88%}
.pet-sprite[style*="--pet-index:2"],.pet-sprite[style*="--pet-index:3"],.pet-sprite[style*="--pet-index:8"],.pet-sprite[style*="--pet-index:9"]{transform-origin:50% 92%}
.pet-sprite[style*="--pet-index:4"],.pet-sprite[style*="--pet-index:6"]{transform-origin:50% 86%}
.pet-sprite[style*="--pet-index:5"]{transform-origin:50% 93%}
.pet-idle[style*="--pet-index:0"],.pet-idle[style*="--pet-index:1"],.pet-idle[style*="--pet-index:7"]{animation:pet-furry-idle 3.4s ease-in-out infinite!important}
.pet-idle[style*="--pet-index:2"],.pet-idle[style*="--pet-index:3"]{animation:pet-fluffy-idle 4.1s ease-in-out infinite!important}
.pet-idle[style*="--pet-index:4"],.pet-idle[style*="--pet-index:6"]{animation:pet-wing-idle 2.8s ease-in-out infinite!important}
.pet-idle[style*="--pet-index:5"]{animation:pet-turtle-idle 4.8s ease-in-out infinite!important}
.pet-idle[style*="--pet-index:8"],.pet-idle[style*="--pet-index:9"]{animation:pet-slime-idle 3.2s ease-in-out infinite!important}
.pet-card.is-hungry .pet-sprite{filter:saturate(.82);animation:pet-new-hungry 2.7s ease-in-out infinite!important}
.pet-card.is-feeding .pet-sprite{animation:pet-new-feed .9s cubic-bezier(.2,.8,.35,1.3)!important}
.pet-card.is-petted .pet-sprite{animation:pet-new-happy .85s ease-in-out!important}
.pet-card.is-weak .pet-sprite{filter:grayscale(.2) saturate(.65);animation:pet-new-weak 3.8s ease-in-out infinite!important}
@keyframes pet-furry-idle{0%,100%{transform:translateY(0) scale(1)}38%{transform:translateY(-4px) scale(1.012)}45%{transform:translateY(-3px) scale(1.018,.965)}52%{transform:translateY(-4px) scale(1.01)}72%{transform:translateY(0) rotate(.6deg)}}
@keyframes pet-fluffy-idle{0%,100%{transform:translateY(0) scale(1)}45%{transform:translateY(-3px) scale(1.025,.975)}55%{transform:translateY(-2px) scale(.98,1.025)}75%{transform:translateY(0) scale(1)}}
@keyframes pet-wing-idle{0%,100%{transform:translateY(0) rotate(0)}36%{transform:translateY(-5px) rotate(-1deg)}44%{transform:translateY(-8px) rotate(1.2deg)}52%{transform:translateY(-4px) rotate(-.6deg)}70%{transform:translateY(0)}}
@keyframes pet-turtle-idle{0%,100%{transform:translateX(0) translateY(0)}42%{transform:translateX(2px) translateY(-2px) scale(1.008)}58%{transform:translateX(-1px) translateY(-1px)}76%{transform:translateX(0) translateY(0)}}
@keyframes pet-slime-idle{0%,100%{transform:translateY(0) scale(1)}30%{transform:translateY(-5px) scale(.985,1.025)}55%{transform:translateY(0) scale(1.035,.965)}72%{transform:translateY(-2px) scale(.99,1.01)}}
@keyframes pet-new-hungry{0%,100%{transform:translateY(2px) scale(1,.97)}50%{transform:translateY(6px) scale(1.02,.94)}}
@keyframes pet-new-feed{0%{transform:scale(1)}35%{transform:translateY(-10px) scale(1.04,.96)}65%{transform:translateY(-3px) scale(.98,1.04)}100%{transform:scale(1)}}
@keyframes pet-new-happy{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-18px) scale(.98,1.04)}65%{transform:translateY(-4px) scale(1.035,.97)}}
@keyframes pet-new-weak{0%,100%{transform:translateY(8px) scale(1.02,.9);opacity:.78}50%{transform:translateY(10px) scale(1.03,.88);opacity:.64}}

/* v1.3.47 numbered pet collection, hatch reveal, and companion controls */
.pet-sprite[style="--pet-index:0"],.pet-sprite[style="--pet-index:4"],.pet-sprite[style="--pet-index:5"],.pet-sprite[style="--pet-index:6"],.pet-sprite[style="--pet-index:28"],.pet-sprite[style="--pet-index:29"]{transform-origin:50% 91%}
.pet-sprite[style="--pet-index:1"],.pet-sprite[style="--pet-index:3"]{transform-origin:50% 88%}
.pet-sprite[style="--pet-index:2"],.pet-sprite[style="--pet-index:27"]{transform-origin:50% 93%}
.pet-idle[style="--pet-index:0"],.pet-idle[style="--pet-index:4"],.pet-idle[style="--pet-index:5"],.pet-idle[style="--pet-index:6"],.pet-idle[style="--pet-index:28"],.pet-idle[style="--pet-index:29"]{animation:pet-furry-idle 3.8s ease-in-out infinite!important}
.pet-idle[style="--pet-index:1"],.pet-idle[style="--pet-index:3"]{animation:pet-wing-idle 3s ease-in-out infinite!important}
.pet-idle[style="--pet-index:2"]{animation:pet-turtle-idle 4.8s ease-in-out infinite!important}
.pet-idle[style="--pet-index:27"]{animation:pet-fluffy-idle 4.2s ease-in-out infinite!important}
.pet-detail-actions{display:grid;gap:12px;width:min(620px,100%);margin-top:14px}.pet-detail-feed{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.pet-detail-feed select{min-width:0}.pet-detail-feed button{white-space:nowrap}
.hatch-success-dialog{position:fixed;z-index:460;inset:50% auto auto 50%;width:min(620px,calc(100vw - 28px));max-height:94vh;transform:translate(-50%,-50%);padding:0;border:4px solid #8c7890;border-radius:30px;background:#fffaf7;box-shadow:0 0 0 100vmax rgba(42,37,48,.62),0 12px 0 #615764;overflow:auto}.hatch-success-scene{position:relative;display:grid;place-items:center;min-height:570px;padding:28px;text-align:center;background:radial-gradient(circle at 50% 30%,#fff9bd 0 10%,#fff8f2 35%,#edf3ff 100%);overflow:hidden}.hatch-success-egg,.hatch-success-pet{grid-area:1/1;width:260px;height:260px}.hatch-success-egg{animation:hatch-popup-egg 2.35s ease-in-out forwards}.hatch-success-pet{opacity:0;animation:hatch-popup-pet 1.25s cubic-bezier(.18,.9,.32,1.25) 2.15s forwards}.hatch-success-scene h2{min-height:56px;margin:0;font-size:2rem}.hatch-success-scene h2 span{display:block;animation:hatch-popup-crack 2.35s ease forwards}.hatch-success-scene h2 b{display:block;opacity:0;color:#ce6f58;animation:hatch-popup-title .7s ease 2.25s forwards}.hatch-success-scene p,.hatch-success-scene a{opacity:0;animation:hatch-popup-title .7s ease 2.7s forwards}.hatch-success-scene p{font-size:1.2rem;font-weight:900}
@keyframes hatch-popup-egg{0%,28%{opacity:1;transform:rotate(0) scale(1)}35%{transform:rotate(-7deg) scale(1.03)}43%{transform:rotate(8deg) scale(1.04)}51%{transform:rotate(-10deg) scale(1.06)}60%{transform:rotate(11deg) scale(1.08);filter:drop-shadow(0 0 8px #ffd55f)}72%{opacity:1;transform:rotate(0) scale(1.14);filter:drop-shadow(0 0 30px #fff077)}100%{opacity:0;transform:scale(1.5);filter:brightness(2.5)}}
@keyframes hatch-popup-pet{0%{opacity:0;transform:translateY(35px) scale(.5)}55%{opacity:1;transform:translateY(-18px) scale(1.08)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes hatch-popup-crack{0%,55%{opacity:0;transform:scale(.8)}62%,90%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:translateY(-12px)}}
@keyframes hatch-popup-title{to{opacity:1;transform:none}}
@media(max-width:600px){.hatch-success-scene{min-height:500px}.hatch-success-egg,.hatch-success-pet{width:210px;height:210px}.pet-detail-feed{grid-template-columns:1fr}}

/* v1.3.48 fixed collection cards, visible pet states, and draggable companion */
.fixed-pet-collection{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));align-items:stretch}
.fixed-pet-collection .collection-card{display:grid;grid-template-rows:150px auto auto;place-items:center;align-content:start;gap:7px;min-height:225px;padding:12px;border:2px solid #efc5d0;border-radius:20px;background:rgba(255,255,255,.78);color:#655d70;text-align:center;text-decoration:none;box-sizing:border-box}
.fixed-pet-collection .collection-card .pet-sprite{width:150px;height:150px}
.fixed-pet-collection .collection-card strong{font-size:1.03rem}.fixed-pet-collection .collection-card small{min-height:1.35em;color:#827785}
.fixed-pet-collection .pet-collection-link:hover,.fixed-pet-collection .pet-collection-link:focus-visible{transform:translateY(-4px);border-color:#bf8ba2;background:#fff;box-shadow:0 8px 18px #9c7e9140}
.fixed-pet-collection .pet-collection-locked{width:100%;font:inherit;cursor:pointer;box-shadow:none!important}
.fixed-pet-collection .pet-collection-locked:hover{background:#fff8fa!important;border-color:#df9eb0!important}
.pet-detail-state{display:inline-flex;align-items:center;justify-content:center;min-width:110px;margin:4px auto 0;padding:5px 12px;border-radius:999px;background:#eef3f8;color:#665d70;font-weight:900}
[data-pet-detail-stage] .pet-detail-animated{animation:pet-detail-idle 3.2s ease-in-out infinite!important;transform-origin:50% 88%}
[data-pet-detail-stage].state-walk .pet-detail-animated{animation:pet-detail-walk 1.15s ease-in-out infinite!important}
[data-pet-detail-stage].state-run .pet-detail-animated{animation:pet-detail-run .48s ease-in-out infinite!important}
[data-pet-detail-stage].state-sleep .pet-detail-animated{animation:pet-detail-sleep 3.4s ease-in-out infinite!important;filter:saturate(.78)}
[data-pet-detail-stage].state-petted .pet-detail-animated{animation:pet-detail-petted .8s ease-in-out infinite!important}
[data-pet-detail-stage].state-happy .pet-detail-animated{animation:pet-detail-happy .9s ease-in-out infinite!important}
[data-pet-detail-stage].is-hungry .pet-detail-animated{animation:pet-detail-hungry 2s ease-in-out infinite!important;filter:saturate(.78)}
[data-pet-detail-stage].is-weak .pet-detail-animated{animation:pet-detail-weak 3.2s ease-in-out infinite!important;filter:grayscale(.22) saturate(.58)}
[data-pet-detail-stage].is-feeding .pet-detail-animated{animation:pet-detail-feed .8s ease-in-out!important}
.pet-detail-actions .companion-status-form{order:99;margin-top:8px;padding-top:14px;border-top:1px dashed #dacbd5}
.floating-pet-shell,.floating-pet-shell .floating-pet{cursor:grab}.floating-pet-shell.is-dragging{z-index:180;transition:none!important}.floating-pet-shell.is-dragging .floating-pet{cursor:grabbing}
@keyframes pet-detail-idle{0%,100%{transform:translateY(0) scale(1)}45%{transform:translateY(-5px) scale(1.015,.985)}55%{transform:translateY(-4px) scale(.99,1.012)}}
@keyframes pet-detail-walk{0%,100%{transform:translateX(-8px) translateY(0) scale(1)}50%{transform:translateX(8px) translateY(-7px) scale(1.02,.98)}}
@keyframes pet-detail-run{0%,100%{transform:translateX(-13px) translateY(2px) scale(1.04,.94)}50%{transform:translateX(13px) translateY(-15px) scale(.97,1.06)}}
@keyframes pet-detail-sleep{0%,100%{transform:translateY(15px) rotate(-6deg) scale(1.04,.9)}50%{transform:translateY(18px) rotate(-7deg) scale(1.06,.87)}}
@keyframes pet-detail-petted{0%,100%{transform:translateY(3px) scale(1.02,.94)}50%{transform:translateY(10px) rotate(2deg) scale(1.04,.88)}}
@keyframes pet-detail-happy{0%,100%{transform:translateY(0) scale(1)}42%{transform:translateY(-24px) scale(.96,1.07)}68%{transform:translateY(-5px) scale(1.06,.95)}}
@keyframes pet-detail-hungry{0%,100%{transform:translateY(4px) scale(1,.96)}45%{transform:translateY(11px) scale(1.03,.91)}55%{transform:translateY(10px) translateX(-3px) scale(1.03,.91)}}
@keyframes pet-detail-weak{0%,100%{transform:translateY(18px) rotate(-4deg) scale(1.04,.86);opacity:.75}50%{transform:translateY(21px) rotate(-5deg) scale(1.06,.83);opacity:.58}}
@keyframes pet-detail-feed{0%{transform:scale(1)}38%{transform:translateY(-13px) scale(1.06,.94)}70%{transform:translateY(-3px) scale(.97,1.05)}100%{transform:scale(1)}}
@media(max-width:600px){.fixed-pet-collection{grid-template-columns:repeat(2,minmax(0,1fr))}.fixed-pet-collection .collection-card{grid-template-rows:120px auto auto;min-height:195px}.fixed-pet-collection .collection-card .pet-sprite{width:120px;height:120px}}

/* v1.3.49 transparent pet cards, backpack interaction, and chest artwork */
.fixed-pet-collection .pet-collection-locked,.fixed-pet-collection .pet-collection-locked:hover,.fixed-pet-collection .pet-collection-locked:focus{border-radius:20px!important;background:rgba(255,255,255,.72)!important;background-image:none!important;box-shadow:none!important;text-shadow:none!important;color:#655d70!important}
.fixed-pet-collection .pet-collection-locked .pet-sprite{background-color:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.inventory-interaction-form{display:flex;justify-content:center;margin-top:16px}.inventory-interaction-form button{width:min(100%,260px)}.inventory-interaction-hint{margin:16px 0 0;padding:9px 12px;border-radius:12px;background:#fff3d9;text-align:center;color:#876529;font-weight:800}
.pink-chest-sprite{display:block;width:180px;height:210px;margin:-24px auto -25px;background-image:url('/static/assets/game-chest-pink-v1.png');background-size:720px 480px;background-repeat:no-repeat;background-position:0 0;filter:drop-shadow(0 7px 3px rgba(103,50,45,.28));transform-origin:50% 70%}
.pink-chest-closed{background-position:0 0;animation:pink-chest-idle 2.3s ease-in-out infinite}.pink-chest-shake{background-position:-180px 0;animation:pink-chest-shake .35s ease-in-out infinite}.pink-chest-opening{background-position:-360px 0;animation:pink-chest-pop .5s ease-in-out infinite}.pink-chest-open{background-position:-540px 0;animation:pink-chest-glow .7s ease-in-out infinite alternate}.pink-chest-rare{filter:hue-rotate(145deg) saturate(1.18) drop-shadow(0 0 15px #62c8ff)}
.chest-button .pink-chest-sprite{width:135px;height:158px;margin:-23px auto -15px;background-size:540px 360px}.chest-button .pink-chest-closed{background-position:0 0}.chest-opening-box .pink-chest-sprite{width:240px;height:280px;margin:-35px auto -28px;background-size:960px 640px}.chest-opening-box .pink-chest-closed{background-position:0 0}.chest-opening-box .pink-chest-shake{background-position:-240px 0}.chest-opening-box .pink-chest-opening{background-position:-480px 0}.chest-opening-box .pink-chest-open{background-position:-720px 0}
@keyframes pink-chest-idle{0%,82%,100%{transform:translateY(0)}88%{transform:translateY(-4px)}94%{transform:translateY(0)}}
@keyframes pink-chest-shake{0%,100%{transform:translateX(-5px) rotate(-2deg)}50%{transform:translateX(5px) rotate(2deg)}}
@keyframes pink-chest-pop{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.04);filter:brightness(1.16) drop-shadow(0 0 15px #ffd567)}}
@keyframes pink-chest-glow{from{transform:scale(1);filter:brightness(1.02) drop-shadow(0 0 12px #ffdc72)}to{transform:scale(1.055);filter:brightness(1.18) drop-shadow(0 0 28px #ffbe55)}}

/* v1.3.50 transparent icons, normal/special chests, and confirmed results */
.wood-game-chest{display:block;width:180px;height:210px;margin:-24px auto -25px;background-color:transparent!important;background-image:url('/static/assets/game-chest-wood-v1.png');background-size:720px 480px;background-repeat:no-repeat;background-position:0 0;filter:drop-shadow(0 7px 3px rgba(103,50,45,.28));transform-origin:50% 70%}
.wood-game-chest-closed{background-position:0 0;animation:pink-chest-idle 2.3s ease-in-out infinite}.wood-game-chest-shake{background-position:-180px 0;animation:pink-chest-shake .35s ease-in-out infinite}.wood-game-chest-opening{background-position:-360px 0;animation:pink-chest-pop .5s ease-in-out infinite}.wood-game-chest-open{background-position:-540px 0;animation:pink-chest-glow .7s ease-in-out infinite alternate}
.chest-button .wood-game-chest{width:135px;height:158px;margin:-23px auto -15px;background-size:540px 360px}.chest-button .wood-game-chest-closed{background-position:0 0}
.chest-opening-box .wood-game-chest{width:240px;height:280px;margin:-35px auto -28px;background-size:960px 640px}.chest-opening-box .wood-game-chest-closed{background-position:0 0}.chest-opening-box .wood-game-chest-shake{background-position:-240px 0}.chest-opening-box .wood-game-chest-opening{background-position:-480px 0}.chest-opening-box .wood-game-chest-open{background-position:-720px 0}
.welcome-chests form button,.chest-row form .chest-button{background:transparent!important;background-image:none!important;border:0!important;border-radius:18px!important;box-shadow:none!important;text-shadow:none!important;color:#665d70!important}
.welcome-chests form button:hover,.welcome-chests form button:focus-visible,.chest-row form .chest-button:hover,.chest-row form .chest-button:focus-visible{background:rgba(255,255,255,.48)!important;transform:translateY(-3px);box-shadow:0 8px 18px rgba(103,79,98,.15)!important}
.pet-sprite,.item-sprite,.pink-chest-sprite,.wood-game-chest,.inventory-item-button{background-color:transparent!important}.inventory-item-button{background-image:none!important;box-shadow:none!important}
.chest-result-overlay{position:fixed;inset:0;z-index:520;display:grid;place-items:center;padding:18px;background:rgba(44,39,47,.58);backdrop-filter:blur(3px)}
.chest-result-card{width:min(92vw,520px);padding:24px 28px 28px;border:5px solid #918691;border-radius:28px;background:#fffaf7;box-shadow:0 14px 0 #665d70,0 28px 50px #27212a66;text-align:center}.chest-result-card h2{margin:0 0 6px;font-size:clamp(1.55rem,4vw,2.25rem)}.chest-result-card .pink-chest-sprite,.chest-result-card .wood-game-chest{margin:-14px auto -18px}.chest-result-card p{margin:10px 0 20px;font-size:1.18rem;font-weight:900;color:#d65072}.chest-result-confirm{min-width:150px}
