.weapon-player{width:min(1050px,96vw);max-height:96dvh;box-sizing:border-box;padding:20px;border:1px solid #486a80;border-radius:24px;background:#10283b;color:#f4fbff;overflow:auto;box-shadow:0 20px 100px #0009}.weapon-player::backdrop{background:#001526db}.weapon-player header{display:flex;justify-content:space-between;align-items:center;gap:16px}.weapon-player header span{font-size:.875rem;color:#b7d4e5}.weapon-player h2{font-size:1.5rem;margin:4px 0}.weapon-player button{min-height:44px;border:1px solid #547286;border-radius:12px;padding:9px 16px;background:#1d3e53;color:#fff;font-size:1rem;font-weight:700;cursor:pointer}.weapon-player button:disabled{opacity:.5;cursor:wait}.weapon-player button:focus-visible,.weapon-player input:focus-visible{outline:3px solid #ffdf74;outline-offset:3px}.weapon-caption{margin:12px 0 2px;min-height:1.6em;font-size:1rem}.weapon-scene{position:relative;border-radius:18px;background:radial-gradient(ellipse at 50% 80%,#22455a,#0a1b2d 76%);overflow:hidden}.weapon-scene>svg{display:block;width:100%;height:min(57dvh,570px);font-family:system-ui,sans-serif}.summon-call{font-size:40px;font-weight:900;fill:#fff;paint-order:stroke;stroke:#10283b;stroke-width:5}.weapon-loading{position:absolute;inset:42% 10% auto;text-align:center;padding:20px;border-radius:16px;background:#10283be8;color:#fff}.weapon-loading[hidden]{display:none}.weapon-steps{display:flex;gap:6px;margin:12px 0;flex-wrap:wrap}.weapon-steps button{font-size:.875rem;flex:1;padding:8px;white-space:nowrap}.weapon-steps button[aria-current]{background:var(--summon);color:#071c2b;border-color:#fff}.weapon-controls{display:flex;gap:8px;flex-wrap:wrap}.weapon-controls .primary{background:#f6da78;color:#153343}.weapon-motion{display:flex;gap:9px;align-items:center;font-size:.875rem;margin-top:14px}.weapon-motion input{width:20px;height:20px}.weapon-voice{font-size:.875rem;color:#d9edf7;margin:9px 0 0;min-height:1.3em}.equipment-inline{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.equipment-inline p:empty{display:none}@media(max-width:600px){.weapon-player{padding:12px;width:98vw;border-radius:18px}.weapon-player h2{font-size:1.25rem}.weapon-scene>svg{height:auto;max-height:52dvh;min-height:235px}.weapon-steps{gap:4px}.weapon-steps button{font-size:.875rem;padding:6px 4px;min-width:27%}.weapon-controls button{flex:1;min-width:40%}.weapon-caption{min-height:3em}.summon-call{font-size:44px}}

/* Solid element rings and a large callout; two playback controls. */
.weapon-player h2{font-size:1.9rem;font-weight:900;letter-spacing:.04em}.summon-call{font-family:"DFKai-SB","BiauKai","Noto Serif TC",serif;font-size:78px;font-weight:900;letter-spacing:5px;stroke:#172237;stroke-width:7;stroke-linejoin:round;paint-order:stroke;filter:drop-shadow(0 2px 2px #fff7) drop-shadow(0 0 12px var(--summon))}.weapon-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.weapon-controls button{min-height:50px;font-size:1.1rem;font-weight:800}.weapon-player[data-element=water] .weapon-scene{background:radial-gradient(ellipse at 55% 85%,#124667,#06182b 76%)}.weapon-player[data-element=fire] .weapon-scene{background:radial-gradient(ellipse at 55% 85%,#632d22,#170d22 76%)}.weapon-player[data-element=wood] .weapon-scene{background:radial-gradient(ellipse at 55% 85%,#294c26,#0a1b22 76%)}.weapon-player[data-element=earth] .weapon-scene{background:radial-gradient(ellipse at 55% 85%,#5a4320,#181729 76%)}.weapon-player[data-element=metal] .weapon-scene{background:radial-gradient(ellipse at 55% 85%,#414a5b,#0b182b 76%)}.weapon-voice:empty{display:none}@media(max-width:600px){.weapon-player h2{font-size:1.55rem}.summon-call{font-size:78px}.weapon-controls button{min-width:0}.weapon-scene>svg{min-height:260px}}

/* Terrain artwork behind each elemental summon, and one replay at completion. */
.weapon-player h2{color:var(--summon);text-shadow:0 2px 3px #00101f,0 0 15px color-mix(in srgb,var(--summon),transparent 65%)}.weapon-player .summon-call{fill:var(--summon);stroke:#0b192b;filter:drop-shadow(0 2px 2px #0009) drop-shadow(0 0 12px var(--summon))}.weapon-player[data-element] .weapon-scene{background-image:linear-gradient(#06132318,#06132330),var(--summon-terrain);background-size:cover;background-position:center}.weapon-controls.is-complete{grid-template-columns:1fr}.weapon-controls button[hidden]{display:none}.weapon-scene>svg{position:relative;z-index:1}

/* The nursery keeps the equipment performance in its existing artwork panel. */
.weapon-controls{grid-template-columns:1fr 1fr 1fr;gap:8px}.weapon-controls [data-summon=skip]{background:#e8f3ff;color:#153343;border-color:#adcadc}.summon-call tspan{paint-order:stroke;stroke:#0b192b}.weapon-player h2 span{display:inline-block}
.pet-habitat:has(.weapon-inline){display:block;background:#10283b;overflow:visible}.pet-art.is-summon{height:auto;min-height:390px}.pet-habitat:has(.weapon-inline)>.pet-stage-label{display:none}
.weapon-player.weapon-inline{display:flex;flex-direction:column;width:100%;max-height:none;margin:0;padding:0;border:0;border-radius:20px;overflow:hidden;box-shadow:none;position:relative;color:#f4fbff;box-sizing:border-box}
.weapon-inline>header{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.weapon-inline .weapon-scene{order:0;border-radius:0}.weapon-inline .weapon-scene>svg{height:390px;min-height:0;max-height:none;width:100%;object-fit:contain}.weapon-inline .weapon-caption{order:1;margin:12px 15px 0;font-size:.95rem;min-height:1.6em}.weapon-inline .weapon-controls{order:2;margin:12px 12px 14px;gap:7px}.weapon-inline .weapon-controls button{padding:9px 3px;font-size:.9rem;min-height:46px}.weapon-inline .weapon-voice{order:3;margin:0 14px 12px;font-size:.875rem}.weapon-inline .weapon-controls.is-complete{grid-template-columns:1fr}.weapon-inline .summon-call{font-size:78px}
@media(max-width:700px){.pet-art.is-summon{min-height:340px}.weapon-inline .weapon-scene>svg{height:340px}.weapon-inline .weapon-caption{min-height:1.6em}.weapon-controls button{min-width:0}.weapon-controls{gap:6px}.weapon-controls button{font-size:.9rem;padding:9px 6px}}

/* Keep the selected element environment when reopening the robot form. */
.pet-habitat[data-stage="3"]{background-size:cover;background-position:center}.pet-habitat[data-stage="3"]>.pet-stage-label{z-index:3;background:#f7ffffdb;border-radius:9px;padding:5px 9px;color:#15394c}.pet-habitat[data-stage="3"]>.pet-art:not(.is-summon){height:390px;padding:45px 10px 20px;box-sizing:border-box}
.pet-habitat[data-stage="3"][data-character="rex"]{background-image:linear-gradient(#06132318,#06132330),url("assets/equipment-v024/water-surface.webp")}
.pet-habitat[data-stage="3"][data-character="ridge"]{background-image:linear-gradient(#06132318,#06132330),url("assets/terrain-v022/ridge.webp")}
.pet-habitat[data-stage="3"][data-character="branch"]{background-image:linear-gradient(#06132318,#06132330),url("assets/terrain-v022/branch.webp")}
.pet-habitat[data-stage="3"][data-character="pterosaur"]{background-image:linear-gradient(#06132318,#06132330),url("assets/terrain-v022/pterosaur.webp")}
.pet-habitat[data-stage="3"][data-character="ankylosaur"]{background-image:linear-gradient(#06132318,#06132330),url("assets/terrain-v022/ankylosaur.webp")}
.pet-habitat[data-stage="3"][data-character="team"]{background-image:linear-gradient(#06132318,#06132330),url("assets/terrain-v022/team.webp")}
@media(max-width:700px){.pet-habitat[data-stage="3"]>.pet-art:not(.is-summon){height:340px}}

/* Use the same stage dimensions and camera before, during and after equip. */
.pet-habitat[data-stage="3"]>.pet-art:not(.is-summon){height:470px;padding:0}.weapon-inline .weapon-scene{border:0}.weapon-inline .weapon-scene>svg{height:470px}.pet-art.is-summon{min-height:470px}
@media(max-width:700px){.pet-habitat[data-stage="3"]>.pet-art:not(.is-summon),.weapon-inline .weapon-scene>svg{height:410px}.pet-art.is-summon{min-height:410px}}

/* v036 common camera and name geometry, including five-element tspans. */
.weapon-player .summon-call,.weapon-inline .summon-call{font-size:78px;letter-spacing:5px}.summon-call tspan{font-size:inherit;letter-spacing:inherit}.weapon-stage-art{width:100%;height:100%;display:block}

/* Static robot portraits share the dinosaur display area; animation retains its common camera. */
.pet-habitat[data-stage="3"]>.pet-art:not(.is-summon){height:310px;padding:0}
@media(max-width:700px){.pet-habitat[data-stage="3"]>.pet-art:not(.is-summon){height:245px}}

/* After docking, return to the large portrait view; replay restores the animation camera. */
.weapon-player[data-state="complete"] .summon-floor,.weapon-player[data-state="complete"] .summon-front-ring,.weapon-player[data-state="complete"] .summon-particles,.weapon-player[data-state="complete"] .summon-orbits,.weapon-player[data-state="complete"] .summon-dock,.weapon-player[data-state="complete"] .weapon-scene>svg>ellipse:not([class]){display:none}.pet-art.is-summon:has(.weapon-player[data-state="complete"]){min-height:0}.weapon-inline[data-state="complete"] .weapon-scene>svg{height:310px}
@media(max-width:700px){.weapon-inline[data-state="complete"] .weapon-scene>svg{height:245px}}

/* Fixed body size: equipment expands portrait height without shrinking its owner. */
.pet-habitat[data-stage="3"]>.pet-art:not(.is-summon){height:auto;min-height:0;padding:0}
.pet-art>.weapon-stage-art,.equipment-comparison .weapon-stage-art{height:auto;max-height:none;width:100%}
.equipment-comparison figure{display:flex;flex-direction:column;justify-content:flex-end}
.house-equipment .equipment-comparison figure+figure{border-left:0;box-shadow:inset 1px 0 #ddcb8c}
.weapon-player[data-state="complete"] .weapon-scene>svg{height:auto;min-height:0;max-height:none}
.weapon-inline[data-state="complete"] .weapon-scene{min-height:0}
.house-picker .pet-choice>span:has(>.weapon-stage-art){height:auto;flex:1;display:flex;align-items:flex-end}
.house-picker .pet-choice>span>.weapon-stage-art{height:auto;width:100%}
.home-pet-art:has(>.weapon-stage-art),.pet-launch-art:has(>.weapon-stage-art){height:auto}
.home-pet-art>.weapon-stage-art,.pet-launch-art>.weapon-stage-art{height:auto}
.collection-art:has(>.weapon-stage-art){height:auto;max-height:none}
.collection-art>.weapon-stage-art{height:auto;max-height:none}

/* Static and summoning artwork use the identical width, height and body camera. */
.pet-art.is-summon{height:auto;min-height:0}.weapon-inline .weapon-scene>svg,.weapon-player .weapon-scene>svg{height:auto;min-height:0;max-height:none;width:100%}.weapon-inline .weapon-controls{margin:8px;gap:6px}.weapon-inline .weapon-controls button{min-height:44px}.weapon-inline .weapon-scene{flex:none}
