/* The fifteen love animals have their own newly drawn SD art, with no reused character scene. */
.snack-book .animal-cover { height:auto; }
body[data-kind="animal"] .input-art > img, body[data-kind="animal"] .loading-scene > img { width:min(100%,480px); height:auto; aspect-ratio:1; margin:0 auto; padding:30px; object-fit:contain; background:radial-gradient(ellipse at center,#fff9ee 5%,#f3e3dc 78%); }
body[data-kind="animal"] .loading-scene { background:#f3e3dc; }
body[data-kind="animal"] .loading-scene > img { animation:animal-breathe 3s ease-in-out infinite; }
@keyframes animal-breathe { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
body[data-kind="animal"] .result-art { padding:32px 16px 8px; background:radial-gradient(ellipse at 50% 70%,#fff9ed 0%,#f3e3dc 82%); }
body[data-kind="animal"] .result-art > img { width:min(100%,520px); aspect-ratio:1; object-fit:contain; margin:0 auto; }
body[data-kind="animal"] #result-paragraphs:empty { display:none; }
.animal-image-fallback { display:grid; place-items:center; min-height:240px; padding:32px; text-align:center; font-family:var(--serif); font-size:26px; color:var(--accent); }
.animal-traits h2,.animal-sting h3,.animal-dohwa h3,.animal-matches h2 { font-family:var(--serif); font-weight:400; font-size:25px; line-height:1.6; word-break:keep-all; }
.animal-trait-list { counter-reset:animal-trait; list-style:none; padding:0; margin:22px 0 0; }
.animal-trait-list li { counter-increment:animal-trait; display:flex; gap:17px; padding:19px 0; border-top:1px solid var(--line); }
.animal-trait-list li::before { content:"0" counter(animal-trait); color:var(--gold); font-size:12px; padding-top:5px; }
.animal-trait-list p { margin:0; font-family:var(--serif); font-size:20px; line-height:1.9; word-break:keep-all; overflow-wrap:anywhere; }
.animal-sting,.animal-dohwa { margin:28px 0; padding:25px 24px; background:var(--accent-soft); border-left:2px solid var(--accent); }
.animal-sting .eyebrow,.animal-dohwa .eyebrow { margin-bottom:9px; }
.animal-sting > p:last-child,.animal-dohwa > p:last-child { margin-top:15px; font-size:16px; line-height:1.95; word-break:keep-all; overflow-wrap:anywhere; }
.animal-dohwa { background:transparent; border-left-color:var(--gold); }
.animal-matches { margin-top:38px; }
.animal-match-pairs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:22px 0 14px; }
.animal-match { min-width:0; text-align:center; border-bottom:1px solid var(--line); padding-bottom:19px; }
.animal-match img { width:min(100%,160px); height:auto; aspect-ratio:1; object-fit:contain; margin:0 auto 12px; }
.animal-match .eyebrow { letter-spacing:0; font-size:11px; }
.animal-match h3 { margin-top:5px; font-family:var(--serif); font-weight:400; font-size:24px; }
.animal-evidence { margin-top:30px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.animal-evidence summary { min-height:56px; padding:17px 0; color:var(--muted); cursor:pointer; font-size:13px; }
.animal-evidence > p { margin:0 0 17px; font-size:13px; line-height:1.9; color:var(--muted); word-break:keep-all; overflow-wrap:anywhere; }
@media(max-width:560px){
  body[data-kind="animal"] .result-art { padding:20px 20px 0; }
  body[data-kind="animal"] .result-art > img { max-width:360px; }
  .animal-traits h2,.animal-sting h3,.animal-dohwa h3,.animal-matches h2 { font-size:23px; }
  .animal-trait-list p { font-size:18px; }
  .animal-sting,.animal-dohwa { padding:21px 18px; }
  .animal-match-pairs { gap:12px; }
}
