:root{--ink:#17201b;--muted:#6d766f;--forest:#183a2e;--forest2:#24523f;--leaf:#dfeadc;--paper:#f6f3eb;--card:#fffdf8;--line:#dcd8cd;--gold:#d7a741;--danger:#a94e4e;--shadow:0 18px 50px rgba(34,46,39,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid rgba(23,32,27,.09);background:rgba(246,243,235,.94);position:sticky;top:0;z-index:50;backdrop-filter:blur(14px)}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:42px;height:42px;border-radius:50% 48% 52% 42%;display:grid;place-items:center;background:var(--forest);color:#fff;font-family:Georgia,serif;font-size:24px;font-weight:700}.brand strong{display:block;font-family:Georgia,serif;font-size:24px;line-height:1}.brand small{font-size:10px;color:var(--muted);letter-spacing:.07em}.main-nav{display:flex;align-items:center;gap:24px;font-size:14px}.main-nav a:hover{color:var(--forest2)}.coin-pill{padding:8px 13px;border:1px solid #cfc6aa;border-radius:999px;background:#fff8df;font-weight:700}.coin-pill.large{font-size:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--forest);color:#fff;border:0;border-radius:12px;padding:13px 18px;font-weight:700;cursor:pointer;transition:.2s}.button:hover{background:var(--forest2);transform:translateY(-1px)}.button:disabled{opacity:.4;cursor:not-allowed;transform:none}.button.small{padding:9px 13px;font-size:13px}.page-shell{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:34px 0 70px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;min-height:620px;align-items:center}.eyebrow{display:block;font-size:11px;letter-spacing:.16em;font-weight:800;color:#6d785f;margin-bottom:8px}.hero h1,.dashboard-head h1,.auth-card h1,.animal-profile h1{font-family:Georgia,serif;font-size:clamp(40px,5vw,68px);line-height:1.03;margin:0 0 22px;font-weight:500}.hero-copy>p{font-size:18px;color:#59635c;max-width:610px}.hero-actions{display:flex;align-items:center;gap:22px;margin:30px 0}.text-link{font-weight:700}.hero-metrics{display:flex;gap:28px;margin-top:48px}.hero-metrics span{color:var(--muted);font-size:13px}.hero-metrics strong{display:block;color:var(--ink);font-size:24px}.hero-scene{position:relative;height:520px;border-radius:34px;overflow:hidden;background:linear-gradient(#cfe1cd 0 58%,#8eab7f 58%);box-shadow:var(--shadow)}.sun{position:absolute;width:110px;height:110px;border-radius:50%;background:#f4d584;right:50px;top:50px}.hill{position:absolute;border-radius:50% 50% 0 0}.hill-a{width:520px;height:210px;background:#75966c;left:-80px;bottom:0}.hill-b{width:520px;height:250px;background:#54765c;right:-140px;bottom:-30px}.habitat-card{position:absolute;background:rgba(255,255,255,.93);border:1px solid rgba(255,255,255,.8);box-shadow:0 14px 35px rgba(21,49,35,.18);backdrop-filter:blur(8px)}.habitat-main{left:44px;bottom:46px;border-radius:20px;padding:20px 24px;display:flex;gap:18px;align-items:center}.species-icon{font-size:46px}.habitat-main small,.floating-card small{display:block;font-size:9px;letter-spacing:.14em;color:#687264}.habitat-main strong,.floating-card b{display:block}.habitat-main p{margin:2px 0 0;color:var(--muted);font-size:12px}.floating-card{position:absolute;border-radius:16px;padding:14px 18px;min-width:145px}.floating-card>span{font-size:32px}.fc-1{right:35px;top:190px}.fc-2{right:90px;top:320px}.section-block{padding:65px 0}.section-heading{max-width:740px}.section-heading h2,.section-title-row h2,.activity-panel h2,.care-panel h2,.actions-panel h2{font-family:Georgia,serif;font-size:34px;margin:0 0 20px;font-weight:500}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature-grid article{padding:26px;border-top:1px solid var(--line)}.feature-grid article>span{font-family:Georgia,serif;font-size:28px;color:#98a18f}.feature-grid h3{font-size:18px}.feature-grid p{font-size:14px;color:var(--muted)}.site-footer{display:flex;justify-content:space-between;padding:28px clamp(20px,4vw,64px);border-top:1px solid var(--line);color:var(--muted);font-size:12px}.auth-wrap{min-height:650px;display:grid;place-items:center}.auth-card{width:min(520px,100%);background:var(--card);padding:40px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.auth-card h1{font-size:46px}.form-stack{display:grid;gap:16px;margin-top:26px}.form-stack label,.adopt-form label{font-weight:700;font-size:13px}.form-stack input,.adopt-form input,.adopt-form select{width:100%;margin-top:7px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 13px;outline:none}.form-stack input:focus,.adopt-form input:focus,.adopt-form select:focus{border-color:#7b9a84;box-shadow:0 0 0 3px rgba(36,82,63,.09)}.auth-foot{font-size:13px;color:var(--muted);margin-top:18px}.auth-foot a{font-weight:800}.alert{padding:13px 16px;border-radius:10px;margin:15px 0;font-size:14px}.alert.error,.form-message.error{background:#f8e6e4;color:#873b37}.alert.warning{background:#fff0c9;color:#755a10}.form-message{font-size:12px;margin-top:8px;min-height:18px}.form-message.success{color:#2f6f4c}.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:30px 0 34px}.dashboard-head h1{font-size:52px;margin-bottom:10px}.dashboard-head p{margin:0;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:46px}.stat-grid article{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}.stat-grid small,.stat-grid span{display:block;color:var(--muted);font-size:12px}.stat-grid strong{display:block;font-family:Georgia,serif;font-size:32px;margin:6px 0}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px}.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-title-row>a{font-size:13px;font-weight:800}.animal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.animal-card{display:grid;grid-template-columns:120px 1fr;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.2s}.animal-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.animal-visual{display:grid;place-items:center;position:relative;min-height:150px;background:#e7eadf}.animal-visual>span{font-size:58px}.animal-visual small{position:absolute;top:10px;left:10px;font-size:9px;text-transform:uppercase;background:rgba(255,255,255,.82);padding:4px 6px;border-radius:999px}.rarity-commune{background:#e8eadf}.rarity-peu-commune{background:#d9e8dc}.rarity-rare{background:#d9e4ef}.rarity-exceptionnelle{background:#efe2bf}.animal-card-body{padding:17px}.animal-name{display:flex;justify-content:space-between;gap:10px}.animal-name strong{font-family:Georgia,serif;font-size:24px}.animal-card-body>p{margin:2px 0 14px;color:var(--muted);font-size:13px}.mini-bars{display:grid;gap:8px}.mini-bars div span{display:block;font-size:10px;color:var(--muted)}.mini-bars b{display:block;height:5px;border-radius:99px;background:#e8e6df;overflow:hidden}.mini-bars b:after{content:"";display:block;width:var(--value);height:100%;background:#5f8168;border-radius:inherit}.activity-panel{background:#ece8de;border-radius:20px;padding:26px;height:max-content}.timeline{display:grid;gap:0}.timeline>div{display:grid;grid-template-columns:16px 1fr;gap:9px}.timeline i{width:8px;height:8px;border-radius:50%;background:#66816d;margin-top:7px;position:relative}.timeline i:after{content:"";position:absolute;width:1px;background:#c9c6bd;left:3px;top:12px;bottom:-37px}.timeline>div:last-child i:after{display:none}.timeline p{margin:0 0 20px;font-size:13px}.timeline small{display:block;color:var(--muted);margin-top:3px}.empty-state{border:1px dashed #bbb9af;border-radius:20px;padding:54px 25px;text-align:center}.empty-state>span{font-size:42px}.empty-state h3{font-family:Georgia,serif;font-size:26px;margin:10px}.empty-state p{color:var(--muted)}.species-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.species-card{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden}.species-hero{display:flex;align-items:center;gap:22px;padding:28px}.species-hero>span{font-size:72px}.species-hero small,.species-hero em{display:block}.species-hero small{font-size:9px;letter-spacing:.13em}.species-hero strong{display:block;font-family:Georgia,serif;font-size:30px}.species-hero em{font-size:12px;color:var(--muted)}.species-body{padding:24px}.species-body>p{min-height:64px;color:var(--muted);font-size:14px}.species-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin:18px 0}.species-meta span{font-size:12px;color:var(--muted)}.species-meta b{display:block;color:var(--ink)}.adopt-form{display:grid;grid-template-columns:1fr 120px auto;align-items:end;gap:10px}.back-link{display:inline-block;font-size:13px;font-weight:800;margin:12px 0 22px}.animal-profile{display:grid;grid-template-columns:370px 1fr;gap:45px;align-items:center}.animal-profile-visual{height:360px;border-radius:28px;display:grid;place-items:center;position:relative}.animal-profile-visual>span{font-size:150px}.animal-profile-visual small{position:absolute;left:22px;top:22px;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.animal-profile h1{font-size:64px;margin-bottom:6px}.animal-profile h1 small{font-family:inherit;color:#718077}.animal-profile-info>p{color:var(--muted)}.animal-profile blockquote{margin:24px 0;padding-left:20px;border-left:2px solid #b8c3b5;color:#4f5b52}.profile-facts{display:flex;gap:30px}.profile-facts span small,.profile-facts span b{display:block}.profile-facts span small{font-size:10px;color:var(--muted)}.profile-facts span b{font-size:14px}.care-layout{display:grid;grid-template-columns:1fr 360px;gap:24px;margin-top:40px}.care-panel,.actions-panel{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px}.care-bars{display:grid;gap:20px}.care-bars>div>span{display:flex;justify-content:space-between;font-size:13px}.care-bars>div>b{display:block;height:10px;margin-top:8px;border-radius:99px;background:#e8e6df;overflow:hidden}.care-bars i{display:block;height:100%;background:#5f8168;border-radius:inherit;transition:width .35s}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action-btn{width:100%;min-height:135px;border:1px solid var(--line);background:#f8f5ed;border-radius:14px;padding:14px;cursor:pointer}.action-btn:hover{border-color:#92aa96;background:#f0f3ea}.action-btn span,.action-btn b,.action-btn small{display:block}.action-btn span{font-size:34px}.action-btn b{margin:5px 0}.action-btn small{color:var(--muted)}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.collection-card{display:flex;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}.collection-card.locked{opacity:.5;filter:grayscale(.65)}.collection-icon{width:90px;height:90px;border-radius:16px;display:grid;place-items:center;font-size:44px;flex:0 0 auto}.collection-card small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.collection-card h3{font-family:Georgia,serif;font-size:23px;margin:2px 0}.collection-card p{font-size:11px;color:var(--muted);margin:0 0 7px}.collection-card span{font-size:12px}.muted{color:var(--muted)}
@media(max-width:900px){.main-nav>a:not(.nav-user),.brand small{display:none}.hero{grid-template-columns:1fr}.hero-scene{height:420px}.feature-grid{grid-template-columns:1fr 1fr}.content-grid,.care-layout{grid-template-columns:1fr}.species-grid{grid-template-columns:1fr}.animal-profile{grid-template-columns:1fr}.animal-profile-visual{height:300px}.collection-grid{grid-template-columns:1fr 1fr}.adopt-form{grid-template-columns:1fr 110px}.adopt-form .button{grid-column:1/-1}.activity-panel{order:2}}
@media(max-width:620px){.site-header{height:68px;padding:0 18px}.brand-mark{width:36px;height:36px}.brand strong{font-size:20px}.main-nav{gap:10px}.coin-pill{display:none}.page-shell{width:min(100% - 24px,1180px);padding-top:18px}.hero{min-height:auto;padding-top:28px}.hero h1{font-size:44px}.hero-copy>p{font-size:16px}.hero-actions{align-items:stretch;flex-direction:column}.hero-metrics{gap:15px}.hero-scene{height:370px}.fc-2{display:none}.habitat-main{left:18px;bottom:25px}.feature-grid,.stat-grid,.animal-grid,.collection-grid{grid-template-columns:1fr}.dashboard-head{align-items:flex-start;flex-direction:column}.dashboard-head h1{font-size:42px}.content-grid{gap:20px}.animal-card{grid-template-columns:105px 1fr}.species-hero{padding:22px}.species-hero>span{font-size:56px}.species-hero strong{font-size:26px}.adopt-form{grid-template-columns:1fr}.adopt-form .button{grid-column:auto}.animal-profile{gap:20px}.animal-profile h1{font-size:50px}.profile-facts{gap:14px;flex-wrap:wrap}.action-buttons{grid-template-columns:1fr 1fr}.site-footer{flex-direction:column;gap:6px}.auth-card{padding:26px}.auth-card h1{font-size:40px}}

/* === AniZoo V0.4.0 : Enclos fidèle au visuel validé === */
.enclosures-page{background:#f4f1e9;color:#16231b}
.enclosures-page .site-header{height:72px;background:linear-gradient(90deg,#223a2d,#14291f);border:0;color:#fff;padding:0 28px;box-shadow:0 1px 0 rgba(255,255,255,.06);position:sticky;top:0;z-index:80}
.enclosures-page .brand{color:#fff}.enclosures-page .brand-mark{background:transparent;width:auto;height:auto;font-size:34px}.enclosures-page .brand strong{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:28px;font-weight:800}.enclosures-page .brand small{color:rgba(255,255,255,.84);font-size:11px;letter-spacing:0}
.enclosures-page .main-nav{gap:14px;color:#fff}.enclosures-page .main-nav>a{display:flex;align-items:center;gap:7px;padding:12px 14px;border-radius:11px;font-weight:700;color:rgba(255,255,255,.94)}.enclosures-page .main-nav>a:hover,.enclosures-page .main-nav>a.active{background:rgba(255,255,255,.14);color:#fff}.enclosures-page .nav-user{margin-left:8px;padding-left:8px!important}.nav-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d8e7ef;color:#173125;font-weight:900;border:2px solid rgba(255,255,255,.55)}
.enclosures-page .page-shell{width:100%;max-width:none;padding:10px 8px 28px;margin:0}.enclosure-shell{width:100%!important}.enclosures-page .site-footer{display:none}
.enclosure-back{display:inline-flex;align-items:center;gap:8px;margin:2px 18px 8px;font-size:14px;color:#2f4036;font-weight:650}
.enclosure-summary{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 0;padding:10px 18px;border:1px solid #e6e0d3;border-radius:14px 14px 0 0;background:#fffdfa;box-shadow:0 4px 14px rgba(42,50,44,.06)}
.enclosure-title-wrap{display:flex;align-items:center;gap:16px;min-width:320px}.enclosure-thumb{width:68px;height:58px;border-radius:8px;background:url('../enclosures/prairie-backdrop.webp') center/cover no-repeat;border:1px solid #d9d4c7;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}.enclosure-title-wrap h1{font-size:27px;margin:0 0 3px;line-height:1.1}.enclosure-subline{display:flex;gap:28px;font-size:13px;color:#4f5d53}.enclosure-kpis{display:flex;align-items:stretch;gap:10px}.kpi-card,.kpi-manage{border:1px solid #e5e0d6;background:#fff;border-radius:12px;min-height:58px;padding:9px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 3px 9px rgba(44,54,46,.04)}.kpi-card{min-width:126px}.kpi-card b{display:block;font-size:16px;line-height:1.05}.kpi-card small{display:block;color:#69746c;font-size:11px;margin-top:4px}.kpi-icon{font-size:28px}.kpi-manage{cursor:pointer;font-weight:750;color:#203126;white-space:nowrap}.kpi-manage:hover{background:#f6f7f3}
.enclosure-stage{position:relative;overflow:hidden;width:100%;aspect-ratio:1536/520;background:#8dbf57;isolation:isolate}.stage-bg{position:absolute;inset:0;background:#8fbd55;z-index:0}.stage-bg:before{content:"";position:absolute;inset:0 0 auto 0;height:58%;background:url('../enclosures/prairie-backdrop.webp') center top/100% 100% no-repeat}.stage-bg:after{content:"";position:absolute;left:0;right:0;bottom:0;height:67%;background:url('../enclosures/prairie-ground.svg') center bottom/100% 100% no-repeat}.stage-vignette{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 35%,rgba(30,50,28,.04));pointer-events:none}.stage-animals{position:absolute;inset:0;z-index:5}.stage-animal{--face:1;--scene-scale:1;position:absolute;left:10%;bottom:14%;width:10.4%;transform:scaleX(var(--face)) scale(var(--scene-scale));transform-origin:50% 100%;will-change:left,bottom,transform;z-index:6}.stage-animal img{width:100%;height:auto;display:block;filter:saturate(1.16) contrast(1.08) drop-shadow(0 7px 5px rgba(34,43,31,.22));image-rendering:auto}.stage-animal:after{content:"";position:absolute;left:18%;right:18%;bottom:0;height:8px;background:rgba(45,58,39,.22);filter:blur(4px);border-radius:50%;z-index:-1}.stage-animal.species-renardroux{width:9.1%}.stage-animal.species-loutredeurope{width:9.5%}.stage-animal.species-pandaroux{width:8.6%}.stage-animal.walking img{animation:stageWalk .34s ease-in-out infinite}.stage-animal.idle img{animation:stageIdle 3.4s ease-in-out infinite}@keyframes stageWalk{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(-.25deg)}75%{transform:translateY(-2px) rotate(.25deg)}}@keyframes stageIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}
.stage-weather{position:absolute;right:18px;top:18px;z-index:12;display:flex;align-items:center;gap:12px;background:rgba(27,42,28,.88);color:#fff;border-radius:12px;padding:10px 15px;box-shadow:0 8px 20px rgba(20,28,22,.18);backdrop-filter:blur(5px)}.stage-weather .sun-icon{font-size:32px;color:#ffd03d}.stage-weather div{padding-right:10px;border-right:1px solid rgba(255,255,255,.16)}.stage-weather b{font-size:16px}.stage-weather small{display:block;font-size:11px;color:#fff}.clock-icon{font-size:21px}.stage-controls{position:absolute;right:16px;bottom:14px;z-index:15;display:flex;gap:8px}.stage-controls button{border:0;background:rgba(28,37,29,.86);color:#fff;border-radius:9px;padding:12px 16px;font-weight:700;cursor:pointer}.stage-controls button:hover{background:#15271b}.stage-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(28,37,29,.74);color:#fff;font-size:38px;line-height:1;pointer-events:none}.stage-arrow-left{left:18px}.stage-arrow-right{right:18px}
.enclosure-tabs{display:flex;gap:0;background:#fffdfa;border:1px solid #e7e0d5;border-top:0;border-radius:0 0 11px 11px;padding:0 24px;min-height:42px;align-items:flex-end}.enclosure-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:12px 20px 9px;font-weight:650;color:#58655d;cursor:pointer}.enclosure-tabs button.active{border-bottom-color:#26744e;color:#1f2d24}.tab-panel{display:none}.tab-panel.active{display:block}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 18px 0}.panel-card{background:#fffdfa;border:1px solid #e6e0d5;border-radius:12px;padding:14px 16px;box-shadow:0 4px 12px rgba(42,50,44,.05)}.panel-card h2{font-size:17px;margin:0 0 12px}.panel-card p{font-size:12px;color:#59675d;margin:7px 0 0}.health-row{display:flex;align-items:center;gap:14px}.health-track{height:12px;background:#ebe8df;border-radius:999px;overflow:hidden;flex:1}.health-track span{display:block;height:100%;background:linear-gradient(90deg,#3aa05f,#5cb475);border-radius:inherit}.health-row strong{font-size:15px}.condition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:13px}.condition-grid>div{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:7px;align-items:center;border-right:1px solid #ece8dd}.condition-grid>div:last-child{border-right:0}.condition-grid span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;background:#edf3ef;border-radius:8px;font-size:20px}.condition-grid b{font-size:12px}.condition-grid small{font-size:11px;color:#5c6a61}.biome-layout{display:grid;grid-template-columns:78px 1fr;gap:14px}.biome-thumb{width:78px;height:78px;border-radius:8px;background:url('../enclosures/prairie-backdrop.webp') center/cover no-repeat;border:1px solid #d9d5c9}.biome-layout h3{font-size:16px;margin:4px 0 5px}.biome-layout p{margin:0;line-height:1.45}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick{border:0;border-radius:8px;padding:11px 10px;text-align:left;font-weight:700;cursor:pointer}.quick.feed{background:#edf7ed;color:#2e6942}.quick.heal{background:#fdeaea;color:#a73737}.quick.edit{background:#eef2f8;color:#274a64}.quick.settings{background:#f1efea;color:#45524a}.quick:hover{filter:brightness(.97)}.action-feedback{min-height:18px;margin-top:8px!important}.enclosure-animal-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:12px 22px 0}.enclosure-animal-card{display:grid;grid-template-columns:78px 1fr 20px;align-items:center;gap:10px;background:#fffdfa;border:1px solid #e7e1d6;border-radius:12px;padding:7px 11px;min-width:0}.enclosure-animal-card:hover{box-shadow:0 5px 14px rgba(38,48,40,.08);transform:translateY(-1px)}.animal-card-sprite{width:74px;height:58px;display:grid;place-items:center}.animal-card-sprite img{max-width:100%;max-height:100%;filter:saturate(1.14) contrast(1.06)}.animal-card-copy{min-width:0}.animal-card-copy b{display:block;font-size:14px}.animal-card-copy small{display:block;color:#68746c;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.animal-card-copy i{display:block;height:6px;background:#e7e5de;border-radius:999px;margin-top:8px;overflow:hidden}.animal-card-copy em{display:block;height:100%;background:#36a563;border-radius:inherit}.animal-card-arrow{font-size:28px;color:#287554}.secondary-panel{margin:12px 18px;background:#fffdfa;border:1px solid #e6e0d5;border-radius:12px;padding:24px}.secondary-panel h2{margin:0 0 6px}.secondary-panel p{margin:0;color:#5e6b62}
.enclosure-empty{margin:18px}
@media(max-width:1100px){.enclosures-page .main-nav>a span{display:none}.enclosures-page .main-nav{gap:5px}.enclosure-summary{align-items:flex-start;flex-direction:column}.enclosure-kpis{width:100%;overflow:auto}.overview-grid{grid-template-columns:1fr 1fr}.quick-card{grid-column:1/-1}.enclosure-animal-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.enclosures-page .site-header{height:64px;padding:0 12px}.enclosures-page .brand strong{font-size:22px}.enclosures-page .brand small{display:none}.enclosures-page .main-nav>a{padding:8px}.enclosures-page .nav-user span:last-child{display:none}.enclosure-back{margin-left:10px}.enclosure-summary{padding:10px;border-radius:10px 10px 0 0}.enclosure-title-wrap h1{font-size:22px}.enclosure-thumb{width:54px;height:48px}.enclosure-subline{gap:14px;font-size:11px}.enclosure-kpis{gap:7px}.kpi-card{min-width:108px;padding:7px 10px}.kpi-manage{display:none}.enclosure-stage{aspect-ratio:16/8.9}.stage-weather{right:8px;top:8px;padding:7px 9px;gap:7px;transform:scale(.84);transform-origin:top right}.stage-arrow{width:38px;height:38px;font-size:30px}.stage-arrow-left{left:8px}.stage-arrow-right{right:8px}.stage-controls{right:8px;bottom:8px}.stage-controls button{font-size:10px;padding:8px 9px}.stage-animal{width:12.2%}.stage-animal.species-renardroux{width:10.8%}.stage-animal.species-loutredeurope{width:11.2%}.stage-animal.species-pandaroux{width:10.2%}.enclosure-tabs{overflow:auto;padding:0 8px}.enclosure-tabs button{white-space:nowrap;padding:11px 12px 8px;font-size:12px}.overview-grid{grid-template-columns:1fr;margin:10px 8px 0}.quick-card{grid-column:auto}.condition-grid{grid-template-columns:repeat(2,1fr);row-gap:12px}.enclosure-animal-cards{grid-template-columns:1fr;margin:10px 8px 0}.enclosure-animal-card{grid-template-columns:70px 1fr 20px}.site-footer{display:none}}
@media(prefers-reduced-motion:reduce){.stage-animal,.stage-animal img{animation:none!important;transition:none!important}}


/* =========================================================
   AniZoo V0.5.0 — design system global
   Harmonise toutes les pages avec l'interface Enclos.
   ========================================================= */
:root{
  --az-deep:#183225;--az-deep-2:#213f30;--az-green:#2f8d59;--az-green-2:#49a96d;
  --az-cream:#f5f2e9;--az-card:#fffdfa;--az-line:#e6e0d4;--az-text:#17231c;
  --az-muted:#667268;--az-soft:#edf3ee;--az-shadow:0 10px 30px rgba(35,48,39,.08);
}
body{background:#f4f1e8;color:var(--az-text)}
.site-header{height:72px;padding:0 clamp(18px,3vw,44px);background:linear-gradient(90deg,#1e392b,#173125);border-bottom:1px solid rgba(255,255,255,.08);color:#fff;backdrop-filter:none;box-shadow:0 2px 16px rgba(22,35,27,.12)}
.brand{gap:10px;color:#fff}.brand-mark{width:42px;height:42px;background:transparent;font-size:30px;line-height:1}.brand-copy strong{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:25px;font-weight:850;letter-spacing:-.03em}.brand-copy small{display:block;color:rgba(255,255,255,.76);font-size:10px;letter-spacing:.02em;margin-top:2px}
.main-nav{gap:7px;height:100%;align-items:center}.main-nav .nav-link{height:44px;padding:0 13px;border-radius:10px;display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.90);font-weight:700;font-size:13px;transition:.18s}.main-nav .nav-link:hover,.main-nav .nav-link.active{background:rgba(255,255,255,.13);color:#fff}.nav-icon{font-size:16px}.nav-coins{padding:8px 11px;border-radius:10px;background:rgba(255,255,255,.10);font-weight:800;font-size:12px;color:#ffe4a2}.nav-user{display:flex;align-items:center;gap:9px;color:#fff;padding:5px 7px;border-radius:11px}.nav-user:hover{background:rgba(255,255,255,.09)}.nav-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7efe9;color:#24533b;font-weight:900;border:2px solid rgba(255,255,255,.62)}.nav-user-copy{display:grid;line-height:1.1}.nav-user-copy b{font-size:12px}.nav-user-copy small{font-size:9px;color:rgba(255,255,255,.72);margin-top:3px}.nav-cta{background:#f3c660;color:#263326}.nav-cta:hover{background:#ffd778;color:#263326}
.page-shell.app-shell{width:min(1480px,calc(100% - 32px));padding:30px 0 68px}.page-shell.public-shell{width:min(1380px,calc(100% - 32px));padding:42px 0 76px}.page-shell.auth-shell{width:min(1180px,calc(100% - 30px));padding:42px 0 70px}
.site-footer{background:#f8f5ee;border-top:1px solid var(--az-line);padding:22px clamp(20px,4vw,64px);color:#687369}.site-footer b{color:#263a2e}
.button{border-radius:10px;background:var(--az-deep);box-shadow:0 5px 14px rgba(25,55,39,.12)}.button:hover{background:var(--az-deep-2)}.button.large{padding:14px 19px}.button-soft{background:#edf2ed;color:#284c37;box-shadow:none;border:1px solid #dde6de}.button-soft:hover{background:#e3ece4;color:#203f2d}.eyebrow{color:#6a806f;letter-spacing:.13em}.app-card{background:var(--az-card);border:1px solid var(--az-line);border-radius:14px;box-shadow:0 4px 16px rgba(35,48,39,.05)}

/* Titres et pages applicatives */
.app-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:4px 0 22px}.app-page-head h1{font-size:clamp(34px,4vw,52px);line-height:1.03;margin:0 0 8px;letter-spacing:-.035em}.app-page-head p{margin:0;color:var(--az-muted);font-size:14px}.page-head-actions{display:flex;gap:9px;align-items:center}.page-wallet,.collection-counter{background:var(--az-card);border:1px solid var(--az-line);border-radius:13px;padding:11px 16px;box-shadow:0 4px 14px rgba(35,48,39,.05)}.page-wallet small,.collection-counter span{display:block;font-size:10px;color:var(--az-muted)}.page-wallet strong,.collection-counter strong{display:block;font-size:20px;margin-top:2px}.app-alert{border-radius:12px;margin:0 0 18px}.app-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 12px}.app-section-head.compact{margin-bottom:10px}.app-section-head h2{margin:0;font-size:23px}.app-section-head small{color:var(--az-muted);font-size:11px}.text-link{font-size:12px;color:#2d6948;font-weight:800}

/* Dashboard */
.app-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:26px}.app-kpi{background:var(--az-card);border:1px solid var(--az-line);border-radius:13px;padding:15px 16px;display:flex;gap:12px;align-items:center;box-shadow:0 4px 14px rgba(35,48,39,.05)}.app-kpi-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#eef4ef;font-size:23px}.app-kpi small,.app-kpi span{display:block;color:var(--az-muted);font-size:10px}.app-kpi strong{display:block;font-size:25px;line-height:1.05;margin:3px 0}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}.dashboard-main{min-width:0}.dashboard-animal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-animal-card{position:relative;display:grid;grid-template-columns:130px 1fr 22px;align-items:center;gap:12px;background:var(--az-card);border:1px solid var(--az-line);border-radius:14px;padding:10px 12px;min-height:135px;transition:.18s;box-shadow:0 4px 14px rgba(35,48,39,.04)}.dashboard-animal-card:hover{transform:translateY(-2px);box-shadow:var(--az-shadow);border-color:#d4ddd5}.dashboard-animal-art{height:108px;border-radius:11px;display:grid;place-items:center;overflow:hidden;background:#eef3ea}.dashboard-animal-art img{max-width:94%;max-height:92%;filter:saturate(1.08) drop-shadow(0 8px 6px rgba(42,52,44,.18))}.dashboard-animal-art>span{font-size:56px}.dashboard-animal-copy{min-width:0}.animal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.animal-title-row strong{font-size:19px}.animal-title-row small{display:block;color:var(--az-muted);font-size:11px;margin-top:2px}.animal-title-row>span{font-size:18px;color:#4f6f5b}.card-progress{margin-top:10px}.card-progress span{display:flex;justify-content:space-between;font-size:10px;color:#59675e}.card-progress span b{font-weight:700}.card-progress span em{font-style:normal}.card-progress>i{display:block;height:6px;background:#e8e7df;border-radius:999px;overflow:hidden;margin-top:4px}.card-progress>i>b{display:block;height:100%;background:#42a96b;border-radius:inherit}.card-progress.mood>i>b{background:#70a953}.card-chevron{font-size:28px;color:#2b7650}.activity-card{padding:17px}.activity-feed{display:grid;gap:0}.activity-item{display:grid;grid-template-columns:15px 1fr;gap:9px;position:relative}.activity-item:not(:last-child):before{content:"";position:absolute;left:5px;top:18px;bottom:-4px;width:1px;background:#d9ded8}.activity-dot{width:10px;height:10px;border-radius:50%;background:#4d9e6d;margin-top:5px}.activity-item p{font-size:12px;margin:0 0 3px}.activity-item small{font-size:10px;color:var(--az-muted);display:block;margin-bottom:17px}

/* Adoption */
.species-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.species-market-card{background:var(--az-card);border:1px solid var(--az-line);border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(35,48,39,.05)}.rarity-border-commune{border-top:3px solid #86a86f}.rarity-border-peu-commune{border-top:3px solid #62a77a}.rarity-border-rare{border-top:3px solid #6d91b9}.rarity-border-exceptionnelle{border-top:3px solid #c6a550}.species-market-art{height:210px;position:relative;display:grid;place-items:center;background:linear-gradient(180deg,#edf3e9,#dfe9d7);overflow:hidden}.species-market-art img{max-width:76%;max-height:82%;filter:saturate(1.08) drop-shadow(0 16px 12px rgba(42,55,45,.18))}.species-fallback{font-size:90px}.rarity-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.9);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#526158}.species-market-art>.rarity-badge{position:absolute;left:12px;top:12px}.species-market-body{padding:17px}.species-market-title{display:flex;justify-content:space-between;gap:12px}.species-market-title small{display:block;color:#617067;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.species-market-title h2{margin:2px 0 0;font-size:25px}.species-market-title em{display:block;color:#7a827d;font-size:11px}.species-market-title>strong{white-space:nowrap;font-size:17px;color:#8f6722}.species-market-body>p{font-size:12px;color:#606c64;min-height:54px;line-height:1.55}.adoption-form-modern{display:grid;grid-template-columns:1fr 120px auto;gap:8px;align-items:end;margin-top:13px;padding-top:13px;border-top:1px solid #ece7dc}.adoption-form-modern label span{display:block;font-size:10px;font-weight:800;color:#59665d;margin-bottom:5px}.adoption-form-modern input,.adoption-form-modern select{width:100%;height:40px;border:1px solid #dedbd2;border-radius:9px;background:#fff;padding:0 11px;outline:none}.adoption-form-modern input:focus,.adoption-form-modern select:focus{border-color:#7eaa8e;box-shadow:0 0 0 3px rgba(67,136,91,.09)}.adoption-form-modern .button{height:40px;padding:0 15px}.adoption-form-modern .form-message{grid-column:1/-1;margin:0}

/* Collection */
.collection-modern-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.collection-modern-card{background:var(--az-card);border:1px solid var(--az-line);border-radius:15px;overflow:hidden;box-shadow:0 4px 14px rgba(35,48,39,.04)}.collection-modern-card.locked{opacity:.60;filter:saturate(.55)}.collection-modern-art{height:190px;display:grid;place-items:center;position:relative;background:linear-gradient(180deg,#edf3e9,#e3eadc)}.collection-modern-art img{max-width:77%;max-height:82%;filter:drop-shadow(0 12px 10px rgba(40,53,44,.16))}.collection-modern-art>span:not(.locked-overlay){font-size:78px}.locked-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(248,247,241,.56);font-size:56px;font-weight:900;color:#657269}.collection-modern-copy{padding:15px 16px}.collection-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.collection-card-top b{font-size:10px;color:#5a6b60}.collection-modern-copy h2{margin:10px 0 0;font-size:23px}.collection-modern-copy em{font-size:11px;color:#78837b}.collection-modern-copy p{font-size:11px;color:#617067;margin:8px 0 0}

/* Fiche animal */
.app-back-link{display:inline-flex;margin:0 0 13px;font-size:12px;font-weight:800;color:#42604d}.animal-detail-hero{display:grid;grid-template-columns:390px 1fr;overflow:hidden;min-height:360px}.animal-detail-art{position:relative;display:grid;place-items:center;background:linear-gradient(160deg,#e7efe1,#cfdcc6);min-height:360px}.animal-detail-art img{max-width:86%;max-height:78%;filter:saturate(1.08) drop-shadow(0 18px 14px rgba(34,47,39,.20))}.animal-detail-art>.rarity-badge{position:absolute;top:18px;left:18px}.animal-detail-fallback{font-size:150px}.animal-detail-copy{padding:38px 42px}.animal-detail-title{display:flex;align-items:center;gap:13px}.animal-detail-title h1{font-size:clamp(42px,5vw,66px);margin:0;letter-spacing:-.04em}.animal-detail-title>span{font-size:28px;color:#567564}.animal-scientific{margin:3px 0 18px;color:#68756d}.animal-description{font-size:14px;line-height:1.65;max-width:760px;color:#47574d}.animal-facts-modern{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:25px}.animal-facts-modern>div{background:#f6f4ed;border:1px solid #e9e4d8;border-radius:10px;padding:10px 12px}.animal-facts-modern small{display:block;font-size:9px;color:#738078}.animal-facts-modern b{font-size:13px}.animal-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;margin-top:14px}.wellness-card,.animal-actions-card{padding:18px}.wellness-list{display:grid;gap:14px}.wellness-label{display:flex;justify-content:space-between;font-size:12px}.wellness-track{height:9px;background:#ece9e0;border-radius:999px;overflow:hidden;margin-top:6px}.wellness-track i{display:block;height:100%;background:linear-gradient(90deg,#3da462,#61b77a);border-radius:inherit}.animal-actions-card h2{font-size:22px;margin:0 0 14px}.animal-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.animal-action{width:100%;border:1px solid #e2ded4;border-radius:11px;background:#f7f5ef;padding:15px 10px;cursor:pointer}.animal-action:hover{transform:translateY(-1px);box-shadow:0 5px 13px rgba(35,48,39,.07)}.animal-action span,.animal-action b,.animal-action small{display:block}.animal-action span{font-size:25px}.animal-action b{margin-top:5px}.animal-action small{color:#748077;font-size:10px}.animal-action.feed{background:#eef7ef;color:#2b6842}.animal-action.care{background:#fceded;color:#984040}

/* Accueil public */
.public-page .site-header{position:sticky}.home-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:center;min-height:610px}.home-hero-copy h1{font-size:clamp(48px,5.6vw,78px);line-height:.98;letter-spacing:-.055em;margin:0 0 24px;max-width:700px}.home-hero-copy>p{font-size:17px;color:#5d6a61;line-height:1.7;max-width:620px}.hero-actions-modern{display:flex;gap:10px;margin:28px 0 34px}.hero-metrics-modern{display:flex;gap:12px}.hero-metrics-modern>div{background:#fffdfa;border:1px solid var(--az-line);border-radius:11px;padding:10px 14px;min-width:120px}.hero-metrics-modern strong{display:block;font-size:22px}.hero-metrics-modern span{display:block;color:#718077;font-size:10px}.home-hero-visual{position:relative;min-height:540px;border-radius:26px;overflow:hidden;box-shadow:0 28px 65px rgba(37,50,41,.16)}.home-scene{position:absolute;inset:0;background:url('../enclosures/prairie-backdrop.webp') center/cover no-repeat}.home-scene:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(180deg,rgba(137,184,83,.35),#91b75b)}.home-animal{position:absolute;z-index:2;filter:saturate(1.08) drop-shadow(0 12px 8px rgba(34,45,37,.22))}.home-wolf{width:31%;left:13%;bottom:16%}.home-fox{width:24%;right:16%;bottom:13%}.home-scene-card{position:absolute;z-index:4;right:18px;top:18px;background:rgba(255,253,248,.93);border:1px solid rgba(255,255,255,.7);border-radius:12px;padding:10px 14px;display:flex;gap:9px;align-items:center;box-shadow:0 8px 22px rgba(29,45,35,.14)}.home-scene-card>span{font-size:25px}.home-scene-card small{display:block;font-size:8px;color:#718077}.home-scene-card b{font-size:13px}.home-features{padding:74px 0 10px}.home-section-title{max-width:760px}.home-section-title h2{font-size:40px;margin:0}.home-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.home-feature-grid article{background:#fffdfa;border:1px solid var(--az-line);border-radius:14px;padding:20px;display:grid;grid-template-columns:45px 1fr;gap:10px}.home-feature-grid article>span{font-size:22px;color:#75927e;font-weight:900}.home-feature-grid h3{margin:0 0 5px}.home-feature-grid p{margin:0;color:#66736a;font-size:12px;line-height:1.55}

/* Auth */
.auth-modern{display:grid;grid-template-columns:1.08fr .92fr;min-height:620px;background:#fffdfa;border:1px solid var(--az-line);border-radius:24px;overflow:hidden;box-shadow:0 25px 65px rgba(36,48,40,.10)}.auth-visual{position:relative;min-height:620px;overflow:hidden}.auth-scene{position:absolute;inset:0;background:url('../enclosures/prairie-backdrop.webp') center/cover no-repeat}.auth-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,38,28,.04),rgba(20,38,28,.48))}.auth-visual-copy{position:absolute;left:34px;right:34px;bottom:34px;z-index:2;color:#fff}.auth-visual-copy .eyebrow{color:#dce8dd}.auth-visual-copy h2{font-size:38px;line-height:1.03;margin:0 0 10px}.auth-visual-copy p{margin:0;color:rgba(255,255,255,.84);max-width:520px}.auth-form-card{padding:60px 52px;display:flex;flex-direction:column;justify-content:center}.auth-form-card h1{font-size:42px;margin:0 0 8px;letter-spacing:-.04em}.auth-form-card>p{margin:0;color:#6a776e;font-size:13px}.modern-form{margin-top:28px}.modern-form label span{display:block;font-size:11px;font-weight:800;color:#526057;margin-bottom:6px}.modern-form input{height:46px;border-radius:10px;border:1px solid #dfdbd1;background:#fff;padding:0 13px}.modern-form input:focus{border-color:#72a184;box-shadow:0 0 0 3px rgba(57,130,82,.09)}.modern-form .button{margin-top:6px}.auth-foot{color:#6b786f}.auth-foot a{color:#2f754e}

/* Enclos : le haut validé est conservé, seulement quelques raccords globaux */
.enclosures-page .site-header{height:72px}.enclosures-page .brand-copy strong{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.enclosures-page .main-nav .nav-link{color:rgba(255,255,255,.90)}.enclosures-page .main-nav .nav-link.active{background:rgba(255,255,255,.14)}

/* Responsive global */
@media(max-width:1120px){
  .main-nav .nav-link span:last-child{display:none}.nav-user-copy{display:none}.nav-coins{display:none}.main-nav{gap:4px}.main-nav .nav-link{padding:0 10px}.dashboard-layout{grid-template-columns:1fr}.activity-card{order:2}.app-kpi-grid{grid-template-columns:repeat(2,1fr)}.collection-modern-grid{grid-template-columns:repeat(2,1fr)}.home-hero{grid-template-columns:1fr}.home-hero-visual{min-height:500px}.auth-modern{grid-template-columns:1fr 1fr}.animal-detail-hero{grid-template-columns:330px 1fr}.animal-facts-modern{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .site-header{height:64px;padding:0 12px}.brand-mark{font-size:26px;width:36px;height:36px}.brand-copy strong{font-size:20px}.brand-copy small{display:none}.main-nav .nav-link{height:38px;padding:0 8px}.main-nav .nav-icon{font-size:16px}.nav-user{padding:2px}.nav-avatar{width:31px;height:31px}.nav-cta{display:none}.page-shell.app-shell,.page-shell.public-shell,.page-shell.auth-shell{width:calc(100% - 16px);padding-top:20px}.app-page-head{align-items:flex-start;flex-direction:column}.page-head-actions{width:100%}.page-head-actions .button{flex:1}.app-kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.app-kpi{padding:11px}.app-kpi-icon{width:36px;height:36px;font-size:19px}.app-kpi strong{font-size:20px}.dashboard-animal-grid{grid-template-columns:1fr}.dashboard-animal-card{grid-template-columns:104px 1fr 18px;min-height:116px}.dashboard-animal-art{height:94px}.species-market-grid{grid-template-columns:1fr}.species-market-art{height:185px}.adoption-form-modern{grid-template-columns:1fr 100px}.adoption-form-modern .button{grid-column:1/-1}.collection-modern-grid{grid-template-columns:1fr}.animal-detail-hero{grid-template-columns:1fr}.animal-detail-art{min-height:290px}.animal-detail-copy{padding:24px 20px}.animal-detail-grid{grid-template-columns:1fr}.home-hero{min-height:auto}.home-hero-copy h1{font-size:46px}.home-hero-visual{min-height:390px}.hero-metrics-modern{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.hero-metrics-modern>div{min-width:0;padding:8px}.home-feature-grid{grid-template-columns:1fr 1fr}.auth-modern{grid-template-columns:1fr}.auth-visual{min-height:260px}.auth-form-card{padding:30px 22px}.auth-form-card h1{font-size:35px}.animal-action-grid{grid-template-columns:1fr 1fr}.site-footer{display:none}
}
@media(max-width:480px){
  .brand-copy{display:none}.app-kpi-grid{grid-template-columns:1fr}.home-feature-grid{grid-template-columns:1fr}.hero-actions-modern{flex-direction:column}.hero-metrics-modern{grid-template-columns:1fr 1fr}.animal-facts-modern{grid-template-columns:1fr 1fr}.collection-counter,.page-wallet{width:100%}
}

/* === AniZoo V0.6.0 : progression du refuge === */
.progression-hero{display:grid;grid-template-columns:minmax(280px,1.15fr) minmax(260px,1fr) 150px;align-items:center;gap:24px;padding:20px 22px;margin-bottom:14px;background:linear-gradient(135deg,#fffdfa 0%,#f1f5eb 100%)}
.progression-level{display:flex;align-items:center;gap:16px}.progression-level-badge{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#214c38,#173827);color:#fff;font-size:25px;font-weight:900;box-shadow:0 8px 18px rgba(26,64,45,.18)}.progression-level h2{margin:0 0 3px;font-size:22px}.progression-level p{margin:0;color:#69766d;font-size:11px;line-height:1.55;max-width:500px}
.progression-xp-label{display:flex;justify-content:space-between;gap:14px;font-size:11px;color:#5d6d63}.progression-xp-label strong{color:#263b2e}.progression-track{height:11px;margin:8px 0 6px;background:#e6e7df;border-radius:999px;overflow:hidden}.progression-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2e8e55,#53b66f);box-shadow:inset 0 1px rgba(255,255,255,.3)}.progression-xp small{font-size:9px;color:#77827a}
.progression-reputation{display:flex;align-items:center;justify-content:center;gap:10px;border-left:1px solid #dddccf;min-height:62px}.progression-reputation>span{font-size:26px;color:#d8a33f}.progression-reputation small,.progression-reputation strong{display:block}.progression-reputation small{font-size:9px;color:#758078}.progression-reputation strong{font-size:24px}
.zoo-development{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:20px 22px;margin:0 0 22px}.zoo-development-copy h2{margin:0 0 5px;font-size:22px}.zoo-development-copy p{margin:0;color:#68756d;font-size:12px}.capacity-dots{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.capacity-dots span{width:17px;height:17px;border-radius:6px;background:#e5e8df;border:1px solid #d4dacf}.capacity-dots span.occupied{background:#4da76b;border-color:#3c9259;box-shadow:inset 0 1px rgba(255,255,255,.35)}.zoo-development-action{min-width:245px;text-align:right}.zoo-development-action>small,.zoo-development-action>strong{display:block}.zoo-development-action>small{font-size:9px;color:#758078}.zoo-development-action>strong{font-size:17px;margin:2px 0 9px}.expand-form{display:flex;flex-direction:column;align-items:flex-end}.expand-form .form-message{max-width:260px;text-align:right}.capacity-max{display:block;font-size:10px;color:#63816c;font-weight:800}.adoption-progress-note{display:flex;align-items:center;gap:12px;padding:12px 15px;margin-bottom:16px}.adoption-progress-note>span{display:grid;place-items:center;min-width:64px;height:38px;border-radius:10px;background:#e6f3e8;color:#34734a;font-weight:900}.adoption-progress-note b,.adoption-progress-note small{display:block}.adoption-progress-note b{font-size:12px}.adoption-progress-note small{font-size:10px;color:#748077;margin-top:2px}
@media(max-width:900px){.progression-hero{grid-template-columns:1fr 1fr}.progression-reputation{grid-column:1/-1;border-left:0;border-top:1px solid #dddccf;padding-top:12px;justify-content:flex-start}.zoo-development{grid-template-columns:1fr}.zoo-development-action{text-align:left;min-width:0}.expand-form{align-items:flex-start}.expand-form .form-message{text-align:left}}
@media(max-width:620px){.progression-hero{grid-template-columns:1fr;gap:16px}.progression-reputation{grid-column:auto}.progression-level{align-items:flex-start}.progression-level-badge{width:50px;height:50px;border-radius:15px;font-size:21px}.zoo-development{padding:16px}.capacity-dots span{width:15px;height:15px}}


/* === AniZoo V0.6.1 : navigation mobile fixe === */
.mobile-bottom-nav{display:none}
@media(max-width:760px){
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  .site-header .main-nav .nav-link,.site-header .nav-coins{display:none!important}
  .site-header .main-nav{margin-left:auto}
  .site-header .nav-user{display:flex!important}
  .mobile-bottom-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:120;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    min-height:64px;
    padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));
    background:rgba(255,253,248,.97);
    border-top:1px solid #dedbd1;
    box-shadow:0 -9px 28px rgba(24,42,32,.12);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px)
  }
  .mobile-bottom-link{
    position:relative;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    min-height:52px;
    border-radius:13px;
    color:#6b766f;
    font-size:10px;
    font-weight:800;
    line-height:1;
    transition:background .16s ease,color .16s ease,transform .16s ease
  }
  .mobile-bottom-icon{font-size:21px;line-height:1}
  .mobile-bottom-link.active{background:#e8f2e8;color:#215d3d}
  .mobile-bottom-link.active:before{content:"";position:absolute;top:3px;left:50%;width:22px;height:3px;border-radius:999px;background:#2e7a50;transform:translateX(-50%)}
  .mobile-bottom-link:active{transform:scale(.96)}
  .page-shell.app-shell,.page-shell.public-shell,.page-shell.auth-shell,.page-shell{padding-bottom:28px}
  .site-footer{display:none!important}
}


/* === AniZoo V0.6.2 : navigation mobile publique + connectée === */
@media(max-width:760px){
  .mobile-bottom-nav{display:grid!important}
  .mobile-bottom-nav-public{grid-template-columns:repeat(3,minmax(0,1fr));padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}
  .mobile-bottom-nav-public .mobile-bottom-link{min-height:54px}
  .mobile-bottom-nav-public .mobile-bottom-icon{font-size:22px}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}
}


/* === AniZoo V0.7.0 : reproduction, naissances et lignées === */
.breeding-page .app-page-head{margin-bottom:16px}.breeding-migration-card{display:flex;align-items:center;gap:20px;padding:24px}.breeding-migration-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:#edf2e8;font-size:27px}.breeding-migration-card h2{margin:0 0 5px;font-size:22px}.breeding-migration-card p{margin:0;color:#6a776e}.breeding-migration-card code{background:#f0eee8;padding:2px 6px;border-radius:6px}
.breeding-rules{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:28px;overflow:hidden}.breeding-rules>div{padding:18px;border-right:1px solid #e5e2d9}.breeding-rules>div:last-child{border-right:0}.breeding-rules span{font-size:22px}.breeding-rules b,.breeding-rules small{display:block}.breeding-rules b{font-size:12px;margin:4px 0}.breeding-rules small{font-size:10px;color:#718078;line-height:1.45}
.breeding-active-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:32px}.breeding-active-card{padding:20px}.breeding-active-card.ready{border-color:#9fc9a9;background:linear-gradient(145deg,#fffdfa,#edf7ed)}.breeding-active-head{display:flex;gap:12px;align-items:center}.breeding-species-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#eaf2e7;color:#2b7449;font-size:22px}.breeding-active-head small{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#738077}.breeding-active-head h3{font-size:19px;margin:2px 0 0}.breeding-countdown{margin:18px 0 10px}.breeding-countdown small,.breeding-countdown strong{display:block}.breeding-countdown small{font-size:10px;color:#748078}.breeding-countdown strong{font-size:24px;margin:2px 0 8px}.breeding-countdown i{display:block;height:8px;background:#e6e8e1;border-radius:999px;overflow:hidden}.breeding-countdown i b{display:block;height:100%;background:linear-gradient(90deg,#4a9e62,#77c887);border-radius:inherit;transition:width .6s}.breeding-active-card>p{font-size:10px;color:#748078}.birth-ready{display:flex;justify-content:space-between;align-items:center;margin:16px 0;padding:11px 12px;border-radius:12px;background:#e6f3e8}.birth-ready strong{font-size:12px}.birth-ready span{font-size:11px;color:#32724a}.birth-claim-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.birth-claim-form label span{display:block;font-size:9px;font-weight:800;color:#69776e;margin-bottom:5px}.birth-claim-form input{height:42px;border:1px solid #dcd9cf;border-radius:10px;padding:0 11px}.birth-claim-form .form-message{grid-column:1/-1}
.breeding-pairs-head{margin-top:4px}.breeding-pair-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.breeding-pair-card{padding:18px;display:flex;flex-direction:column}.breeding-pair-card.blocked{opacity:.74;background:#f7f5ef}.breeding-pair-species{display:flex;justify-content:space-between;gap:10px}.breeding-pair-species small{font-weight:800;color:#587064}.breeding-pair-species span{font-size:10px;color:#758179}.breeding-parents{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center;gap:4px;margin:18px 0}.breeding-parents>a{text-align:center;padding:10px 6px;border-radius:13px;background:#f5f4ee;border:1px solid #e6e2d8}.breeding-parents b,.breeding-parents small{display:block}.breeding-parents b{font-size:13px}.breeding-parents small{font-size:9px;color:#758078}.parent-sex{display:grid;place-items:center;margin:0 auto 5px;width:28px;height:28px;border-radius:50%;font-weight:900}.parent-sex.female{background:#f8e6eb;color:#9c4f66}.parent-sex.male{background:#e5edf6;color:#497096}.breeding-heart{text-align:center;color:#cd6b72;font-size:20px}.breeding-pair-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.breeding-pair-meta span{padding:8px 10px;border-radius:10px;background:#f3f1e9}.breeding-pair-meta small,.breeding-pair-meta b{display:block}.breeding-pair-meta small{font-size:8px;color:#758078}.breeding-pair-meta b{font-size:11px;margin-top:2px}.breeding-pair-card form{margin-top:auto}.breeding-pair-card form .button{width:100%}.breeding-block-reason{margin-top:auto;padding:10px;border-radius:10px;background:#f0ece5;color:#766f65;font-size:10px;line-height:1.45}
.breeding-history-head{margin-top:32px}.breeding-history{padding:4px 18px}.breeding-history>a{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #ece9df}.breeding-history>a:last-child{border-bottom:0}.breeding-history>a>span{font-size:20px;color:#4b9a61}.breeding-history b,.breeding-history small{display:block}.breeding-history b{font-size:12px}.breeding-history small{font-size:9px;color:#758078}.breeding-history time{font-size:9px;color:#89928c}
.animal-breeding-link{width:100%;margin-top:10px}.lineage-panel{padding:22px;margin-top:18px}.lineage-grid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px}.lineage-box{padding:14px;border-radius:13px;background:#f5f3ec;border:1px solid #e5e1d7}.lineage-box>small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#78837c;margin-bottom:5px}.lineage-box>a{display:flex;justify-content:space-between}.lineage-box b{font-size:12px}.lineage-children{display:flex;gap:7px;flex-wrap:wrap}.lineage-children a{display:flex;gap:6px;align-items:center;padding:6px 8px;border-radius:9px;background:#fff;border:1px solid #e3dfd5}.lineage-children span{font-size:9px;color:#758078}
@media(max-width:1000px){.breeding-pair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.breeding-rules{grid-template-columns:repeat(2,1fr)}.breeding-rules>div:nth-child(2){border-right:0}.breeding-rules>div:nth-child(-n+2){border-bottom:1px solid #e5e2d9}}
@media(max-width:760px){.mobile-bottom-nav-auth{grid-template-columns:repeat(6,minmax(0,1fr))}.mobile-bottom-nav-auth .mobile-bottom-link{font-size:9px}.mobile-bottom-nav-auth .mobile-bottom-icon{font-size:19px}.breeding-active-grid,.breeding-pair-grid{grid-template-columns:1fr}.breeding-rules{grid-template-columns:1fr}.breeding-rules>div{border-right:0!important;border-bottom:1px solid #e5e2d9}.breeding-rules>div:last-child{border-bottom:0}.birth-claim-form{grid-template-columns:1fr}.lineage-grid{grid-template-columns:1fr}.lineage-descendants{grid-column:auto}}


/* === AniZoo V0.7.1 : économie lisible + mobile compact === */
.coin-rewards{display:grid;grid-template-columns:minmax(250px,1.15fr) minmax(420px,2fr) auto;gap:20px;align-items:center;padding:20px 22px;margin:0 0 18px}.coin-rewards h2{margin:0 0 5px;font-size:22px}.coin-rewards p{margin:0;color:#6a776e;font-size:11px;line-height:1.5;max-width:520px}.coin-reward-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.coin-reward-item{display:flex;align-items:center;gap:8px;padding:10px;border-radius:12px;background:#f5f3ec;border:1px solid #e6e1d6}.coin-reward-item.featured{background:#fff4d7;border-color:#ead49b}.coin-reward-item>span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#fff;font-weight:900;color:#936819}.coin-reward-item b,.coin-reward-item small{display:block}.coin-reward-item b{font-size:13px}.coin-reward-item small{font-size:8px;color:#718078;line-height:1.25}.daily-reward-form{min-width:205px}.daily-reward-form .button{width:100%;white-space:nowrap}.daily-reward-form .form-message{font-size:9px;text-align:center;max-width:230px}.coin-help-note{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px 15px;margin-bottom:16px}.coin-help-note>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#fff3d3;color:#966a1f;font-weight:900;font-size:19px}.coin-help-note b,.coin-help-note small{display:block}.coin-help-note b{font-size:12px}.coin-help-note small{font-size:10px;color:#748077;margin-top:2px}.coin-help-note>a{font-size:10px;color:#2f6d49;font-weight:850;white-space:nowrap}
@media(max-width:1100px){.coin-rewards{grid-template-columns:1fr 1.8fr}.daily-reward-form{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}.daily-reward-form .button{width:auto}.daily-reward-form .form-message{text-align:left;max-width:none}}
@media(max-width:760px){
  .page-shell.app-shell{width:calc(100% - 12px);padding-top:14px}
  .app-page-head{margin:0 0 14px;gap:10px}.app-page-head h1{font-size:30px;line-height:1.06;margin-bottom:5px}.app-page-head p{font-size:11px;line-height:1.4}.page-wallet,.collection-counter{width:auto;min-width:110px;padding:8px 11px;border-radius:11px}.page-wallet strong,.collection-counter strong{font-size:17px}.page-wallet small,.collection-counter span{font-size:8px}
  .adoption-progress-note{padding:9px 11px;margin-bottom:10px}.adoption-progress-note>span{min-width:52px;height:32px;font-size:12px}.adoption-progress-note b{font-size:10px}.adoption-progress-note small{font-size:8px}.coin-help-note{grid-template-columns:34px 1fr;padding:9px 11px;margin-bottom:10px}.coin-help-note>span{width:32px;height:32px;border-radius:9px;font-size:15px}.coin-help-note>a{grid-column:2;font-size:9px}.coin-help-note b{font-size:10px}.coin-help-note small{font-size:8px}
  .species-market-grid{gap:11px}.species-market-card{border-radius:14px}.species-market-art{height:132px}.species-market-art img{max-width:58%;max-height:84%}.species-market-art>.rarity-badge{left:9px;top:9px}.species-market-body{padding:12px}.species-market-title h2{font-size:21px}.species-market-title>strong{font-size:15px}.species-market-title small,.species-market-title em{font-size:9px}.species-market-body>p{min-height:0;margin:9px 0;font-size:10px;line-height:1.4}.adoption-form-modern{grid-template-columns:1fr 92px;margin-top:9px;padding-top:9px}.adoption-form-modern input,.adoption-form-modern select{height:36px}.adoption-form-modern .button{height:37px}.adoption-form-modern label span{font-size:8px}
  .collection-modern-grid{gap:10px}.collection-modern-card{display:grid;grid-template-columns:130px 1fr;min-height:138px}.collection-modern-art{height:100%;min-height:138px}.collection-modern-art img{max-width:86%;max-height:86%}.collection-modern-copy{padding:11px 12px;align-self:center}.collection-modern-copy h2{font-size:20px;margin-top:7px}.collection-modern-copy em,.collection-modern-copy p{font-size:9px}.collection-card-top b{font-size:8px}.collection-modern-art .locked-overlay{font-size:40px}
  .coin-rewards{grid-template-columns:1fr;padding:14px;gap:12px;margin-bottom:12px}.coin-rewards h2{font-size:19px}.coin-rewards p{font-size:9px}.coin-reward-grid{grid-template-columns:1fr 1fr;gap:7px}.coin-reward-item{padding:8px}.coin-reward-item>span{width:27px;height:27px}.coin-reward-item b{font-size:11px}.coin-reward-item small{font-size:7.5px}.daily-reward-form{grid-column:auto;display:block;min-width:0}.daily-reward-form .button{width:100%;height:40px}.daily-reward-form .form-message{text-align:center;margin-top:5px}
  .progression-hero{padding:14px}.progression-level h2{font-size:19px}.progression-level p{font-size:9px}.zoo-development{margin-bottom:12px}.dashboard-layout{gap:12px}
}
@media(max-width:430px){
  .app-page-head h1{font-size:27px}.species-market-art{height:116px}.species-market-art img{max-width:54%}.species-market-body{padding:10px}.species-market-title h2{font-size:19px}.collection-modern-card{grid-template-columns:112px 1fr;min-height:124px}.collection-modern-art{min-height:124px}.collection-modern-copy h2{font-size:18px}.coin-reward-grid{grid-template-columns:1fr 1fr}
}


/* === AniZoo V0.8.0 : génétique et héritage === */
.genetics-panel{padding:22px;margin-top:18px}.genetics-score{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:#eef3ec}.genetics-score b{font-size:20px}.genetics-score small{font-size:9px;color:#68766d}.genetics-score-high{background:#e4f3e7;color:#226942}.genetics-score-mid{background:#f0f2e5;color:#66703f}.genetics-score-low{background:#f5ece2;color:#835f3d}.genetics-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.genetics-summary>div{padding:11px 12px;border-radius:12px;background:#f6f4ed;border:1px solid #e7e2d7}.genetics-summary small,.genetics-summary strong{display:block}.genetics-summary small{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#78837c}.genetics-summary strong{font-size:12px;margin-top:3px}.genetics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 18px}.gene-row>div{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:5px}.gene-row>div span{color:#5f6d64}.gene-row>div b{font-size:11px}.gene-row>i{display:block;height:8px;border-radius:999px;background:#e7e9e2;overflow:hidden}.gene-row>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4a9e62,#78c989)}.genetics-note{margin:16px 0 0;padding-top:13px;border-top:1px solid #ebe7de;color:#778178;font-size:10px;line-height:1.5}
.genetics-breeding-banner{display:flex;align-items:center;gap:13px;padding:14px 16px;margin:-12px 0 26px;background:linear-gradient(135deg,#f7fbf5,#edf5ec);border-color:#cfe1cf}.genetics-breeding-banner>span{font-size:26px}.genetics-breeding-banner b,.genetics-breeding-banner small{display:block}.genetics-breeding-banner b{font-size:12px}.genetics-breeding-banner small{font-size:10px;color:#6e7c72;margin-top:2px}.genetics-breeding-banner code{padding:2px 5px;background:#ece9e1;border-radius:5px}.genetics-breeding-banner.genetics-install{background:#faf6ed;border-color:#eadfc7}.pair-genetics{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1px 10px;padding:10px 11px;margin:-2px 0 12px;border-radius:11px;background:linear-gradient(135deg,#edf5eb,#f8fbf6);border:1px solid #d7e5d4}.pair-genetics span{font-size:9px;font-weight:800;color:#52695a}.pair-genetics strong{font-size:16px;color:#2e7248}.pair-genetics small{grid-column:1/-1;font-size:8px;color:#7b877f}
@media(max-width:760px){.genetics-panel{padding:16px}.genetics-summary{grid-template-columns:1fr 1fr}.genetics-summary>div:last-child{grid-column:1/-1}.genetics-grid{grid-template-columns:1fr}.genetics-score{padding:7px 9px}.genetics-score b{font-size:17px}.genetics-breeding-banner{margin-top:-8px}.pair-genetics{margin-bottom:10px}}


/* === AniZoo V0.8.1 : visiteurs & missions === */
.visitor-economy{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:30px;padding:30px;margin-bottom:22px;background:linear-gradient(135deg,#f8f5ec 0%,#eef4e9 100%)}
.visitor-economy h2,.daily-missions h2{font-family:Georgia,serif;font-size:32px;font-weight:500;margin:0 0 8px}.visitor-economy-copy>p,.daily-missions-head p{color:var(--muted);margin:0;max-width:720px}.visitor-income-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.visitor-income-stats>div{padding:15px;border-radius:15px;background:rgba(255,255,255,.72);border:1px solid rgba(35,67,50,.09)}.visitor-income-stats small,.visitor-income-stats strong{display:block}.visitor-income-stats small{color:var(--muted);font-size:11px}.visitor-income-stats strong{font-size:20px;margin-top:2px}
.visitor-till{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:22px;border-radius:20px;background:#173e31;color:#fff;box-shadow:0 16px 34px rgba(23,62,49,.16)}.visitor-till-icon{font-size:36px}.visitor-till>small{opacity:.75}.visitor-till>strong{font-family:Georgia,serif;font-size:38px;margin:2px 0}.visitor-till>span:not(.visitor-till-icon){font-size:12px;opacity:.82}.visitor-till-track{width:100%;height:8px;border-radius:99px;background:rgba(255,255,255,.16);overflow:hidden;margin:16px 0 5px}.visitor-till-track i{display:block;height:100%;border-radius:inherit;background:#d7b45c}.visitor-till form{width:100%;margin-top:14px}.visitor-till .button{width:100%;background:#f1d47a;color:#173e31}.visitor-till .button:disabled{opacity:.45}.visitor-till .form-message{color:#dbe9df}
.daily-missions{padding:28px 30px;margin-bottom:22px}.daily-missions-head{margin-bottom:20px}.daily-mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.daily-mission{padding:18px;border-radius:18px;border:1px solid var(--line);background:#fbfaf6}.daily-mission.ready{border-color:#9fbd9e;background:#f1f6ed}.daily-mission.claimed{opacity:.62}.daily-mission-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.daily-mission-top strong,.daily-mission-top span{display:block}.daily-mission-top strong{font-size:15px}.daily-mission-top span{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4}.daily-mission-top>b{white-space:nowrap;color:#8a681d}.mission-progress{display:flex;align-items:center;gap:10px;margin:16px 0 12px}.mission-progress>i{display:block;flex:1;height:7px;border-radius:99px;background:#e7e4db;overflow:hidden}.mission-progress>i>b{display:block;height:100%;background:#62836a;border-radius:inherit}.mission-progress>span{font-size:11px;color:var(--muted);white-space:nowrap}.daily-mission form .button{width:100%;padding:9px 12px}.daily-mission .form-message{min-height:0}
@media(max-width:900px){.visitor-economy{grid-template-columns:1fr}.daily-mission-grid{grid-template-columns:1fr 1fr}.visitor-income-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.visitor-economy,.daily-missions{padding:18px;margin-bottom:14px}.visitor-economy{gap:18px}.visitor-economy h2,.daily-missions h2{font-size:25px}.visitor-income-stats{gap:7px;margin-top:16px}.visitor-income-stats>div{padding:11px 9px}.visitor-income-stats strong{font-size:16px}.visitor-till{padding:17px}.visitor-till>strong{font-size:31px}.daily-mission-grid{grid-template-columns:1fr;gap:9px}.daily-mission{padding:14px}.daily-mission-top span{font-size:11px}}

/* === AniZoo V0.8.2 : croissance progressive des jeunes === */
.dashboard-animal-art img,
.animal-card-sprite img,
.animal-detail-art img{
  transform:scale(var(--growth-scale,1));
  transform-origin:50% 88%;
  transition:transform .35s ease;
}
.dashboard-animal-art{position:relative}
.growth-mini-badge{
  position:absolute;left:8px;bottom:7px;padding:4px 7px;border-radius:999px;
  background:rgba(255,253,248,.92);border:1px solid rgba(46,92,61,.15);
  color:#2e6544;font-size:9px;font-style:normal;font-weight:800;line-height:1;
  box-shadow:0 2px 8px rgba(42,55,45,.08)
}
.animal-growth-badge{
  position:absolute;top:18px;right:18px;z-index:2;display:inline-flex;align-items:center;gap:6px;
  padding:7px 10px;border-radius:999px;background:rgba(255,253,248,.94);border:1px solid rgba(43,98,64,.16);
  color:#2b6844;font-size:11px;font-weight:850;box-shadow:0 4px 14px rgba(38,54,43,.09)
}
.animal-growth-panel{
  margin-top:14px;padding:17px 20px;display:grid;grid-template-columns:minmax(190px,.65fr) minmax(280px,1.5fr) minmax(150px,.55fr);
  gap:20px;align-items:center
}
.animal-growth-stage{display:flex;align-items:center;gap:12px}.animal-growth-stage>span{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#eaf4ec;color:#2f744c;font-size:21px}.animal-growth-stage small,.animal-growth-stage strong,.animal-growth-stage em{display:block}.animal-growth-stage small{font-size:8px;letter-spacing:.09em;color:#748078}.animal-growth-stage strong{font-size:19px;margin:2px 0}.animal-growth-stage em{font-size:10px;font-style:normal;color:#647169}
.animal-growth-progress>div{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:7px}.animal-growth-progress>div span{color:#526159}.animal-growth-progress>div b{font-size:12px}.animal-growth-progress>i{display:block;height:9px;border-radius:999px;overflow:hidden;background:#e8e8df}.animal-growth-progress>i>em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6ab56f,#2e8b58)}.animal-growth-progress>small{display:block;margin-top:7px;color:#68756d;font-size:9px;line-height:1.4}
.animal-growth-adult{padding-left:18px;border-left:1px solid #e4e1d7}.animal-growth-adult small,.animal-growth-adult strong,.animal-growth-adult span{display:block}.animal-growth-adult small{font-size:9px;color:#748078}.animal-growth-adult strong{font-size:20px;margin:2px 0}.animal-growth-adult span{font-size:10px;color:#4c785d;font-weight:750}
.animal-breeding-locked{margin-top:10px;display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:11px;background:#f5f2e9;border:1px solid #e4dfd2;color:#655e4e}.animal-breeding-locked>span{font-size:21px}.animal-breeding-locked b,.animal-breeding-locked small{display:block}.animal-breeding-locked b{font-size:11px}.animal-breeding-locked small{font-size:9px;color:#7a7261;margin-top:2px;line-height:1.4}
.animal-card-sprite{overflow:visible}.animal-card-sprite img{max-width:100%;max-height:100%}

@media(max-width:760px){
  .animal-growth-panel{grid-template-columns:1fr;gap:13px;padding:14px}
  .animal-growth-adult{padding:11px 0 0;border-left:0;border-top:1px solid #e4e1d7;display:flex;align-items:center;justify-content:space-between;gap:8px}
  .animal-growth-adult small,.animal-growth-adult strong,.animal-growth-adult span{margin:0}
  .animal-growth-adult strong{font-size:16px}
  .animal-growth-badge{top:12px;right:12px;font-size:10px;padding:6px 8px}
}

/* === AniZoo V0.8.3 : aménagements & attractivité des enclos === */
.enclosure-upgrade-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:end;margin:8px 0 22px}.enclosure-upgrade-head h2{font-family:Georgia,serif;font-size:34px;font-weight:500;margin:0 0 8px}.enclosure-upgrade-head p{margin:0;max-width:760px;color:var(--muted)}.enclosure-quality-card{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:280px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fffdf8}.enclosure-quality-card>div{padding:10px 12px;border-radius:12px;background:#f2f5ed}.enclosure-quality-card small,.enclosure-quality-card strong{display:block}.enclosure-quality-card small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#718077}.enclosure-quality-card strong{font-size:22px;color:#285f41}.enclosure-quality-card>span{grid-column:1/-1;font-size:10px;color:#6e786f;text-align:center}.enclosure-migration-warning{display:flex;gap:10px;align-items:center;padding:13px 15px;margin-bottom:16px;border:1px solid #e5c987;border-radius:14px;background:#fff7df;color:#71571d}.enclosure-migration-warning b,.enclosure-migration-warning span{display:block}.enclosure-migration-warning span{font-size:11px}.enclosure-migration-warning code{padding:2px 5px;border-radius:5px;background:rgba(255,255,255,.6)}.enclosure-upgrade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.enclosure-upgrade-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fffdf8;box-shadow:0 10px 30px rgba(32,50,40,.05)}.enclosure-upgrade-card.is-max{background:#f0f5ed;border-color:#cddfcb}.upgrade-card-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#e9f0e5;font-size:26px}.upgrade-card-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.upgrade-card-title h3{margin:0;font-size:16px}.upgrade-card-title small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.upgrade-card-title>b{font-size:9px;white-space:nowrap;color:#4e775c;background:#edf4ea;padding:5px 7px;border-radius:999px}.upgrade-card-main p{margin:7px 0 10px;color:#69736c;font-size:11px;line-height:1.45}.upgrade-level-pips{display:flex;gap:5px}.upgrade-level-pips i{width:28px;height:6px;border-radius:99px;background:#e5e4dc}.upgrade-level-pips i.filled{background:#5d9d69}.upgrade-card-action{min-width:150px}.upgrade-card-action .button{width:100%;padding:10px 12px;font-size:11px}.upgrade-card-action .form-message{max-width:170px;margin-top:5px;font-size:9px;text-align:center}.enclosure-upgrade-impact{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;margin-top:16px;border-radius:16px;background:linear-gradient(135deg,#eef5ea,#f8f6ef);border:1px solid #d7e3d2}.enclosure-upgrade-impact>span{font-size:26px}.enclosure-upgrade-impact b{display:block;font-size:12px}.enclosure-upgrade-impact p{margin:3px 0 0;color:#66736a;font-size:10px}.visitor-upgrade-link{display:inline-flex;margin-top:13px;font-size:12px;font-weight:800;color:#2e704a}.visitor-income-stats{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.enclosure-upgrade-card{grid-template-columns:auto 1fr}.upgrade-card-action{grid-column:1/-1;min-width:0;display:grid;grid-template-columns:minmax(160px,220px) 1fr;align-items:center;gap:8px}.upgrade-card-action .form-message{text-align:left;max-width:none;margin:0}.visitor-income-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.enclosure-upgrade-head{grid-template-columns:1fr;gap:14px}.enclosure-upgrade-head h2{font-size:27px}.enclosure-quality-card{min-width:0;width:100%}.enclosure-upgrade-grid{grid-template-columns:1fr}.enclosure-upgrade-card{grid-template-columns:44px minmax(0,1fr);padding:14px;gap:10px}.upgrade-card-icon{width:44px;height:44px;font-size:22px}.upgrade-card-title{display:block}.upgrade-card-title>b{display:inline-block;margin-top:5px}.upgrade-card-action{grid-template-columns:1fr}.upgrade-card-action .form-message{text-align:center}.enclosure-migration-warning{align-items:flex-start;flex-direction:column}.visitor-income-stats{grid-template-columns:1fr 1fr}}

/* === AniZoo V0.8.4 : objectifs permanents & trophées === */
.achievement-preview{padding:22px 24px;margin-bottom:18px}.achievement-preview-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}.achievement-preview-head h2{margin:0 0 5px;font-size:24px}.achievement-preview-head p{margin:0;color:var(--az-muted);font-size:11px;max-width:760px}.achievement-preview-score{min-width:130px;padding:11px 14px;border-radius:13px;background:#f6f0dd;border:1px solid #eadfbc;text-align:center}.achievement-preview-score strong,.achievement-preview-score small{display:block}.achievement-preview-score strong{font-size:22px;color:#70551c}.achievement-preview-score small{font-size:9px;color:#82755a}.achievement-preview-track{height:8px;margin:15px 0;border-radius:999px;background:#e8e5dc;overflow:hidden}.achievement-preview-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d4ad4f,#6d9b62)}.achievement-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.achievement-preview-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 11px;border-radius:12px;background:#f8f6ef;border:1px solid #e8e3d7}.achievement-preview-item.ready{background:#eef6eb;border-color:#bfd6bb}.achievement-preview-item>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#fff;font-size:18px}.achievement-preview-item small,.achievement-preview-item b,.achievement-preview-item em{display:block}.achievement-preview-item small{font-size:7px;text-transform:uppercase;letter-spacing:.08em;color:#7a847d}.achievement-preview-item b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.achievement-preview-item em{font-size:8px;font-style:normal;color:#738078}.achievement-preview-item>strong{font-size:10px;color:#8d6820;white-space:nowrap}.achievement-preview-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.achievement-preview-foot>span{font-size:10px;color:#68766d}.achievement-preview-foot .button{padding:9px 12px;font-size:10px}

.achievements-page-head{margin-bottom:18px}.achievement-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:24px;margin-bottom:18px;background:linear-gradient(135deg,#fffdf8,#f4f1df)}.achievement-summary-main{display:flex;align-items:center;gap:16px}.achievement-cup{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#fff2c8;border:1px solid #ead9a0;font-size:30px;flex:0 0 auto}.achievement-summary h2{margin:0 0 10px;font-size:25px}.achievement-summary-track{width:min(520px,100%);height:9px;border-radius:999px;background:#e6e2d8;overflow:hidden}.achievement-summary-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d7ab48,#65905c)}.achievement-summary-main small{display:block;margin-top:6px;font-size:9px;color:#738078}.achievement-summary-kpis{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:8px}.achievement-summary-kpis>div{padding:12px;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid #e4dfd1}.achievement-summary-kpis small,.achievement-summary-kpis strong{display:block}.achievement-summary-kpis small{font-size:8px;color:#7a827b;text-transform:uppercase;letter-spacing:.06em}.achievement-summary-kpis strong{font-size:16px;margin-top:3px}

.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.achievement-card{padding:18px;position:relative;overflow:hidden}.achievement-card.ready{border-color:#a9cba8;background:linear-gradient(145deg,#fffdf8,#edf7eb)}.achievement-card.claimed{background:#f1f4ed;border-color:#d7e1d3}.achievement-card.claimed:after{content:"✓";position:absolute;right:-2px;bottom:-24px;font-size:118px;font-weight:900;line-height:1;color:rgba(56,103,67,.055);pointer-events:none}.achievement-card-top{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center}.achievement-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#f2eddd;border:1px solid #e7ddbf;font-size:22px}.achievement-card.ready .achievement-icon{background:#e4f1e3;border-color:#c7dfc4}.achievement-card.claimed .achievement-icon{background:#e1ece0;border-color:#c8dac5}.achievement-title small{display:block;font-size:8px;color:#748078;text-transform:uppercase;letter-spacing:.09em}.achievement-title h2{font-size:17px;margin:2px 0 0}.achievement-state{padding:5px 7px;border-radius:999px;background:#f0eee7;color:#766f61;font-size:8px;font-weight:850;white-space:nowrap}.achievement-card.ready .achievement-state{background:#dcefd9;color:#2e6a43}.achievement-card.claimed .achievement-state{background:#e1e9df;color:#48644e}.achievement-card>p{margin:12px 0;color:#667169;font-size:10px;line-height:1.5;min-height:30px}.achievement-progress-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.achievement-progress-track{height:7px;background:#e5e3db;border-radius:999px;overflow:hidden}.achievement-progress-track i{display:block;height:100%;border-radius:inherit;background:#789a6d}.achievement-card.ready .achievement-progress-track i,.achievement-card.claimed .achievement-progress-track i{background:#4e9662}.achievement-progress-row>b{font-size:9px;color:#69766e}.achievement-rewards{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.achievement-rewards span{padding:5px 7px;border-radius:8px;background:#f6f2e6;border:1px solid #e8dfc6;color:#725c2c;font-size:8px;font-weight:800}.achievement-card form{display:grid;grid-template-columns:minmax(150px,220px) 1fr;align-items:center;gap:9px;margin-top:4px}.achievement-card form .button{padding:9px 11px;font-size:10px}.achievement-card form .form-message{margin:0;min-height:0;font-size:9px}

@media(max-width:1000px){.achievement-preview-grid{grid-template-columns:1fr 1fr}.achievement-preview-item:last-child{grid-column:1/-1}.achievement-summary{grid-template-columns:1fr}.achievement-summary-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.achievement-preview{padding:14px;margin-bottom:12px}.achievement-preview-head{align-items:flex-start}.achievement-preview-head h2{font-size:19px}.achievement-preview-head p{font-size:9px}.achievement-preview-score{min-width:92px;padding:8px}.achievement-preview-score strong{font-size:18px}.achievement-preview-grid{grid-template-columns:1fr;gap:7px}.achievement-preview-item:last-child{grid-column:auto}.achievement-preview-foot{align-items:stretch;flex-direction:column}.achievement-preview-foot .button{width:100%}.achievement-summary{padding:14px;gap:14px}.achievement-summary-main{align-items:flex-start}.achievement-cup{width:46px;height:46px;border-radius:14px;font-size:24px}.achievement-summary h2{font-size:19px}.achievement-summary-kpis{grid-template-columns:1fr 1fr}.achievement-summary-kpis>div:last-child{grid-column:1/-1}.achievement-grid{grid-template-columns:1fr;gap:9px}.achievement-card{padding:14px}.achievement-card-top{grid-template-columns:38px minmax(0,1fr)}.achievement-icon{width:38px;height:38px;font-size:19px}.achievement-state{grid-column:2;justify-self:start;margin-top:-5px}.achievement-card>p{min-height:0;margin:9px 0}.achievement-card form{grid-template-columns:1fr}.achievement-card form .button{width:100%}.achievement-rewards{margin:9px 0}.achievement-title h2{font-size:15px}}


/* === AniZoo V0.8.5 : conservation & réintroduction === */
.conservation-dashboard{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 24px;margin-bottom:18px;background:linear-gradient(135deg,#f0f6ed,#fffdf8);border-color:#cfdfc8}.conservation-dashboard-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:#dcebd8;border:1px solid #c0d8ba;font-size:28px}.conservation-dashboard h2{margin:0 0 5px;font-size:23px}.conservation-dashboard p{margin:0;color:#68756d;font-size:11px;max-width:800px}.conservation-dashboard-kpis{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.conservation-dashboard-kpis span{min-width:120px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.72);border:1px solid #dae5d5}.conservation-dashboard-kpis small,.conservation-dashboard-kpis b{display:block}.conservation-dashboard-kpis small{font-size:7px;text-transform:uppercase;letter-spacing:.06em;color:#748078}.conservation-dashboard-kpis b{font-size:14px;margin-top:2px}
.conservation-page-head{margin-bottom:18px}.conservation-install-card{display:flex;gap:16px;align-items:flex-start;padding:24px}.conservation-install-card>span{font-size:30px}.conservation-install-card h2{margin:0 0 6px}.conservation-install-card p{margin:0;color:#68746c}.conservation-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px;margin-bottom:12px}.conservation-summary>div{padding:13px 14px;border-radius:12px;background:#f8f6ef;border:1px solid #e6e0d4}.conservation-summary small,.conservation-summary strong,.conservation-summary span{display:block}.conservation-summary small{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#788078}.conservation-summary strong{font-size:22px;margin:2px 0}.conservation-summary span{font-size:8px;color:#788078}.conservation-rules{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px;margin-bottom:22px}.conservation-rules>div{display:grid;grid-template-columns:34px 1fr;column-gap:8px;align-items:center;padding:10px;border-radius:12px;background:#f3f6ef}.conservation-rules>div>span{grid-row:1/3;font-size:22px}.conservation-rules b,.conservation-rules small{display:block}.conservation-rules b{font-size:10px}.conservation-rules small{font-size:8px;color:#748078;line-height:1.35}.conservation-list-head{margin-top:4px}.conservation-grid{display:grid;gap:12px}.conservation-animal-card{display:grid;grid-template-columns:150px minmax(0,1fr) 220px;gap:16px;align-items:stretch;padding:0;overflow:hidden}.conservation-animal-card.eligible{border-color:#b9d3b3;background:linear-gradient(135deg,#fffdf8,#f5faf2)}.conservation-animal-art{min-height:155px;display:grid;place-items:center;position:relative;overflow:hidden;background:#e9efe4}.conservation-animal-art img{width:88%;height:88%;object-fit:contain;transform:scale(var(--growth-scale,1));transform-origin:center bottom}.conservation-animal-art>span{font-size:58px}.conservation-animal-art em{position:absolute;left:9px;bottom:9px;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.88);font-style:normal;font-size:8px;font-weight:800}.conservation-animal-main{padding:15px 0}.conservation-animal-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.conservation-animal-title small{display:block;font-size:8px;color:#738078}.conservation-animal-title h3{margin:2px 0 0;font-size:19px}.conservation-animal-main>p{margin:8px 0;color:#5f7066;font-size:10px;font-weight:700}.conservation-factors{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.conservation-factors span{padding:7px 8px;border-radius:9px;background:#f4f3ec}.conservation-factors small,.conservation-factors b{display:block}.conservation-factors small{font-size:7px;color:#7b837d}.conservation-factors b{font-size:11px}.conservation-block-reason{margin-top:9px;padding:7px 9px;border-radius:9px;background:#f6ece6;color:#87523e;font-size:9px}.conservation-reward-box{display:flex;flex-direction:column;justify-content:center;padding:14px 16px;background:#eef4ea;border-left:1px solid #d9e4d4}.conservation-reward-box>small{font-size:8px;color:#718078;text-transform:uppercase;letter-spacing:.07em}.conservation-reward-box>strong{font-size:23px;color:#496b42;margin:2px 0}.conservation-reward-box>span{font-size:8px;color:#66756c;margin-bottom:9px}.conservation-reward-box form .button{width:100%;padding:9px 10px;font-size:10px}.conservation-reward-box .text-link{margin-top:7px;text-align:center;font-size:9px}.conservation-history-head{margin-top:24px}.conservation-history{padding:6px 14px}.conservation-history>a{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 2px;border-bottom:1px solid #e7e3da}.conservation-history>a:last-child{border-bottom:0}.conservation-history-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#e6f0e2}.conservation-history b,.conservation-history small{display:block}.conservation-history b{font-size:11px}.conservation-history small{font-size:8px;color:#788179}.conservation-history-reward{text-align:right}.conservation-history-reward strong{font-size:11px;color:#6f5b2b}.released-animal-banner{display:flex;align-items:center;gap:12px;padding:13px 15px;margin-bottom:12px;background:#eaf3e6;border-color:#cadec5}.released-animal-banner>span{font-size:24px}.released-animal-banner b,.released-animal-banner small{display:block}.released-animal-banner small{font-size:9px;color:#68756d}.released-actions-note{font-size:10px;color:#69766e}.animal-conservation-link{margin-top:8px}
@media(max-width:980px){.conservation-dashboard{grid-template-columns:auto 1fr}.conservation-dashboard>.button{grid-column:1/-1}.conservation-summary,.conservation-rules{grid-template-columns:1fr 1fr}.conservation-animal-card{grid-template-columns:125px minmax(0,1fr)}.conservation-reward-box{grid-column:1/-1;border-left:0;border-top:1px solid #d9e4d4;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}.conservation-reward-box form{grid-column:2;grid-row:1/4}.conservation-reward-box .text-link{grid-column:1;text-align:left}}
@media(max-width:760px){.conservation-dashboard{grid-template-columns:1fr;padding:14px}.conservation-dashboard-icon{width:44px;height:44px;font-size:22px}.conservation-dashboard h2{font-size:18px}.conservation-dashboard-kpis{display:grid;grid-template-columns:1fr 1fr}.conservation-dashboard-kpis span{min-width:0}.conservation-summary{grid-template-columns:1fr 1fr;padding:9px}.conservation-summary>div{padding:10px}.conservation-summary strong{font-size:18px}.conservation-rules{grid-template-columns:1fr;padding:10px}.conservation-animal-card{grid-template-columns:88px minmax(0,1fr);gap:10px}.conservation-animal-art{min-height:105px}.conservation-animal-main{padding:10px 8px 10px 0}.conservation-animal-title{display:block}.conservation-animal-title .rarity-badge{display:inline-flex;margin-top:4px}.conservation-animal-title h3{font-size:15px}.conservation-factors{grid-template-columns:1fr 1fr}.conservation-reward-box{grid-template-columns:1fr;padding:11px}.conservation-reward-box form{grid-column:1;grid-row:auto}.conservation-reward-box .text-link{text-align:center}.conservation-history{padding:4px 10px}.conservation-history>a{grid-template-columns:32px minmax(0,1fr)}.conservation-history-reward{grid-column:2;text-align:left;display:flex;gap:8px;align-items:center}.released-animal-banner{align-items:flex-start}.conservation-page-head .page-head-actions{align-items:stretch}}


/* === AniZoo V0.8.6 : valeur individuelle & potentiel de lignée === */
.zoo-value-summary{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:20px;padding:22px 24px;margin-bottom:18px;background:linear-gradient(135deg,#fffdf7,#f3f0e5);border-color:#ded5bc}.zoo-value-summary h2{margin:2px 0 5px;font-size:23px}.zoo-value-summary p{margin:0;color:#6b746f;font-size:10px;max-width:820px}.zoo-value-kpis{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.zoo-value-kpis span{min-width:145px;padding:9px 11px;border-radius:11px;background:rgba(255,255,255,.76);border:1px solid #e5ddca}.zoo-value-kpis small,.zoo-value-kpis b{display:block}.zoo-value-kpis small{font-size:7px;text-transform:uppercase;letter-spacing:.07em;color:#7e7a6d}.zoo-value-kpis b{font-size:16px;margin-top:2px;color:#5a4c2e}.zoo-value-top{display:flex;flex-direction:column;gap:7px;padding:13px;border-radius:14px;background:#eef3ea;border:1px solid #d7e1d2}.zoo-value-top>small{font-size:7px;font-weight:900;letter-spacing:.08em;color:#758173}.zoo-value-top>a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border-radius:10px;background:#fff;border:1px solid #e3e6dd;color:inherit;text-decoration:none}.zoo-value-top>a:hover{border-color:#bfd0b7;transform:translateY(-1px)}.zoo-value-top>a>em{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#e7efe3;font-size:8px;font-style:normal;font-weight:900}.zoo-value-top>a span b,.zoo-value-top>a span small{display:block}.zoo-value-top>a span b{font-size:10px}.zoo-value-top>a span small{font-size:7px;color:#778078}.zoo-value-top>a>strong{font-size:11px;color:#6e5a28}.zoo-value-empty{font-size:9px;color:#778078;padding:8px}.dashboard-animal-value{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:6px 0 2px;padding:5px 7px;border-radius:8px;background:#f5f1e5}.dashboard-animal-value span{font-size:7px;color:#766f5f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-animal-value b{font-size:9px;color:#6b5725;white-space:nowrap}
.animal-value-panel{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:20px;padding:20px 22px;margin-bottom:14px;background:linear-gradient(135deg,#fffdf8,#f5f1e5);border-color:#e0d7bd}.animal-value-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.animal-value-title h2{margin:2px 0 4px;font-size:21px}.animal-value-title p{margin:0;color:#70766f;font-size:9px;max-width:690px}.animal-value-title>strong{font-size:28px;color:#6a5628;white-space:nowrap}.animal-value-factors{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.animal-value-factors span{padding:8px 9px;border-radius:10px;background:rgba(255,255,255,.76);border:1px solid #e7e0cf}.animal-value-factors small,.animal-value-factors b{display:block}.animal-value-factors small{font-size:7px;color:#7c8078;text-transform:uppercase;letter-spacing:.05em}.animal-value-factors b{font-size:10px;margin-top:2px}.lineage-potential-box{display:flex;flex-direction:column;justify-content:center;padding:14px 16px;border-radius:14px;background:#eaf2e6;border:1px solid #cedfc7}.lineage-potential-box>small{font-size:7px;text-transform:uppercase;letter-spacing:.08em;color:#70806e}.lineage-potential-box>strong{font-size:31px;line-height:1;color:#456942;margin:4px 0}.lineage-potential-box>b{font-size:11px}.lineage-potential-box>i{height:7px;border-radius:999px;background:#d7e2d3;overflow:hidden;margin:9px 0 7px}.lineage-potential-box>i>em{display:block;height:100%;border-radius:inherit;background:#5b8f5f}.lineage-potential-box>span{font-size:8px;line-height:1.4;color:#687568}.pair-value-projection{display:flex;justify-content:space-between;gap:9px;align-items:center;padding:8px 9px;margin:8px 0;border-radius:10px;background:#f5f1e5;border:1px solid #e5dcc7}.pair-value-projection span small,.pair-value-projection span b{display:block}.pair-value-projection span small{font-size:7px;color:#7d776a}.pair-value-projection span b{font-size:11px;color:#6c5728}.pair-value-projection>em{font-size:8px;font-style:normal;font-weight:800;color:#5b6c5b;text-align:right}.conservation-market-reference{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:8px 0;padding:7px 9px;border-radius:9px;background:#f6f1e4;border:1px solid #e6dcc2}.conservation-market-reference span{font-size:7px;color:#7d776c;text-transform:uppercase;letter-spacing:.05em}.conservation-market-reference b{font-size:11px;color:#6c5728}.conservation-market-reference small{font-size:7px;color:#6d796e}
@media(max-width:980px){.zoo-value-summary{grid-template-columns:1fr}.animal-value-panel{grid-template-columns:1fr}.animal-value-factors{grid-template-columns:repeat(3,1fr)}.lineage-potential-box{min-height:0}}
@media(max-width:760px){.zoo-value-summary{padding:14px;gap:12px;margin-bottom:12px}.zoo-value-summary h2{font-size:18px}.zoo-value-summary p{font-size:9px}.zoo-value-kpis{display:grid;grid-template-columns:1fr 1fr}.zoo-value-kpis span{min-width:0;padding:8px}.zoo-value-kpis span:first-child{grid-column:1/-1}.zoo-value-top{padding:9px}.animal-value-panel{padding:14px;gap:12px}.animal-value-title{display:block}.animal-value-title h2{font-size:18px}.animal-value-title>strong{display:block;margin-top:8px;font-size:24px}.animal-value-factors{grid-template-columns:1fr 1fr}.animal-value-factors span{padding:7px}.lineage-potential-box>strong{font-size:26px}.pair-value-projection{align-items:flex-start}.pair-value-projection>em{max-width:45%}.dashboard-animal-value{margin-top:4px}.conservation-market-reference{margin:6px 0}}

/* === AniZoo V0.9.0 — marché des animaux === */
.market-page-head{align-items:center}.market-install-card{display:flex;align-items:center;gap:18px;padding:24px}.market-install-card>span{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#edf2e8;font-size:26px}.market-install-card h2{margin:0 0 5px}.market-install-card p{margin:0;color:var(--az-muted)}.market-install-card code{background:#f0eee8;padding:2px 6px;border-radius:6px}
.market-summary{display:grid;grid-template-columns:repeat(4,1fr);padding:10px;margin-bottom:14px}.market-summary>div{padding:14px 16px;border-right:1px solid var(--az-line)}.market-summary>div:last-child{border-right:0}.market-summary small,.market-summary span{display:block;color:var(--az-muted);font-size:10px}.market-summary strong{display:block;font-size:24px;margin:3px 0}
.market-rules{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin-bottom:28px;overflow:hidden}.market-rules>div{padding:17px;border-right:1px solid var(--az-line)}.market-rules>div:last-child{border-right:0}.market-rules>div>span{font-size:21px}.market-rules b,.market-rules small{display:block}.market-rules b{font-size:13px;margin:5px 0 3px}.market-rules small{font-size:10px;line-height:1.45;color:var(--az-muted)}
.market-browse,.market-sell-section,.market-my-listings,.market-history-section{margin-top:28px}.market-filters{display:grid;grid-template-columns:1.1fr .8fr .8fr .8fr 1fr 1.05fr auto auto;gap:9px;align-items:end;padding:13px;margin-bottom:14px}.market-filters label,.market-list-form label{display:grid;gap:5px}.market-filters label>span,.market-list-form label>span{font-size:9px;font-weight:800;color:var(--az-muted);text-transform:uppercase;letter-spacing:.08em}.market-filters input,.market-filters select,.market-list-form input{width:100%;height:40px;border:1px solid var(--az-line);background:#fff;border-radius:10px;padding:0 10px;color:var(--az-text)}.market-filters .button{height:40px;padding:0 13px;white-space:nowrap}
.market-listing-grid{display:grid;gap:12px}.market-listing-card{display:grid;grid-template-columns:150px minmax(0,1fr) 215px;gap:0;overflow:hidden;padding:0}.market-listing-art{min-height:165px;position:relative;display:grid;place-items:center;background:linear-gradient(145deg,#e7eee4,#f4efe4);overflow:hidden}.market-listing-art img{max-width:72%;max-height:118px;object-fit:contain;transform:scale(var(--growth-scale,1));transform-origin:center bottom}.market-listing-art>span{font-size:54px}.market-listing-art>em{position:absolute;left:9px;bottom:8px;border-radius:999px;padding:4px 7px;background:rgba(255,255,255,.85);font-size:9px;font-style:normal;font-weight:800}.market-listing-copy{padding:16px 18px}.market-listing-title{display:flex;justify-content:space-between;gap:10px}.market-listing-title small{display:block;color:var(--az-muted);font-size:10px}.market-listing-title h3{font-size:21px;margin:1px 0 0}.market-listing-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.market-listing-meta span{background:#f7f5ef;border:1px solid #ebe7dd;border-radius:9px;padding:8px}.market-listing-meta small,.market-listing-meta b{display:block}.market-listing-meta small{font-size:8px;color:var(--az-muted)}.market-listing-meta b{font-size:11px;margin-top:2px}.market-seller{display:flex;gap:6px;align-items:center;margin-top:12px;font-size:10px;color:var(--az-muted)}.market-seller b{color:var(--az-text)}.market-seller small{margin-left:auto}.market-buy-box{border-left:1px solid var(--az-line);padding:16px;display:flex;flex-direction:column;justify-content:center;background:#fbfaf6}.market-buy-box>small,.market-buy-box>span{color:var(--az-muted)}.market-buy-box>small{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.market-buy-box>strong{font-size:25px;margin:3px 0}.market-buy-box>span{font-size:9px;margin-bottom:10px}.market-buy-box form{display:grid;gap:3px}
.market-sell-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.market-sell-card{padding:14px;display:grid;gap:11px}.market-sell-card.selected{outline:2px solid #4b7a5d;outline-offset:1px}.market-sell-card.locked{opacity:.82}.market-sell-head{display:grid;grid-template-columns:86px 1fr;align-items:center;gap:12px}.market-sell-mini-art{height:76px;border-radius:12px;background:#eef2e8;display:grid;place-items:center;overflow:hidden}.market-sell-mini-art img{max-width:72%;max-height:62px;object-fit:contain;transform:scale(var(--growth-scale,1));transform-origin:center bottom}.market-sell-head small,.market-sell-head span{display:block;color:var(--az-muted);font-size:9px}.market-sell-head h3{margin:1px 0;font-size:18px}.market-price-band{display:grid;grid-template-columns:1fr 1fr;gap:8px}.market-price-band span{background:#f7f5ef;border:1px solid #ebe7dd;border-radius:10px;padding:9px}.market-price-band small,.market-price-band b{display:block}.market-price-band small{font-size:8px;color:var(--az-muted)}.market-price-band b{font-size:12px;margin-top:2px}.market-list-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.market-list-form .form-message{grid-column:1/-1}.market-block-reason{padding:10px 11px;border-radius:10px;background:#f4ece8;color:#825347;font-size:10px}
.market-own-list{padding:4px 12px}.market-own-row{display:grid;grid-template-columns:minmax(0,1fr) 180px 120px;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--az-line)}.market-own-row:last-child{border-bottom:0}.market-own-row b,.market-own-row small{display:block}.market-own-row small{font-size:9px;color:var(--az-muted)}.market-own-price{text-align:right}.market-own-price strong{display:block;font-size:15px}.market-own-row form{display:grid}.market-own-row .form-message{display:none}
.market-history{padding:4px 12px}.market-history-row{display:grid;grid-template-columns:34px minmax(0,1fr) 165px;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid var(--az-line)}.market-history-row:last-child{border-bottom:0}.market-history-icon{width:30px;height:30px;border-radius:10px;background:#edf2e8;display:grid;place-items:center;font-weight:900;color:#2d6948}.market-history-row b,.market-history-row small{display:block}.market-history-row small{font-size:9px;color:var(--az-muted)}.market-history-row>div:last-child{text-align:right}.market-history-row>div:last-child strong{font-size:14px}
.market-dashboard{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;margin-bottom:18px}.market-dashboard-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#edf2e8;color:#2d6948;font-size:24px;font-weight:900}.market-dashboard h2{font-size:21px;margin:0 0 4px}.market-dashboard p{margin:0;color:var(--az-muted);font-size:11px}.market-dashboard-kpis{display:flex;gap:8px;margin-top:10px}.market-dashboard-kpis span{min-width:110px;border-radius:10px;background:#f7f5ef;border:1px solid #ebe7dd;padding:8px}.market-dashboard-kpis small,.market-dashboard-kpis b{display:block}.market-dashboard-kpis small{font-size:8px;color:var(--az-muted)}.market-dashboard-kpis b{font-size:12px;margin-top:2px}
.animal-market-panel{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:18px;padding:18px;margin-bottom:14px}.animal-market-panel.listed{border-color:#d5bd76;background:#fffaf0}.animal-market-panel h2{font-size:21px;margin:0 0 4px}.animal-market-panel p{margin:0;color:var(--az-muted);font-size:11px}.animal-market-action{display:grid;justify-items:end}.animal-market-action small,.animal-market-action span{font-size:9px;color:var(--az-muted)}.animal-market-action strong{font-size:24px}.animal-market-action .button{margin-top:8px}.lineage-external{display:grid;gap:1px}.lineage-external b{font-size:13px}.lineage-external em{font-size:9px;color:var(--az-muted);font-style:normal}

@media(max-width:1080px){.market-filters{grid-template-columns:repeat(4,1fr)}.market-filters .button{width:100%}.market-listing-card{grid-template-columns:130px minmax(0,1fr) 190px}.market-sell-grid{grid-template-columns:1fr}.market-rules{grid-template-columns:repeat(2,1fr)}.market-rules>div:nth-child(2){border-right:0}.market-rules>div:nth-child(-n+2){border-bottom:1px solid var(--az-line)}}
@media(max-width:760px){.market-summary{grid-template-columns:1fr 1fr;padding:6px}.market-summary>div{padding:9px;border-right:0}.market-summary strong{font-size:18px}.market-rules{grid-template-columns:1fr;padding:8px}.market-rules>div{border-right:0;border-bottom:1px solid var(--az-line);padding:10px}.market-rules>div:last-child{border-bottom:0}.market-filters{grid-template-columns:1fr 1fr;padding:10px;gap:7px}.market-filters label:nth-child(5),.market-filters label:nth-child(6){grid-column:auto}.market-listing-card{grid-template-columns:92px minmax(0,1fr)}.market-listing-art{min-height:120px}.market-listing-art img{max-width:78%;max-height:82px}.market-listing-copy{padding:10px}.market-listing-title{display:block}.market-listing-title h3{font-size:16px}.market-listing-title .rarity-badge{display:inline-flex;margin-top:3px}.market-listing-meta{grid-template-columns:1fr 1fr;margin-top:8px}.market-listing-meta span:last-child{display:none}.market-seller{display:grid;grid-template-columns:auto 1fr;margin-top:8px}.market-seller small{grid-column:1/-1;margin-left:0}.market-buy-box{grid-column:1/-1;border-left:0;border-top:1px solid var(--az-line);padding:10px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px}.market-buy-box>small,.market-buy-box>span{grid-column:1}.market-buy-box>strong{grid-column:1;font-size:20px;margin:0}.market-buy-box form{grid-column:2;grid-row:1/5;min-width:120px}.market-sell-grid{grid-template-columns:1fr}.market-sell-card{padding:10px}.market-sell-head{grid-template-columns:70px 1fr}.market-sell-mini-art{height:64px}.market-list-form{grid-template-columns:1fr}.market-list-form .button{width:100%}.market-own-row{grid-template-columns:minmax(0,1fr) auto}.market-own-price{grid-column:1;text-align:left}.market-own-row form{grid-column:2;grid-row:1/3}.market-history-row{grid-template-columns:30px minmax(0,1fr)}.market-history-row>div:last-child{grid-column:2;text-align:left;display:flex;align-items:center;gap:8px}.market-dashboard{grid-template-columns:44px 1fr;padding:13px}.market-dashboard-icon{width:42px;height:42px;font-size:20px}.market-dashboard>a{grid-column:1/-1;width:100%}.market-dashboard-kpis{display:grid;grid-template-columns:1fr 1fr}.market-dashboard-kpis span{min-width:0}.animal-market-panel{grid-template-columns:1fr;padding:13px}.animal-market-action{justify-items:start}.market-page-head .page-head-actions{align-items:stretch}}
@media(max-width:460px){.market-filters{grid-template-columns:1fr 1fr}.market-filters label:nth-child(1),.market-filters label:nth-child(6){grid-column:1/-1}.market-filters .button{font-size:11px;padding:0 8px}.market-listing-card{grid-template-columns:82px minmax(0,1fr)}.market-listing-meta{grid-template-columns:1fr 1fr}.market-buy-box form{min-width:108px}.market-price-band{grid-template-columns:1fr}.market-summary small,.market-summary span{font-size:8px}}

@media(max-width:760px){.mobile-bottom-nav-auth .mobile-bottom-link{padding-left:2px;padding-right:2px;font-size:8.5px}.mobile-bottom-nav-auth .mobile-bottom-icon{font-size:18px}}

/* === AniZoo V0.9.1 : pedigree avancé === */
.lineage-head-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.lineage-profile-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}.lineage-profile-strip span{background:#f7f5ef;border:1px solid #ebe7dd;border-radius:10px;padding:9px 10px}.lineage-profile-strip small,.lineage-profile-strip b{display:block}.lineage-profile-strip small{font-size:8px;color:var(--az-muted);text-transform:uppercase;letter-spacing:.06em}.lineage-profile-strip b{font-size:12px;margin-top:2px}
.pair-pedigree-risk{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:10px;padding:9px 10px;margin-top:8px;border:1px solid #dfe5da;background:#f7f9f4}.pair-pedigree-risk span small,.pair-pedigree-risk span b{display:block}.pair-pedigree-risk span small{font-size:8px;color:var(--az-muted)}.pair-pedigree-risk span b{font-size:11px;margin-top:2px}.pair-pedigree-risk>a{font-size:9px;font-weight:800;white-space:nowrap}.pair-pedigree-risk.risk-watch{background:#fff8e8;border-color:#ead79f}.pair-pedigree-risk.risk-high,.pair-pedigree-risk.risk-critical{background:#f8ece8;border-color:#e2b8ac}.breeding-block-reason a{display:block;margin-top:5px;font-weight:800;color:inherit;text-decoration:underline}
.pedigree-summary{display:grid;grid-template-columns:repeat(4,1fr);padding:7px;margin-bottom:14px}.pedigree-summary>div{padding:13px;border-right:1px solid var(--az-line)}.pedigree-summary>div:last-child{border-right:0}.pedigree-summary small,.pedigree-summary strong,.pedigree-summary span{display:block}.pedigree-summary small{font-size:8px;color:var(--az-muted);text-transform:uppercase;letter-spacing:.07em}.pedigree-summary strong{font-size:23px;margin:2px 0}.pedigree-summary span{font-size:9px;color:var(--az-muted)}
.pedigree-tree-card{padding:16px;margin-bottom:14px}.pedigree-tree-scroll{overflow-x:auto;padding-bottom:5px}.pedigree-tree{min-width:820px;display:grid;gap:13px}.pedigree-generation{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:center;gap:12px}.pedigree-generation-label b,.pedigree-generation-label small{display:block}.pedigree-generation-label b{font-size:11px}.pedigree-generation-label small{font-size:8px;color:var(--az-muted);margin-top:2px}.pedigree-generation-nodes{display:grid;grid-template-columns:repeat(var(--pedigree-cols),minmax(0,1fr));gap:7px}.pedigree-node{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) 22px;align-items:center;gap:7px;min-height:58px;border:1px solid #dfe5da;background:#f9faf6;border-radius:11px;padding:8px}.pedigree-node.external{background:#fbfaf7;border-style:dashed}.pedigree-node.missing{opacity:.58;grid-template-columns:24px 1fr}.pedigree-node-sex,.pedigree-node.missing>span{width:24px;height:24px;border-radius:8px;background:#e8efe4;display:grid;place-items:center;font-weight:900;color:#2f674a}.pedigree-node strong,.pedigree-node small,.pedigree-node em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pedigree-node strong{font-size:10px}.pedigree-node small{font-size:7.5px;color:var(--az-muted);margin-top:1px}.pedigree-node em{font-size:7px;color:#809083;font-style:normal}.pedigree-node>a{width:22px;height:22px;border-radius:7px;background:#eaf1e6;display:grid;place-items:center;text-decoration:none;font-weight:900}.pedigree-depth-0 .pedigree-node{background:#edf4e9;border-color:#c9d8c4}.pedigree-depth-0 .pedigree-generation-nodes{max-width:280px}
.pedigree-compare-card{padding:16px;margin-bottom:14px}.pedigree-compare-form{display:grid;grid-template-columns:1fr 34px 1fr auto;gap:10px;align-items:end}.pedigree-compare-form label{display:grid;gap:4px}.pedigree-compare-form label>span{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:var(--az-muted);font-weight:800}.pedigree-compare-form label>b{height:42px;border:1px solid var(--az-line);border-radius:10px;background:#f7f5ef;display:flex;align-items:center;padding:0 11px;font-size:11px}.pedigree-compare-form select{height:42px;border:1px solid var(--az-line);background:#fff;border-radius:10px;padding:0 10px;color:var(--az-text)}.pedigree-compare-heart{height:42px;display:grid;place-items:center;font-weight:900;font-size:16px}.pedigree-compare-form .button{height:42px}
.pedigree-comparison-result{display:grid;grid-template-columns:215px minmax(0,1fr);gap:10px;margin-top:14px}.pedigree-risk-card{border:1px solid #dfe5da;border-radius:12px;padding:13px;background:#f7f9f4;display:flex;flex-direction:column;justify-content:center}.pedigree-risk-card small,.pedigree-risk-card strong,.pedigree-risk-card b,.pedigree-risk-card span{display:block}.pedigree-risk-card small{font-size:8px;color:var(--az-muted);text-transform:uppercase;letter-spacing:.06em}.pedigree-risk-card strong{font-size:29px;line-height:1;margin:5px 0 3px}.pedigree-risk-card b{font-size:11px}.pedigree-risk-card span{font-size:8px;color:var(--az-muted);margin-top:7px}.pedigree-risk-card.risk-watch{background:#fff8e8;border-color:#ead79f}.pedigree-risk-card.risk-high,.pedigree-risk-card.risk-critical{background:#f8ece8;border-color:#e2b8ac}.pedigree-pair-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pedigree-pair-summary>div{border:1px solid var(--az-line);border-radius:11px;padding:11px;background:#fbfaf6}.pedigree-pair-summary small,.pedigree-pair-summary strong,.pedigree-pair-summary span{display:block}.pedigree-pair-summary small{font-size:8px;color:var(--az-muted)}.pedigree-pair-summary strong{font-size:12px;margin:3px 0}.pedigree-pair-summary span{font-size:8.5px;color:var(--az-muted);line-height:1.35}
.pedigree-common-ancestors,.pedigree-gene-projection{margin-top:14px}.pedigree-common-ancestors h3,.pedigree-gene-projection h3{font-size:13px;margin:0 0 8px}.pedigree-common-ancestors>div{display:flex;gap:7px;flex-wrap:wrap}.pedigree-common-ancestors span{border-radius:10px;background:#f7f5ef;border:1px solid #ebe7dd;padding:8px 10px}.pedigree-common-ancestors b,.pedigree-common-ancestors small{display:block}.pedigree-common-ancestors b{font-size:10px}.pedigree-common-ancestors small{font-size:8px;color:var(--az-muted)}.pedigree-no-common{display:flex;align-items:center;gap:9px;margin-top:14px;padding:10px;border-radius:10px;background:#edf4e9}.pedigree-no-common>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#dce9d7;font-weight:900}.pedigree-no-common b,.pedigree-no-common small{display:block}.pedigree-no-common b{font-size:10px}.pedigree-no-common small{font-size:8px;color:var(--az-muted)}
.pedigree-gene-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pedigree-gene-grid>div{border:1px solid var(--az-line);border-radius:10px;padding:9px;background:#fbfaf6}.pedigree-gene-grid span{display:flex;justify-content:space-between;gap:7px}.pedigree-gene-grid small{font-size:8px;color:var(--az-muted)}.pedigree-gene-grid b{font-size:11px}.pedigree-gene-grid i{display:block;height:5px;border-radius:99px;background:#e6e4dc;overflow:hidden;margin:7px 0}.pedigree-gene-grid i em{display:block;height:100%;border-radius:99px;background:#4b7a5d}.pedigree-gene-grid p{font-size:7.5px;color:var(--az-muted);margin:0}.pedigree-genetics-missing{font-size:9px;color:var(--az-muted);margin:12px 0 0}
.pedigree-rules-card{display:grid;grid-template-columns:repeat(3,1fr);padding:8px}.pedigree-rules-card>div{display:flex;align-items:center;gap:10px;padding:10px;border-right:1px solid var(--az-line)}.pedigree-rules-card>div:last-child{border-right:0}.pedigree-rules-card>div>span{width:30px;height:30px;flex:0 0 30px;border-radius:10px;background:#edf2e8;display:grid;place-items:center;font-weight:900}.pedigree-rules-card p{margin:0}.pedigree-rules-card b,.pedigree-rules-card small{display:block}.pedigree-rules-card b{font-size:10px}.pedigree-rules-card small{font-size:8px;color:var(--az-muted);margin-top:2px}
@media(max-width:900px){.pedigree-summary{grid-template-columns:1fr 1fr}.pedigree-summary>div:nth-child(2){border-right:0}.pedigree-summary>div:nth-child(-n+2){border-bottom:1px solid var(--az-line)}.pedigree-compare-form{grid-template-columns:1fr 28px 1fr}.pedigree-compare-form .button{grid-column:1/-1}.pedigree-pair-summary{grid-template-columns:1fr}.pedigree-gene-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.lineage-head-links{gap:7px}.lineage-profile-strip{grid-template-columns:1fr 1fr}.lineage-profile-strip span:last-child{grid-column:1/-1}.pair-pedigree-risk{align-items:flex-start;flex-direction:column;gap:5px}.pedigree-summary{padding:5px}.pedigree-summary>div{padding:9px}.pedigree-summary strong{font-size:18px}.pedigree-tree-card,.pedigree-compare-card{padding:11px}.pedigree-tree{min-width:700px}.pedigree-generation{grid-template-columns:112px 1fr}.pedigree-comparison-result{grid-template-columns:1fr}.pedigree-risk-card{display:grid;grid-template-columns:1fr auto;gap:2px 10px}.pedigree-risk-card small,.pedigree-risk-card b,.pedigree-risk-card span{grid-column:1}.pedigree-risk-card strong{grid-column:2;grid-row:1/5;align-self:center;font-size:27px}.pedigree-rules-card{grid-template-columns:1fr;padding:5px}.pedigree-rules-card>div{border-right:0;border-bottom:1px solid var(--az-line)}.pedigree-rules-card>div:last-child{border-bottom:0}}
@media(max-width:520px){.pedigree-compare-form{grid-template-columns:1fr}.pedigree-compare-heart{height:22px}.pedigree-gene-grid{grid-template-columns:1fr}.pedigree-summary>div span{display:none}.pedigree-summary small{font-size:7px}.pedigree-tree{min-width:650px}.pedigree-page-head .page-head-actions{align-items:stretch}}

/* === AniZoo V0.9.2 : variantes de robe, mutations & traits rares === */
.mutation-banner{border-color:#d7c78f;background:linear-gradient(135deg,#fffaf0,#f3f7ec)}
.pair-mutation-chances{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px;padding:10px;border:1px solid #e5dcc5;border-radius:11px;background:#fffaf1}
.pair-mutation-chances span{display:block;padding:8px 9px;border-radius:9px;background:#fff;border:1px solid #eee6d6}.pair-mutation-chances small,.pair-mutation-chances b{display:block}.pair-mutation-chances small{font-size:8px;color:var(--az-muted)}.pair-mutation-chances b{font-size:15px;margin-top:2px}.pair-mutation-chances em{grid-column:1/-1;font-size:9px;font-style:normal;color:#776d58}
.animal-mutation-badge,.animal-trait-badge{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:850;box-shadow:0 4px 14px rgba(41,49,42,.12)}
.animal-mutation-badge{left:18px;bottom:18px;background:rgba(255,246,215,.95);border:1px solid #d9c17a;color:#715715}.animal-trait-badge{right:18px;bottom:18px;background:rgba(232,242,235,.96);border:1px solid #9bb5a2;color:#2f6545}
.rare-trait-detail{display:flex;gap:12px;align-items:flex-start;margin:14px 0 0;padding:13px 14px;border-radius:12px;border:1px solid #bdd0c1;background:#f0f6f1}.rare-trait-detail>span{font-size:21px;color:#2f6d49}.rare-trait-detail b,.rare-trait-detail small{display:block}.rare-trait-detail b{font-size:13px}.rare-trait-detail small{margin-top:3px;color:#627168;font-size:10px;line-height:1.45}.mutation-install-note{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fff7df;border:1px solid #ead8a2;color:#735f25;font-size:10px}
.mutation-mini-badge,.trait-mini-badge{position:absolute;font-style:normal;font-weight:850;z-index:2}.mutation-mini-badge{right:7px;top:7px;border-radius:999px;padding:4px 7px;background:rgba(255,245,208,.94);border:1px solid #dbc37a;color:#6d5515;font-size:8px}.trait-mini-badge{right:8px;bottom:8px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(234,244,236,.96);border:1px solid #9bb9a2;color:#2f6947;font-size:10px}
.variant-collection-section{margin-top:26px}.variant-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.variant-summary-card{display:flex;align-items:center;gap:14px;padding:16px 18px}.variant-summary-card>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#f4edd7;color:#7b6225;font-size:21px}.variant-summary-card small,.variant-summary-card strong,.variant-summary-card em{display:block}.variant-summary-card small{font-size:9px;color:var(--az-muted)}.variant-summary-card strong{font-size:25px;line-height:1;margin:3px 0}.variant-summary-card em{font-style:normal;font-size:9px;color:#68746c}.variant-ledger{padding:18px}.variant-ledger h3{margin:0 0 10px;font-size:14px}.variant-ledger h3:not(:first-child){margin-top:18px}.variant-chip-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.variant-chip{display:block;padding:10px 11px;border-radius:10px;border:1px solid #e7e2d8;background:#f8f6f1}.variant-chip b,.variant-chip small{display:block}.variant-chip b{font-size:11px}.variant-chip small{font-size:8px;color:var(--az-muted);margin-top:2px}.variant-chip.locked{opacity:.42;filter:grayscale(.8)}.variant-chip.rare.unlocked{border-color:#d8c27e;background:#fff9e8;box-shadow:inset 0 0 0 1px rgba(215,191,112,.15)}.market-rare-meta{border-color:#dcc889!important;background:#fff8e6!important}

/* Variantes visuelles : le filtre ne change que le rendu du sprite, jamais ses stats. */
.coat-clair img{filter:brightness(1.12) saturate(.90) contrast(1.03) drop-shadow(0 8px 7px rgba(34,47,39,.18))!important}
.coat-sombre img{filter:brightness(.82) saturate(.90) contrast(1.16) drop-shadow(0 8px 7px rgba(25,31,27,.25))!important}
.coat-argente img{filter:grayscale(.46) brightness(1.02) contrast(1.09) drop-shadow(0 8px 7px rgba(34,47,39,.18))!important}
.coat-chaud img{filter:sepia(.18) saturate(1.24) brightness(1.02) drop-shadow(0 8px 7px rgba(50,37,23,.19))!important}
.coat-melanique img{filter:brightness(.58) saturate(.66) contrast(1.30) drop-shadow(0 8px 8px rgba(18,23,20,.28))!important}
.coat-leucique img{filter:brightness(1.34) saturate(.42) contrast(.92) drop-shadow(0 8px 7px rgba(55,64,58,.16))!important}
.coat-dore img{filter:sepia(.42) saturate(1.52) brightness(1.10) contrast(1.05) drop-shadow(0 8px 7px rgba(69,49,19,.22))!important}
.stage-animal.has-rare-trait:before{content:"◆";position:absolute;right:-3px;top:-5px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#edf6ef;border:1px solid #8ead96;color:#2d6b48;font-size:8px;z-index:4;box-shadow:0 2px 7px rgba(31,58,41,.16)}

@media(max-width:760px){
  .pair-mutation-chances{grid-template-columns:1fr 1fr;padding:8px}.pair-mutation-chances span{padding:7px}
  .animal-mutation-badge{left:12px;bottom:12px}.animal-trait-badge{right:12px;bottom:12px}
  .variant-summary-grid{grid-template-columns:1fr}.variant-chip-list{grid-template-columns:1fr 1fr}.variant-ledger{padding:13px}
}

/* === AniZoo V0.9.3 : habitats spécialisés === */
.enclosure-stage.habitat-forest{background:#678c55}.enclosure-stage.habitat-forest .stage-bg:before{filter:saturate(1.28) brightness(.80) contrast(1.06)}.enclosure-stage.habitat-forest .stage-bg:after{background:linear-gradient(180deg,rgba(56,97,48,.10),rgba(55,82,40,.20)),url('../enclosures/prairie-ground.svg') center bottom/100% 100% no-repeat;filter:saturate(1.18) brightness(.88)}
.enclosure-stage.habitat-river{background:#78a985}.enclosure-stage.habitat-river .stage-bg:before{filter:saturate(.96) hue-rotate(8deg) brightness(.96)}.enclosure-stage.habitat-river .stage-bg:after{background:radial-gradient(ellipse at 72% 73%,rgba(84,165,197,.88) 0 13%,rgba(120,192,213,.72) 14% 18%,transparent 19%),linear-gradient(180deg,rgba(93,142,75,.08),rgba(68,122,83,.12)),url('../enclosures/prairie-ground.svg') center bottom/100% 100% no-repeat}
.enclosure-stage.habitat-mountain{background:#82946f}.enclosure-stage.habitat-mountain .stage-bg:before{filter:saturate(.82) contrast(1.12) brightness(.94)}.enclosure-stage.habitat-mountain .stage-bg:after{background:linear-gradient(180deg,rgba(163,171,145,.08),rgba(92,105,76,.20)),url('../enclosures/prairie-ground.svg') center bottom/100% 100% no-repeat;filter:saturate(.78) brightness(.94)}
.enclosure-stage.habitat-wetland{background:#789b70}.enclosure-stage.habitat-wetland .stage-bg:before{filter:saturate(.92) hue-rotate(15deg) brightness(.90)}.enclosure-stage.habitat-wetland .stage-bg:after{background:radial-gradient(ellipse at 28% 79%,rgba(94,156,159,.65) 0 10%,rgba(122,177,164,.44) 11% 16%,transparent 17%),radial-gradient(ellipse at 73% 77%,rgba(91,148,151,.58) 0 8%,transparent 15%),url('../enclosures/prairie-ground.svg') center bottom/100% 100% no-repeat;filter:saturate(.92)}
.enclosure-stage.habitat-prairie .stage-bg:before,.enclosure-stage.habitat-prairie .stage-bg:after{filter:none}

.habitat-fit-inline{display:flex;align-items:center;gap:7px;margin-top:8px}.habitat-fit-inline b{font-size:16px;color:#2d7049}.habitat-fit-inline span{font-size:10px;color:#64736a;font-weight:800}.biome-thumb{display:grid;place-items:center;overflow:hidden;position:relative}.biome-thumb>span{position:relative;z-index:2;font-size:30px;filter:drop-shadow(0 2px 3px rgba(20,40,30,.18))}.habitat-thumb-forest{background:linear-gradient(145deg,#315b3a,#8bb46d)}.habitat-thumb-river{background:linear-gradient(145deg,#4d8eaa,#8cc9c1)}.habitat-thumb-mountain{background:linear-gradient(145deg,#687a63,#b4c0a1)}.habitat-thumb-wetland{background:linear-gradient(145deg,#527c63,#94b89f)}.habitat-thumb-prairie{background:linear-gradient(145deg,#78a85b,#c2d58b)}
.animal-habitat-fit{display:inline-flex!important;width:auto!important;margin-top:4px!important;padding:3px 6px;border-radius:999px;background:#f1f1e9;color:#6e705f!important;font-size:9px!important;font-weight:800}.animal-habitat-fit.good{background:#e9f4e8;color:#36734c!important}.animal-habitat-fit.bad{background:#f9e9e5;color:#a54d3f!important}

.habitat-management-head{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:24px;align-items:end;margin:12px 18px 18px}.habitat-management-head h2{font-family:Georgia,serif;font-size:34px;font-weight:500;margin:0 0 8px}.habitat-management-head p{margin:0;color:var(--muted);max-width:760px;font-size:12px}.habitat-current-score{padding:15px 18px;border:1px solid #d7dfcf;border-radius:18px;background:linear-gradient(135deg,#f0f6eb,#fffdf8);text-align:center}.habitat-current-score small,.habitat-current-score strong,.habitat-current-score span{display:block}.habitat-current-score small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#6f7c73}.habitat-current-score strong{font-size:30px;line-height:1.05;color:#286b46;margin:4px 0}.habitat-current-score span{font-size:11px;font-weight:800;color:#607067}
.habitat-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 18px}.habitat-choice-card{display:grid;grid-template-columns:128px minmax(0,1fr) 155px;gap:16px;align-items:center;padding:14px;border:1px solid #dddcd2;border-radius:18px;background:#fffdf8;box-shadow:0 10px 28px rgba(37,51,42,.05)}.habitat-choice-card.is-active{border-color:#8fb99a;background:linear-gradient(135deg,#eef6eb,#fffdf8);box-shadow:0 10px 30px rgba(42,98,62,.09)}.habitat-choice-visual{height:94px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;position:relative;color:#fff;text-shadow:0 2px 7px rgba(0,0,0,.18)}.habitat-choice-visual span{font-size:33px}.habitat-choice-visual em{font-style:normal;font-size:10px;font-weight:900;margin-top:4px}.habitat-card-prairie .habitat-choice-visual{background:linear-gradient(145deg,#6fa34f,#c6d886)}.habitat-card-forest .habitat-choice-visual{background:linear-gradient(145deg,#285137,#769f60)}.habitat-card-river .habitat-choice-visual{background:linear-gradient(145deg,#3e7999,#82c7bd)}.habitat-card-mountain .habitat-choice-visual{background:linear-gradient(145deg,#596a59,#abb9a1)}.habitat-card-wetland .habitat-choice-visual{background:linear-gradient(145deg,#48725e,#8db4a0)}.habitat-choice-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.habitat-choice-title h3{margin:0;font-size:16px}.habitat-choice-title>b{font-size:9px;padding:4px 7px;border-radius:999px;background:#dff0df;color:#2d7049}.habitat-choice-title>b.unlocked{background:#eceee7;color:#617067}.habitat-choice-copy p{margin:6px 0 10px;color:#68736d;font-size:10px;line-height:1.45}.habitat-choice-fit{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center}.habitat-choice-fit>span{font-size:9px;color:#78827b}.habitat-choice-fit>strong{font-size:10px}.habitat-choice-fit>i{grid-column:1/-1;height:6px;border-radius:999px;background:#e7e7de;overflow:hidden}.habitat-choice-fit>i>em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c1a44e,#4f9b63)}.habitat-choice-action{text-align:center}.habitat-choice-action .button{width:100%;padding:10px;font-size:10px}.habitat-choice-action>small{display:block;margin-top:5px;font-size:8px;color:#78827b}.habitat-choice-action .form-message{font-size:8px;margin-top:4px}.habitat-species-guide{margin:16px 18px 0;padding:17px;border-radius:17px;border:1px solid #dde1d6;background:#f8f7f1}.habitat-species-guide h3{margin:0 0 11px;font-size:15px}.habitat-species-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.habitat-species-grid>div{padding:10px;border-radius:10px;background:#fffdf8;border:1px solid #e4e2d8}.habitat-species-grid span,.habitat-species-grid b,.habitat-species-grid small{display:block}.habitat-species-grid span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.habitat-species-grid b{font-size:17px;color:#2f714b}.habitat-species-grid small{font-size:8px;color:#748078}
.visitor-habitat-note{display:flex;gap:9px;align-items:center;margin-top:10px;padding:9px 11px;border-radius:11px;background:#eef4ea;border:1px solid #d9e4d4}.visitor-habitat-note>span{font-size:20px}.visitor-habitat-note small,.visitor-habitat-note b{display:block}.visitor-habitat-note small{font-size:8px;color:#728077;text-transform:uppercase;letter-spacing:.06em}.visitor-habitat-note b{font-size:10px;color:#315e42}.visitor-upgrade-links{display:flex;gap:14px;flex-wrap:wrap}.visitor-upgrade-links .visitor-upgrade-link{margin-top:10px}

@media(max-width:1050px){.habitat-choice-card{grid-template-columns:100px minmax(0,1fr)}.habitat-choice-action{grid-column:1/-1;display:grid;grid-template-columns:minmax(170px,220px) 1fr;align-items:center;gap:10px}.habitat-choice-action>small,.habitat-choice-action .form-message{text-align:left;margin:0}.habitat-species-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.habitat-management-head{grid-template-columns:1fr;margin:10px 8px 14px;gap:12px}.habitat-management-head h2{font-size:27px}.habitat-current-score{text-align:left;display:grid;grid-template-columns:1fr auto;gap:2px 8px}.habitat-current-score small{grid-column:1/-1}.habitat-current-score strong{font-size:25px}.habitat-choice-grid{grid-template-columns:1fr;margin:0 8px}.habitat-choice-card{grid-template-columns:82px minmax(0,1fr);padding:10px;gap:10px}.habitat-choice-visual{height:78px}.habitat-choice-visual span{font-size:28px}.habitat-choice-copy p{font-size:9px}.habitat-choice-action{grid-template-columns:1fr}.habitat-choice-action>small,.habitat-choice-action .form-message{text-align:center}.habitat-species-guide{margin:12px 8px 0}.habitat-species-grid{grid-template-columns:1fr 1fr}.enclosure-subline span:nth-child(2){display:none}}
.enclosure-thumb.habitat-thumb-prairie,.enclosure-thumb.habitat-thumb-forest,.enclosure-thumb.habitat-thumb-river,.enclosure-thumb.habitat-thumb-mountain,.enclosure-thumb.habitat-thumb-wetland{display:grid;place-items:center}.enclosure-thumb>span{font-size:24px;filter:drop-shadow(0 2px 3px rgba(25,45,33,.18))}

/* === AniZoo V0.9.4 : besoins spécifiques par espèce === */
.species-needs-panel{padding:22px 24px;margin-bottom:18px}.species-needs-head{display:grid;grid-template-columns:minmax(0,1fr) 125px;gap:22px;align-items:center}.species-needs-head h2{margin:0 0 6px;font-size:25px}.species-needs-head p{margin:0;color:var(--az-muted);font-size:11px;line-height:1.55;max-width:760px}.species-needs-score{padding:14px;border-radius:16px;text-align:center;background:#f4f1e7;border:1px solid #e3decf}.species-needs-score strong,.species-needs-score span{display:block}.species-needs-score strong{font-size:30px;line-height:1}.species-needs-score span{margin-top:5px;font-size:10px;font-weight:850}.species-needs-score.good{background:#edf6eb;border-color:#c9ddc5;color:#2f7049}.species-needs-score.mid{background:#fff7df;border-color:#ead9a5;color:#84661e}.species-needs-score.low{background:#fbeae6;border-color:#e9c4bb;color:#9b493b}.species-needs-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:17px}.species-needs-facts>div{min-width:0;padding:12px;border-radius:13px;background:#f8f6ef;border:1px solid #e7e3d9}.species-needs-facts>div>span{display:block;font-size:20px;margin-bottom:5px}.species-needs-facts small,.species-needs-facts b,.species-needs-facts em{display:block}.species-needs-facts small{font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:#77827a}.species-needs-facts b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.species-needs-facts em{margin-top:3px;font-size:8px;font-style:normal;color:#6e7971}.species-needs-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-top:15px}.species-need-row{display:grid;grid-template-columns:110px minmax(0,1fr) 38px;gap:8px;align-items:center}.species-need-row>span{font-size:9px;color:#5f6f65}.species-need-row>i{height:7px;border-radius:999px;overflow:hidden;background:#e8e6de}.species-need-row>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c1a354,#579466)}.species-need-row>strong{text-align:right;font-size:10px}.species-needs-tip{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:center;margin-top:16px;padding:12px 14px;border-radius:14px;background:#eef4ea;border:1px solid #d7e3d3}.species-needs-tip>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#39724e;font-weight:900}.species-needs-tip small,.species-needs-tip b{display:block}.species-needs-tip small{font-size:7px;letter-spacing:.08em;color:#78847c}.species-needs-tip b{font-size:11px}.species-needs-tip p{margin:2px 0 0;font-size:9px;color:#69756e}.species-needs-tip .button{padding:9px 11px;font-size:9px}

.animal-needs-fit{display:inline-flex!important;width:auto!important;margin-top:4px!important;padding:3px 6px;border-radius:999px;background:#f1f0ea;color:#74766c!important;font-size:9px!important;font-weight:800}.animal-needs-fit.good{background:#eaf4e8;color:#39734d!important}.animal-needs-fit.bad{background:#fae9e4;color:#a44d3f!important}
.needs-section-head{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:24px;align-items:end;margin:12px 18px 18px}.needs-section-head h2{font-family:Georgia,serif;font-size:32px;font-weight:500;margin:0 0 7px}.needs-section-head p{margin:0;color:var(--muted);font-size:11px;max-width:760px}.needs-overall-card{padding:14px 16px;border:1px solid #dddcd2;border-radius:17px;background:#fffdf8}.needs-overall-card small,.needs-overall-card strong,.needs-overall-card span{display:block}.needs-overall-card small{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#77827a}.needs-overall-card strong{font-size:23px;margin:3px 0;color:#2f6f49}.needs-overall-card span{font-size:9px;color:#69756e}.needs-overall-card.good{background:#edf6eb;border-color:#c8dec5}.needs-overall-card.mid{background:#fff8e3;border-color:#ead9a5}.needs-overall-card.low{background:#fbeae6;border-color:#e9c4bb}
.species-feeding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 18px}.species-feeding-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:15px;border:1px solid #e1dfd6;border-radius:17px;background:#fffdf8}.species-feeding-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#f0f4e9;font-size:23px}.species-feeding-main>small{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#77827a}.species-feeding-main h3{margin:2px 0 5px;font-size:15px}.species-feeding-main>p{margin:0;color:#68746d;font-size:9px;line-height:1.45}.species-feed-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.species-feed-meta>span{padding:7px 8px;border-radius:9px;background:#f7f5ee}.species-feed-meta small,.species-feed-meta b{display:block}.species-feed-meta small{font-size:7px;color:#7b857e}.species-feed-meta b{font-size:10px;margin-top:2px}.needs-action-strip{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;margin:14px 18px 0;padding:13px 15px;border-radius:15px;background:linear-gradient(135deg,#eef5ea,#f9f7f0);border:1px solid #d8e2d2}.needs-action-strip>span{font-size:25px}.needs-action-strip b{display:block;font-size:11px}.needs-action-strip p{margin:2px 0 0;font-size:9px;color:#68756d}.needs-action-strip .button{padding:9px 12px;font-size:10px}
.animal-needs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 18px}.animal-needs-card{padding:14px;border-radius:16px;border:1px solid #e1dfd5;background:#fffdf8}.animal-needs-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.animal-needs-title small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#77827a}.animal-needs-title h3{margin:2px 0 0;font-size:15px}.need-score-badge{padding:5px 8px;border-radius:999px;background:#eeeae0;font-size:10px;font-weight:900}.need-score-badge.good{background:#e4f1e2;color:#347149}.need-score-badge.mid{background:#fff1c9;color:#80651e}.need-score-badge.low{background:#f8ddd6;color:#994b3d}.animal-needs-card>p{margin:6px 0 9px;font-size:9px;color:#69756e}.animal-needs-bars{display:grid;gap:6px}.animal-needs-bars>div{display:grid;grid-template-columns:92px minmax(0,1fr) 34px;gap:7px;align-items:center}.animal-needs-bars span{font-size:8px;color:#66736b}.animal-needs-bars i{height:6px;border-radius:999px;overflow:hidden;background:#ebe8df}.animal-needs-bars i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c3a352,#5b9868)}.animal-needs-bars strong{text-align:right;font-size:9px}.animal-needs-priority{display:flex;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;border-top:1px solid #ece8de}.animal-needs-priority small{font-size:8px;color:#7b857e}.animal-needs-priority b{font-size:9px;color:#6c5630}.animal-needs-card>.text-link{display:inline-block;margin-top:8px;font-size:9px}
.visitor-needs-note{display:flex;gap:9px;align-items:center;margin-top:8px;padding:9px 11px;border-radius:11px;background:#f5f2e8;border:1px solid #e5dfd1}.visitor-needs-note>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e6f0e4;color:#37704b;font-size:12px;font-weight:900}.visitor-needs-note small,.visitor-needs-note b{display:block}.visitor-needs-note small{font-size:8px;color:#728077;text-transform:uppercase;letter-spacing:.06em}.visitor-needs-note b{font-size:10px;color:#4d6355}

@media(max-width:980px){.species-needs-facts{grid-template-columns:repeat(3,1fr)}.species-feeding-grid,.animal-needs-grid{grid-template-columns:1fr}.species-feed-meta{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.species-needs-panel{padding:14px}.species-needs-head{grid-template-columns:1fr;gap:11px}.species-needs-head h2{font-size:20px}.species-needs-score{text-align:left;display:flex;align-items:center;justify-content:space-between;padding:10px 12px}.species-needs-score strong{font-size:23px}.species-needs-score span{margin:0}.species-needs-facts{grid-template-columns:1fr 1fr;gap:7px}.species-needs-facts>div{padding:9px}.species-needs-components{grid-template-columns:1fr}.species-need-row{grid-template-columns:92px minmax(0,1fr) 34px}.species-needs-tip{grid-template-columns:30px minmax(0,1fr)}.species-needs-tip .button{grid-column:1/-1;width:100%}.needs-section-head{grid-template-columns:1fr;margin:10px 8px 13px;gap:10px}.needs-section-head h2{font-size:26px}.needs-overall-card{padding:11px 13px}.species-feeding-grid,.animal-needs-grid{margin:0 8px}.species-feeding-card{grid-template-columns:40px minmax(0,1fr);padding:11px;gap:9px}.species-feeding-icon{width:40px;height:40px;font-size:20px}.species-feed-meta{grid-template-columns:1fr 1fr}.needs-action-strip{grid-template-columns:32px minmax(0,1fr);margin:12px 8px 0;padding:11px}.needs-action-strip .button{grid-column:1/-1;width:100%}.animal-needs-card{padding:11px}.animal-needs-bars>div{grid-template-columns:78px minmax(0,1fr) 31px}.enclosure-subline span:nth-child(4){display:none}}

/* === AniZoo V0.9.5 : groupes sociaux, couples et familles === */
.social-section-head{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;align-items:end;margin:12px 18px 18px}.social-section-head h2{font-family:Georgia,serif;font-size:32px;font-weight:500;margin:0 0 7px}.social-section-head p{margin:0;color:var(--muted);font-size:11px;max-width:820px}.social-overall-card{padding:14px 16px;border:1px solid #dddcd2;border-radius:17px;background:#fffdf8}.social-overall-card small,.social-overall-card strong,.social-overall-card span{display:block}.social-overall-card small{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#77827a}.social-overall-card strong{font-size:23px;margin:3px 0;color:#2f6f49}.social-overall-card span{font-size:9px;color:#69756e}.social-overall-card.good{background:#edf6eb;border-color:#c8dec5}.social-overall-card.mid{background:#fff8e3;border-color:#ead9a5}.social-overall-card.low{background:#fbeae6;border-color:#e9c4bb}
.social-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 18px}.social-group-card{border:1px solid #dfded5;border-radius:20px;background:#fffdf9;padding:16px;box-shadow:0 5px 18px rgba(37,56,43,.05)}.social-group-card.status-good{border-color:#cbdcc9}.social-group-card.status-mid{border-color:#e7dcb5}.social-group-card.status-low{border-color:#e8c5bd}.social-group-top{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center}.social-group-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#edf4ea;font-size:23px}.social-group-heading small{display:block;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#77827a}.social-group-heading h3{margin:2px 0 1px;font-size:18px}.social-group-heading span{display:block;font-size:10px;color:#6b756e}.social-group-score{text-align:right}.social-group-score strong,.social-group-score small{display:block}.social-group-score strong{font-size:22px;color:#2f6f49}.social-group-score small{font-size:9px;color:#6f7972}.social-group-track{height:6px;border-radius:999px;background:#e8ebe5;margin:12px 0 13px;overflow:hidden}.social-group-track i{display:block;height:100%;border-radius:inherit;background:#5e966d}.social-group-card.status-mid .social-group-track i{background:#b79243}.social-group-card.status-low .social-group-track i{background:#b65c4d}.social-group-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:12px}.social-group-stats span{border:1px solid #e8e4dc;background:#f8f6f1;border-radius:12px;padding:8px}.social-group-stats small,.social-group-stats b{display:block}.social-group-stats small{font-size:7px;text-transform:uppercase;letter-spacing:.05em;color:#7d857f}.social-group-stats b{font-size:11px;margin-top:2px}.social-member-list{display:grid;gap:6px}.social-member-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;text-decoration:none;color:inherit;border:1px solid #ebe7de;border-radius:12px;padding:8px 9px;background:#fff}.social-member-row:hover{background:#f7f8f3}.social-member-sex{width:28px;height:28px;border-radius:9px;background:#eff3ec;display:grid;place-items:center;font-weight:800}.social-member-copy b,.social-member-copy small{display:block}.social-member-copy b{font-size:11px}.social-member-copy small{font-size:8px;color:#758078;margin-top:1px}.social-member-score{font-size:10px;font-weight:800;color:#467857}.social-group-advice{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start;margin-top:12px;padding:9px 10px;border-radius:12px;background:#f2f5ee}.social-group-advice>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#dce9d8;font-size:10px;font-weight:800;color:#2f6543}.social-group-advice p{margin:1px 0 0;font-size:9px;line-height:1.45;color:#58675e}.social-impact-note{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;margin:14px 18px 0;padding:12px 14px;border:1px solid #d9e4d6;border-radius:15px;background:#f2f7ef}.social-impact-note>span{font-size:23px}.social-impact-note b{display:block;font-size:11px}.social-impact-note p{margin:2px 0 0;font-size:9px;color:#657168}
.animal-social-strip{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;margin:12px 0;padding:11px 12px;border:1px solid #d9e4d6;border-radius:15px;background:#f4f8f1}.animal-social-icon{width:42px;height:42px;border-radius:13px;background:#e3eee0;display:grid;place-items:center;font-size:20px}.animal-social-strip small,.animal-social-strip b,.animal-social-strip p{display:block}.animal-social-strip small{font-size:8px;letter-spacing:.07em;color:#718078}.animal-social-strip b{font-size:12px;margin:2px 0}.animal-social-strip p{font-size:9px;color:#66736b;margin:0}.animal-social-strip .button{white-space:nowrap}
@media(max-width:980px){.social-group-grid{grid-template-columns:1fr}.social-group-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.social-section-head{grid-template-columns:1fr;margin:10px 8px 13px;gap:10px}.social-section-head h2{font-size:26px}.social-overall-card{padding:11px 13px}.social-group-grid{margin:0 8px;gap:10px}.social-group-card{padding:12px;border-radius:16px}.social-group-top{grid-template-columns:42px minmax(0,1fr) auto;gap:8px}.social-group-icon{width:42px;height:42px;font-size:20px}.social-group-heading h3{font-size:16px}.social-group-score strong{font-size:18px}.social-group-stats{grid-template-columns:1fr 1fr}.social-impact-note{margin:12px 8px 0}.animal-social-strip{grid-template-columns:36px minmax(0,1fr);padding:10px}.animal-social-icon{width:36px;height:36px}.animal-social-strip .button{grid-column:1/-1;width:100%}}

/* === AniZoo V0.9.6 — événements du zoo === */
.event-dashboard,
.zoo-event-hero,
.event-migration,
.event-waiting {
  display:flex;
  align-items:center;
  gap:20px;
}
.event-dashboard {
  margin-top:22px;
  padding:22px 24px;
  position:relative;
  overflow:hidden;
}
.event-dashboard.has-event::after {
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:7px;
  background:#d9a441;
}
.event-dashboard.event-type-incident::after { background:#c95d52; }
.event-dashboard-icon,
.zoo-event-icon,
.event-migration-icon {
  width:58px;
  height:58px;
  flex:0 0 58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  font-size:28px;
  background:#f2eee3;
  box-shadow:inset 0 0 0 1px rgba(24,58,46,.08);
}
.event-dashboard-copy { flex:1; min-width:0; }
.event-dashboard-copy h2,
.event-migration h2,
.event-waiting h2 { margin:4px 0 5px; }
.event-dashboard-copy p,
.event-migration p,
.event-waiting p { margin:0; color:var(--muted, #68756f); }
.event-dashboard-meta {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:10px;
  font-size:.86rem;
}
.event-dashboard-meta span {
  padding:4px 8px;
  border-radius:999px;
  background:#e9f5ee;
  color:#1f6b46;
  font-weight:800;
}
.event-dashboard-meta b { color:#53635c; }

.zoo-event-hero {
  padding:26px;
  align-items:flex-start;
  border:1px solid rgba(24,58,46,.08);
}
.zoo-event-hero.event-type-positive { box-shadow:0 16px 38px rgba(48,99,72,.08); }
.zoo-event-hero.event-type-incident { box-shadow:0 16px 38px rgba(151,70,59,.08); }
.zoo-event-hero.event-type-incident .zoo-event-icon { background:#fff1ed; }
.zoo-event-copy { flex:1; min-width:0; }
.zoo-event-copy h2 { margin:7px 0 8px; font-size:clamp(1.45rem, 3vw, 2rem); }
.zoo-event-copy > p { max-width:820px; margin:0; color:var(--muted, #68756f); line-height:1.6; }
.zoo-event-meta {
  display:flex;
  gap:9px;
  align-items:center;
  flex-wrap:wrap;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.07em;
  color:#51655c;
}
.zoo-event-meta small { letter-spacing:0; font-weight:700; color:#758078; }
.event-live-dot {
  width:9px;
  height:9px;
  border-radius:50%;
  background:#3a9a65;
  box-shadow:0 0 0 5px rgba(58,154,101,.13);
}
.event-type-incident .event-live-dot { background:#c95d52; box-shadow:0 0 0 5px rgba(201,93,82,.13); }
.event-reward-row {
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
  margin-top:20px;
}
.event-reward-row span {
  border-radius:14px;
  background:#f7f5ef;
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.event-reward-row small { color:#758078; font-size:.75rem; }
.event-reward-row b { font-size:1rem; }
.event-main-action { margin-top:16px; max-width:320px; }

.event-choice-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
.event-choice {
  border:1px solid rgba(24,58,46,.09);
  border-radius:18px;
  background:#fbfaf6;
  padding:16px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px 12px;
  align-items:start;
}
.event-choice > span { font-size:24px; }
.event-choice > div:first-of-type { display:flex; flex-direction:column; gap:4px; }
.event-choice > div:first-of-type small { color:#758078; line-height:1.45; }
.event-choice button,
.event-choice .form-message { grid-column:1 / -1; }
.event-choice-risk { background:#fff8f5; }

.event-info-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.event-info-grid article {
  padding:18px;
  display:flex;
  gap:13px;
  align-items:flex-start;
}
.event-info-grid article > span { font-size:24px; }
.event-info-grid small { display:block; color:#758078; margin-bottom:3px; }
.event-info-grid b { display:block; }
.event-info-grid p { margin:6px 0 0; color:#758078; font-size:.86rem; line-height:1.45; }

.event-history { margin-top:18px; padding:22px; }
.event-history-list { display:flex; flex-direction:column; gap:8px; }
.event-history-item {
  display:flex;
  gap:12px;
  align-items:center;
  padding:12px 13px;
  border-radius:14px;
  background:#f8f7f2;
  border:1px solid rgba(24,58,46,.06);
}
.event-history-item.status-active { background:#edf7f0; }
.event-history-item.status-expired { opacity:.66; }
.event-history-icon { width:38px; height:38px; flex:0 0 38px; border-radius:12px; display:grid; place-items:center; background:#fff; }
.event-history-copy { flex:1; min-width:0; }
.event-history-copy > div { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.event-history-copy > div span { font-size:.72rem; font-weight:900; padding:3px 7px; border-radius:999px; background:#e6ece8; color:#52635b; }
.event-history-copy small { display:block; margin-top:3px; color:#7b857f; }
.event-history-item > strong { white-space:nowrap; }
.event-migration,
.event-waiting { padding:24px; }
.event-waiting > span { font-size:34px; }
.event-migration code { background:#edf0ed; padding:2px 6px; border-radius:6px; }

@media (max-width: 760px) {
  .event-dashboard { padding:16px; gap:12px; align-items:flex-start; }
  .event-dashboard-icon { width:44px; height:44px; flex-basis:44px; border-radius:14px; font-size:22px; }
  .event-dashboard > .button { width:100%; }
  .event-dashboard { flex-wrap:wrap; }
  .event-dashboard-copy { width:calc(100% - 56px); }

  .zoo-event-hero { padding:16px; gap:12px; flex-direction:column; }
  .zoo-event-icon { width:48px; height:48px; flex-basis:48px; border-radius:14px; font-size:23px; }
  .event-reward-row { grid-template-columns:1fr; gap:7px; }
  .event-reward-row span { flex-direction:row; align-items:center; justify-content:space-between; padding:10px 12px; }
  .event-choice-grid { grid-template-columns:1fr; }
  .event-choice { padding:13px; }
  .event-main-action { max-width:none; }
  .event-main-action .button { width:100%; }
  .event-info-grid { grid-template-columns:1fr; gap:9px; }
  .event-info-grid article { padding:14px; }
  .event-history { padding:16px; }
  .event-history-item { align-items:flex-start; }
  .event-history-item > strong { font-size:.82rem; }
  .event-migration,
  .event-waiting { align-items:flex-start; padding:17px; }
}

/* === AniZoo V0.9.7 : santé avancée & centre vétérinaire === */
.health-dashboard{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:22px;background:linear-gradient(135deg,#f8fbf8 0%,#fff 100%);border:1px solid rgba(24,58,46,.12)}
.health-dashboard.has-alert{background:linear-gradient(135deg,#fff7f2 0%,#fff 100%);border-color:rgba(176,74,44,.22)}
.health-dashboard-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#e6f2eb;color:#183a2e;font-weight:900;font-size:24px}
.health-dashboard.has-alert .health-dashboard-icon{background:#fde6de;color:#9d3f27}
.health-dashboard-copy h2{margin:3px 0 6px}.health-dashboard-copy p{margin:0;color:var(--muted,#66746f);max-width:760px}
.health-dashboard-kpis{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.health-dashboard-kpis span{min-width:112px;padding:9px 11px;border-radius:12px;background:rgba(24,58,46,.055);display:flex;flex-direction:column}.health-dashboard-kpis small{font-size:.71rem;color:var(--muted,#66746f)}.health-dashboard-kpis b{font-size:1rem;color:#183a2e}

.health-page-head{align-items:flex-end}.health-migration,.health-alert{display:flex;align-items:center;gap:16px;padding:20px}.health-migration>span,.health-alert>span{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:#e8f2ec;font-size:23px}.health-migration p,.health-alert p{margin:3px 0 0;color:var(--muted,#66746f)}.health-alert.severity-severe{border-color:#d78572;background:#fff7f4}.health-alert.severity-medium{border-color:#deb76e;background:#fffaf0}
.health-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.health-summary-grid article{display:flex;align-items:center;gap:13px;padding:17px}.health-summary-grid article>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#edf4ef;color:#24523f;font-weight:900}.health-summary-grid article.is-warning>span{background:#fde6de;color:#9d3f27}.health-summary-grid article div{display:flex;flex-direction:column}.health-summary-grid small{color:var(--muted,#66746f);font-size:.72rem}.health-summary-grid strong{font-size:1.45rem;line-height:1.05}.health-summary-grid em{font-size:.72rem;color:var(--muted,#66746f);font-style:normal}
.health-current,.health-prevention,.health-history{padding:22px;margin-top:14px}.health-empty{display:flex;align-items:center;gap:14px;padding:19px;border-radius:15px;background:#eff7f2}.health-empty>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#d9ebdf;color:#1e5e40;font-weight:900}.health-empty b{display:block;margin-bottom:3px}.health-empty p{margin:0;color:var(--muted,#66746f)}.health-empty.compact{padding:14px}
.health-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.health-case-card{border:1px solid rgba(24,58,46,.12);border-radius:18px;padding:17px;background:#fff;box-shadow:0 7px 24px rgba(18,42,33,.045)}.health-case-card.severity-severe{border-color:#e2a08f}.health-case-card.severity-medium{border-color:#e1c68b}.health-case-top{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:start}.health-case-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:#f2f5f3;font-size:21px}.health-case-top small{display:block;color:var(--muted,#66746f);font-size:.7rem}.health-case-top h3{margin:1px 0 2px;font-size:1.05rem}.health-case-top b{font-size:.82rem}.health-status-badge{font-size:.68rem;padding:6px 8px;border-radius:999px;background:#fce8df;color:#914327;font-weight:800}.status-treating .health-status-badge{background:#e8f0fa;color:#335d88}.health-case-card>p{color:var(--muted,#66746f);margin:13px 0}.health-case-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.health-case-kpis span{padding:9px;border-radius:11px;background:#f6f8f7;display:flex;flex-direction:column}.health-case-kpis small{font-size:.66rem;color:var(--muted,#66746f)}.health-case-kpis b{font-size:.83rem}.health-treat-form{margin-top:12px}.health-treat-form .button{width:100%}.health-recovery{display:flex;align-items:center;gap:9px;margin-top:12px;padding:10px;border-radius:11px;background:#eef4fb}.health-recovery small{display:block;color:#5c6b79}.health-recovery b{font-size:.83rem}.health-prevention-tip{margin:12px 0 8px;padding:10px 11px;border-left:3px solid #9ebca8;background:#f6f9f7}.health-prevention-tip small{font-weight:800}.health-prevention-tip p{margin:3px 0 0;font-size:.78rem;color:var(--muted,#66746f)}
.health-risk-grid{display:grid;gap:8px}.health-risk-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(190px,1.4fr) auto;gap:14px;align-items:center;padding:11px 12px;border-radius:13px;background:#f7f9f8;color:inherit;text-decoration:none;border:1px solid transparent}.health-risk-row:hover{border-color:rgba(24,58,46,.14)}.health-risk-row.has-case{background:#fff6f2}.health-risk-animal{display:flex;flex-direction:column}.health-risk-animal small{font-size:.72rem;color:var(--muted,#66746f)}.health-risk-track{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center}.health-risk-track i{height:7px;border-radius:99px;background:#e2e8e4;overflow:hidden}.health-risk-track i b{display:block;height:100%;background:linear-gradient(90deg,#739d80,#d09a61);border-radius:inherit}.health-risk-track strong{font-size:.72rem}.health-risk-meta{font-size:.72rem;font-weight:800;color:#4e655a}
.health-history-list{display:grid;gap:8px}.health-history-item{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(24,58,46,.08)}.health-history-item:last-child{border-bottom:0}.health-history-item>span{width:38px;height:38px;border-radius:12px;background:#f1f5f2;display:grid;place-items:center}.health-history-item div{display:flex;flex-direction:column}.health-history-item small{color:var(--muted,#66746f);font-size:.7rem}.health-history-item>strong{font-size:.72rem}.health-history-empty{color:var(--muted,#66746f)}

.animal-health-panel{display:grid;grid-template-columns:auto 1fr auto;gap:17px;align-items:center;padding:20px}.animal-health-panel.has-case{background:#fffaf7;border-color:rgba(170,91,58,.18)}.animal-health-panel.severity-severe{background:#fff5f1;border-color:rgba(174,71,45,.28)}.animal-health-panel-icon{width:50px;height:50px;border-radius:16px;background:#e9f3ed;display:grid;place-items:center;font-size:23px}.animal-health-panel.has-case .animal-health-panel-icon{background:#f9e6dd}.animal-health-panel-copy h2{margin:2px 0 4px}.animal-health-panel-copy p{margin:0;color:var(--muted,#66746f)}.animal-health-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.animal-health-meta span{display:flex;flex-direction:column;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.68)}.animal-health-meta small{font-size:.65rem;color:var(--muted,#66746f)}.animal-health-meta b{font-size:.78rem}.animal-health-panel-action{min-width:175px;text-align:right}.animal-health-panel-action>small{display:block;color:var(--muted,#66746f)}.animal-health-panel-action>strong{display:block;margin:3px 0 8px}.animal-health-panel-action .text-link{display:block;margin-top:8px}
.animal-market-panel.health-locked{border-color:#e3b49f;background:#fff9f5}.animal-health-fit{display:inline-flex;align-items:center;width:max-content;padding:4px 7px;border-radius:999px;font-size:.66rem;font-style:normal;margin-top:3px}.animal-health-fit.good{background:#e9f4ed;color:#2f6947}.animal-health-fit.bad{background:#fdebe4;color:#9d492f}
.animal-health-state{display:flex;gap:9px;align-items:center;padding:9px 10px;border-radius:11px;margin:8px 0}.animal-health-state>span{font-size:18px}.animal-health-state div{display:flex;flex-direction:column;flex:1}.animal-health-state small{font-size:.64rem;color:var(--muted,#66746f)}.animal-health-state b{font-size:.77rem}.animal-health-state a{font-size:.71rem;font-weight:800}.animal-health-state.healthy{background:#edf6f0;color:#285f42}.animal-health-state.has-case{background:#fff0e9;color:#8d452f}.needs-action-buttons{display:flex;gap:8px;flex-wrap:wrap}

@media(max-width:760px){
  .health-dashboard{grid-template-columns:auto 1fr;padding:16px;gap:12px}.health-dashboard>.button{grid-column:1/-1;width:100%}.health-dashboard-icon{width:44px;height:44px;border-radius:14px;font-size:20px}.health-dashboard-kpis span{min-width:0;flex:1;padding:8px}
  .health-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.health-summary-grid article{padding:12px;gap:9px}.health-summary-grid article>span{width:36px;height:36px}.health-summary-grid strong{font-size:1.18rem}
  .health-current,.health-prevention,.health-history{padding:15px}.health-case-grid{grid-template-columns:1fr}.health-case-top{grid-template-columns:auto 1fr}.health-status-badge{grid-column:2;justify-self:start}.health-case-kpis{grid-template-columns:repeat(3,1fr);gap:5px}.health-case-kpis span{padding:7px}.health-risk-row{grid-template-columns:1fr;gap:6px}.health-risk-meta{justify-self:start}.health-history-item{align-items:start}.health-history-item>strong{font-size:.66rem}
  .animal-health-panel{grid-template-columns:auto 1fr;padding:15px;gap:11px}.animal-health-panel-action{grid-column:1/-1;min-width:0;text-align:left}.animal-health-panel-action .button{width:100%}.animal-health-meta{gap:5px}.animal-health-meta span{padding:7px 8px}
  .needs-action-buttons{width:100%}.needs-action-buttons .button{flex:1;min-width:130px}
}
.health-mini-badge{position:absolute;left:8px;bottom:8px;z-index:4;padding:4px 7px;border-radius:999px;background:rgba(145,61,39,.92);color:#fff;font-size:.62rem;font-style:normal;font-weight:800;max-width:calc(100% - 16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* === AniZoo V0.9.8 : bâtiments du zoo === */
.building-dashboard{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:22px;background:linear-gradient(135deg,#f8f5ec 0%,#fff 100%);border:1px solid rgba(92,78,45,.14)}
.building-dashboard.is-locked{background:linear-gradient(135deg,#f7f8f5,#fff)}
.building-dashboard-icon{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;background:#efe7d1;font-size:25px}
.building-dashboard-copy h2{margin:3px 0 6px}.building-dashboard-copy p{margin:0;color:var(--muted,#66746f)}
.building-dashboard-bonuses{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.building-dashboard-bonuses span{display:flex;flex-direction:column;min-width:100px;padding:8px 10px;border-radius:11px;background:rgba(92,78,45,.07)}.building-dashboard-bonuses small{font-size:.65rem;color:var(--muted,#66746f)}.building-dashboard-bonuses b{font-size:.82rem;color:#405547}

.building-migration{display:flex;align-items:center;gap:16px;padding:22px}.building-migration>span{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#eee7d7;font-size:25px}.building-migration h2{margin:3px 0}.building-migration p{margin:0;color:var(--muted,#66746f)}
.building-progress{display:grid;grid-template-columns:1fr 260px;gap:24px;align-items:center;padding:22px}.building-progress-main{display:flex;gap:15px;align-items:center}.building-progress-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#efe7d3;font-size:25px}.building-progress h2{margin:3px 0 5px}.building-progress p{margin:0;color:var(--muted,#66746f)}.building-progress-side{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.building-progress-track{height:10px;border-radius:999px;background:#ebe8df;overflow:hidden}.building-progress-track i{display:block;height:100%;background:linear-gradient(90deg,#b99355,#537c5f);border-radius:inherit}.building-progress-side strong{font-size:.86rem}
.building-bonus-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:14px;margin-top:12px}.building-bonus-strip>div{padding:11px;border-radius:13px;background:#f7f5ef;display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.building-bonus-strip>div>span{grid-row:1/3;font-size:19px}.building-bonus-strip small{font-size:.63rem;color:var(--muted,#66746f)}.building-bonus-strip b{font-size:.8rem;color:#355a45}
.building-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.building-card{display:grid;grid-template-columns:105px minmax(0,1fr) 150px;gap:16px;align-items:center;padding:17px;overflow:hidden}.building-card.is-maxed{background:linear-gradient(135deg,#f2f7f2,#fff)}.building-card-art{height:118px;border-radius:16px;background:linear-gradient(145deg,#d8cfb7,#79917d);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.18)}.building-card-art span{font-size:35px}.building-card-art em{margin-top:5px;font-size:.65rem;font-style:normal;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.building-card-title{display:flex;justify-content:space-between;gap:12px;align-items:start}.building-card-title small{font-size:.64rem;color:var(--muted,#66746f);font-weight:800}.building-card-title h2{font-size:1.08rem;margin:2px 0}.building-level-badge{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#edf1e9;color:#315d42;font-weight:900}.building-card-main>p{font-size:.76rem;line-height:1.45;color:var(--muted,#66746f);margin:7px 0 9px}.building-level-pips{display:flex;gap:5px;margin-bottom:9px}.building-level-pips i{width:28px;height:6px;border-radius:99px;background:#e4e5dd}.building-level-pips i.on{background:#4d8060}.building-effect{display:flex;flex-direction:column;padding:7px 9px;border-radius:10px;background:#f7f8f5;margin-top:5px}.building-effect.next{background:#f7f2e7}.building-effect small{font-size:.6rem;color:var(--muted,#66746f)}.building-effect b{font-size:.7rem}.building-card-action{text-align:center}.building-card-action>small{display:block;font-size:.64rem;color:var(--muted,#66746f)}.building-card-action>strong{display:block;font-size:1rem;margin:4px 0 9px}.building-card-action .button{width:100%}.building-card-action .form-message{font-size:.65rem;margin-top:5px}.building-max-label{display:inline-flex;padding:8px 10px;border-radius:10px;background:#e7f1e9;color:#326147;font-size:.72rem;font-weight:900}
.health-clinic-building,.conservation-building-note,.building-breeding-banner{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:14px 17px;margin:10px 0}.health-clinic-building>span,.conservation-building-note>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#e9f1e8;font-size:19px}.health-clinic-building small,.conservation-building-note small{display:block;font-size:.65rem;color:var(--muted,#66746f);font-weight:900}.health-clinic-building b,.conservation-building-note b{display:block;font-size:.82rem}.conservation-building-note p{margin:3px 0 0;font-size:.72rem;color:var(--muted,#66746f)}.conservation-building-bonus{display:block;font-style:normal;font-size:.66rem;color:#397053;font-weight:900;margin-top:3px}.health-case-kpis span>em{font-style:normal;font-size:.58rem;color:#397053;font-weight:900}.building-breeding-banner .text-link{margin-left:auto}

@media(max-width:1100px){.building-bonus-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.building-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .building-dashboard{grid-template-columns:auto 1fr;padding:15px;gap:11px}.building-dashboard>.button{grid-column:1/-1;width:100%}.building-dashboard-icon{width:44px;height:44px;border-radius:14px;font-size:20px}.building-dashboard-bonuses{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.building-dashboard-bonuses span{min-width:0;padding:7px}
  .building-progress{grid-template-columns:1fr;padding:15px;gap:13px}.building-progress-main{align-items:flex-start}.building-progress-icon{width:44px;height:44px;border-radius:14px;font-size:20px}.building-bonus-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:6px}.building-bonus-strip>div{padding:9px}
  .building-grid{gap:10px}.building-card{grid-template-columns:78px minmax(0,1fr);padding:12px;gap:11px}.building-card-art{height:96px}.building-card-art span{font-size:29px}.building-card-action{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px;text-align:left;align-items:center}.building-card-action>small,.building-card-action>strong{margin:0}.building-card-action form,.building-max-label{grid-column:1/-1}.building-card-action .button{width:100%}.building-effect{padding:6px 7px}.building-card-main>p{font-size:.71rem}.building-card-title h2{font-size:.96rem}
  .health-clinic-building,.conservation-building-note,.building-breeding-banner{grid-template-columns:auto 1fr;padding:12px}.health-clinic-building>.text-link,.conservation-building-note>.text-link,.building-breeding-banner>.text-link{grid-column:1/-1;margin-left:0}
}

/* === AniZoo V0.9.9 — visiteurs avancés === */
.visitors-page-head{align-items:flex-start}.visitor-migration{display:flex;gap:18px;align-items:center;padding:22px;margin-bottom:18px;border:1px dashed rgba(43,104,78,.28)}.visitor-migration>span{font-size:38px}.visitor-migration h2{margin:4px 0 6px}.visitor-migration p{margin:0;color:var(--muted,#6b756f)}
.visitor-center-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.visitor-center-kpi{display:flex;gap:14px;align-items:center;padding:18px}.visitor-center-kpi>span{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#eef5ef;font-size:22px;flex:0 0 auto}.visitor-center-kpi div{min-width:0;display:grid;gap:2px}.visitor-center-kpi small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#758079}.visitor-center-kpi strong{font-size:24px;line-height:1.05;color:#183a2e}.visitor-center-kpi em{font-style:normal;font-size:12px;color:#77817b}
.visitor-control-grid,.visitor-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:16px;margin-bottom:16px}.visitor-detail-grid{grid-template-columns:1.15fr .85fr}.visitor-pricing,.visitor-cashbox,.visitor-satisfaction,.visitor-income,.visitor-segments,.visitor-levers,.visitor-history{padding:22px}.visitor-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.visitor-section-head h2{margin:4px 0 6px}.visitor-section-head p{margin:0;color:#6f7973;max-width:700px}.visitor-current-price{min-width:120px;padding:13px 15px;border-radius:16px;background:#f1f6f2;display:grid;text-align:right;gap:1px}.visitor-current-price small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#77817b}.visitor-current-price strong{font-size:26px;color:#183a2e}.visitor-current-price span{font-size:12px;color:#68726c}
.visitor-price-form{margin-top:18px}.visitor-price-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:14px}.visitor-price-option{position:relative;cursor:pointer;padding:12px 8px;border:1px solid #dce6df;border-radius:14px;background:#fff;display:grid;gap:3px;text-align:center;transition:.18s ease}.visitor-price-option:hover{transform:translateY(-1px);border-color:#9bb9a7}.visitor-price-option.active,.visitor-price-option:has(input:checked){border-color:#2c6d50;background:#eef6f0;box-shadow:0 0 0 2px rgba(44,109,80,.08)}.visitor-price-option input{position:absolute;opacity:0;pointer-events:none}.visitor-price-option b{font-size:18px;color:#183a2e}.visitor-price-option span{font-size:11px;font-weight:700}.visitor-price-option small{font-size:10px;color:#78827c;line-height:1.25}.visitor-disabled-note{padding:14px;border-radius:12px;background:#fff4df;color:#805f21}
.visitor-cashbox{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}.visitor-cashbox-icon{font-size:38px}.visitor-cashbox>small{text-transform:uppercase;letter-spacing:.09em;color:#77817b;font-size:10px}.visitor-cashbox>strong{font-size:34px;color:#183a2e}.visitor-cashbox>p{margin:0 0 4px;color:#68736d;font-size:13px}.visitor-cashbox .visitor-till-track{width:100%;max-width:310px}.visitor-cashbox form{width:100%;max-width:310px;margin-top:4px}.visitor-cashbox .button{width:100%}
.visitor-score-ring{display:grid;place-items:center;flex:0 0 auto;width:72px;height:72px;border-radius:50%;background:#eef6f0;border:7px solid #d1e5d7;color:#183a2e;font-size:18px;font-weight:900}.visitor-factor-list{display:grid;gap:12px;margin-top:18px}.visitor-factor>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:5px}.visitor-factor>div span{color:#5f6a64}.visitor-factor>div b{color:#183a2e}.visitor-factor>i,.visitor-segment-grid i{display:block;height:7px;background:#edf1ee;border-radius:999px;overflow:hidden}.visitor-factor>i b,.visitor-segment-grid i b{display:block;height:100%;border-radius:inherit;background:#397b5d}
.visitor-income-list{display:grid;gap:9px;margin:18px 0}.visitor-income-list>div{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:12px;background:#f6f8f6}.visitor-income-list span{font-size:13px}.visitor-income-list b{font-size:13px;color:#183a2e}
.visitor-segments,.visitor-levers,.visitor-history{margin-bottom:16px}.visitor-segment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.visitor-segment-grid article{display:flex;gap:10px;align-items:center;padding:14px;border:1px solid #e0e7e2;border-radius:15px;background:#fbfcfb}.visitor-segment-grid article>span{font-size:25px}.visitor-segment-grid article>div{min-width:0;flex:1;display:grid;gap:3px}.visitor-segment-grid b{font-size:13px}.visitor-segment-grid small{font-size:11px;color:#77817b}.visitor-segment-grid i{height:5px;margin-top:3px}.visitor-lever-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.visitor-lever-grid a{display:grid;grid-template-columns:auto 1fr;column-gap:9px;row-gap:2px;align-items:center;padding:13px;border:1px solid #e0e7e2;border-radius:14px;text-decoration:none;color:inherit;background:#fbfcfb}.visitor-lever-grid a:hover{border-color:#a8c2b1;background:#f1f7f3}.visitor-lever-grid span{grid-row:1/3;font-size:23px}.visitor-lever-grid b{font-size:13px}.visitor-lever-grid small{font-size:11px;color:#76817b}.visitor-history-list{display:grid;gap:8px;margin-top:14px}.visitor-history-list>div{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #edf0ee}.visitor-history-list>div:last-child{border-bottom:0}.visitor-history-list>div>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef5ef}.visitor-history-list p{margin:0;font-size:13px}.visitor-history-list small{display:block;margin-top:2px;color:#879089;font-size:10px}
@media(max-width:980px){.visitor-center-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.visitor-price-options{grid-template-columns:repeat(3,minmax(0,1fr))}.visitor-segment-grid,.visitor-lever-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.visitor-center-kpis{gap:8px}.visitor-center-kpi{padding:12px;gap:9px}.visitor-center-kpi>span{width:38px;height:38px;border-radius:12px;font-size:18px}.visitor-center-kpi strong{font-size:19px}.visitor-center-kpi em{font-size:10px}.visitor-control-grid,.visitor-detail-grid{grid-template-columns:1fr;gap:10px}.visitor-pricing,.visitor-cashbox,.visitor-satisfaction,.visitor-income,.visitor-segments,.visitor-levers,.visitor-history{padding:15px}.visitor-section-head{gap:10px}.visitor-current-price{min-width:95px;padding:10px}.visitor-current-price strong{font-size:22px}.visitor-price-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.visitor-price-option{padding:10px 5px}.visitor-segment-grid,.visitor-lever-grid{gap:7px}.visitor-segment-grid article{padding:10px}.visitor-lever-grid a{padding:10px}.visitor-score-ring{width:58px;height:58px;border-width:5px;font-size:15px}}
@media(max-width:430px){.visitor-center-kpis{grid-template-columns:1fr 1fr}.visitor-center-kpi{align-items:flex-start}.visitor-center-kpi>span{display:none}.visitor-price-options{grid-template-columns:repeat(2,minmax(0,1fr))}.visitor-segment-grid,.visitor-lever-grid{grid-template-columns:1fr}.visitor-section-head{flex-direction:column}.visitor-current-price{text-align:left;width:100%;box-sizing:border-box}.visitor-score-ring{position:absolute;right:15px}.visitor-satisfaction{position:relative}.visitor-satisfaction .visitor-section-head{padding-right:68px}}

/* === AniZoo V0.9.10 : audit navigation / sécurité UX === */
.main-nav{gap:10px}.main-nav>.nav-link{display:flex;align-items:center;gap:5px;padding:8px 9px;border-radius:10px;font-size:12px;font-weight:750}.main-nav>.nav-link.active{background:#e7eee6;color:#245c3d}.nav-icon{line-height:1}.nav-coins{padding:8px 11px;border:1px solid #d8cda9;border-radius:999px;background:#fff7dc;font-weight:850;font-size:12px;white-space:nowrap}.nav-user-form{margin:0}.nav-user{appearance:none;border:0;background:transparent;color:inherit;font:inherit;display:flex;align-items:center;gap:8px;padding:5px 7px;border-radius:12px;cursor:pointer;text-align:left}.nav-user:hover{background:#ece9df}.nav-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#183a2e;color:#fff;font-weight:900}.nav-user-copy b,.nav-user-copy small{display:block}.nav-user-copy b{font-size:11px}.nav-user-copy small{font-size:8px;color:#788078}.nav-more{position:relative}.nav-more>summary{list-style:none;display:flex;align-items:center;gap:5px;padding:8px 9px;border-radius:10px;font-size:12px;font-weight:800;cursor:pointer;color:#4f5e55}.nav-more>summary::-webkit-details-marker{display:none}.nav-more.active>summary,.nav-more[open]>summary{background:#e7eee6;color:#245c3d}.nav-more-menu{position:absolute;right:0;top:calc(100% + 10px);width:220px;padding:8px;border:1px solid #d9d5ca;border-radius:16px;background:#fffdf8;box-shadow:0 18px 45px rgba(24,42,32,.16);display:grid;gap:3px;z-index:180}.nav-more:not([open]) .nav-more-menu{display:none}.nav-more-menu a{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:7px;padding:9px 10px;border-radius:10px;font-size:11px}.nav-more-menu a:hover,.nav-more-menu a.active{background:#eef3eb;color:#235e3d}.nav-more-menu a span{font-size:16px}.nav-more-menu a b{font-weight:750}

@media(max-width:1180px) and (min-width:761px){.site-header{padding-left:18px;padding-right:18px}.brand-copy small{display:none}.main-nav{gap:4px}.main-nav>.nav-link{padding:8px 6px;font-size:11px}.nav-user-copy{display:none}.nav-coins{font-size:11px;padding:7px 9px}}

@media(max-width:900px){
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}.mobile-bottom-nav{display:grid!important}.mobile-bottom-nav-public{grid-template-columns:repeat(3,minmax(0,1fr))}.site-footer{display:none!important}
  .site-header .nav-more{display:none!important}.site-header .nav-user-form{display:block}.site-header .nav-user{padding:3px}.site-header .nav-user-copy{display:none}.site-header .nav-avatar{width:36px;height:36px}.site-header .main-nav{gap:5px}
  .mobile-bottom-nav-auth{grid-template-columns:repeat(5,minmax(0,1fr))!important}.mobile-bottom-nav-auth .mobile-bottom-link{font-size:9.5px!important;padding-left:3px!important;padding-right:3px!important}.mobile-bottom-nav-auth .mobile-bottom-icon{font-size:20px!important}
  .mobile-bottom-more{position:relative;min-width:0}.mobile-bottom-more>summary{list-style:none}.mobile-bottom-more>summary::-webkit-details-marker{display:none}.mobile-bottom-more.active>summary,.mobile-bottom-more[open]>summary{background:#e8f2e8;color:#215d3d}.mobile-bottom-more.active>summary:before,.mobile-bottom-more[open]>summary:before{content:"";position:absolute;top:3px;left:50%;width:22px;height:3px;border-radius:999px;background:#2e7a50;transform:translateX(-50%)}
  .mobile-more-sheet{position:fixed;left:8px;right:8px;bottom:calc(72px + env(safe-area-inset-bottom,0px));max-height:min(68vh,540px);overflow:auto;padding:16px;border:1px solid #d9d5ca;border-radius:22px;background:#fffdf8;box-shadow:0 -10px 42px rgba(20,39,29,.22);z-index:150;text-align:left}.mobile-bottom-more:not([open]) .mobile-more-sheet{display:none}.mobile-more-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:0 2px 12px;border-bottom:1px solid #ece8de}.mobile-more-head b{font-size:16px}.mobile-more-head small{font-size:9px;color:#7b847e}.mobile-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0}.mobile-more-grid a{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;min-height:50px;padding:9px 10px;border:1px solid #e5e1d7;border-radius:13px;background:#f8f6f0}.mobile-more-grid a.active{background:#e8f2e8;border-color:#c8dccb;color:#215d3d}.mobile-more-grid a span{font-size:18px;text-align:center}.mobile-more-grid a b{font-size:10px}.mobile-logout-form{padding-top:10px;border-top:1px solid #ece8de}.mobile-logout-form button{width:100%;border:0;border-radius:12px;background:#f1ebe5;color:#7a403b;padding:12px;font-size:11px;font-weight:850;cursor:pointer}
}

/* === AniZoo V0.9.12 : progression, paliers et déblocages === */
.nav-link.locked{opacity:.58}.nav-link.locked:hover{opacity:.82}.nav-more-menu a.locked,.mobile-more-grid a.locked{opacity:.58}.mobile-bottom-link.locked{opacity:.62}.button.is-locked{opacity:.7}
.progression-next-unlock{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:8px 11px;border:1px solid #d8e3d9;border-radius:12px;background:#f5faf5;color:#214b34;font-size:11px;font-weight:800}.progression-next-unlock span{font-size:16px}.progression-next-unlock small{margin-left:auto;color:#6d7a71;font-size:9px}.progression-next-unlock.is-complete{background:#eef7ef}
.capacity-progression-note{display:block;margin:5px 0 9px;color:#6d756f;font-size:10px;font-weight:700}
.progression-inline-lock{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:14px 0;padding:13px 15px;border:1px solid #eadfbe;border-radius:16px;background:#fff9e9}.progression-inline-lock>span{font-size:23px}.progression-inline-lock b{display:block;color:#4b4534;font-size:12px}.progression-inline-lock p{margin:3px 0 0;color:#77705f;font-size:10px;line-height:1.45}.progression-inline-lock a{font-size:10px;font-weight:850;color:#2b6845}
.progression-page-head{align-items:flex-start}.progression-locked-callout{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;margin-bottom:16px;padding:18px;border-color:#eadfbe;background:#fff9e9}.progression-locked-callout>span{font-size:30px}.progression-locked-callout small{font-size:9px;font-weight:900;letter-spacing:.1em;color:#947b3b}.progression-locked-callout h2{margin:3px 0 4px}.progression-locked-callout p{margin:0 0 7px;color:#6e6b61}.progression-locked-callout b{font-size:11px;color:#6e5924}
.progression-overview{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:center;margin-bottom:18px}.progression-overview-main{display:flex;align-items:center;gap:16px}.progression-big-level{display:grid;place-items:center;flex:0 0 72px;height:72px;border-radius:22px;background:#173c2e;color:#fff;font-size:30px;font-weight:950;box-shadow:0 10px 24px rgba(23,60,46,.16)}.progression-overview-main h2{margin:3px 0 9px}.progression-overview-main p{margin:7px 0 0;color:#6e756f;font-size:11px}.progression-track-large{height:10px;max-width:520px}.progression-overview-kpis{display:grid;grid-template-columns:1fr 1fr;gap:9px}.progression-overview-kpis>div{padding:11px 12px;border:1px solid #e5e1d7;border-radius:14px;background:#faf8f3}.progression-overview-kpis small{display:block;color:#838b84;font-size:9px;font-weight:800;text-transform:uppercase}.progression-overview-kpis strong{display:block;margin-top:3px;color:#223c2d;font-size:13px}
.progression-section{margin-top:20px}.progression-section>.app-section-head{align-items:flex-end}.progression-section>.app-section-head>p{max-width:420px;margin:0;color:#7b827c;font-size:10px;text-align:right}.progression-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.progression-feature-card{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid #e4e0d6;border-radius:17px;background:#fff}.progression-feature-card.locked{background:#f6f4ef;opacity:.77}.progression-feature-card.unlocked{border-color:#d6e5d8;background:#fbfefb}.progression-feature-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#edf4ee;font-size:21px}.progression-feature-card.locked .progression-feature-icon{filter:grayscale(.55)}.progression-feature-card small{display:block;font-size:8px;font-weight:900;letter-spacing:.1em;color:#899087}.progression-feature-card h3{margin:2px 0 3px;font-size:13px}.progression-feature-card p{margin:0;color:#737a74;font-size:9.5px;line-height:1.45}.progression-feature-card>b{padding:6px 8px;border-radius:999px;background:#e7f3e9;color:#2a6a44;font-size:9px;white-space:nowrap}.progression-feature-card.locked>b{background:#ece9e2;color:#77736a}
.capacity-roadmap-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.capacity-roadmap-card{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #e5e1d7;border-radius:14px;background:#fff}.capacity-roadmap-card>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f0eee8;font-size:13px;font-weight:900}.capacity-roadmap-card small{display:block;font-size:7px;font-weight:900;letter-spacing:.1em;color:#92978f}.capacity-roadmap-card h3{margin:1px 0 2px;font-size:12px}.capacity-roadmap-card p{margin:0;color:#7a807a;font-size:8px}.capacity-roadmap-card.done{border-color:#cfe1d2;background:#f6fbf7}.capacity-roadmap-card.done>span{background:#dcefe0;color:#277044}.capacity-roadmap-card.available{border-color:#e5d29b;background:#fffaf0}.capacity-roadmap-card.available>span{background:#f4e7bd;color:#765d1b}.capacity-roadmap-card.locked{opacity:.62}
.progression-howto{display:grid;grid-template-columns:1.1fr 1.4fr;gap:18px;align-items:center}.progression-howto h2{margin:3px 0 5px}.progression-howto p{margin:0;color:#747b75;font-size:10px;line-height:1.5}.progression-xp-sources{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.progression-xp-sources span{padding:9px 10px;border:1px solid #e4e0d6;border-radius:12px;background:#faf8f3}.progression-xp-sources b{display:block;color:#275f40;font-size:12px}.progression-xp-sources small{display:block;margin-top:2px;color:#7c827c;font-size:8px}.progression-milestones-note{grid-column:1/-1;display:flex;gap:10px;align-items:center;padding-top:11px;border-top:1px solid #ece8df}.progression-milestones-note span{font-size:20px}.progression-milestones-note p{margin:0}
@media(max-width:900px){.progression-overview{grid-template-columns:1fr}.capacity-roadmap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.progression-feature-grid{grid-template-columns:1fr}.progression-howto{grid-template-columns:1fr}.progression-section>.app-section-head{align-items:flex-start}.progression-section>.app-section-head>p{text-align:left}.progression-inline-lock{grid-template-columns:auto 1fr}.progression-inline-lock a{grid-column:2}}
@media(max-width:600px){.progression-overview-main{align-items:flex-start}.progression-big-level{flex-basis:58px;height:58px;border-radius:17px;font-size:25px}.progression-overview-kpis{grid-template-columns:1fr 1fr}.capacity-roadmap-grid{grid-template-columns:1fr 1fr}.progression-feature-card{grid-template-columns:38px 1fr}.progression-feature-card>b{grid-column:2;justify-self:start}.progression-feature-icon{width:38px;height:38px}.progression-xp-sources{grid-template-columns:1fr 1fr}.progression-locked-callout{grid-template-columns:auto 1fr}.progression-next-unlock{width:100%;box-sizing:border-box}}

/* V0.9.13.1 — correction contraste du menu Plus dans le header sombre */
.site-header .nav-more-menu{color:#26372e}
.site-header .nav-more-menu a,
.site-header .nav-more-menu a:visited{color:#26372e!important}
.site-header .nav-more-menu a b{color:inherit}
.site-header .nav-more-menu a:hover,
.site-header .nav-more-menu a.active{background:#e8f0e8;color:#1f5b3a!important}
.site-header .nav-more-menu a.locked{color:#6e7972!important;opacity:.72}
.site-header .nav-more-menu a.locked:hover{color:#44554a!important;opacity:.9}

/* === AniZoo V0.9.14 : vrais enclos multiples === */
.enclosure-page-head{margin-bottom:16px}.enclosure-switcher{padding:18px 20px;margin-bottom:18px}.enclosure-switcher-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.enclosure-switcher-head h2{margin:2px 0 0;font-size:20px}.new-enclosure-details{position:relative}.new-enclosure-details>summary{list-style:none;cursor:pointer}.new-enclosure-details>summary::-webkit-details-marker{display:none}.new-enclosure-form{position:absolute;z-index:20;right:0;top:44px;width:min(390px,86vw);padding:16px;background:#fff;border:1px solid #deded5;border-radius:16px;box-shadow:0 18px 48px rgba(22,54,43,.18);display:grid;grid-template-columns:1fr 1fr;gap:10px}.new-enclosure-form label{display:grid;gap:5px}.new-enclosure-form label span{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#738078}.new-enclosure-form input,.new-enclosure-form select{width:100%;min-height:40px;border:1px solid #d7ddd5;border-radius:10px;background:#fff;padding:8px 10px;box-sizing:border-box}.new-enclosure-form .button,.new-enclosure-form .form-message{grid-column:1/-1}.enclosure-switcher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.enclosure-switch-card{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:12px 13px;border:1px solid #e1e3dc;border-radius:14px;background:#fbfbf8;color:#17382e;text-decoration:none;transition:.18s ease}.enclosure-switch-card:hover{transform:translateY(-1px);border-color:#aecbb7}.enclosure-switch-card.active{background:#edf6ef;border-color:#75a985;box-shadow:inset 0 0 0 1px rgba(58,118,77,.08)}.enclosure-switch-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f0f3eb;font-size:20px}.enclosure-switch-card b,.enclosure-switch-card small{display:block}.enclosure-switch-card b{font-size:12px}.enclosure-switch-card small{margin-top:2px;font-size:9px;color:#718078}.enclosure-switch-card>strong{font-size:14px;color:#3c7b52}.enclosure-capacity-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin:0 0 16px}.enclosure-capacity-card h2{margin:2px 0 4px;font-size:19px}.enclosure-capacity-card p{margin:0;color:#6e7972;font-size:10px}.enclosure-capacity-card form{display:grid;gap:6px;min-width:245px}.enclosure-fit-score{display:flex;align-items:baseline;gap:10px;margin:12px 0}.enclosure-fit-score strong{font-size:36px;letter-spacing:-.04em}.enclosure-fit-score span{font-size:11px;font-weight:900;color:#4d765a}.compat-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.compat-metrics span{padding:10px;border-radius:12px;background:#f4f6f1}.compat-metrics small,.compat-metrics b{display:block}.compat-metrics small{font-size:8px;color:#7b857e;text-transform:uppercase;font-weight:900;letter-spacing:.06em}.compat-metrics b{margin-top:3px;font-size:14px}.compat-warning{padding:10px 12px;border-radius:10px;background:#fff2e4;color:#9a5724!important;font-weight:800}.enclosure-animal-manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.enclosure-animal-manage{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:14px}.enclosure-animal-manage b,.enclosure-animal-manage small{display:block}.enclosure-animal-manage small{margin-top:3px;color:#778078;font-size:9px}.enclosure-animal-manage form{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:7px;align-items:center}.enclosure-animal-manage select{min-height:38px;border:1px solid #d9ded8;border-radius:10px;background:#fff;padding:7px 9px}.enclosure-animal-manage .form-message{grid-column:1/-1}.habitat-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.habitat-choice-card{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:15px}.habitat-choice-card>span{font-size:25px}.habitat-choice-card h3{margin:0 0 4px;font-size:14px}.habitat-choice-card p{margin:0 0 6px;font-size:9px;color:#6f7a73}.habitat-choice-card small{font-size:9px}.habitat-choice-card.active{border-color:#7cab89;background:#f2f8f3}.upgrade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.upgrade-card{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:15px}.upgrade-card h3{margin:0 0 3px;font-size:14px}.upgrade-card p{margin:0 0 5px;font-size:9px;color:#6f7a73}.upgrade-icon{font-size:23px}.upgrade-max{padding:6px 9px;border-radius:9px;background:#e4f1e7;color:#307047;font-size:9px}.animal-enclosure-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin-bottom:16px}.animal-enclosure-panel h2{margin:2px 0 3px;font-size:19px}.animal-enclosure-panel p{margin:0;color:#6d7871;font-size:10px}.animal-enclosure-actions{display:flex;align-items:center;gap:8px}.animal-enclosure-actions form{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.animal-enclosure-actions select{min-height:38px;border:1px solid #d7ddd5;border-radius:10px;background:#fff;padding:7px 10px}.adoption-form-modern .adoption-enclosure-select{grid-column:1/-1}.adoption-enclosure-select select{width:100%}
@media(max-width:900px){.enclosure-switcher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.enclosure-animal-manage-grid,.habitat-choice-grid,.upgrade-grid{grid-template-columns:1fr}.animal-enclosure-panel{align-items:flex-start;flex-direction:column}.animal-enclosure-actions{width:100%}.animal-enclosure-actions form{width:100%}.animal-enclosure-actions select{flex:1}.enclosure-capacity-card{align-items:flex-start;flex-direction:column}.enclosure-capacity-card form{min-width:0;width:100%}}
@media(max-width:620px){.enclosure-switcher{padding:13px}.enclosure-switcher-head{align-items:stretch;flex-direction:column}.new-enclosure-details>summary{width:100%;box-sizing:border-box;text-align:center}.new-enclosure-form{position:static;width:100%;box-sizing:border-box;margin-top:8px;grid-template-columns:1fr;box-shadow:none}.new-enclosure-form .button,.new-enclosure-form .form-message{grid-column:auto}.enclosure-switcher-grid{grid-template-columns:1fr}.enclosure-switch-card{grid-template-columns:38px 1fr auto;padding:10px}.enclosure-switch-icon{width:38px;height:38px}.enclosure-capacity-card{padding:13px}.compat-metrics{grid-template-columns:1fr 1fr 1fr}.enclosure-animal-manage{grid-template-columns:1fr}.enclosure-animal-manage form{grid-template-columns:1fr auto}.habitat-choice-card,.upgrade-card{grid-template-columns:36px 1fr}.habitat-choice-card form,.upgrade-card form,.upgrade-card .upgrade-max{grid-column:2}.animal-enclosure-actions{align-items:stretch;flex-direction:column}.animal-enclosure-actions .button{width:100%;box-sizing:border-box}.animal-enclosure-actions form{display:grid;grid-template-columns:1fr auto}.animal-enclosure-actions .form-message{grid-column:1/-1}}


/* === AniZoo V0.9.15 : audit UX mobile complet === */
@media(max-width:900px){
  html{scroll-padding-top:72px;scroll-padding-bottom:86px}
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))!important;overflow-x:hidden}
  .site-header{height:60px;padding:0 10px;gap:8px}
  .brand{gap:7px;min-width:0}.brand-mark{width:34px;height:34px;font-size:21px;flex:0 0 auto}.brand-copy{min-width:0}.brand-copy strong{font-size:18px;white-space:nowrap}.brand-copy small{display:none}
  .site-header .main-nav{gap:5px;min-width:0;margin-left:auto}.site-header .nav-coins{display:inline-flex!important;align-items:center;justify-content:center;min-height:34px;padding:6px 9px;border-radius:11px;font-size:10px;background:#fff2c9;border-color:#e5cf8f;color:#725516;box-shadow:none}.site-header .nav-user{padding:0}.site-header .nav-avatar{width:34px;height:34px;font-size:12px}
  .page-shell,.page-shell.app-shell,.page-shell.public-shell,.page-shell.auth-shell,.page-shell.page-shell-wide{width:calc(100% - 12px)!important;margin-left:auto;margin-right:auto;padding-top:12px;padding-bottom:22px}
  .app-page-head{margin:0 0 12px;gap:8px;align-items:flex-start;flex-direction:column}.app-page-head>div:first-child{min-width:0}.app-page-head .eyebrow{font-size:8px;margin-bottom:4px}.app-page-head h1{font-size:28px;line-height:1.06;margin:0 0 5px;letter-spacing:-.035em}.app-page-head p{font-size:10px;line-height:1.45;max-width:620px}.page-wallet,.collection-counter{width:auto!important;min-width:108px;padding:7px 10px;border-radius:10px;align-self:flex-start}.page-wallet small,.collection-counter span{font-size:8px}.page-wallet strong,.collection-counter strong{font-size:16px;margin-top:1px}
  .app-section-head{align-items:flex-start;flex-direction:column;gap:4px;margin-bottom:9px}.app-section-head h2{font-size:20px;line-height:1.12}.app-section-head>small,.app-section-head>p{font-size:9px!important;text-align:left!important;max-width:none!important}.eyebrow{font-size:8px}
  .app-card{border-radius:14px}.button,.button.small{min-height:40px;border-radius:10px;touch-action:manipulation}.button.small{padding:8px 11px}input,select,button,textarea{font-size:16px}.form-message{font-size:9px;min-height:0}
  .mobile-bottom-nav{min-height:62px;padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 24px rgba(24,42,32,.12)}.mobile-bottom-nav-auth .mobile-bottom-link{min-height:50px!important;font-size:9px!important;border-radius:11px}.mobile-bottom-nav-auth .mobile-bottom-icon{font-size:18px!important}.mobile-bottom-link.active:before,.mobile-bottom-more.active>summary:before,.mobile-bottom-more[open]>summary:before{top:2px}
  .mobile-more-sheet{left:6px;right:6px;bottom:calc(66px + env(safe-area-inset-bottom,0px));max-height:min(74vh,620px);padding:12px;border-radius:19px}.mobile-more-head{padding:0 2px 9px}.mobile-more-head b{font-size:14px}.mobile-more-grid{gap:6px;padding:9px 0}.mobile-more-grid a{grid-template-columns:30px 1fr;min-height:44px;padding:7px 8px;border-radius:11px}.mobile-more-grid a span{font-size:16px}.mobile-more-grid a b{font-size:9px}
  .dashboard-layout{gap:10px}.app-kpi-grid{gap:7px}.app-kpi{padding:9px}.app-kpi-icon{width:33px;height:33px;font-size:17px}.app-kpi strong{font-size:18px}.dashboard-animal-card{grid-template-columns:88px 1fr 16px;min-height:102px}.dashboard-animal-art{height:82px}.dashboard-animal-copy{padding:9px 4px}.dashboard-animal-copy h3{font-size:15px}.dashboard-animal-copy p,.dashboard-animal-copy small{font-size:8px}
  .species-market-grid{gap:9px}.species-market-card{border-radius:13px}.species-market-art{height:108px}.species-market-art img{max-width:48%;max-height:88%}.species-market-art>.rarity-badge{left:8px;top:8px}.species-market-body{padding:10px}.species-market-title{gap:7px}.species-market-title h2{font-size:18px;line-height:1.05}.species-market-title>strong{font-size:14px}.species-market-title small,.species-market-title em{font-size:8px}.species-market-body>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:0;margin:7px 0;font-size:9px;line-height:1.35}.adoption-form-modern{grid-template-columns:minmax(0,1fr) 88px;gap:6px;margin-top:7px;padding-top:8px}.adoption-form-modern label span{font-size:8px}.adoption-form-modern input,.adoption-form-modern select{height:38px;padding:0 9px}.adoption-form-modern .button{grid-column:1/-1;height:39px}.adoption-enclosure-select{grid-column:1/-1!important}
  .collection-modern-grid{gap:8px}.collection-modern-card{grid-template-columns:104px minmax(0,1fr);min-height:112px;border-radius:12px}.collection-modern-art{min-height:112px}.collection-modern-art img{max-width:90%;max-height:86%}.collection-modern-copy{padding:9px 10px}.collection-modern-copy h2{font-size:17px;line-height:1.05;margin-top:5px}.collection-modern-copy em,.collection-modern-copy p{font-size:8px}.collection-modern-copy p{margin-top:5px}.collection-card-top{align-items:flex-start}.collection-card-top b{font-size:7px}.rarity-badge{padding:4px 6px;font-size:7px}
  .breeding-rules{margin-bottom:12px}.breeding-rules>div{padding:11px}.breeding-active-card,.breeding-pair-card{padding:12px}.breeding-parents{margin:11px 0}.breeding-pair-meta{gap:6px}.breeding-pair-meta span{padding:7px}.breeding-active-head h3{font-size:16px}
  .market-filters{position:relative}.market-listing-card{border-radius:13px}.market-listing-art{min-height:102px}.market-buy-box{padding:9px}.market-buy-box form{min-width:106px}
  .pedigree-tree-card,.pedigree-compare-card{overflow-x:auto;-webkit-overflow-scrolling:touch}.pedigree-tree{min-width:610px}
  .visitor-center-kpis{gap:6px}.visitor-center-kpi{padding:10px}.visitor-center-kpi strong{font-size:17px}.visitor-pricing,.visitor-cashbox,.visitor-satisfaction,.visitor-income,.visitor-segments,.visitor-levers,.visitor-history{padding:12px}.visitor-price-options{gap:5px}.visitor-price-option{padding:8px 4px}
  .building-grid{gap:8px}.building-card{padding:10px}.building-card-art{height:82px}.building-card-main>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .health-clinic-building,.conservation-building-note,.building-breeding-banner{padding:10px}
  .enclosure-switcher{padding:11px;margin-bottom:10px}.enclosure-switcher-head{gap:9px;margin-bottom:9px}.enclosure-switcher-head h2{font-size:17px}.enclosure-switcher-grid{display:flex;grid-template-columns:none;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:1px 1px 5px;scrollbar-width:none}.enclosure-switcher-grid::-webkit-scrollbar{display:none}.enclosure-switch-card{flex:0 0 min(76vw,265px);scroll-snap-align:start;grid-template-columns:36px 1fr auto;padding:9px 10px;border-radius:12px}.enclosure-switch-icon{width:36px;height:36px;border-radius:10px;font-size:18px}.enclosure-switch-card b{font-size:11px}.enclosure-switch-card small{font-size:8px}.enclosure-switch-card>strong{font-size:12px}
  .enclosure-summary{padding:9px}.enclosure-title-wrap h1{font-size:20px}.enclosure-subline{gap:8px;font-size:9px;flex-wrap:wrap}.enclosure-kpis{display:grid;grid-template-columns:1fr 1fr;gap:6px}.kpi-card{min-width:0;padding:7px 8px}.kpi-card .kpi-icon{font-size:16px}.kpi-card b{font-size:12px}.kpi-card small{font-size:8px}.enclosure-capacity-card{padding:11px;gap:10px;margin-bottom:10px}.enclosure-capacity-card h2{font-size:16px}.enclosure-capacity-card p{font-size:9px}.enclosure-capacity-card form,.enclosure-capacity-card .button{width:100%}
  .enclosure-stage{border-radius:12px 12px 0 0;min-height:210px}.stage-controls{display:none}.stage-weather{transform:scale(.76)}
  .enclosure-tabs{position:sticky;top:60px;z-index:45;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:0 5px;background:rgba(255,253,248,.97);backdrop-filter:blur(12px);box-shadow:0 5px 15px rgba(30,44,35,.06)}.enclosure-tabs::-webkit-scrollbar{display:none}.enclosure-tabs button{flex:0 0 auto;padding:10px 10px 7px;font-size:10px}.overview-grid{margin:8px 4px 0;gap:8px}.panel-card{padding:11px}.panel-card h2{font-size:15px}.panel-card p{font-size:9px}.compat-metrics{gap:5px}.compat-metrics span{padding:7px}.compat-metrics small{font-size:7px}.compat-metrics b{font-size:12px}.enclosure-animal-manage-grid,.habitat-choice-grid,.upgrade-grid{gap:8px}.enclosure-animal-manage{padding:10px}.habitat-choice-card,.upgrade-card{padding:10px}.need-profile-grid{gap:7px}
  .animal-detail-hero{gap:10px}.animal-detail-art{min-height:220px}.animal-detail-copy{padding:16px 13px}.animal-detail-copy h1{font-size:31px}.animal-action-grid{gap:7px}.animal-action-grid .button{min-width:0}
  .variant-ledger,.genetics-panel,.animal-growth-panel,.species-needs-panel,.animal-value-panel{padding:12px}
}
@media(max-width:480px){
  .brand-copy{display:none}.site-header .nav-coins{padding:5px 7px;font-size:9px}.site-header{padding-left:8px;padding-right:8px}
  .page-shell,.page-shell.app-shell,.page-shell.public-shell,.page-shell.auth-shell,.page-shell.page-shell-wide{width:calc(100% - 8px)!important}.app-page-head h1{font-size:25px}.app-page-head p{font-size:9px}.page-wallet,.collection-counter{min-width:100px}
  .mobile-more-grid{grid-template-columns:1fr 1fr}.mobile-more-grid a{min-height:42px}.mobile-bottom-nav-auth .mobile-bottom-link{font-size:8.5px!important}
  .species-market-art{height:96px}.species-market-art img{max-width:44%}.species-market-title h2{font-size:17px}.collection-modern-card{grid-template-columns:94px minmax(0,1fr);min-height:104px}.collection-modern-art{min-height:104px}.collection-modern-copy h2{font-size:16px}.collection-modern-copy p{display:none}
  .enclosure-switch-card{flex-basis:82vw}.enclosure-animal-manage form{grid-template-columns:1fr}.enclosure-animal-manage form .button{width:100%}.habitat-choice-card,.upgrade-card{grid-template-columns:32px minmax(0,1fr)}.habitat-choice-card form,.upgrade-card form,.upgrade-card .upgrade-max{grid-column:1/-1}.enclosure-stage{min-height:190px}.stage-weather{display:none}
  .visitor-center-kpis{grid-template-columns:1fr 1fr}.visitor-center-kpi>span{display:none}.visitor-center-kpi{padding:9px}.visitor-center-kpi small{font-size:8px}.visitor-center-kpi strong{font-size:16px}
}

/* === AniZoo V0.9.16 : audit visuel animaux & enclos === */
/* Gabarits d'espèces plus cohérents : le loup reste nettement plus massif qu'un renard,
   la loutre et le panda roux restent compacts. La croissance est ensuite appliquée en plus
   via --scene-scale, donc un bébé ne récupère jamais la taille adulte par accident. */
.stage-animal{width:10.8%}
.stage-animal.species-renardroux{width:8.8%}
.stage-animal.species-loutredeurope{width:8.2%}
.stage-animal.species-pandaroux{width:8.4%}
.stage-animal img{transform-origin:50% 100%}
.stage-animal.growth-stage-baby img{filter:saturate(1.08) contrast(1.05) drop-shadow(0 4px 4px rgba(34,43,31,.18))}
.stage-animal.growth-stage-child img{filter:saturate(1.11) contrast(1.06) drop-shadow(0 5px 4px rgba(34,43,31,.19))}
.stage-animal.growth-stage-teen img{filter:saturate(1.14) contrast(1.07) drop-shadow(0 6px 5px rgba(34,43,31,.20))}
.stage-life-badge{position:absolute;left:50%;bottom:calc(100% + 5px);transform:translateX(-50%) scaleX(var(--face));white-space:nowrap;padding:3px 6px;border:1px solid rgba(51,91,62,.18);border-radius:999px;background:rgba(255,253,247,.92);box-shadow:0 3px 10px rgba(31,48,35,.12);color:#365c43;font-size:8px;font-weight:850;line-height:1;pointer-events:none;backdrop-filter:blur(3px)}
.enclosure-stage .stage-animals{pointer-events:none}
.enclosure-stage .stage-animal{pointer-events:auto}

/* La scène reste dense sans faire remonter artificiellement les animaux dans le ciel. */
.enclosure-stage{min-height:310px}
.enclosure-stage .stage-bg:after{height:69%}
.enclosure-stage .stage-vignette{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 33%,rgba(29,50,28,.07))}
.enclosure-stage.habitat-river .stage-bg:after{background:linear-gradient(180deg,rgba(81,139,93,.03),rgba(55,112,88,.08)),url('../enclosures/prairie-ground.svg') center bottom/100% 100% no-repeat;filter:saturate(.98) hue-rotate(6deg)}
.enclosure-stage.habitat-wetland .stage-bg:after{background:linear-gradient(180deg,rgba(77,120,81,.08),rgba(57,91,68,.16)),url('../enclosures/prairie-ground.svg') center bottom/100% 100% no-repeat;filter:saturate(.90) hue-rotate(12deg) brightness(.94)}

@media(max-width:900px){
  .enclosure-stage{min-height:245px}
  .stage-life-badge{font-size:7px;padding:3px 5px}
}
@media(max-width:720px){
  .enclosure-stage{min-height:205px}
  .stage-animal{width:12.4%}
  .stage-animal.species-renardroux{width:10.1%}
  .stage-animal.species-loutredeurope{width:9.5%}
  .stage-animal.species-pandaroux{width:9.7%}
  .stage-life-badge{bottom:calc(100% + 3px);font-size:6px;padding:2px 4px}
}

/* === AniZoo V0.9.18 : QA santé / besoins / groupes sociaux === */
.enclosure-needs-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 12px}.enclosure-needs-summary>span{display:block;padding:11px 12px;border:1px solid #e2e5de;border-radius:13px;background:#f8faf6}.enclosure-needs-summary small,.enclosure-needs-summary b{display:block}.enclosure-needs-summary small{font-size:8px;letter-spacing:.05em;text-transform:uppercase;color:#78827b}.enclosure-needs-summary b{margin-top:3px;font-size:14px}.need-profile-grid.detailed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.need-animal-card{padding:13px}.need-animal-head{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;margin-bottom:10px}.need-animal-head b,.need-animal-head small{display:block}.need-animal-head small{margin-top:2px;font-size:9px;color:#6f7972}.need-animal-head>strong{min-width:44px;padding:5px 7px;border-radius:10px;text-align:center;font-size:12px;background:#edf5ef;color:#2e7148}.need-animal-head>strong.mid{background:#fff4db;color:#8c681d}.need-animal-head>strong.low{background:#fde9e4;color:#a84e3f}.need-mini-grid{display:grid;gap:6px}.need-mini-grid>div{display:grid;grid-template-columns:minmax(110px,.9fr) 1fr auto;gap:8px;align-items:center}.need-mini-grid span{font-size:9px;font-weight:800}.need-mini-grid i{height:6px;border-radius:99px;background:#e5e9e4;overflow:hidden}.need-mini-grid i b{display:block;height:100%;border-radius:inherit;background:#6f9f7d}.need-mini-grid em{font-style:normal;font-size:9px;font-weight:800;color:#56675e}.need-priority{display:flex;justify-content:space-between;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid #ece9e1}.need-priority small{font-size:8px;color:#778078;text-transform:uppercase}.need-priority b{font-size:10px}

.enclosure-animal-manage.health-locked{border-color:#ead7cf;background:#fff9f5}.enclosure-animal-manage em{display:block;margin-top:4px;font-style:normal;font-size:8px;font-weight:800;color:#9c5c46}.enclosure-animal-manage.health-locked .button{white-space:nowrap}

.social-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.social-group-card{padding:14px}.social-group-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center}.social-group-head>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#eef5eb;font-size:20px}.social-group-head small,.social-group-head h3{display:block}.social-group-head small{font-size:8px;color:#788179}.social-group-head h3{margin:2px 0 0;font-size:15px}.social-group-head>strong{font-size:18px;color:#39764e}.social-group-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0}.social-group-kpis span{padding:7px;border-radius:10px;background:#f6f7f3}.social-group-kpis small,.social-group-kpis b{display:block}.social-group-kpis small{font-size:7px;text-transform:uppercase;color:#7a837c}.social-group-kpis b{font-size:11px;margin-top:2px}.social-group-card>p{font-size:9px;line-height:1.45;color:#5f6c64}.social-role-list{display:grid;gap:5px;margin-top:9px}.social-role-list a{display:grid;grid-template-columns:1fr auto;column-gap:8px;align-items:center;padding:7px 8px;border:1px solid #ebe9e2;border-radius:10px;background:#fff;color:inherit;text-decoration:none}.social-role-list a b{font-size:10px}.social-role-list a small{grid-column:1;font-size:8px;color:#758078}.social-role-list a em{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-size:9px;font-weight:900;color:#467857}.social-group-card.status-mid{border-color:#e7dcb5}.social-group-card.status-low{border-color:#e8c5bd}

.health-risk-row{grid-template-columns:minmax(150px,1fr) minmax(180px,1.1fr) minmax(140px,.9fr) auto}.health-risk-animal{text-decoration:none;color:inherit}.health-risk-priority{display:flex;flex-direction:column;min-width:0}.health-risk-priority small{font-size:7px;text-transform:uppercase;letter-spacing:.05em;color:#849087}.health-risk-priority b{margin-top:2px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-risk-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.health-risk-meta a{font-size:8px;color:#3e7452;text-decoration:none}.health-risk-meta a:hover{text-decoration:underline}

@media(max-width:900px){.need-profile-grid.detailed,.social-group-grid{grid-template-columns:1fr}.health-risk-row{grid-template-columns:1fr 1fr}.health-risk-priority{grid-column:1}.health-risk-meta{grid-column:2;align-items:flex-end}.enclosure-needs-summary{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.enclosure-needs-summary{grid-template-columns:1fr}.need-mini-grid>div{grid-template-columns:95px 1fr auto}.social-group-kpis{grid-template-columns:1fr 1fr}.health-risk-row{grid-template-columns:1fr;gap:6px}.health-risk-priority,.health-risk-meta{grid-column:auto}.health-risk-meta{align-items:flex-start}.need-priority{flex-direction:column;gap:2px}}


/* === AniZoo V0.9.20 : contenu espèces === */
.species-gameplay-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0 8px}.species-gameplay-strip>span{display:flex;flex-direction:column;gap:2px;padding:8px 9px;border:1px solid #e8e1d6;border-radius:9px;background:#fbfaf6;min-width:0}.species-gameplay-strip small{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#7b827d}.species-gameplay-strip b{font-size:11px;color:#34443a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.species-gameplay-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.species-gameplay-meta span{font-size:10px;color:#57655c;background:#edf3ef;border-radius:999px;padding:5px 8px}.stage-animal.emoji-species{width:7.8%;min-width:48px;text-decoration:none}.stage-animal-emoji{display:block;font-size:clamp(40px,5.6vw,82px);line-height:1;filter:drop-shadow(0 7px 5px rgba(34,43,31,.24));transform-origin:50% 100%;user-select:none}.stage-animal.emoji-species.walking .stage-animal-emoji{animation:stageEmojiWalk .38s ease-in-out infinite}.stage-animal.emoji-species.idle .stage-animal-emoji{animation:stageEmojiIdle 3.1s ease-in-out infinite}@keyframes stageEmojiWalk{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}@keyframes stageEmojiIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}.stage-animal.species-bison.emoji-species,.stage-animal.species-bear.emoji-species{width:9.2%}.stage-animal.species-crane.emoji-species{width:6.5%}.stage-animal.species-beaver.emoji-species{width:7.2%}
@media(max-width:720px){.species-gameplay-strip{grid-template-columns:1fr}.species-gameplay-meta{gap:5px}.stage-animal.emoji-species{width:10.6%;min-width:38px}.stage-animal-emoji{font-size:clamp(32px,9vw,62px)}}

/* === AniZoo V0.9.20.1 : pack visuel des nouvelles espèces === */
.stage-animal.species-boar{width:10.2%}
.stage-animal.species-deer{width:10.1%}
.stage-animal.species-crane{width:7.2%}
.stage-animal.species-beaver{width:8.8%}
.stage-animal.species-ibex{width:9.5%}
.stage-animal.species-lynx{width:9.2%}
.stage-animal.species-bison{width:12.4%}
.stage-animal.species-bear{width:11.8%}
.stage-animal.species-crane img{filter:saturate(1.08) contrast(1.04) drop-shadow(0 6px 4px rgba(34,43,31,.20))}
@media(max-width:720px){
  .stage-animal.species-boar{width:11.8%}.stage-animal.species-deer{width:11.8%}.stage-animal.species-crane{width:8.7%}.stage-animal.species-beaver{width:10.2%}.stage-animal.species-ibex{width:11.0%}.stage-animal.species-lynx{width:10.8%}.stage-animal.species-bison{width:14.3%}.stage-animal.species-bear{width:13.6%}
}


/* AniZoo V0.9.20.3 — audit interface : actions d'entretien visibles et cohérentes */
.enclosure-care-toolbar{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.6fr);gap:18px;align-items:center;margin:14px 0 0;padding:16px 18px;border-color:#d8e2d8;background:linear-gradient(135deg,#fbfdf8,#f2f7f0)}
.enclosure-care-toolbar-copy h2{margin:1px 0 4px;font-size:20px}.enclosure-care-toolbar-copy p{margin:0;color:#68766d;font-size:10px;max-width:560px}
.enclosure-care-toolbar-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.enclosure-care-toolbar .care-action{min-height:66px;justify-content:flex-start;text-align:left;padding:11px 12px;border:1px solid #dce4da}
.enclosure-care-toolbar button.care-action{width:100%}.enclosure-care-toolbar .care-action>span{font-size:21px;flex:0 0 auto}
.enclosure-care-toolbar .care-action>b,.enclosure-care-toolbar .care-action>small{display:block}.enclosure-care-toolbar .care-action>b{font-size:11px;line-height:1.2}.enclosure-care-toolbar .care-action>small{font-size:8px;font-weight:700;opacity:.82;line-height:1.3}
.enclosure-care-toolbar .care-action.feed{background:#edf7ed;color:#2d6842}.enclosure-care-toolbar .care-action.care{background:#f8eeee;color:#8d4545}.enclosure-care-toolbar .care-action.vet{background:#eef2f7;color:#315166}
.enclosure-care-toolbar .care-action:hover:not(:disabled){filter:brightness(.98);transform:translateY(-1px)}
.enclosure-care-toolbar .care-action:disabled{opacity:.52}
.enclosure-action-feedback{margin:6px 2px 2px!important;padding:0 4px;font-size:11px;font-weight:800;min-height:18px}
.need-care-state{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.need-care-state>span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:10px;background:#edf6ef;color:#2f6e48}
.need-care-state>span.mid{background:#fff4db;color:#8a651a}.need-care-state>span.low{background:#fde9e4;color:#a54b3d}
.need-care-state small{font-size:8px;text-transform:uppercase;letter-spacing:.04em}.need-care-state b{font-size:11px}
.need-animal-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.need-animal-actions .button{padding:7px 9px;font-size:9px}.need-animal-actions .text-link{margin-left:auto;font-size:9px}
.enclosures-page .button:disabled{pointer-events:none}
@media(max-width:900px){
  .enclosure-care-toolbar{grid-template-columns:1fr}
  .enclosure-care-toolbar-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .enclosure-needs-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .enclosure-care-toolbar{padding:12px;margin-top:9px;gap:10px}
  .enclosure-care-toolbar-copy h2{font-size:17px}
  .enclosure-care-toolbar-actions{grid-template-columns:1fr 1fr}
  .enclosure-care-toolbar .care-action.vet{grid-column:1/-1}
  .enclosure-care-toolbar .care-action{min-height:58px}
  .enclosure-needs-summary{grid-template-columns:1fr 1fr}
  .need-care-state{grid-template-columns:1fr 1fr}
  .need-animal-actions{display:grid;grid-template-columns:1fr 1fr}
  .need-animal-actions .button{width:100%}
  .need-animal-actions .text-link{grid-column:1/-1;margin-left:0;text-align:right}
}


.animal-action:disabled{opacity:.52;cursor:not-allowed;transform:none!important;box-shadow:none!important;filter:grayscale(.12)}


/* === AniZoo V0.9.20.3.2 : hotfix cadrage animaux dans les cartes ===
   Les anciens max-width/max-height pouvaient laisser certains navigateurs utiliser
   la taille intrinsèque du sprite puis le couper par overflow:hidden. Ici la boîte
   d'image a une taille explicite et object-fit:contain garantit l'animal entier. */
.species-market-art img{
  width:90%!important;
  height:88%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  display:block!important;
}
.species-market-art>.rarity-badge{z-index:2}

.dashboard-animal-art img{
  width:92%!important;height:88%!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center bottom!important;
}
.collection-modern-art{overflow:hidden}
.collection-modern-art img{
  width:88%!important;height:84%!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center bottom!important;
}
.animal-detail-art{overflow:hidden}
.animal-detail-art img{
  width:90%!important;height:82%!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center bottom!important;
}
.conservation-animal-art img{
  width:88%!important;height:82%!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center bottom!important;
}
.market-listing-art img{
  width:82%!important;height:76%!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center bottom!important;
}
.market-sell-mini-art img{
  width:78%!important;height:78%!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center bottom!important;
}

/* Sur mobile on donne volontairement un peu plus d'air à l'illustration :
   le visuel reste lisible au lieu d'être écrasé à ~100 px de haut. */
@media(max-width:760px){
  .species-market-art{height:165px!important}
  .species-market-art img{width:94%!important;height:90%!important}
}
@media(max-width:480px){
  .species-market-art{height:148px!important}
  .species-market-art img{width:94%!important;height:90%!important}
}


/* === AniZoo V0.9.20.3.3 : Adoption — animal entier, aucun asset remplacé === */
.adoption-page .species-market-art{
  position:relative!important;
  overflow:hidden!important;
  min-height:190px!important;
  height:clamp(190px,21vw,245px)!important;
  display:block!important;
  background:linear-gradient(180deg,#edf3e9 0%,#e2ebdb 100%)!important;
}
.adoption-page .species-market-art .adoption-species-frame{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
}
.adoption-page .species-market-art .adoption-species-image{
  filter:saturate(1.04) contrast(1.02) drop-shadow(0 12px 10px rgba(42,55,45,.16))!important;
}
.adoption-page .species-market-art>.rarity-badge{z-index:3!important}
@media(max-width:760px){
  .adoption-page .species-market-art{height:190px!important;min-height:190px!important}
  .adoption-page .species-market-art .adoption-species-image{
    inset:10px 34px 8px!important;
    width:calc(100% - 68px)!important;
    height:calc(100% - 18px)!important;
  }
}
@media(max-width:480px){
  .adoption-page .species-market-art{height:170px!important;min-height:170px!important}
  .adoption-page .species-market-art .adoption-species-image{
    inset:9px 24px 7px!important;
    width:calc(100% - 48px)!important;
    height:calc(100% - 16px)!important;
  }
}

/* === AniZoo V0.9.20.3.4 : dashboard shortcuts responsive === */
.dashboard-page-head{display:block;margin-bottom:22px}
.dashboard-page-copy{margin-bottom:16px}
.dashboard-page-copy h1{margin-bottom:4px}
.dashboard-shortcuts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%}
.dashboard-shortcut{min-width:0;min-height:86px;display:grid;grid-template-columns:40px minmax(0,1fr) 18px;gap:10px;align-items:center;padding:13px 12px;border:1px solid #d9dfd7;border-radius:14px;background:#f1f6f1;color:#193b2f;box-shadow:0 5px 16px rgba(35,55,43,.035);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
.dashboard-shortcut:hover{transform:translateY(-1px);border-color:#b8cbbd;background:#f7faf6;box-shadow:0 8px 20px rgba(35,55,43,.07)}
.dashboard-shortcut-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#dfeade;font-size:18px;line-height:1}
.dashboard-shortcut-copy{min-width:0;display:block}
.dashboard-shortcut-copy strong,.dashboard-shortcut-copy small{display:block;min-width:0}
.dashboard-shortcut-copy strong{font-size:13px;line-height:1.15;white-space:normal;overflow-wrap:normal;word-break:normal}
.dashboard-shortcut-copy small{margin-top:4px;color:#728078;font-size:8px;line-height:1.25;white-space:normal;overflow-wrap:normal;word-break:normal}
.dashboard-shortcut-arrow{font-size:14px;font-weight:900;color:#5c7666;text-align:right}
.dashboard-shortcut.is-locked{background:#f1f2ee;color:#66756b;border-color:#dde0d9}
.dashboard-shortcut.is-locked .dashboard-shortcut-icon{background:#e8e9e4;filter:grayscale(.2)}
.dashboard-shortcut.is-locked .dashboard-shortcut-arrow{color:#98a29b}
.dashboard-shortcut.is-primary{background:#193f30;color:#fff;border-color:#193f30}
.dashboard-shortcut.is-primary .dashboard-shortcut-icon{background:rgba(255,255,255,.14);color:#fff}
.dashboard-shortcut.is-primary .dashboard-shortcut-copy small,.dashboard-shortcut.is-primary .dashboard-shortcut-arrow{color:#d8e8dd}
.dashboard-shortcut.is-primary:hover{background:#245440;border-color:#245440}
@media(max-width:1100px){.dashboard-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-page-head{margin-bottom:16px}.dashboard-page-copy{margin-bottom:12px}.dashboard-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-shortcut{min-height:78px;grid-template-columns:34px minmax(0,1fr) 14px;gap:8px;padding:10px}.dashboard-shortcut-icon{width:34px;height:34px;border-radius:10px;font-size:16px}.dashboard-shortcut-copy strong{font-size:12px}.dashboard-shortcut-copy small{font-size:7px}.dashboard-shortcut-arrow{font-size:12px}}
@media(max-width:420px){.dashboard-shortcuts{grid-template-columns:1fr}.dashboard-shortcut{min-height:68px}.dashboard-shortcut.is-primary{grid-column:auto}}

/* === AniZoo V2.0.0 : extension Savane & nouvelles silhouettes === */
.enclosure-stage.habitat-savanna{background:#b8914e}
.enclosure-stage.habitat-savanna .stage-bg:before{filter:sepia(.25) saturate(1.22) hue-rotate(-10deg) brightness(1.04) contrast(1.03)}
.enclosure-stage.habitat-savanna .stage-bg:after{background:linear-gradient(180deg,rgba(206,174,91,.08),rgba(124,91,38,.20)),url('../enclosures/prairie-ground.svg') center bottom/100% 100% no-repeat;filter:sepia(.34) saturate(1.3) hue-rotate(-13deg) brightness(1.05)}
.habitat-thumb-savanna{background:linear-gradient(145deg,#b47b32,#e4c46b)}
.habitat-card-savanna .habitat-choice-visual{background:linear-gradient(145deg,#9a6528,#e0bd60)}
.enclosure-thumb.habitat-thumb-savanna{display:grid;place-items:center}

.stage-animal.species-giraffe{width:9.4%}
.stage-animal.species-zebra{width:11.2%}
.stage-animal.species-jackal{width:7.6%}
.stage-animal.species-badger{width:8.0%}
.stage-animal.species-mole{width:6.2%}
.stage-animal.species-tortoise{width:7.2%}
.stage-animal.species-giraffe img,.stage-animal.species-zebra img,.stage-animal.species-jackal img,.stage-animal.species-badger img,.stage-animal.species-mole img,.stage-animal.species-tortoise img{object-fit:contain;filter:saturate(1.05) contrast(1.03) drop-shadow(0 7px 5px rgba(34,43,31,.24))}
.stage-animal.species-mole img{filter:saturate(.96) contrast(1.05) drop-shadow(0 5px 4px rgba(34,43,31,.24))}
@media(max-width:720px){
  .stage-animal.species-giraffe{width:11.0%}.stage-animal.species-zebra{width:13.0%}.stage-animal.species-jackal{width:9.2%}.stage-animal.species-badger{width:9.7%}.stage-animal.species-mole{width:7.7%}.stage-animal.species-tortoise{width:8.8%}
}
