/* 三阶段卡面、成长轨迹与共享角色层。 */
.buddy-summary{display:block;width:176px;margin:0 0 12px;position:relative;left:50%;transform:translateX(-50%);padding:10px 8px;border:1px solid #ebd29955;background:#0b2931e8;border-radius:10px;text-align:center;box-shadow:0 4px 16px #001b2644}
.buddy-summary span{display:flex;flex-direction:column;gap:7px}.buddy-summary small{font-size:11px;line-height:1.5;color:#c0d6cc}.buddy-summary b{color:#ffe1a5;font-size:16px}.buddy-summary em{display:block;font-size:10px;font-weight:400;font-style:normal;line-height:1.8;color:#c2d6ca}.buddy-summary-empty{font-size:12px;line-height:1.7;color:#c0d6cc}
.form-sprite{display:block;position:relative;overflow:hidden;aspect-ratio:2/3;isolation:isolate;flex:none}
.form-sprite>img{position:absolute!important;display:block;width:100%!important;height:100%!important;max-width:100%!important;inset:0;object-fit:contain!important;pointer-events:none}
.pet-evolution-art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 48%,color-mix(in srgb,var(--rarity) 24%,#13333b),#0b212c 75%)}
.pet-evolution-art:before{content:'';position:absolute;inset:18% 8% 23%;border:1px solid color-mix(in srgb,var(--rarity) 35%,transparent);border-radius:50%;box-shadow:0 0 26px color-mix(in srgb,var(--rarity) 10%,transparent),inset 0 0 28px #e2ce9810}
.pet-evolution-art .form-sprite{width:88%;height:70%;aspect-ratio:auto;filter:drop-shadow(0 12px 10px #0007);margin-top:-4%}
.pet-card .pet-shade{background:linear-gradient(#041c2633,transparent 22%,transparent 62%,#051c2ce8 90%)}
.pet-element{writing-mode:horizontal-tb;right:12px;top:17px;letter-spacing:0}
.pet-types{display:inline-flex;gap:5px;flex-wrap:wrap;vertical-align:middle}
.pet-type{display:inline-flex;justify-content:center;align-items:center;min-width:30px;padding:4px 7px;border:1px solid color-mix(in srgb,var(--type-color) 50%,transparent);border-radius:6px;font:600 11px/1.1 var(--sans,sans-serif);color:var(--type-color);background:color-mix(in srgb,var(--type-color) 14%,#112930);white-space:nowrap}
.pet-form-level{position:absolute;left:50%;top:53px;transform:translateX(-50%);white-space:nowrap;font:10px/1.4 var(--sans);color:#c8d6cf;letter-spacing:1px}
.pet-card .pet-name small{font-size:14px;letter-spacing:.4px}.pet-card .pet-name b{letter-spacing:2px}
.pet-detail{align-items:flex-start}.pet-biography{max-width:480px}.pet-biography>.pet-types{margin-bottom:14px;display:flex}.pet-biography .pet-trait{margin-top:10px}
.evolution-track{border-top:1px solid #d5bd7c44;margin:24px auto 0;padding:24px 0 0;max-width:820px}
.evolution-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px;align-items:center}.evolution-heading>span{font:26px var(--serif,serif);color:#f4da9c}.evolution-heading>b{font:12px var(--sans,sans-serif);color:#a6c7c0}
.evolution-forms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.evolution-slot{position:relative;display:flex;align-items:center;flex-direction:column;padding:16px 10px 18px;min-width:0;border:1px solid #a3beb33b;border-radius:15px;color:#f4dcac;background:radial-gradient(ellipse at 50% 35%,#294d50,#102b31 80%);text-align:center}
.evolution-slot.current{border-color:#e6c781;box-shadow:inset 0 0 30px #e3c88112,0 0 20px #e3c8810c}.evolution-slot.unlocked:hover{border-color:#f3dbab;background-color:#1b4043}
.evolution-slot .form-sprite{height:170px;width:130px;max-width:100%;aspect-ratio:auto;filter:drop-shadow(0 7px 10px #0004)}
.form-number{position:absolute;left:12px;top:10px;font:11px var(--sans,sans-serif);color:#9ebdb1;letter-spacing:2px}.evolution-slot>b{font:17px var(--serif,serif);margin-top:8px}.evolution-slot>small{font:11px var(--sans,sans-serif);margin-top:7px;color:#accbc3}.evolution-slot.current>small{color:#f6d998}
.evolution-slot.locked{background:radial-gradient(ellipse at 50% 40%,#20383f,#102329);border-style:dashed;color:#99b4b4}.form-mystery{height:170px;display:flex;align-items:center;justify-content:center;position:relative;font:84px var(--serif,serif);color:#a8bfc34f;text-shadow:0 0 25px #caecff18;width:100%}.form-mystery svg{width:24px;height:24px;position:absolute;bottom:17px;left:50%;transform:translateX(-50%);color:#bcd3cd80;font-style:normal}
.growth-progress{min-width:0;margin-top:18px;padding:16px 18px;border-radius:12px;background:#17383b;border:1px solid #a8c1ae30}.growth-progress h4{margin:0 0 12px;font:600 16px/1.5 var(--sans);color:#f6dfac}.growth-progress.ready{border-color:#e5c67e88}.growth-meter+.growth-meter{margin-top:12px}.growth-meter>div{display:flex;justify-content:space-between;gap:12px;color:#c0d7cf;font-size:14px;line-height:1.7}.growth-meter b{color:#f1d294;white-space:nowrap}.growth-meter progress{display:block;margin-top:6px;width:100%;height:8px;border:0;border-radius:8px;overflow:hidden;background:#061e28;appearance:none}.growth-meter progress::-webkit-progress-bar{background:#092731}.growth-meter progress::-webkit-progress-value{background:linear-gradient(90deg,#9bc6b3,#f1d294);border-radius:8px}.growth-meter progress::-moz-progress-bar{background:#e4c989}.growth-progress .growth-progress-note{font:12px/1.7 var(--sans);color:#abc9bf;margin:12px 0 0}.evolve-button{margin-top:18px;width:100%}
.evolution-note{font-size:12px;line-height:1.9;color:#9bbab0;margin:16px 0 0}.evolution-finished{background:#223f3f;padding:17px;color:#e8d59b;border-radius:12px}
.growth-ready{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 20px;padding:16px 20px;background:linear-gradient(110deg,#344d3e,#1a383d);border:1px solid #d4bd7470;border-radius:12px;color:#f5da9b;font-size:15px}
.dock-pet.form-sprite{width:100%;height:88%;filter:drop-shadow(0 7px 6px #0007)}
.companion-cast{position:relative;display:flex;align-items:flex-end;justify-content:flex-end;gap:14px;pointer-events:none}.cast-member{position:relative;width:135px}.cast-member .form-sprite{height:165px;width:100%;aspect-ratio:auto;filter:drop-shadow(0 9px 6px #0008)}.cast-caption{display:flex;flex-direction:column;align-items:center;gap:3px;border-radius:9px;background:#102c34e8;border:1px solid #ecd7a444;padding:8px;color:#f3d7a4}.cast-caption small,.cast-caption span{font-size:10px;color:#aacbc0}.cast-caption b{font:18px var(--serif,serif)}
#story-companion-cast{position:absolute;right:3%;bottom:42%;z-index:2;max-width:40%}.chapter-cinema .companion-cast{animation:companion-arrive .8s both}.outcome-companion{position:absolute;right:5%;bottom:24%;z-index:2}.outcome-companion .cast-member{width:180px}.outcome-companion .form-sprite{height:235px}
.evolution-reveal{text-align:center;max-width:900px;margin:auto;padding:24px 0}.evolution-reveal h3{font:clamp(26px,4vw,42px)/1.6 var(--serif,serif);margin:20px 0;color:#fae0a5}.evolution-stage{position:relative;height:330px;margin:0 auto;width:300px}.evolution-stage .form-sprite{height:100%;width:220px;margin:auto;aspect-ratio:auto;filter:drop-shadow(0 0 24px #edd89977)}.evolution-orbit{position:absolute;inset:15% -6%;border:1px solid #ead39e88;border-radius:50%;box-shadow:0 0 90px #dfc77822,inset 0 0 80px #d9eeed18;transform:rotate(-20deg)}.evolution-before,.evolution-after{position:absolute;inset:0}.evolution-before{animation:evolution-away 1.4s .1s both}.evolution-after{animation:evolution-in 1.8s 1.1s both}.evolution-reveal-copy{animation:evolution-copy .8s 2.1s both}.evolution-reveal-copy h4{font:27px var(--serif,serif);color:#ffdc92;margin:14px 0}.evolution-reveal-copy p{font-size:14px;color:#b7d1c9;margin-bottom:22px}
@keyframes companion-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes evolution-away{0%,30%{opacity:1;filter:brightness(1)}75%{opacity:1;filter:brightness(3)}100%{opacity:0;filter:brightness(3)}}
@keyframes evolution-in{from{opacity:0;transform:scale(.75);filter:brightness(2)}65%{opacity:1;transform:scale(1.03);filter:brightness(1.3)}to{opacity:1;transform:scale(1);filter:brightness(1)}}
@keyframes evolution-copy{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.evolution-forms{gap:8px}.evolution-slot{padding:12px 5px}.evolution-slot .form-sprite,.form-mystery{height:118px}.evolution-slot>b{font-size:14px}.evolution-slot>small{font-size:10px}.evolution-heading>span{font-size:22px}.evolution-goals{padding:17px}.evolution-goals label{font-size:12px}.evolution-note{font-size:11px}.pet-type{font-size:10px;padding:3px 5px}.growth-ready{align-items:flex-start;flex-direction:column}.pet-form-level{font-size:9px}.pet-card .pet-name small{font-size:11px}.outcome-companion{right:50%;transform:translateX(50%);bottom:135px}.outcome-companion .cast-member{width:90px}.outcome-companion .form-sprite{height:105px}.cast-caption{padding:4px}.cast-caption b{font-size:14px}.outcome-companion .cast-caption small{display:none}#story-companion-cast{right:4%;bottom:51%;max-width:55%}.cast-member{width:86px}.cast-member .form-sprite{height:103px}.evolution-stage{height:280px;width:240px}.evolution-stage .form-sprite{width:186px}}
@media(max-height:700px){.outcome-companion .form-sprite{height:140px}.outcome-companion .cast-member{width:105px}}
@media(prefers-reduced-motion:reduce){.evolution-before{display:none}.evolution-after,.evolution-reveal-copy,.chapter-cinema .companion-cast{animation:none}}
.app.reduced .evolution-before{display:none}.app.reduced .evolution-after,.app.reduced .evolution-reveal-copy{animation:none}

.result-companion>.form-sprite,.journey-memory>.form-sprite{width:62px;height:86px;display:inline-block;vertical-align:middle}.story-friend>.form-sprite{width:70px;height:94px}.basket-brief>.form-sprite,.aqi-note>.form-sprite{width:70px;height:85px}.mission-art>.companion-cast{position:absolute;right:20px;bottom:16px}.basket-scene>.companion-cast{position:absolute;left:3%;bottom:8%}.basket-scene>.companion-cast .cast-caption{display:none}
.evolution-slot .form-sprite{width:100%;height:180px}.evolution-stage{width:min(400px,84vw);height:340px}.evolution-stage .form-sprite{width:100%;height:100%}
.basket-scene>.companion-cast{left:19%;bottom:19%;width:23%;gap:0}.basket-scene>.companion-cast .cast-member{width:100%;min-width:0}.basket-scene>.companion-cast .form-sprite{height:auto;aspect-ratio:1;filter:drop-shadow(0 5px 2px #23241088)}.basket-scene>.companion-cast:has(.cast-member:nth-child(2)){left:13%;width:30%}
.chapter-supplies #story-companion-cast{left:16%;right:auto;bottom:31%;width:28%;max-width:none}.chapter-supplies .companion-cast{gap:0}.chapter-supplies .cast-member{flex:1;min-width:0}.chapter-supplies .form-sprite{height:auto;aspect-ratio:1}.chapter-supplies .cast-caption{display:none}
@media(max-width:700px){.buddy-summary{width:124px;left:auto;right:28px;padding:6px;transform:none;margin-top:8px}.buddy-summary b{font-size:13px}.buddy-summary small{font-size:9px}.buddy-summary em{display:none}.buddy-summary span{gap:3px}.evolution-slot .form-sprite{height:118px}.evolution-stage{height:280px}.evolution-stage .form-sprite{width:100%}.chapter-supplies #story-companion-cast{left:5%;bottom:47%;width:42%}}
@media(max-height:760px) and (min-width:701px){.buddy-summary{padding:6px}.buddy-summary span{gap:4px}.pocket-dock .pocket-preview{margin-top:10px;margin-bottom:8px}}
.modal-evolution{padding:24px 34px}.modal-evolution .modal-header{margin-bottom:0;padding-bottom:14px}.modal-evolution .evolution-reveal{padding:12px 0 0}.modal-evolution .evolution-reveal>h3,.modal-evolution .evolution-reveal>.modal-eyebrow{display:none}.modal-evolution .evolution-stage{height:300px}.modal-evolution .evolution-reveal-copy h4{margin:8px 0}.modal-evolution .evolution-reveal-copy p{margin:12px 0 18px}
.pet-history{margin:18px 0;color:#c3d8cd;line-height:1.8}.pet-history>summary{cursor:pointer;color:#eed49a;font-size:15px}.pet-history[open]>summary{margin-bottom:16px}
@media(max-height:760px){.modal-evolution .evolution-stage{height:240px}.modal-evolution .modal-header h2{font-size:25px}.modal-evolution .modal-header{padding-bottom:10px}.modal-evolution .evolution-reveal-copy h4{font-size:24px}}

.atlas-evolution-art,.atlas-detail-art{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#25414b,#102631 80%)}.atlas-evolution-art{position:absolute;inset:0}.atlas-evolution-art>.form-sprite{width:90%;height:74%;margin-top:-12%}.atlas-detail-art{border-radius:16px;aspect-ratio:2/3}.atlas-detail-art>.form-sprite{width:92%;height:90%}.atlas-page .evolution-track{grid-column:1/-1;width:100%;margin-top:8px}.atlas-growth{display:block;color:#e9d3a2;font-size:12px;margin-bottom:12px}.atlas-card-note>.pet-types{margin-bottom:10px}.atlas-page #atlas-detail{align-items:start}.atlas-page .evolution-slot .form-sprite{height:180px}.atlas-page .evolution-goals{color:#bfd6ca}.atlas-page .evolution-heading>span{font-size:24px}.atlas-page .evolution-slot{cursor:default}.atlas-page .evolution-slot.unlocked{cursor:pointer}@media(max-width:700px){.atlas-detail-art{max-height:360px;aspect-ratio:auto}.atlas-detail-art>.form-sprite{height:320px;width:240px}.atlas-page .evolution-slot .form-sprite{height:118px}}

/* 伙伴详情：内容独立滚动，主操作始终留在视口内。 */
dialog:has(.modal-pet){width:min(1040px,94vw);max-height:92dvh;overflow:hidden}
.modal-pet{box-sizing:border-box;height:min(760px,90dvh);padding:20px 28px 0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.modal-pet .modal-header{margin:0 0 18px;padding-bottom:14px;gap:18px;align-items:center}
.modal-pet .modal-header h2{font-size:24px;margin:4px 0 0}
.modal-pet .modal-header .modal-eyebrow{font-size:10px;letter-spacing:2px}
.modal-pet .pet-detail{display:grid;grid-template-columns:minmax(200px,270px) minmax(0,1fr);gap:30px;align-items:start;justify-content:initial;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a7beb266 transparent;padding:0 6px 22px 0}
.modal-pet .pet-detail:focus-visible{outline:1px solid #dcc792;outline-offset:-2px}
.modal-pet .pet-back{font-size:13px;letter-spacing:0;padding:0;min-height:28px}
.pet-portrait{position:sticky;top:0;min-width:0;align-self:start}
.modal-pet .pet-card.large{width:100%;max-width:270px;position:relative;top:auto}
.modal-pet .pet-card.large:hover{transform:none}
.modal-pet .pet-biography{min-width:0;max-width:none;text-align:left}
.pet-identity>.eyebrow{display:block;font-size:11px;color:#a6c3bc;letter-spacing:2px}
.pet-name-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:8px 0 10px}
.modal-pet .pet-name-row h3{font-size:32px;line-height:1.2;margin:0;letter-spacing:3px;text-align:left}
.pet-growth-state{font:600 12px var(--sans);color:#bad3ca;line-height:1.5}
.pet-growth-state.ready{border:1px solid #e8cb8788;background:#c5a05226;color:#ffe2a0;padding:6px 10px;border-radius:20px}
.modal-pet .pet-trait{font-size:15px;line-height:1.7;margin:12px 0 8px}
.pet-bond-line{display:flex;gap:8px 16px;flex-wrap:wrap;color:#aac8be;font-size:12px;line-height:1.8}
.pet-accompanying{color:#c9e5d3}.pet-preview-note{font-size:13px;line-height:1.7;color:#d5c798;text-align:center;margin:12px 0 0}
.modal-pet .evolution-track.compact{margin:18px 0 0;padding:16px 0 0;max-width:none}
.modal-pet .evolution-heading{margin-bottom:12px}.modal-pet .evolution-heading>span{font:600 16px var(--sans);letter-spacing:1px}
.modal-pet .evolution-heading>b{font-size:11px}
.modal-pet .evolution-forms{gap:10px}.modal-pet .evolution-slot{padding:10px 5px 12px;border-radius:10px}
.modal-pet .evolution-slot .form-sprite,.modal-pet .form-mystery{height:94px;width:100%}
.modal-pet .form-mystery{font-size:54px}.modal-pet .form-mystery svg{height:17px;width:17px;bottom:5px}
.form-ready-spark{position:absolute;bottom:3px;font:16px var(--sans);color:#efcf86}
.evolution-slot.ready{border-style:solid;border-color:#efd28c99;background:radial-gradient(ellipse at 50% 38%,#526048,#173339 80%)}
.evolution-slot.ready .form-mystery{color:#f3d99bc9}.evolution-slot.ready>small{color:#f4d38b}
.evolution-slot[aria-pressed="true"]{outline:2px solid #edce88;outline-offset:2px}
.modal-pet .evolution-slot>b{font:600 13px var(--sans);margin-top:5px}.modal-pet .evolution-slot>small{font-size:11px;margin-top:5px}
.modal-pet .form-number{font-size:10px;top:8px;left:8px}
.modal-pet .growth-progress{margin-top:14px;padding:12px 14px}.modal-pet .growth-progress h4{font-size:14px;margin-bottom:8px}.modal-pet .growth-meter+.growth-meter{margin-top:8px}.modal-pet .growth-meter>div{font-size:13px}.modal-pet .growth-progress-note{margin-top:8px}
.modal-pet .pet-history,.pet-growth-rules{margin:14px 0 0;border-top:1px solid #d5bd7c22;padding-top:12px;line-height:1.8;color:#b9d0c8}
.modal-pet .pet-history>summary,.pet-growth-rules>summary{font-size:13px;color:#d5c59b;cursor:pointer}
.pet-growth-rules p{font-size:13px;line-height:1.9;margin:10px 0}
.pet-action-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 -28px;padding:16px 28px 20px;border-top:1px solid #d8bf794d;background:linear-gradient(110deg,#15383a,#0b242c);box-shadow:0 -10px 24px #071e2733;z-index:2}
.pet-action-caption{display:flex;flex-direction:column;gap:6px;min-width:0}.pet-action-caption strong{font-size:15px;color:#f4dfa8}.pet-action-caption>span{font-size:12px;line-height:1.7;color:#b8d0c6}
.pet-action-buttons{display:flex;align-items:center;gap:10px;flex:none}.pet-action-buttons .gold-button{min-height:48px;min-width:225px;font-size:15px}.pet-action-buttons .evolve-button{margin:0;width:auto}.pet-action-buttons .subtle-button{min-height:44px;font-size:12px}
@media(max-width:700px){
  .modal-pet{height:92dvh;padding:14px 16px 0}.modal-pet .modal-header{margin-bottom:14px;padding-bottom:12px}.modal-pet .modal-header h2{font-size:21px}.modal-pet .modal-header .subtle-button{font-size:11px;padding:8px}
  .modal-pet .pet-detail{grid-template-columns:105px minmax(0,1fr);gap:16px 14px;padding-right:2px;padding-bottom:18px}.pet-portrait{position:static}.modal-pet .pet-biography{display:contents}.pet-identity{min-width:0}.modal-pet .pet-identity>.eyebrow{font-size:9px;letter-spacing:1px;text-align:left}
  .pet-name-row{gap:8px;margin:6px 0 8px}.modal-pet .pet-name-row h3{font-size:25px;letter-spacing:1px}.pet-growth-state{font-size:11px}.pet-growth-state.ready{padding:4px 7px}
  .modal-pet .pet-trait{font-size:13px;line-height:1.65;margin:8px 0}.pet-bond-line{font-size:10px;gap:2px}.pet-preview-note{font-size:10px}
  .modal-pet .pet-card.large .pet-name b{font-size:16px;letter-spacing:1px;margin:3px 0}.modal-pet .pet-card.large .pet-name{bottom:10px}.modal-pet .pet-card.large .pet-name small,.modal-pet .pet-card.large .pet-name em,.modal-pet .pet-card.large .pet-form-level,.modal-pet .pet-card.large .pet-element,.modal-pet .pet-card.large .pet-rank small{display:none}.modal-pet .pet-card.large .pet-rank{font-size:17px;left:8px;top:9px;padding:4px}
  .modal-pet .evolution-track.compact,.modal-pet .pet-history,.modal-pet .pet-growth-rules,.modal-pet .pet-biography>.evolution-note,.modal-pet .pet-biography>.growth-progress{grid-column:1/-1;margin-top:0}.modal-pet .evolution-track.compact{padding-top:14px}.modal-pet .evolution-slot .form-sprite,.modal-pet .form-mystery{height:80px}.modal-pet .evolution-slot>small{font-size:10px}
  .pet-action-bar{margin:0 -16px;padding:12px 16px max(14px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:10px}.pet-action-caption{gap:3px}.pet-action-caption strong{font-size:14px}.pet-action-caption>span{font-size:11px}.pet-action-buttons{flex-wrap:wrap;width:100%}.pet-action-buttons .gold-button{flex:1;min-width:0;width:100%;font-size:14px}.pet-action-buttons .subtle-button{flex:1;min-width:0}
}

/* 同行伙伴置于收藏筛选之前，卡牌名单保留明确的选中标记。 */
.active-companion{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,1.25fr);gap:24px;padding:18px 22px;margin-bottom:22px;border:1px solid #d7bd7877;border-radius:14px;background:linear-gradient(110deg,#204345,#102a33)}
.active-companion-identity{display:flex;align-items:center;gap:18px;min-width:0}.active-companion-identity>.form-sprite{width:92px;height:138px;border-radius:9px;background:#09252d}.active-companion-identity>div{min-width:0}.active-companion-identity small{font-size:12px;color:#d9d6a4}.active-companion h3{font:26px/1.35 var(--serif);color:#f6dfa8;letter-spacing:2px;margin:7px 0}.active-companion-form{display:block;font-size:13px;color:#b7d3c7}.active-companion-identity button{display:block;margin-top:14px;font-size:13px;min-height:42px;padding:8px 12px}
.active-companion .growth-progress{margin:0;padding:0;border:0;background:none;align-self:center}.active-companion .growth-progress h4{font-size:15px}.active-companion.empty{display:flex;align-items:center;gap:18px}.active-companion.empty>span{font:48px var(--serif);color:#e6c780}.active-companion.empty h3{font-size:20px}.active-companion.empty p{font-size:14px;line-height:1.8;color:#b7d3c7;margin:6px 0}
.pet-card.is-buddy{outline:2px solid #ffe3a0;outline-offset:3px}.pet-buddy-badge{position:absolute;left:50%;bottom:3px;transform:translateX(-50%);white-space:nowrap;border:1px solid #ecd18f;border-radius:20px;padding:5px 12px;background:#203c3c;color:#ffe3a0;font:600 12px/1.3 var(--sans);box-shadow:0 3px 10px #0005;z-index:2}
.pet-card.is-buddy .pet-name{bottom:42px}
.atlas-page #atlas-detail>.growth-progress{grid-column:1/-1;width:100%;box-sizing:border-box}
@media(max-width:700px){
  .active-companion{grid-template-columns:minmax(0,1fr);gap:18px;padding:16px;margin-bottom:18px}.active-companion-identity{gap:16px}.active-companion-identity>.form-sprite{width:64px;height:96px}.active-companion h3{font-size:24px;margin:4px 0}.active-companion-identity button{margin-top:8px}.active-companion .growth-progress{border-top:1px solid #d2c38a33;padding-top:14px}.active-companion .growth-meter>div{font-size:13px}.pet-buddy-badge{font-size:11px;padding:4px 9px}
}
.growth-rarity{margin:0 0 16px;color:var(--muted,#aec6be);font-size:clamp(14px,1.2vw,18px);line-height:1.6}
