/* v366: presentation only; marker positions and visibility remain MapLibre-owned. */
#screen-birdex { padding-top:8px; }
#screen-birdex #burbzModeTabs { margin:0 0 5px; padding:3px; }
#screen-birdex .burbz-mode-btn { min-height:42px; font-size:15px; }
#screen-birdex .filter-row { gap:5px; margin:0; padding:2px 1px 3px; min-height:36px; scrollbar-width:thin; }
#screen-birdex .filter-btn { flex:0 0 auto; min-height:32px; padding:5px 9px; font-size:12px; line-height:1.2; border-radius:8px; text-transform:none; }
#screen-birdex .filter-btn:focus-visible { outline:2px solid var(--accent2); outline-offset:-2px; }
#screen-birdex #birdFamilyFilterRow .filter-btn.active { color:var(--text)!important; border-color:var(--accent2)!important; }
#screen-birdex #birdGrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; max-width:1120px; margin:7px auto 0; align-items:start; }
#screen-birdex #birdGrid .bird-card { width:100%; max-width:380px; justify-self:center; }
#screen-birdex #birdGrid .bird-card:not(.locked-card),
#screen-birdex #birdGrid .bird-card:not(.locked-card) .bird-card-inner { height:508px; min-height:508px; }
#screen-birdex #birdGrid .bird-card.known-species,
#screen-birdex #birdGrid .bird-card.known-species .bird-card-inner { height:508px; min-height:508px; }
#screen-birdex .card-front { display:flex; flex-direction:column; overflow:hidden; }
#screen-birdex .card-art { height:270px; min-height:270px; flex:0 0 270px; }
#screen-birdex .card-art > img:not(.card-art-wash) { object-fit:contain; }
#screen-birdex .card-info { padding:10px 13px; gap:3px; display:flex; flex-direction:column; flex:1; }
#screen-birdex .card-name { font-size:19px; line-height:1.15; min-height:0; white-space:normal; }
#screen-birdex .card-nickname { font-size:13px; min-height:0; line-height:1.25; }
#screen-birdex .card-nickname:empty { display:none; }
#screen-birdex .card-level { top:10px; left:10px; font-size:12px; }
#screen-birdex .card-heading { display:flex; align-items:flex-start; gap:4px; }
#screen-birdex .card-identity { flex:1; min-width:0; }
/* A quiet 16px icon in the black information area; retain a 44px tap target. */
#screen-birdex .card-location-btn { position:static; flex:0 0 44px; width:44px; height:44px; min-height:44px; margin:0; padding:14px; border-radius:7px; background:transparent; color:#b8c5b9; border:0; box-shadow:none; }
#screen-birdex .card-location-btn svg { width:16px; height:16px; flex:none; }
#screen-birdex .card-location-btn:hover { background:#ffffff0c; color:#efffea; }
#screen-birdex .card-location-btn:focus-visible { outline:3px solid #fff2c4; outline-offset:2px; }
#screen-birdex .card-care-gauges { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:5px 0 3px; }
#screen-birdex .bird-hunger-bar { margin:0; }
#screen-birdex .bird-hunger-head { font-size:11px; text-transform:none; letter-spacing:0; }
#screen-birdex .bird-hunger-track, #screen-birdex .card-hp-bar { height:8px; margin:0; }
#screen-birdex .bird-hunger-note { display:none; }
#screen-birdex .bird-hunger-bar[data-hunger-state="urgent"] .bird-hunger-note { display:block; font-size:10px; }
#screen-birdex .card-front-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:auto; }
#screen-birdex .card-pet-btn, #screen-birdex .card-facts-link, #screen-birdex .birdex-more-info { display:flex; justify-content:center; align-items:center; min-height:36px; margin:0; padding:6px 8px; font:700 13px/1.2 'Inter',sans-serif; cursor:pointer; border-radius:8px; }
#screen-birdex .card-facts-link { width:100%; color:var(--accent2); border:0; background:transparent; text-decoration:underline; text-underline-offset:3px; }
#screen-birdex .card-back { padding:24px 22px 19px; display:flex; flex-direction:column; gap:8px; overflow:auto; overscroll-behavior:contain; background:#242516 url('assets/illustrated-world-v366/card-folio.webp') center/100% 100% no-repeat; color:#f9edcf; }
#screen-birdex .card-back .card-back-title { color:#fff0bc!important; font:700 18px/1.15 'Inter',sans-serif; }
#screen-birdex .card-back-meta { color:#dbcda8; font-size:11px; line-height:1.4; text-transform:capitalize; margin-top:4px; }
#screen-birdex .card-back-scientific { color:#c5cdb1; font-size:11px; font-style:italic; }
#screen-birdex .card-back-section-label { color:#d4c795; font-size:10px; margin:0; letter-spacing:.09em; }
#screen-birdex .card-back-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; flex:none; }
#screen-birdex .card-back-stat { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:42px; padding:5px 6px; border:1px solid #b0ad7133; border-radius:6px; background:#101b1399; box-shadow:none; }
#screen-birdex .card-back-stat-label { color:#dadcbe; font-size:10px; text-transform:none; letter-spacing:0; line-height:1.2; }
#screen-birdex .card-back-stat-value { color:#fff1c4; font:700 16px/1.25 'Inter',sans-serif; }
#screen-birdex .card-back-special { padding:7px; margin:0; background:#122217aa; color:#e9dda3; border:1px solid #b9af6033; font-size:12px; line-height:1.35; }
#screen-birdex .card-back-utilities { display:grid; grid-template-columns:1fr 1fr; gap:6px; flex:none; }
#screen-birdex .card-back .card-pet-btn { background:#394430; color:#fff3ce; border:1px solid #c7bb7870; box-shadow:none; }
#screen-birdex .card-back .card-facts-link { color:#fff0aa; }
#screen-birdex .card-placement { font-size:12px; color:#f8eac5; }
#screen-birdex .card-placement summary { min-height:30px; cursor:pointer; padding:6px 0; }
#screen-birdex .card-back-rooms { margin:4px 0; max-height:140px; overflow:auto; }
#screen-birdex .card-back .card-return { margin-top:auto; width:100%; }
#screen-birdex .birdex-learning-title { color:#ffefba; font-size:19px; }
#screen-birdex .birdex-learning-scientific, #screen-birdex .birdex-learning-value { color:#f6ebcc; font-size:12px; }
#screen-birdex .birdex-learning-label, #screen-birdex .birdex-learning-kicker { color:#cfceaa; font-size:11px; }
#screen-birdex .birdex-learning-fact { background:#172719aa; border:1px solid #b0ad7133; padding:6px; }
#screen-birdex .companions-empty, #screen-birdex .birdex-window-control { grid-column:1/-1; }
#screen-birdex .bird-card:focus-visible { outline:3px solid var(--accent2); outline-offset:3px; }
.bird-info-education .bird-info-section { margin:0; padding:10px 0; border:0; border-bottom:1px solid #a4a16a35; }
.bird-info-education .bird-info-section-body { font-size:14px; line-height:1.6; }
.bird-info-education .bird-info-section-title { font-size:12px; }
.bird-facts-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.bird-facts-sources { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.bird-facts-sources a { display:block; padding:8px 10px; font-size:12px; }
.bird-game-details { margin-top:18px; border:1px solid var(--border); border-radius:12px; padding:12px; }
.bird-game-details summary { cursor:pointer; font-weight:700; min-height:32px; }
.bird-source-details { margin:12px 0; border:1px solid var(--border); border-radius:10px; padding:10px 12px; }
.bird-source-details summary { cursor:pointer; font-weight:700; min-height:32px; }
.bird-source-details .bird-info-section-body { white-space:pre-line; }
.bird-info-game-note { color:var(--text3); font-size:12px; line-height:1.5; }
.bird-info-game-note a { color:var(--accent2); text-underline-offset:3px; }
/* Atlas quadrants: frontier / village / county town / royal seat. */
#empireMapCard { height:calc(100dvh - 230px); height:clamp(380px,calc(100dvh - 230px),880px); margin:6px 8px 10px; }
#empireMapCard .empire-map-tools { gap:4px; top:10px; left:10px; right:10px; flex-wrap:nowrap; }
#empireMapCard .empire-map-btn { min-height:40px; padding:7px 10px; font:700 12px/1.2 'Inter',sans-serif; text-transform:none; letter-spacing:0; color:#f3eaca; background:#192c24ee; border:1px solid #9a9d68; }
#empireMapCard .empire-map-btn::after { content:none; }
#empireMapCard .empire-map-btn.is-active { color:#17271e; background:#e5cc86; border-color:#fff0b3; }
#empireMapKeyBtn { margin-left:auto; }
#empireMapCard .empire-map-vignette { box-shadow:inset 0 0 24px #17221944; background:linear-gradient(#15251833,transparent 20%,transparent 85%,#15251833); }
#empireWorldMap .empire-map-marker:not(.is-player) .empire-map-marker-icon { width:74px; height:74px; border:0; border-radius:0; background:transparent url('assets/illustrated-world-v366/settlements.webp') 100% 0/200% 200% no-repeat; box-shadow:none; }
#empireWorldMap .empire-map-marker:not(.is-player) .empire-map-marker-icon > span { display:none; }
#empireWorldMap .empire-map-marker:not(.is-player) .empire-map-marker-banner { display:none; }
#empireWorldMap .empire-map-marker.is-frontier .empire-map-marker-icon { background-position:0 0; filter:saturate(.6) brightness(.87); }
#empireWorldMap .empire-map-marker.is-settlement .empire-map-marker-icon,
#empireWorldMap .empire-map-marker.is-region .empire-map-marker-icon { width:86px; height:86px; background-position:0 100%; }
#empireWorldMap .empire-map-marker.is-liege .empire-map-marker-icon { width:98px; height:98px; background-position:100% 100%; }
#empireWorldMap .empire-map-marker.is-world-pin .empire-map-marker-icon { width:44px; height:44px; }
#empireWorldMap .empire-map-marker-label { margin-top:-3px; font:700 11px/1.2 'Inter',sans-serif; padding:5px 8px; color:#fff2c8; }
@media(max-width:520px) {
  #screen-birdex { padding-left:12px; padding-right:12px; }
  #screen-birdex #birdGrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bird-facts-grid { grid-template-columns:1fr; }
  #empireMapCard { height:calc(100dvh - 210px); min-height:390px; }
  #empireWorldMap .empire-map-marker:not(.is-player) .empire-map-marker-icon { width:62px; height:62px; }
  #empireWorldMap .empire-map-marker.is-liege .empire-map-marker-icon { width:80px; height:80px; }
}
@media(prefers-reduced-motion:reduce) { #screen-birdex .bird-card-inner { transition:none; } }
#screen-birdex .card-back-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 8px; align-items:start; flex:none; }
#screen-birdex .card-back-meta { margin:0; text-align:right; max-width:155px; }
#screen-birdex .card-back-scientific { grid-column:1/-1; }
/* The collection uses the same unobstructed management layout as Academy rooms. */
body[data-active-screen="birdex"] .merlin-perch-assembly { display:none; }
#birdInfoModal .bird-info-close { position:sticky; top:0; display:block; width:auto; min-width:84px; min-height:40px; margin:0 0 8px auto; padding:8px 14px; z-index:2; }
#screen-village .empire-title-row { min-height:32px; margin-bottom:6px; align-items:center; }
#screen-village .empire-title-row .screen-title { font-size:17px; margin:0; }
#empireCollectBar .empire-tribute-btn { min-height:34px; padding:7px 10px; margin:0 0 6px; font-size:12px; }
#empirePagesNav { margin-bottom:6px; }
#empirePagesNav .empire-page-tab { flex-direction:row; min-height:40px; gap:5px; }
#empirePagesNav .ept-icon { width:32px; height:30px; }
#empireMapCard { height:var(--atlas-height,calc(100dvh - 330px)); min-height:260px; }

/* Birds is a compact collection browser, with no currency strip. */
body[data-active-screen="birdex"] .hud-resources,
body[data-active-screen="birdex"] #globalMoneyHud { display:none!important; }
#screen-birdex .card-care-gauges { grid-template-columns:44px minmax(0,1fr) minmax(0,1fr); gap:9px; align-items:center; }
#screen-birdex .card-care-gauges > .card-location-btn { position:static; margin:0; flex:none; }
body:has(#birdInfoModal.show) .hud-resources,
body:has(#birdInfoModal.show) #globalMoneyHud,
body:has(#birdEquipOverlay.show) .hud-resources,
body:has(#birdEquipOverlay.show) #globalMoneyHud { display:none!important; }

/* Two portrait columns lead straight into the complete companion card. */
#screen-birdex #birdGrid { gap:10px; max-width:920px; align-items:stretch; }
#screen-birdex #birdGrid .bird-card { grid-column:auto; min-width:0; max-width:none; }
#screen-birdex #birdGrid .bird-card:not(.locked-card),
#screen-birdex #birdGrid .bird-card:not(.locked-card) .bird-card-inner { height:auto; min-height:0; }
#screen-birdex #birdGrid .card-front { position:relative; inset:auto; min-height:100%; }
#screen-birdex #birdGrid .card-back { display:none; }
#screen-birdex #birdGrid .card-art { height:auto; min-height:0; flex:0 0 auto; aspect-ratio:1; }
#screen-birdex .card-info { padding:9px 8px; gap:4px; }
#screen-birdex .card-name { font-size:15px; overflow-wrap:anywhere; }
#screen-birdex .card-nickname { font-size:12px; }
#screen-birdex .card-care-gauges { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
#screen-birdex .card-front-actions { gap:5px; padding-top:3px; }
#screen-birdex .card-pet-btn,#screen-birdex .recruit-btn { min-height:44px; padding:5px 4px; font-size:11px; overflow-wrap:anywhere; }
#screen-birdex .card-bond-label { font-size:10px; }
#screen-birdex .bird-hunger-head { font-size:10px; gap:3px; }
#screen-birdex .known-species .card-info { flex:1; }
#screen-birdex .known-species .card-species { font-size:10px; }
#screen-birdex .known-species .recruit-btn { margin-top:auto; }

#birdEquipOverlay .bird-equip-scroll { max-width:1000px; padding:8px 12px calc(20px + env(safe-area-inset-bottom)); }
#birdEquipOverlay .bird-equip-topbar { top:-8px; padding:5px 0; margin-bottom:4px; }
#birdEquipOverlay .bird-equip-title { padding:0 48px 0 0; font-size:12px; }
#birdEquipOverlay .bird-equip-pager { margin:0 0 4px; font-size:10px; letter-spacing:0; }
#birdEquipOverlay .bird-equip-pager .bep-arrow { min-height:44px; }
#birdEquipOverlay .bird-equip-layout { gap:18px; }
#birdEquipOverlay .bird-equip-profile { margin:0; }
#birdEquipOverlay .bird-equip-hero { margin:0; border-radius:14px; }
#birdEquipOverlay .bird-equip-identity { padding:12px; }
#birdEquipOverlay .bird-equip-name { font-size:21px; }
#birdEquipOverlay .bird-equip-power { margin:8px 0 6px; gap:8px; font-size:11px; }
#birdEquipOverlay .bird-equip-power b { font-size:16px; }
#birdEquipOverlay .bird-equip-sub { font-size:11px; line-height:1.4; }
#birdEquipOverlay .bird-equip-stats { grid-template-columns:repeat(5,minmax(0,1fr)); margin:8px 0; border-radius:9px; }
#birdEquipOverlay .bird-equip-stat { padding:7px 2px; min-width:0; }
#birdEquipOverlay .bird-equip-stat.is-personality { grid-column:auto; display:block; }
#birdEquipOverlay .bird-equip-stat .bes-label { font-size:10px; letter-spacing:0; }
#birdEquipOverlay .bird-equip-stat .bes-value { font-size:15px; margin-top:3px; }
#birdEquipOverlay .bird-equip-section-label { margin:9px 0 5px; font-size:11px; }
#birdEquipOverlay .bird-equip-slots { grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; margin-bottom:8px; }
#birdEquipOverlay .bird-equip-slot,#birdEquipOverlay .bird-equip-slot:last-child:nth-child(odd) { grid-column:auto; flex-direction:column; align-items:center; justify-content:flex-start; min-width:0; min-height:92px; padding:6px 3px; gap:4px; text-align:center; }
#birdEquipOverlay .bird-equip-slot .beq-icon { width:38px; height:38px; }
#birdEquipOverlay .bird-equip-slot .beq-slot-label { font-size:10px; letter-spacing:0; }
#birdEquipOverlay .bird-equip-slot .beq-item { font-size:10px; line-height:1.3; overflow-wrap:anywhere; }
#birdEquipOverlay .bird-equip-slot .beq-meta { font-size:9px; line-height:1.3; overflow-wrap:anywhere; }
#birdEquipOverlay .bird-equip-slot:disabled { opacity:.55; cursor:default; }
#birdEquipOverlay .bird-equip-bond { padding:9px; margin:0 0 8px; border-radius:10px; display:grid; grid-template-columns:minmax(0,1fr) 110px; gap:3px 9px; align-items:center; }
#birdEquipOverlay .bond-head { display:block; }
#birdEquipOverlay .bond-title { display:block; margin-top:3px; font-size:10px; }
#birdEquipOverlay .bond-hearts { font-size:12px; letter-spacing:0; }
#birdEquipOverlay .bond-meter { grid-column:1; margin-top:3px; }
#birdEquipOverlay .bond-meter-note { grid-column:1; font-size:10px; line-height:1.25; }
#birdEquipOverlay .bond-preen-btn { grid-column:2; grid-row:1/4; margin:0; min-height:48px; font-size:10px; gap:4px; padding:4px; }
#birdEquipOverlay .bond-preen-btn .bird-equip-placeholder { width:28px; height:28px; flex:none; }
#birdEquipOverlay .bond-hint { display:none; }
#birdEquipOverlay .full-card-care { display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:center; font-size:11px; }
#birdEquipOverlay .full-card-care .bird-hunger-note { display:none; }
#birdEquipOverlay .full-card-care .bird-hunger-head { font-size:11px; }
#birdEquipOverlay .full-card-health { display:flex; justify-content:space-between; gap:5px; }
#birdEquipOverlay .full-card-actions { display:flex; gap:6px; margin:5px 0; }
#birdEquipOverlay .full-card-actions button,#birdEquipOverlay .full-card-recruit button { flex:1; min-height:44px; padding:7px; border:1px solid var(--accent3); border-radius:8px; color:var(--text); background:var(--bg3); font-size:12px; }
#birdEquipOverlay .full-card-special { margin:7px 0; font-size:12px; line-height:1.4; }
#birdEquipOverlay .full-card-special span { margin-right:8px; color:var(--text3); font-size:10px; text-transform:uppercase; }
#birdEquipOverlay .full-card-recruit { display:grid; gap:7px; font-size:12px; margin-bottom:8px; }
#birdEquipOverlay :is(.full-card-facts,.full-card-battle) { margin-top:7px; border-top:1px solid var(--border); font-size:12px; }
#birdEquipOverlay :is(.full-card-facts,.full-card-battle) > summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:var(--accent2); font-weight:700; }
#birdEquipOverlay :is(.full-card-facts,.full-card-battle) > summary::after { content:'＋'; margin-left:auto; }
#birdEquipOverlay :is(.full-card-facts,.full-card-battle)[open] > summary::after { content:'−'; }
#birdEquipOverlay .bird-info-section-body { font-size:12px; line-height:1.55; }
#birdEquipOverlay .bird-info-section-title { font-size:11px; }
#birdEquipOverlay .bird-info-education-title { font-size:16px; }
#birdEquipOverlay .full-card-facts .bird-facts-grid { grid-template-columns:1fr; }
@media(max-width:680px) {
 #birdEquipOverlay .bird-equip-layout { display:block; }
 #birdEquipOverlay .bird-equip-hero { display:grid; grid-template-columns:42% minmax(0,1fr); align-items:stretch; }
 #birdEquipOverlay .bird-equip-portrait { aspect-ratio:auto; min-height:168px; }
 #birdEquipOverlay .bird-equip-identity { border-top:0; border-left:1px solid var(--border); display:flex; flex-direction:column; justify-content:center; padding:10px; }
 #birdEquipOverlay .bird-equip-name { font-size:18px; }
 #birdEquipOverlay .bird-equip-rarity { bottom:6px; left:6px; padding:3px 5px; font-size:9px; }
 #birdEquipOverlay .bird-equip-fav { top:5px; right:5px; }
 #birdEquipOverlay .bird-equip-details { margin-top:5px; }
}
/* Landscape phones: a square portrait filled the whole short screen and
   pushed the name and stats below the fold. Sit them side by side. */
@media(min-width:681px) and (max-height:500px) {
 #birdEquipOverlay .bird-equip-hero { display:grid; grid-template-columns:42% minmax(0,1fr); align-items:stretch; }
 #birdEquipOverlay .bird-equip-portrait { aspect-ratio:auto; min-height:168px; }
 #birdEquipOverlay .bird-equip-identity { border-top:0; border-left:1px solid var(--border); display:flex; flex-direction:column; justify-content:center; padding:10px 14px; }
 #birdEquipOverlay .bird-equip-name { font-size:20px; }
}
/* In the narrow side-by-side portrait, a 100px emoji ran under the heart. */
@media(max-width:680px),(max-height:500px) {
 #birdEquipOverlay :is(.bird-equip-art-emoji,.bird-equip-art-fallback) { font-size:64px; }
}
@media(max-width:350px) {
 #screen-birdex { padding-left:8px; padding-right:8px; }
 #screen-birdex #birdGrid { gap:7px; }
 #screen-birdex .card-name { font-size:13px; }
 #birdEquipOverlay .bird-equip-scroll { padding-left:9px; padding-right:9px; }
 #birdEquipOverlay .bird-equip-name { font-size:16px; }
}

/* Owned companions keep species and personal identity on one stable line. */
#screen-birdex [data-owned-bird-card] .card-name-row { display:flex; align-items:baseline; gap:6px; min-width:0; height:20px; overflow:hidden; }
#screen-birdex [data-owned-bird-card] .card-name-row .card-name { flex:0 0 auto; max-width:65%; min-width:0; line-height:20px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#screen-birdex [data-owned-bird-card] .card-name-row .card-nickname { flex:1 1 0; min-width:0; margin:0; line-height:20px; }
/* A full painting fills the phone-width portrait. Contain left the habitat
   backdrop showing as a strip above the square art. Cutouts still contain. */
@media(max-width:680px) {
 #birdEquipOverlay .bird-equip-portrait > .bird-equip-art:not([src*="_cutout"]) { object-fit:cover; }
}
