/* The reference home is the first page: account, collection, logo, play. */
body.landing{padding-bottom:calc(76px + env(safe-area-inset-bottom));background:#000}
body.landing .shell{height:auto;min-height:calc(100svh - 76px);max-width:760px;display:block;padding:0 18px}
body.landing header.compact-player-header{display:grid!important;grid-template-columns:1fr auto;gap:14px 0;position:relative;height:auto;padding:18px 0 0;margin:0;background:#000}
body.landing header.compact-player-header>.brand{font-size:clamp(30px,7vw,42px);margin:0;grid-column:1;line-height:1.15}
body.landing header .compact-header-monkey{display:none}
body.landing header .topnav{display:none}
body.landing header.compact-player-header .language-picker{grid-column:2;grid-row:1;width:auto;margin:0;align-self:end;font-size:10px;padding-right:44px}
body.landing .player-header-panel{grid-column:1/-1;overflow:visible;border:0;background:none;box-shadow:none;border-radius:0;display:flex;flex-direction:column;gap:10px}
body.landing header.compact-player-header .player-header-panel .avatar{border:1.5px solid #dfbc67;background:linear-gradient(110deg,#1c180e,#070708 70%);border-radius:18px;min-height:66px;display:grid;grid-template-columns:46px minmax(0,1fr);padding:9px 12px;width:100%;gap:10px}
body.landing .avatar .player-header-details{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0}
body.landing header.compact-player-header .avatar #avatarName{font-size:clamp(14px,3.4vw,22px);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.landing header.compact-player-header .avatar .header-points{border:1.5px solid #e4c063;border-radius:999px;padding:8px 10px;font-size:clamp(12px,3.2vw,19px);white-space:nowrap;color:#f3cc69;background:#17130a}
body.landing .zoo-header{border:1.5px solid #dfbc67;border-radius:18px;background:linear-gradient(120deg,#19160e,#070708 70%);padding:12px 10px 14px;text-align:center}
.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;margin-bottom:12px;font-size:clamp(18px,4.8vw,27px);font-weight:800}
.collection-heading>span:first-child{display:flex;gap:8px;align-items:center}.collection-heading>span:first-child::first-letter{color:#ffdc76}
#headerZooCount{font-size:clamp(16px,4vw,23px);color:#f4ce6c;white-space:nowrap}
body.landing .zoo-heads{gap:4px}body.landing .zoo-art,body.landing .zoo-rare:before{max-width:105px}
body.landing .zoo-head small{font-size:clamp(8px,2.2vw,12px)}
.collection-track{height:14px;position:relative;margin:14px 7% 10px;display:flex;justify-content:space-between;align-items:center}
.collection-track:before{content:'';position:absolute;left:0;right:0;height:3px;background:#55505a}
.collection-track i{display:block;position:relative;z-index:1;width:14px;height:14px;border:1px solid #817985;border-radius:50%;background:#0c0b0e}
.collection-track i.collected{border-color:#ffd96d;background:#f9d976;box-shadow:0 0 8px #f1c75c60}
body.landing .zoo-tagline{font-size:clamp(18px,4.7vw,28px);line-height:1.25;color:#f8db8c;margin:12px 0 0;text-wrap:balance}
body.landing .owner-tools{justify-content:center;margin:8px 0 0;min-height:0}
body.landing .owner-presence{font-size:clamp(12px,3.2vw,16px);padding:8px 16px;border-radius:999px}
body.landing #notificationsButton{position:absolute;top:17px;right:18px;width:38px;height:38px;min-height:0;padding:5px;border:1px solid #c6a652;border-radius:50%;font-size:17px;background:#0b0b0b;z-index:5}
body.landing #notificationsButton>span:nth-child(2){display:none}body.landing #notificationsBadge{position:absolute;top:-4px;right:-4px;font-size:9px}
body.landing main{display:block;margin:0;padding:0}
body.landing #accueil{display:block;width:100%;height:auto;min-height:0}
body.landing .neonhero{display:flex;align-items:center;height:auto;min-height:0;width:100%;padding:0 0 12px;margin:0}
body.landing .neonhero .logowrap{width:min(72vw,490px);height:auto;max-width:100%;min-height:0;margin:0 auto;gap:0}
body.landing .animated-entry{display:block;width:100%;height:auto;flex:none;line-height:0;aspect-ratio:1122/1210;overflow:hidden}
body.landing .neonhero .home-logo{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.home-play-button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:96%;padding:9px 15px;margin:4px auto 0;min-height:43px;background:linear-gradient(180deg,#e92dff,#ab00dc 45%,#7200a9);border:1.5px solid #ee49ff;border-radius:999px;box-shadow:inset 0 2px 5px #ffffff45,0 0 9px #aa00cf35;color:white;font-size:clamp(13px,3.7vw,23px);font-weight:800;white-space:nowrap}
.home-play-button>span:first-child{font-size:32px;line-height:.7}.home-play-button>span:last-child{font-size:27px;line-height:.7}.home-play-button:hover{filter:brightness(1.12)}
body.landing .mobilebar{display:flex!important;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#0d0210f5;border-top:1px solid #6c2873;min-height:70px;padding:10px 6px calc(10px + env(safe-area-inset-bottom));justify-content:space-around}
body.landing .mobilebar button{font-size:11px}body.landing .mobilebar button span{font-size:25px}
body.landing footer{display:none!important}
@media(min-width:761px){body.landing .shell{max-width:720px}body.landing .neonhero .logowrap{width:420px}}

/* Approved compact home: full logo and matte entry button in the viewport. */
body.landing .shell{height:calc(100svh - 76px - env(safe-area-inset-bottom));min-height:580px;display:flex;flex-direction:column}
body.landing header.compact-player-header{flex:none;gap:10px 0;padding-top:12px}
body.landing header.compact-player-header .player-header-panel .avatar{min-height:58px;padding:6px 10px}
body.landing .avatar .player-header-details{flex-direction:row!important;align-items:center!important}
body.landing header.compact-player-header .avatar #avatarName{flex:1;min-width:0;font-size:clamp(12px,3.4vw,22px)}
body.landing header.compact-player-header .avatar .header-points{flex:none;padding:6px 9px}
body.landing .zoo-header{padding:9px 10px 10px}
body.landing .collection-heading{margin-bottom:6px;font-size:clamp(18px,4.8vw,25px)}
body.landing .zoo-art,body.landing .zoo-rare:before{max-width:clamp(48px,8svh,85px)}
body.landing .collection-track{margin:9px 7% 6px;height:12px}
body.landing .zoo-tagline{font-size:clamp(15px,4vw,23px);line-height:1.2;margin:6px 0 0}
body.landing .owner-tools{flex:none;margin:7px 0 3px}
body.landing main{flex:1;min-height:0;display:flex}
body.landing #accueil{display:flex;height:100%;min-height:0}
body.landing .neonhero{height:100%;min-height:0;padding:2px 0 8px;justify-content:center}
body.landing .neonhero .logowrap{height:100%;width:100%;max-width:490px;min-height:0}
body.landing .animated-entry{flex:1;min-height:0;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;overflow:visible}
body.landing .neonhero .home-logo{width:100%;height:100%;max-height:100%;object-fit:contain}
body.landing .home-play-button{flex:none;justify-content:center;width:96%;min-height:48px;padding:9px 16px;margin:5px auto 0;background:#252525;border:1.5px solid #db26df;color:#ef1dff;box-shadow:none;text-shadow:none;font-size:clamp(23px,6vw,32px);line-height:1.2;letter-spacing:.5px}
body.landing .home-play-button>span:first-child{font-size:inherit;line-height:inherit}
body.landing .home-play-button:hover{background:#303030;filter:none}
.home-sign-in{flex:none;display:block;margin:7px auto 0;font-size:14px;line-height:1.3;color:#b9b3be;text-decoration:underline;text-underline-offset:4px}
@media(min-width:761px){body.landing .shell{min-height:650px;max-width:720px}body.landing .neonhero .logowrap{width:100%}}
@media(max-height:680px){body.landing header.compact-player-header{gap:7px 0;padding-top:8px}body.landing .player-header-panel{gap:7px}body.landing .collection-heading{margin-bottom:4px}body.landing .zoo-art,body.landing .zoo-rare:before{max-width:48px}body.landing .collection-track{margin-top:6px}body.landing .home-play-button{min-height:44px}}

/* Give the main logo the space recovered above it; reserve both entry links. */
body.landing .shell{height:calc(100svh - 64px - env(safe-area-inset-bottom));min-height:0}
body.landing{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
body.landing header.compact-player-header{padding-top:8px;gap:8px 0}
body.landing .player-header-panel{gap:8px}
body.landing header.compact-player-header .player-header-panel .avatar{min-height:48px;padding:5px 10px;grid-template-columns:36px minmax(0,1fr)}
body.landing header.compact-player-header .avatar #avatarInitial{width:36px;height:36px}
body.landing header.compact-player-header .avatar .header-points{padding:5px 9px}
body.landing .zoo-header{padding:7px 9px 8px}
body.landing .collection-heading{font-size:20px;line-height:1.2;margin-bottom:4px}
body.landing .zoo-art,body.landing .zoo-rare:before{max-width:clamp(42px,6.5svh,64px)}
body.landing .zoo-head small{font-size:clamp(8px,2vw,11px);line-height:1.2}
body.landing .zoo-progress{font-size:9px;padding:3px 0 0}
body.landing .collection-track{height:10px;margin:6px 7% 4px}
body.landing .collection-track i{width:10px;height:10px}
body.landing .zoo-tagline{font-size:clamp(14px,3.7vw,20px);line-height:1.15;margin:4px 0 0}
body.landing .owner-tools{margin:5px 0 1px}
body.landing .owner-presence{padding:5px 13px;font-size:12px}
body.landing .neonhero{padding:0 0 4px}
body.landing .neonhero .logowrap{max-width:560px}
body.landing .animated-entry{overflow:hidden}
body.landing .neonhero .home-logo{max-height:none;object-fit:contain}
body.landing .home-play-button{min-height:46px;margin-top:2px}
body.landing .home-sign-in{margin-top:5px;font-size:14px}
body.landing .mobilebar{min-height:60px;padding:7px 6px calc(7px + env(safe-area-inset-bottom))}
body.landing .mobilebar button span{font-size:22px}
@media(max-height:620px){body.landing .collection-heading{font-size:18px}body.landing .zoo-art,body.landing .zoo-rare:before{max-width:38px}body.landing .zoo-tagline{font-size:13px}body.landing .home-play-button{min-height:40px}body.landing .owner-presence{padding:3px 11px}}

/* Keep the complete entry area above the fixed navigation on every screen. */
body.landing{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
body.landing .shell{height:calc(100svh - 76px - env(safe-area-inset-bottom));height:calc(100dvh - 76px - env(safe-area-inset-bottom));min-height:0}
body.landing main{flex:1 1 0;min-height:0;overflow:hidden;width:100%}
body.landing #accueil{flex:1 1 0;min-height:0}
body.landing .neonhero{flex:1 1 0;min-height:0;padding:0 0 8px;justify-content:flex-start}
body.landing .neonhero .logowrap{display:grid;grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;height:100%;min-height:0;margin:0 auto}
body.landing .animated-entry{height:100%;min-height:0;width:100%;overflow:hidden;align-items:flex-start}
body.landing .neonhero .home-logo{width:100%;height:100%;max-height:100%;min-height:0;object-fit:contain;object-position:center top}
body.landing .home-play-button{margin-top:4px;min-height:46px}
body.landing .home-sign-in{margin-top:5px;min-height:24px}
