.pet-art.pet-suri{background-image:url('/static/art/suri-meerkat.png');background-size:contain;background-position:center;animation:none}
.sanctuary .intro-row{margin-bottom:24px}.sanctuary .intro-row h1{font-size:2rem}.sanctuary-count{background:#eaf6f2;border:1px solid #bbded2;color:#286958;border-radius:20px;padding:9px 16px;white-space:nowrap;font-weight:700}.sanctuary-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:26px;align-items:start}.habitat-studio{border:1px solid #d4e4ee;border-radius:23px;overflow:hidden;background:white;box-shadow:0 8px 22px #204c6a08}.habitat-preview{height:280px;position:relative;isolation:isolate;overflow:hidden}.habitat-art{position:absolute;inset:0;width:100%;height:100%;display:block}.habitat-badge{position:absolute;top:15px;left:15px;background:#ffffffdb;border-radius:15px;padding:5px 10px;font-size:.7rem;font-weight:700;color:#2e5b64}.habitat-animal{position:absolute;inset:30px 0 76px;display:grid;place-items:center}.habitat-animal .pet-art{font-size:170px;animation:none;transform:none;filter:drop-shadow(0 7px 3px #193f442a)}.habitat-caption{position:absolute;bottom:0;left:0;right:0;padding:12px 18px;background:#ffffffec}.habitat-caption h2{font-size:1.25rem;margin:0 0 3px}.habitat-caption span{font-size:.78rem;color:#517084}.habitat-picker{padding:18px}.habitat-picker h3{font-size:1rem;margin:0 0 12px}.habitat-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.habitat-choice{padding:4px;border:2px solid #e2edf1;border-radius:12px;overflow:hidden;background:white;font:inherit;color:#385d73;cursor:pointer;text-align:left}.habitat-choice.selected{border-color:#23a397;background:#f1fcf7}.habitat-thumb{display:block;height:58px;position:relative;border-radius:7px;overflow:hidden}.habitat-choice>span:last-child{display:block;font-size:.74rem;font-weight:700;padding:7px 4px 3px}.habitat-choice:focus-visible{outline:3px solid #f4bc32;outline-offset:3px}.habitat-picker>p{font-size:.7rem;line-height:1.5;color:#6a8493;margin:13px 0 0}.sanctuary-collection{min-width:0}.sanctuary-collection .section-title{margin:0 0 14px;gap:8px;flex-wrap:wrap}.sanctuary-collection .section-title h2{font-size:1.2rem}.sanctuary-collection .section-title>span{font-size:.72rem;color:#6a8395}.animal-shelves{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.animal-tile{border:1px solid #dbe7ec;background:white;border-radius:17px;padding:10px;text-align:center;min-width:0}.animal-tile.selected{border:2px solid #54b9a3;padding:9px;background:#f2fcf8}.animal-portrait{position:relative;height:88px;background:linear-gradient(155deg,#f6fbfe,#edf5f7);border-radius:11px;display:grid;place-items:center;overflow:hidden}.animal-portrait .pet-art{font-size:82px;animation:none;transform:none}.animal-island{position:absolute;left:6px;top:6px;font-size:8px;font-weight:800;color:#608194}.animal-tile h3{font-size:1rem;margin:8px 0 1px}.animal-species{display:block;font-size:.7rem;color:#728b99}.animal-tile .btn{width:100%;margin-top:9px;padding:7px 4px;font-size:.68rem;min-height:32px}.animal-tile.locked .pet-art{filter:saturate(.3);opacity:.75}.animal-remaining{font-size:.67rem;color:#6a7e8d;margin:13px 0 5px;min-height:22px}.sanctuary .footer{margin-top:26px}
@media(min-width:1200px){.sanctuary-layout{grid-template-columns:360px minmax(0,1fr)}.animal-shelves{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.sanctuary-layout{grid-template-columns:290px minmax(0,1fr);gap:18px}.animal-shelves{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.sanctuary-layout{grid-template-columns:1fr}.sanctuary .intro-row{gap:10px;align-items:start}.sanctuary .intro-row h1{font-size:1.6rem}.sanctuary-count{font-size:.75rem;padding:7px 10px}.habitat-studio{display:grid;grid-template-columns:1fr 1fr}.habitat-preview{height:270px}.habitat-picker{padding:12px}.habitat-choices{gap:6px}.habitat-thumb{height:43px}.habitat-animal .pet-art{font-size:150px}.habitat-badge{font-size:.6rem;left:8px}.habitat-picker>p{font-size:.65rem}.animal-shelves{grid-template-columns:repeat(3,minmax(0,1fr))}.animal-tile .btn{font-size:.62rem}.animal-island{font-size:7px}}
@media(max-width:440px){.habitat-studio{grid-template-columns:1fr}.habitat-preview{height:220px}.habitat-animal{inset:12px 0 78px}.habitat-caption{padding:8px 14px}.habitat-animal .pet-art{font-size:130px}.habitat-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.habitat-choice>span:last-child{font-size:.61rem;padding:5px 0}.habitat-picker{padding:12px}.habitat-picker h3{font-size:.9rem}.animal-shelves{grid-template-columns:repeat(2,minmax(0,1fr))}.habitat-picker>p{margin-top:8px}.sanctuary .intro-row{flex-wrap:wrap}}

/* Photographic habitat plates keep a dry, clear standing surface under each pet. */
.habitat-art{object-fit:cover;object-position:center 55%}
.habitat-preview{height:300px}
.habitat-animal{inset:auto 0 73px;height:180px;align-items:end;isolation:isolate}
.habitat-animal:after{content:"";position:absolute;bottom:3px;left:50%;width:88px;height:12px;border-radius:50%;background:#302a2452;filter:blur(4px);transform:translateX(-50%);z-index:-1}
.habitat-animal .pet-art{font-size:170px;filter:drop-shadow(0 2px 2px #302a2438);position:relative}
.habitat-animal[data-animal=turtle] .pet-art,.habitat-animal[data-animal=frog] .pet-art{font-size:140px}
.habitat-animal[data-animal=bird] .pet-art,.habitat-animal[data-animal=rabbit] .pet-art{font-size:155px}
.habitat-animal[data-animal=meerkat] .pet-art,.habitat-animal[data-animal=deer] .pet-art{font-size:180px}
.habitat-caption{background:#fffffff0}.habitat-choice:last-child{grid-column:1/-1}.habitat-choice:last-child .habitat-thumb{height:48px}
@media(max-width:700px){.habitat-preview{height:310px}.habitat-thumb{height:38px}.habitat-choice:last-child .habitat-thumb{height:38px}}
@media(max-width:440px){.habitat-preview{height:250px}.habitat-animal{height:150px;bottom:61px}.habitat-animal .pet-art{font-size:145px}.habitat-animal[data-animal=meerkat] .pet-art,.habitat-animal[data-animal=deer] .pet-art{font-size:155px}.habitat-animal[data-animal=turtle] .pet-art,.habitat-animal[data-animal=frog] .pet-art{font-size:125px}.habitat-animal[data-animal=bird] .pet-art,.habitat-animal[data-animal=rabbit] .pet-art{font-size:140px}.habitat-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.habitat-choice:last-child{grid-column:auto}.habitat-choice:last-child .habitat-thumb,.habitat-thumb{height:45px}}

/* The dashboard companion shares the learner's saved landscape. */
.adventure-dashboard .next-pet{position:relative;isolation:isolate;background:transparent}
.adventure-dashboard .next-pet>.habitat-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;border-radius:50%;z-index:-1;box-shadow:inset 0 0 0 1px #ffffff80}
.adventure-dashboard .next-pet>.pet{position:relative;z-index:1}
