/* Give every sprite a definite viewport; content cannot set its parent's height. */
.petportrait.evolution-art{position:relative!important;overflow:hidden!important;isolation:isolate;aspect-ratio:1/1!important;max-width:100%;min-height:0;contain:paint}
.welcome .petportrait.evolution-art{position:absolute!important}
.petportrait.evolution-art>svg{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:100%;max-height:100%;display:block;overflow:hidden}
.pet-card{min-width:0}.pet-card>.petportrait{width:100%}.evolution-catalog article{min-width:0;overflow:hidden}.evolution-catalog .petportrait{width:100%;height:auto!important}.evolution-hero .petportrait{height:auto!important}.battle-pet{min-width:0;overflow:hidden}.battle-company{flex-wrap:wrap}
.evolution-catalog{align-items:start}.pet-card .body{position:relative;background:white;z-index:1}.gear-grid{align-items:start}.gear-art{overflow:hidden;max-width:100%}
.speech-widget{margin:20px 0;border-top:1px solid #c9d9d1;padding-top:20px}.speech-widget audio{display:block;width:100%;margin:12px 0}.transcript-card{border:1px solid #93b4a5;background:#eff7f2;border-radius:10px;padding:16px;margin:14px 0}.transcript-card p{font-size:20px;overflow-wrap:anywhere;min-height:32px}.speech-disclosure{font-size:14px;color:var(--muted)}.support-ladder{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.city-threshold{border-left:4px solid #bb9345;background:#f7f1e2;padding:16px;margin:20px 0}.private-role-info{padding:20px;background:#e9f2ec;border:2px solid #407d67;border-radius:12px;margin:20px 0}.story-options{display:grid;grid-template-columns:1fr;gap:12px}.story-options button{text-align:left}.story-options span{display:block;margin-top:6px;font-size:20px}.story-prose{font-size:23px;line-height:2}.dialogue-script p{font-size:22px;line-height:1.85}.game-card select{width:100%;max-width:100%;margin-bottom:18px}.game-card label{width:100%}
.boss-portrait{width:min(100%,360px);height:auto;object-fit:contain;display:block;border-radius:18px}.boss-intro{display:grid;grid-template-columns:minmax(220px,360px) minmax(0,1fr);gap:32px;align-items:center}.boss-intro h2{font-size:28px}.boss-intro ul{padding-left:22px}.boss-intro li{margin:12px 0}.boss-battle-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:22px;align-items:start}.boss-status{text-align:center}.boss-question h2{font-size:30px}.boss-question input{width:100%;font-size:24px;margin:15px 0}.boss-question .jp{line-height:1.85}.boss-section-results{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.boss-section-results>div{padding:14px;border:1px solid #afc8ba;border-radius:10px}.lesson-boss-callout{display:flex;gap:25px;margin-top:24px;align-items:center}.lesson-boss-callout .boss-portrait{width:140px}
.ai-portrait{position:relative;aspect-ratio:1/1.12;overflow:hidden;width:100%;border-radius:12px;background:#17373c}.ai-portrait>svg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.difficulty .ai-portrait{height:auto;margin:12px 0}.battle-opponent{max-width:125px;margin:12px auto;text-align:center}.battle-opponent small{display:block;margin:8px 0}.battle-company .petportrait{width:110px!important}.recordbox{min-width:0;overflow-wrap:anywhere}
@media(max-width:720px){.boss-intro,.boss-battle-layout{grid-template-columns:1fr}.boss-intro>.boss-portrait{max-width:240px;margin:auto}.boss-status{display:grid;grid-template-columns:90px 1fr;gap:8px 16px;text-align:left}.boss-status .boss-portrait{grid-row:1/5}.boss-status h3,.boss-status p{margin:0}.boss-section-results{grid-template-columns:repeat(2,minmax(0,1fr))}.boss-question{padding:18px}.boss-question h2{font-size:24px}.lesson-boss-callout{align-items:flex-start}.lesson-boss-callout .boss-portrait{width:85px;min-width:85px}.lesson-boss-callout h2{font-size:21px}.story-prose,.dialogue-script p{font-size:20px}.speech-widget .row{align-items:stretch}.support-ladder button{font-size:14px;padding:10px}.battle-opponent{max-width:100px}.game-card{overflow:hidden}}

.bridge-progress>div{min-width:0;display:flex;flex-wrap:wrap;gap:8px}.bridge-step{display:inline-block}.pet-grid,.difficulty{min-width:0}.difficulty button{min-width:0}
