/* Compact shared app shell. Game mechanics and reward state stay in their modules. */
:root{--dock-space:0px}
body{padding-bottom:env(safe-area-inset-bottom)}
body>header{display:flex;align-items:center;gap:12px;min-height:60px;max-width:1250px;margin:auto;padding:calc(6px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 6px max(16px,env(safe-area-inset-left))}
header .brand{font-size:22px;gap:7px;white-space:nowrap}
header .brand-icon{width:34px;height:34px;font-size:26px}
header .game-dock{position:static;transform:none;display:flex;align-items:center;flex:1;justify-content:flex-end;gap:8px;width:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;z-index:auto}
header .game-dock .dock-item,header .home-button{flex:0 0 auto;flex-direction:row;min-width:0;min-height:46px;padding:4px 11px;gap:6px;border-width:2px;border-radius:15px;font-size:14px;box-shadow:0 2px 0 #c5b5d7}
header .dock-art{width:30px;height:30px;flex-shrink:0}
header .game-dock #book-count{position:static;min-width:20px;font-size:11px;line-height:16px;padding:1px;border-width:1px}
header .top-actions{display:flex;gap:8px;flex-shrink:0}
header .top-actions .icon-btn,header .parent-btn{min-width:46px;min-height:46px;padding:6px 10px;font-size:15px;border-radius:15px}
header [hidden]{display:none!important}
.in-family header .game-dock{display:flex;width:auto}
.star-banner{box-sizing:border-box;width:calc(100% - 32px);max-width:1080px;min-height:36px;margin:2px auto 8px;padding:4px 17px;gap:16px;border:2px solid #fff;border-radius:16px;box-shadow:0 2px 0 #e5d6a6}
.star-banner[hidden]{display:none}
.star-caption{font-size:12px;min-width:0;max-width:none;line-height:1.2}
.star-track{height:7px;margin:8px 9px;min-width:85px}
.reward-star{font-size:25px}
.home-screen{padding-top:10px;min-height:0;padding-bottom:28px}
.home-welcome h1{font-size:clamp(34px,4vw,48px);margin:4px 0}
.home-welcome p{margin:7px 0;font-size:18px}
.home-screen .game-tiles{margin-top:18px}
.home-kicker{font-size:11px}
.family-game-screen,.family-board-open .family-game-screen{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.family-screen{padding-top:16px;padding-bottom:24px}
/* Reclaim the old dock allowance without changing the games' internal layouts. */
@media(min-width:761px){
 .board{width:min(100%,calc(100dvh - 365px),420px)}
 .dino-board{height:min(72vw,calc(100dvh - 230px))}
 .doctor-stage{width:min(370px,calc((100dvh - 245px)*.9))}
}
@media(max-width:760px){
 body>header{gap:6px;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
 header .brand{font-size:0;gap:0}header .brand-icon{font-size:25px;width:31px;height:31px}
 header .game-dock{gap:5px}header .top-actions{gap:5px}
 header .game-dock .dock-item,header .home-button{padding:4px 7px;gap:3px;font-size:12px}
 header .dock-art{width:26px;height:26px}
 header .parent-btn span{display:none}
 .star-banner{width:calc(100% - 18px);padding:4px 12px;gap:10px}
 .star-caption{font-size:11px;max-width:150px}
 .dino-board{height:min(72vw,calc(100dvh - 220px))}
}
@media(max-width:440px){
 header .brand{display:none}
 header .game-dock{justify-content:flex-start}
 header .game-dock .dock-item{gap:2px;padding:4px 5px;font-size:11px}
 header .game-dock #book-count{display:none}
 header .top-actions .icon-btn,header .parent-btn{min-width:44px;padding:5px}
}
.sticker-book #book-sections button[data-section=rare]{color:#704509;border-color:#ebc462;background:linear-gradient(120deg,#fff1b8,#f7cf62 45%,#ffedaa 65%,#eebc50);box-shadow:inset 0 1px 0 #fff8,0 2px 0 #b8842a}
.sticker-book #book-sections button[data-section=legendary]{color:#fff;background:radial-gradient(circle at 13% 24%,#fff 0 1px,transparent 2px),radial-gradient(circle at 85% 70%,#fff 0 1px,transparent 2px),linear-gradient(115deg,#514295,#8356af,#386b9b);border-color:#c5b4f5;box-shadow:inset 0 1px 0 #e3d4ff,0 2px 0 #624280;text-shadow:0 1px 2px #382654}
.sticker-book #book-sections button[aria-pressed=true]{outline:3px solid #7452a5;outline-offset:2px}
/* Narrow phones retain readable labels and full finger-height controls. */
@media(max-width:360px){header .game-dock .dock-art{display:none}header .game-dock .dock-item{padding:5px 7px}}
/* Generous shared navigation targets on Home and every game. */
body>header{gap:16px;min-height:82px;padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:10px;box-sizing:border-box}
header .game-dock,header .top-actions{gap:14px}
header .game-dock .dock-item,header .home-button{min-height:62px;min-width:94px;padding:8px 15px;gap:9px;font-size:17px;border-radius:19px}
header .dock-art{width:39px;height:39px}
header .top-actions .icon-btn,header .parent-btn{min-width:64px;min-height:62px;padding:8px 14px;font-size:18px;border-radius:19px}
header #sound{font-size:27px}
@media(max-width:1000px){
 header .brand{font-size:0}header .brand-icon{width:40px;height:40px;font-size:29px}
 header .parent-btn span{display:none}header .parent-btn{font-size:27px}
 header .game-dock .dock-item,header .home-button{font-size:15px;padding:8px 11px}
}
@media(max-width:760px){
 body>header{display:grid;grid-template-columns:1fr auto;gap:12px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 header .brand{display:flex;font-size:20px;grid-column:1;grid-row:1}
 header .top-actions{grid-column:2;grid-row:1;gap:14px}
 header .game-dock{grid-column:1/-1;grid-row:2;justify-content:stretch;gap:12px}
 header .game-dock .dock-item,header .home-button{flex:1;min-width:0;min-height:72px;padding:8px;font-size:15px;flex-direction:column;justify-content:center;gap:3px}
 header .game-dock .dock-art{display:block;width:34px;height:34px}
 header .game-dock #book-count{display:none}
 header .home-button>span{font-size:29px;line-height:30px}
}
