:root{--ink:#493c58;--muted:#806f89;--cream:#fff7e8;--paper:#fffdf8;--pink:#ff9fbd;--peach:#ffb887;--mint:#8ee4d2;--sky:#87d9ff;--purple:#bca2f6;--yellow:#ffd874;--line:rgba(73,60,88,.17);--shadow:0 12px 0 rgba(73,60,88,.12),0 25px 55px rgba(73,60,88,.13)}*{box-sizing:border-box}html{min-width:320px;background:#fff5df}body{margin:0;color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",sans-serif;background:linear-gradient(145deg,#fff5df,#ffe9ee 52%,#e6fff8);min-height:100vh;overflow-x:hidden}.paw-field{position:fixed;inset:0;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='190' height='190'%3E%3Cpath d='M60 100c0-18 14-32 32-32s32 14 32 32c0 23-32 52-32 52s-32-29-32-52zM111 63c0-9 7-16 16-16s16 7 16 16-16 25-16 25-16-16-16-25zM29 63c0-9 7-16 16-16s16 7 16 16-16 25-16 25-16-16-16-25z' fill='%23493c58'/%3E%3C/svg%3E")}.cloud{position:fixed;z-index:0;background:#fff;border-radius:50%;opacity:.7;box-shadow:68px 20px 0 #fff}.c1{width:78px;height:78px;left:2%;top:16%}.c2{width:58px;height:58px;right:4%;top:19%}.c3{width:90px;height:90px;right:16%;bottom:4%;opacity:.38}.app-shell{position:relative;z-index:2;width:min(1540px,calc(100% - 36px));margin:auto;padding:24px 0 18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;border:3px solid var(--ink);border-radius:26px;background:rgba(255,253,248,.94);box-shadow:var(--shadow);backdrop-filter:blur(15px)}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:59px;height:59px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:20px;background:var(--yellow);font-size:29px;transform:rotate(-5deg);box-shadow:4px 5px 0 rgba(73,60,88,.14)}.eyebrow,.step{margin:0;color:#a05a75;font-size:10px;font-weight:900;letter-spacing:.16em}.brand h1{margin:2px 0;font-size:29px}.brand-sub{margin:0;color:var(--muted);font-size:11px}.top-actions{display:flex;align-items:center;gap:9px}.shop-tag{padding:8px 11px;border:2px solid var(--ink);border-radius:999px;background:#e9fff8;font-size:11px;font-weight:900}.owner-btn,.plain-btn,.adopt-small,.owner-pet-actions button{border:2px solid var(--ink);border-radius:12px;background:#fff;padding:9px 11px;color:var(--ink);font-weight:900;box-shadow:0 4px 0 rgba(73,60,88,.13);cursor:pointer}.owner-btn{background:#ffd874}.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;margin-top:20px;align-items:start}.shelf-panel,.profile-panel{border:3px solid var(--ink);border-radius:28px;background:rgba(255,253,248,.95);box-shadow:var(--shadow);min-width:0}.shelf-panel{padding:20px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.section-head h2{margin:4px 0 0;font-size:24px}.swipe-tip{font-size:10px;color:var(--muted)}.shelf-note{margin:11px 0 15px;color:var(--muted);font-size:12px}.pet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;min-width:0}.pet-card{position:relative;border:3px solid var(--ink);border-radius:22px;background:linear-gradient(160deg,#fff,color-mix(in srgb,var(--pet-color) 18%,#fff));padding:11px;text-align:center;box-shadow:0 6px 0 rgba(73,60,88,.13);cursor:pointer;transition:.2s;overflow:hidden}.pet-card:hover{transform:translateY(-5px) rotate(-.5deg)}.pet-card.selected{background:color-mix(in srgb,var(--pet-color) 32%,#fff);box-shadow:0 0 0 5px color-mix(in srgb,var(--pet-color) 45%,transparent),0 7px 0 rgba(73,60,88,.16)}.pet-card.selected::after{content:'✓ 已选中';position:absolute;right:6px;top:7px;padding:3px 6px;border:2px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);font-size:8px;font-weight:900}.pet-card img{width:100%;aspect-ratio:1;object-fit:contain;display:block}.pet-card h3{margin:5px 0 2px;font-size:17px}.pet-card p{margin:0;color:var(--muted);font-size:11px}.pet-card .price{margin-top:7px;font-size:11px;font-weight:900}.pet-card .delete-pet,.pet-card .edit-pet{position:absolute;top:6px;z-index:5;width:25px;height:25px;border:2px solid var(--ink);border-radius:50%;font-size:14px;line-height:1;font-weight:900}.pet-card .delete-pet{left:6px;background:#ffd2dc}.pet-card .edit-pet{right:6px;background:#dff9f2}.pet-card.selected .edit-pet{right:6px}.pet-card.selected::after{top:37px}.shelf-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:17px;padding-top:12px;border-top:2px dashed var(--line);color:var(--muted);font-size:10px}
.profile-panel{padding:21px;position:sticky;top:16px;min-height:660px}.empty-profile{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:600px;padding:25px}.empty-cat{font-size:72px;margin-bottom:13px;animation:float 3s ease-in-out infinite}.empty-profile h2{margin:7px 0;font-size:24px}.empty-profile p:last-child{color:var(--muted);font-size:12px;line-height:1.7}.pet-profile{animation:pop .28s ease}.profile-top{display:flex;justify-content:space-between;align-items:center}.status-pill,.pet-code{padding:5px 8px;border:2px solid var(--ink);border-radius:999px;font-size:9px;font-weight:900}.status-pill{background:#dff9f2}.pet-code{background:#fff;color:var(--muted)}.portrait-wrap{position:relative;width:230px;height:230px;margin:15px auto 5px}.portrait-wrap img{width:100%;height:100%;object-fit:contain}.collar{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);padding:5px 11px;border:2px solid var(--ink);border-radius:999px;background:var(--yellow);font-size:10px;font-weight:900}.pet-profile h2{text-align:center;margin:4px 0;font-size:29px}.personality{text-align:center;margin:0;color:#a05a75;font-size:12px;font-weight:900}.tag-row{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:12px 0}.tag{padding:5px 8px;border:2px solid var(--ink);border-radius:999px;background:#fff0b8;font-size:9px;font-weight:900}.pet-desc{margin:13px 0;padding:13px;border:2px dashed var(--line);border-radius:14px;background:#fff;color:var(--muted);font-size:11px;line-height:1.7;min-height:70px}.audio-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:11px;border:2px solid var(--ink);border-radius:16px;background:#eafbf7}.audio-card button{width:42px;height:42px;border:2px solid var(--ink);border-radius:50%;background:#ffd874;font-weight:900;font-size:16px}.audio-card b{display:block;font-size:11px}.wave{display:flex;align-items:center;gap:3px;height:16px;margin-top:4px}.wave i{display:block;width:3px;height:7px;border-radius:4px;background:#69cdbb}.wave.playing i{animation:wave .65s ease-in-out infinite alternate}.wave i:nth-child(2){height:14px;animation-delay:-.2s}.wave i:nth-child(3){height:10px;animation-delay:-.4s}.wave i:nth-child(4){height:16px;animation-delay:-.1s}.wave i:nth-child(5){height:8px;animation-delay:-.3s}.wave i:nth-child(6){height:13px;animation-delay:-.5s}.wave i:nth-child(7){height:9px}.wave i:nth-child(8){height:15px;animation-delay:-.25s}.wave i:nth-child(9){height:7px;animation-delay:-.45s}#audioTime{font-size:10px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:7px;margin:14px 0}.service-grid div{padding:9px;border:2px solid var(--ink);border-radius:12px;background:#fff;text-align:center}.service-grid span{display:block;color:var(--muted);font-size:9px}.service-grid b{display:block;margin-top:3px;font-size:11px}.adopt-btn{width:100%;border:3px solid var(--ink);border-radius:16px;padding:14px;background:#ffd874;color:var(--ink);font-size:15px;font-weight:900;box-shadow:0 6px 0 rgba(73,60,88,.15);cursor:pointer}.adopt-btn:hover{transform:translateY(-2px)}.owner-pet-actions{display:flex;gap:7px;margin-top:12px}.owner-pet-actions button{flex:1;background:#fff}.owner-pet-actions button:last-child{background:#ffd2dc}.footer{text-align:center;padding:16px;color:var(--muted);font-size:10px}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(63,46,70,.52);backdrop-filter:blur(9px);opacity:0;visibility:hidden;transition:.22s}.modal-backdrop.show{opacity:1;visibility:visible}.editor-card,.success-card{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:22px;border:4px solid var(--ink);border-radius:26px;background:#fffaf3;box-shadow:0 14px 0 rgba(73,60,88,.18),0 35px 80px rgba(0,0,0,.3);transform:translateY(15px) scale(.97);transition:.22s}.modal-backdrop.show .editor-card,.modal-backdrop.show .success-card{transform:none}.modal-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-head h3{margin:4px 0 0;font-size:24px}.modal-close{width:36px;height:36px;border:3px solid var(--ink);border-radius:50%;background:#ffd2dc;font-size:22px;font-weight:900}.editor-card label{display:block;margin:9px 0;font-size:11px;font-weight:900}.editor-card label>span{display:block;margin:0 0 5px 3px}.editor-card input,.editor-card textarea{width:100%;border:3px solid var(--ink);border-radius:12px;padding:10px;background:#fff;color:var(--ink);font:inherit;font-weight:700;outline:none}.editor-card textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preview-note{padding:9px;border:2px dashed var(--line);border-radius:11px;color:var(--muted);font-size:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.adopt-small{background:#ffd874}.success-card{text-align:center}.success-icon{font-size:68px}.success-card h3{margin:5px 0;font-size:26px}.success-card>p{color:var(--muted);font-size:12px}.receipt{display:grid;grid-template-columns:1fr auto;gap:7px;margin:16px 0;padding:14px;border:2px dashed var(--line);border-radius:14px;background:#fff;text-align:left}.receipt span{color:var(--muted);font-size:10px}.receipt b{font-size:11px}.toast{position:fixed;left:50%;bottom:20px;z-index:120;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:10px 15px;border:3px solid var(--ink);border-radius:14px;background:#fff;font-size:11px;font-weight:900;box-shadow:0 6px 0 rgba(73,60,88,.16);transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}.customer-mode .owner-btn,.customer-mode .owner-pet-actions,.customer-mode .delete-pet,.customer-mode .edit-pet{display:none!important}@keyframes float{50%{transform:translateY(-8px) rotate(3deg)}}@keyframes pop{from{opacity:0;transform:scale(.97)}}@keyframes wave{to{transform:scaleY(.35)}}
@media(max-width:1000px){.shop-layout{grid-template-columns:1fr}.profile-panel{position:relative;top:auto}.pet-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.shelf-panel,.profile-panel{overflow:hidden}.pet-grid{width:100%;max-width:100%;min-width:0}.app-shell{width:calc(100% - 14px);padding-top:10px}.topbar{padding:11px}.brand-mark{width:48px;height:48px;font-size:24px}.brand h1{font-size:22px}.brand-sub,.top-actions .shop-tag{display:none}.shelf-panel,.profile-panel{border-radius:22px;padding:14px}.section-head{display:block}.section-head h2{font-size:20px}.swipe-tip{display:inline-block;margin-top:7px}.pet-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 1px 14px;scrollbar-width:thin}.pet-card{flex:0 0 142px;width:142px;padding:8px;scroll-snap-align:start}.pet-card h3{font-size:15px}.profile-panel{min-height:0}.empty-profile{min-height:420px}.portrait-wrap{width:190px;height:190px}.pet-profile h2{font-size:25px}.service-grid{grid-template-columns:1fr 1fr 1fr}.form-row{grid-template-columns:1fr}.owner-btn{padding:8px}.footer{display:none}}
.pet-filter{display:flex;gap:8px;margin:12px 0 14px;padding:8px;border:2px solid var(--ink);border-radius:16px;background:#fff;box-shadow:inset 0 3px 0 rgba(255,255,255,.8)}.pet-filter button{flex:1;border:2px solid var(--ink);border-radius:11px;background:#fff;padding:8px 10px;color:var(--ink);font-weight:900;cursor:pointer}.pet-filter button span{display:inline-block;margin-left:5px;padding:1px 5px;border-radius:999px;background:#ece7f0;font-size:9px}.pet-filter button.active{background:#ffd874;transform:translateY(-1px)}.pet-filter button[data-game="三角洲行动"].active{background:#ffd0a4}.pet-filter button[data-game="无畏契约"].active{background:#ffb8ca}.kennel-sign{position:absolute;z-index:4;left:50%;top:7px;transform:translateX(-50%);padding:3px 8px;border:2px solid var(--ink);border-radius:999px;background:#fff;font-size:8px;font-weight:900;white-space:nowrap}.kennel-sign i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#52dc91;margin-right:4px;box-shadow:0 0 0 3px rgba(82,220,145,.18)}.kennel-sign small{margin-left:4px;color:#a05a75}.kennel-scene{position:relative;height:196px;margin:33px 3px 6px;border:3px solid var(--ink);border-radius:16px 16px 12px 12px;background:linear-gradient(#dfeff4 0 62%,#dfcbae 62% 100%);overflow:hidden}.cage-bars{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 24px,rgba(73,60,88,.14) 25px 27px,transparent 28px 49px);pointer-events:none;z-index:3}.cage-bars::after{content:'';position:absolute;left:0;right:0;top:52%;height:4px;background:rgba(73,60,88,.16)}.pet-bed{position:absolute;left:11%;right:11%;bottom:9px;height:68px;border:3px solid var(--ink);border-radius:50px 50px 28px 28px;background:linear-gradient(#ffb4c8,#ff8eae);box-shadow:inset 0 7px 0 rgba(255,255,255,.32)}.bed-pillow{position:absolute;left:8%;top:-13px;width:38%;height:38px;border:3px solid var(--ink);border-radius:50%;background:#fff0b8;transform:rotate(-7deg)}.bed-cushion{position:absolute;right:8%;bottom:-4px;width:54%;height:28px;border:2px dashed rgba(73,60,88,.32);border-radius:50%}.pet-bed img{position:absolute;z-index:2;left:50%;bottom:21px;width:130px;height:166px;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 6px 0 rgba(73,60,88,.12))}.pet-nameplate{margin:8px 2px 0;padding:8px 7px;border:2px solid var(--ink);border-radius:12px;background:#fff}.pet-nameplate h3{margin:0;font-size:16px}.pet-nameplate p{margin:2px 0 0;color:var(--muted);font-size:10px}.pet-nameplate .price{margin-top:5px;font-size:10px}.no-pets{grid-column:1/-1;padding:50px 15px;text-align:center;border:2px dashed var(--line);border-radius:18px;color:var(--muted)}.pet-card{min-height:320px;padding:0 8px 9px;background:linear-gradient(160deg,#fff,color-mix(in srgb,var(--pet-color) 12%,#fff))}.pet-card.selected::after{top:35px}.pet-card .delete-pet,.pet-card .edit-pet{top:35px}.pet-card.selected .delete-pet,.pet-card.selected .edit-pet{top:35px}.pet-card.selected::after{top:68px}@media(max-width:720px){.pet-filter{position:sticky;top:2px;z-index:20;overflow-x:auto}.pet-filter button{flex:0 0 auto}.pet-card{flex-basis:160px;width:160px;min-height:318px}.kennel-scene{height:190px}.pet-bed img{width:126px;height:160px}}
.audio-card{grid-template-columns:42px 1fr auto auto}.replace-audio{border:2px solid var(--ink);border-radius:9px;background:#fff0b8;padding:5px 7px;font-size:9px;font-weight:900;cursor:pointer}.customer-mode .replace-audio{display:none}.service-grid{grid-template-columns:1.15fr .85fr .9fr .85fr}.service-grid b{white-space:nowrap}.pet-bed img{width:128px;height:150px;object-fit:cover;border:3px solid var(--ink);border-radius:50% 50% 42% 42%;background:#fff}.profile-top>span:first-child{display:flex;gap:5px;align-items:center}.portrait-wrap img{border:4px solid var(--ink);border-radius:50%;object-fit:cover;background:#fff}@media(max-width:720px){.audio-card{grid-template-columns:40px 1fr auto}.replace-audio{grid-column:2/4;width:100%;margin-top:3px}.service-grid{grid-template-columns:1fr 1fr}.pet-bed img{width:122px;height:146px}}
.pet-label-filter{display:flex;gap:7px;flex-wrap:wrap;margin:-4px 0 14px}.label-chip{border:2px solid var(--ink);border-radius:999px;background:#fff;padding:7px 11px;color:var(--ink);font-size:10px;font-weight:900;cursor:pointer}.label-chip.active{background:#dff9f2;transform:translateY(-1px);box-shadow:0 3px 0 rgba(73,60,88,.12)}.label-editor{margin:9px 0;padding:10px;border:2px dashed var(--line);border-radius:12px}.label-editor>span{display:block;margin-bottom:7px;font-size:11px;font-weight:900}.label-checks{display:flex;gap:8px;flex-wrap:wrap}.label-checks label{display:flex!important;align-items:center;gap:5px;margin:0!important;padding:6px 9px;border:2px solid var(--ink);border-radius:999px;background:#fff;font-size:10px}.label-checks input{width:15px!important;height:15px!important;margin:0;accent-color:#69cdbb}.pet-label-mini{display:flex;justify-content:center;gap:3px;flex-wrap:wrap;margin-top:5px}.pet-label-mini span{padding:2px 5px;border-radius:999px;background:#eafbf7;color:#765b80;font-size:7px;font-weight:900}
.pet-mode-filter{display:flex;gap:7px;margin:-7px 0 10px}.mode-chip{flex:0 0 auto;border:2px solid var(--ink);border-radius:999px;background:#fff;padding:7px 13px;font-size:10px;font-weight:900;cursor:pointer}.mode-chip.active{background:#ffd0a4}.mode-chip[data-mode="娱乐"].active{background:#ffb8ca}.pet-card .pet-label-mini{min-height:13px}
.pet-bed video{position:absolute;z-index:2;left:50%;bottom:21px;width:128px;height:150px;object-fit:cover;border:3px solid var(--ink);border-radius:50% 50% 42% 42%;background:#fff;transform:translateX(-50%);filter:drop-shadow(0 6px 0 rgba(73,60,88,.12))}.portrait-wrap video{width:100%;height:100%;object-fit:cover;border:4px solid var(--ink);border-radius:50%;background:#fff}.service-contact{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:14px;margin:15px 0;padding:12px;border:2px dashed var(--line);border-radius:16px;background:#eafbf7;text-align:left}.service-contact img{width:150px;height:150px;object-fit:cover;border:3px solid var(--ink);border-radius:16px;background:#fff}.service-contact span{display:block;color:var(--muted);font-size:10px}.service-contact b{display:block;margin:5px 0 10px;font-size:18px}.service-contact button{border:2px solid var(--ink);border-radius:10px;background:#fff0b8;padding:7px 10px;font-weight:900;cursor:pointer}@media(max-width:520px){.service-contact{grid-template-columns:100px 1fr}.service-contact img{width:100px;height:100px}}
.arrival-stage{position:relative;min-height:620px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:30px 20px}.arrival-stage[hidden]{display:none}.arrival-house{position:absolute;left:8%;bottom:80px;width:180px;height:175px;border:4px solid var(--ink);border-radius:22px;background:linear-gradient(#ffd7a5,#d89563);box-shadow:0 9px 0 rgba(73,60,88,.14)}.house-roof{position:absolute;left:-12%;right:-12%;top:-58px;height:70px;background:#ff8eae;border:4px solid var(--ink);clip-path:polygon(50% 0,100% 100%,0 100%)}.house-door{position:absolute;left:28%;right:28%;bottom:0;height:85px;border:4px solid var(--ink);border-bottom:0;border-radius:70px 70px 0 0;background:#493c58}.house-sign{position:absolute;left:50%;top:35px;transform:translateX(-50%);padding:4px 9px;border:2px solid var(--ink);border-radius:999px;background:#fff;font-size:10px;font-weight:900}.arrival-path{position:absolute;left:4%;right:4%;bottom:66px;height:8px;border-radius:50%;background:repeating-linear-gradient(90deg,rgba(73,60,88,.22) 0 8px,transparent 8px 18px)}.arrival-pet{position:absolute;z-index:3;left:12%;bottom:95px;width:145px;height:165px;object-fit:contain;opacity:0;transform:translateX(-120px) scale(.55);filter:drop-shadow(0 8px 0 rgba(73,60,88,.13))}.arrival-stage.playing .arrival-pet{animation:walkOut 1.55s cubic-bezier(.22,.8,.3,1) forwards}.arrival-copy{position:relative;z-index:4;text-align:center;padding:11px 18px;border:3px solid var(--ink);border-radius:18px;background:#fff7e8;box-shadow:0 6px 0 rgba(73,60,88,.14)}.arrival-copy b{display:block;font-size:20px}.arrival-copy span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.pet-profile.reveal{animation:profileReveal .55s ease both}@keyframes walkOut{0%{left:12%;opacity:0;transform:translateX(-80px) scale(.55)}18%{opacity:1}55%{left:45%;transform:translateX(-50%) translateY(-12px) scale(.95)}70%{transform:translateX(-50%) translateY(0) scale(1.05)}100%{left:50%;transform:translateX(-50%) translateY(-25px) scale(1.12);opacity:1}}@keyframes profileReveal{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}.qr-lightbox{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:25px;background:rgba(45,32,52,.86);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:.22s}.qr-lightbox.show{opacity:1;visibility:visible}.qr-lightbox img{max-width:min(720px,92vw);max-height:82vh;border:5px solid #fff;border-radius:24px;box-shadow:0 18px 60px rgba(0,0,0,.45)}.qr-lightbox button{position:absolute;right:24px;top:22px;width:46px;height:46px;border:3px solid #fff;border-radius:50%;background:#ff8eae;color:#fff;font-size:28px;font-weight:900}


/* ---- Realistic pet arrival: peek out, step onto the mat, then reveal the profile ---- */
.arrival-stage{
  position:relative;
  display:block;
  min-height:620px;
  padding:0;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 72% 24%,rgba(255,244,199,.98) 0 5%,rgba(255,235,184,.38) 6% 17%,transparent 33%),
    linear-gradient(180deg,#eee3d8 0 55%,#c28d65 55% 56%,#dfbb95 56% 100%);
}
.arrival-stage[hidden]{display:none}
.arrival-stage::before{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:44%;
  z-index:0;
  border-top:8px solid #956044;
  background:
    repeating-linear-gradient(96deg,rgba(83,48,27,.11) 0 2px,transparent 2px 45px),
    repeating-linear-gradient(8deg,rgba(255,255,255,.055) 0 1px,transparent 1px 52px),
    linear-gradient(180deg,#e1bc96,#c68e65);
  box-shadow:inset 0 24px 36px rgba(86,47,25,.13);
}
.arrival-stage::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:12;
  pointer-events:none;
  box-shadow:inset 0 0 68px rgba(76,42,28,.17),inset 0 -36px 62px rgba(102,56,33,.12);
}
.arrival-light{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(105deg,rgba(255,255,255,.23),transparent 32%),
    radial-gradient(ellipse at 64% 64%,rgba(255,224,163,.52),transparent 48%);
}
.arrival-house{
  position:absolute;
  z-index:6;
  left:4.5%;
  bottom:76px;
  width:210px;
  height:205px;
  border:5px solid #705044;
  border-radius:31px 31px 19px 19px;
  background:
    linear-gradient(90deg,transparent 0 7%,rgba(255,255,255,.12) 7% 9%,transparent 9% 91%,rgba(91,55,39,.12) 91% 93%,transparent 93%),
    repeating-linear-gradient(90deg,rgba(109,67,43,.09) 0 2px,transparent 2px 18px),
    linear-gradient(155deg,#e2bd8e,#bf8a61 72%,#a87455);
  box-shadow:
    0 18px 17px rgba(72,39,24,.25),
    inset 0 0 0 5px rgba(255,246,224,.25),
    inset 0 -18px 24px rgba(91,53,35,.16);
  transform:perspective(680px) rotateY(-4deg);
  transform-origin:right bottom;
}
.arrival-house::before{
  content:"";
  position:absolute;
  inset:9px;
  z-index:1;
  border:2px solid rgba(104,66,49,.42);
  border-radius:22px 22px 12px 12px;
  background:repeating-linear-gradient(90deg,transparent 0 21px,rgba(112,71,46,.075) 21px 23px);
  pointer-events:none;
}
.house-roof{
  position:absolute;
  left:-9%;right:-9%;top:-52px;height:61px;
  z-index:5;
  border:4px solid #705044;
  border-radius:11px 11px 7px 7px;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.14) 0 2px,transparent 2px 24px),
    linear-gradient(180deg,#c77d78,#956065);
  clip-path:polygon(50% 0,100% 100%,0 100%);
  filter:drop-shadow(0 7px 0 rgba(73,41,29,.15));
}
.house-door{
  position:absolute;
  left:50%;bottom:0;
  z-index:4;
  width:108px;height:124px;
  transform:translateX(-50%);
  border:5px solid #654a43;
  border-bottom:0;
  border-radius:68px 68px 0 0;
  background:
    radial-gradient(ellipse at 50% 92%,#160f1c 0 45%,#231728 46% 72%,#100b16 78% 100%);
  box-shadow:inset 0 16px 22px rgba(0,0,0,.78),0 0 0 4px rgba(255,237,207,.22);
}
.house-door::before{
  content:"";
  position:absolute;
  left:12px;right:12px;top:13px;bottom:0;
  border:2px solid rgba(255,226,189,.16);
  border-bottom:0;
  border-radius:48px 48px 0 0;
}
.house-door::after{
  content:"";
  position:absolute;
  left:50%;bottom:-7px;
  width:86px;height:18px;
  transform:translateX(-50%);
  border:2px solid rgba(76,48,39,.42);
  border-radius:50%;
  background:repeating-linear-gradient(90deg,#efd5b7 0 10px,#d8ac7f 10px 20px);
  box-shadow:0 5px 8px rgba(75,43,27,.22);
}
.house-sign{
  position:absolute;
  left:50%;top:24px;
  z-index:7;
  transform:translateX(-50%) rotate(-2deg);
  padding:5px 12px;
  border:3px solid #705044;
  border-radius:999px;
  background:#fff5dc;
  color:#584050;
  font-size:10px;
  font-weight:900;
  box-shadow:0 4px 0 rgba(81,50,38,.2);
  white-space:nowrap;
}
.arrival-path{
  position:absolute;
  z-index:1;
  left:17%;right:2%;bottom:30px;
  height:82px;
  border-radius:50%;
  background:
    radial-gradient(ellipse at 45% 50%,rgba(255,247,224,.5),rgba(255,229,188,.18) 48%,transparent 72%),
    repeating-linear-gradient(90deg,rgba(111,72,48,.11) 0 3px,transparent 3px 34px);
  filter:blur(.15px);
}
.arrival-path::after{
  content:"";
  position:absolute;
  left:25%;right:7%;top:35%;
  height:17px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(83,47,29,.16),transparent 70%);
  filter:blur(6px);
}
.arrival-pet-wrap{
  position:absolute;
  z-index:3;
  left:7%;
  bottom:73px;
  width:242px;
  height:270px;
  opacity:0;
  pointer-events:none;
  transform-origin:50% 100%;
  will-change:left,transform,opacity;
}
.arrival-stage.playing .arrival-pet-wrap{
  animation:walkOut 2.45s cubic-bezier(.2,.78,.24,1) forwards;
}
.arrival-pet-shadow{
  position:absolute;
  left:50%;bottom:2px;
  width:68%;height:17px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(40,24,19,.43),rgba(40,24,19,.19) 46%,transparent 74%);
  filter:blur(3px);
  opacity:.58;
}
.arrival-stage.playing .arrival-pet-shadow{
  animation:petShadow .36s ease-in-out infinite alternate;
}
.arrival-pet{
  position:absolute;
  left:0;bottom:0;
  width:100%;height:100%;
  object-fit:contain;
  object-position:center bottom;
  display:block;
  transform-origin:50% 94%;
  filter:drop-shadow(0 10px 7px rgba(63,36,25,.19)) saturate(1.03) contrast(1.015);
}
.arrival-stage.playing .arrival-pet{
  animation:petWalk .36s ease-in-out infinite alternate;
}
.arrival-copy{
  position:absolute;
  left:50%;bottom:24px;
  z-index:9;
  min-width:190px;
  transform:translate(-50%,12px);
  padding:11px 18px;
  border:3px solid var(--ink);
  border-radius:18px;
  background:rgba(255,247,232,.95);
  box-shadow:0 6px 0 rgba(73,60,88,.14);
  opacity:0;
}
.arrival-stage.playing .arrival-copy{
  animation:arrivalCopy .42s ease .92s forwards;
}
.arrival-copy b{display:block;font-size:20px}
.arrival-copy span{display:block;margin-top:3px;color:var(--muted);font-size:11px}
@keyframes walkOut{
  0%{left:7%;opacity:0;transform:translate3d(-102px,20px,0) scale(.58) rotate(1deg)}
  6%{opacity:1}
  19%{left:8%;transform:translate3d(-84px,9px,0) scale(.68) rotate(.5deg)}
  35%{left:15%;transform:translate3d(-62px,2px,0) scale(.78) rotate(-.8deg)}
  50%{left:27%;transform:translate3d(-50px,0,0) scale(.9) rotate(.9deg)}
  64%{left:39%;transform:translate3d(-50%,-4px,0) scale(.98) rotate(-.55deg)}
  79%{left:48%;transform:translate3d(-50%,1px,0) scale(1.02) rotate(.35deg)}
  100%{left:52%;opacity:1;transform:translate3d(-50%,-4px,0) scale(1.04) rotate(0)}
}
@keyframes petWalk{
  from{transform:translateY(0) rotate(-.25deg) scale(1)}
  to{transform:translateY(-5px) rotate(.3deg) scale(1.008)}
}
@keyframes petShadow{
  from{opacity:.62;transform:translateX(-50%) scaleX(1)}
  to{opacity:.38;transform:translateX(-50%) scaleX(.86)}
}
@keyframes arrivalCopy{
  from{opacity:0;transform:translate(-50%,12px)}
  to{opacity:1;transform:translate(-50%,0)}
}
@media(max-width:720px){
  .arrival-stage{min-height:560px}
  .arrival-house{left:3%;bottom:72px;width:186px;height:190px}
  .house-door{width:96px;height:114px}
  .arrival-pet-wrap{left:6%;bottom:69px;width:218px;height:244px}
  .arrival-copy{bottom:20px}
}


/* ---- Guaranteed cute arrival animation: built-in cat/dog vector scene ---- */
.profile-panel{
  min-height:calc(100vh - 32px);
  display:flex;
  flex-direction:column;
}
.pet-profile{
  width:100%;
  min-height:calc(100vh - 78px);
  display:flex;
  flex-direction:column;
}
.pet-profile[hidden]{display:none}
.portrait-wrap{width:min(282px,72vw);height:min(282px,72vw);margin-top:20px}
.pet-profile .adopt-btn{margin-top:12px}
.owner-pet-actions{margin-top:auto;padding-top:12px}
.arrival-stage{
  min-height:max(620px,calc(100vh - 80px));
  background:
    radial-gradient(circle at 74% 24%,rgba(255,245,198,.98) 0 5%,rgba(255,230,176,.42) 6% 18%,transparent 34%),
    linear-gradient(180deg,#efe4d9 0 54%,#c58d66 54% 55%,#dfba93 55% 100%);
}
.arrival-house{
  left:3.5%;
  bottom:77px;
  width:196px;
  height:198px;
  z-index:5;
}
.house-door{
  width:102px;
  height:120px;
  background:radial-gradient(ellipse at 50% 94%,#140e19 0 45%,#25182b 46% 74%,#0f0a13 78% 100%);
}
.house-sign{
  top:25px;
  background:#fff8e8;
}
.arrival-path{
  left:13%;right:2%;bottom:34px;
  height:95px;
  background:
    radial-gradient(ellipse at 52% 52%,rgba(255,247,224,.65),rgba(255,223,180,.26) 48%,transparent 73%),
    repeating-linear-gradient(90deg,rgba(111,72,48,.1) 0 3px,transparent 3px 34px);
}
.arrival-pet-wrap{
  z-index:8;
  left:8%;
  bottom:103px;
  width:242px;
  height:244px;
  opacity:0;
  transform-origin:50% 100%;
}
.arrival-stage.playing .arrival-pet-wrap{
  animation:walkOutCute 2.62s cubic-bezier(.2,.78,.24,1) forwards;
}
.arrival-pet{
  position:absolute;
  left:0;bottom:0;
  width:100%;height:100%;
  object-fit:contain;
  transform-origin:50% 94%;
  filter:drop-shadow(0 11px 7px rgba(63,36,25,.18));
}
.arrival-pet svg{
  display:block;
  width:100%;height:100%;
  overflow:visible;
}
.arrival-stage.playing .arrival-pet{
  animation:petWalkCute .38s ease-in-out infinite alternate;
}
.arrival-pet-shadow{
  bottom:7px;
  width:72%;height:18px;
  opacity:.5;
}
.arrival-stage.playing .arrival-pet-shadow{
  animation:petShadowCute .38s ease-in-out infinite alternate;
}
.arrival-copy{
  bottom:24px;
}
.arrival-stage.playing .arrival-copy{
  animation-delay:.55s;
}
.pet-leg{transform-box:fill-box;transform-origin:50% 4%}
.pet-tail{transform-box:fill-box;transform-origin:5% 85%}
.pet-head{transform-box:fill-box;transform-origin:75% 82%}
.arrival-stage.playing .pet-leg-front-a,
.arrival-stage.playing .pet-leg-back-b{animation:legStepA .36s ease-in-out infinite alternate}
.arrival-stage.playing .pet-leg-front-b,
.arrival-stage.playing .pet-leg-back-a{animation:legStepB .36s ease-in-out infinite alternate}
.arrival-stage.playing .pet-tail{animation:tailWag .3s ease-in-out infinite alternate}
.arrival-stage.playing .pet-head{animation:headBob .38s ease-in-out infinite alternate}
@keyframes walkOutCute{
  0%{left:8%;opacity:0;transform:translate3d(-58px,40px,0) scale(.3) rotate(-3deg)}
  8%{opacity:1}
  25%{left:10%;transform:translate3d(-62px,18px,0) scale(.52) rotate(-2deg)}
  44%{left:23%;transform:translate3d(-62px,4px,0) scale(.74) rotate(2deg)}
  61%{left:36%;transform:translate3d(-54px,-3px,0) scale(.88) rotate(-2deg)}
  79%{left:48%;transform:translate3d(-50%,0,0) scale(.98) rotate(1deg)}
  91%{left:51%;transform:translate3d(-50%,-5px,0) scale(1.03) rotate(-.5deg)}
  100%{left:52%;opacity:1;transform:translate3d(-50%,0,0) scale(1) rotate(0)}
}
@keyframes petWalkCute{
  from{transform:translateY(1px) rotate(-.6deg) scaleY(.985)}
  to{transform:translateY(-6px) rotate(.6deg) scaleY(1.01)}
}
@keyframes petShadowCute{
  from{opacity:.55;transform:translateX(-50%) scaleX(1)}
  to{opacity:.32;transform:translateX(-50%) scaleX(.86)}
}
@keyframes legStepA{from{transform:rotate(-14deg)}to{transform:rotate(15deg)}}
@keyframes legStepB{from{transform:rotate(15deg)}to{transform:rotate(-14deg)}}
@keyframes tailWag{from{transform:rotate(-8deg)}to{transform:rotate(10deg)}}
@keyframes headBob{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-4px) rotate(1.5deg)}}
@media(max-width:1000px){
  .profile-panel{position:relative;top:auto;min-height:auto}
  .pet-profile{min-height:calc(100vh - 90px)}
}
@media(max-width:720px){
  .profile-panel{min-height:100vh;border-radius:0}
  .pet-profile{min-height:calc(100vh - 55px)}
  .portrait-wrap{width:min(250px,72vw);height:min(250px,72vw)}
  .arrival-stage{min-height:100vh;border-radius:0}
  .arrival-house{left:2%;bottom:70px;width:178px;height:184px}
  .house-door{width:92px;height:108px}
  .arrival-pet-wrap{left:7%;bottom:94px;width:218px;height:220px}
  .arrival-copy{bottom:18px}
}
