/* Changes brought over from the tvOS app's page review (October 2026), loaded
   last so they win over the earlier layers. One section per page. */

/* Home: no bottom ticker unless an NWS alert is in effect (the alert crawl,
   #weather-alert-crawl); the weather card's figures spread across its width. */
.ticker[hidden]{display:none!important}
.home-screen .weather-card .details{flex:1 1 0;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center}

/* Weather Watch: the radar map fills its panel, cropped top and bottom with
   the farm near the middle; the tile credit and the scan stamp sit side by
   side along the bottom so neither covers the other. */
.weather-map-frame{position:relative;flex:1 1 auto;min-height:44vh;overflow:hidden;border:1px solid #978866;background:#344434;display:flex;align-items:center}
.weather-map-frame .weather-map{width:100%;flex:0 0 auto;border:0}
.weather-map-frame .map-attribution{left:.6vw;bottom:.6vh;right:auto}
.weather-map-frame .radar-frame-stamp{right:.6vw;bottom:.6vh;left:auto}
.weather-map-panel{display:flex;flex-direction:column}

/* Our week: today stands out with a deep green bar, a TODAY tag and the date
   in a green disc (the Next line gives the date, in js/calendar.js). */
.calendar-today{position:relative;background:#dce6d6e6}
.calendar-today:before{content:'';position:absolute;left:0;right:0;top:0;height:5px;background:#3b6046}
.calendar-today-tag{margin-left:8px;font:700 .55em Arial,sans-serif;letter-spacing:.14em;color:#3b6046;vertical-align:middle}
.calendar-today .calendar-day-heading{color:#3b6046}
.calendar-today .calendar-day-number{display:inline-flex;align-items:center;justify-content:center;min-width:1.7em;height:1.7em;border-radius:50%;background:#3b6046;color:#f6efdf!important;text-decoration:none!important;animation:none!important}

/* Moon & meaning and Word of the Day: larger text for reading across a room
   (TV and wide screens only; phones keep their own sizes). */
@media (min-width:901px){
  .horoscope-panel article p:not(.horoscope-chart){font-size:clamp(14px,2.5vh,21px);line-height:1.38}
  .word-feature{display:flex;flex-direction:column;justify-content:center}
  .word-feature h2{font-size:clamp(40px,10vh,78px)}
  .word-sound{font-size:clamp(14px,2.5vh,22px)}
  #word-definition{font-size:clamp(17px,3.6vh,30px);line-height:1.32}
  .word-details p,.word-screen .word-details blockquote{font-size:clamp(14px,2.75vh,22px);line-height:1.35}
  .word-practice p{font-size:clamp(14px,2.5vh,20px)}
  .word-week{font-size:clamp(13px,2.2vh,18px);color:#5e4f4c}
}

/* The Animals: the roster grouped by kind with its count (js/farm-pages.js). */
.animal-groups{display:flex;flex-direction:column;gap:2.2vh}
.animal-group-head{display:flex;align-items:baseline;gap:.6vw;margin:0 0 1vh;padding-bottom:.6vh;border-bottom:1px solid #d7bcc1;font-weight:normal;color:#304735}
.animal-group-count{font:clamp(22px,3.6vh,36px) Palatino,Georgia,serif}
.animal-group-title{font:italic clamp(20px,3vh,30px) Palatino,Georgia,serif}
.animal-group-planned{font-size:clamp(13px,1.8vh,18px);color:#886572}
.animal-flocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.4vw}
.animal-flock-name{display:flex;align-items:baseline;gap:.5vw;flex-wrap:wrap}
.animal-flock-name strong{font:normal clamp(16px,2.4vh,24px) Palatino,Georgia,serif;color:#304735}
.animal-flock-name span{font-size:clamp(13px,2vh,20px);color:#886572}
.animal-flock em{display:block;font-size:clamp(13px,1.9vh,19px);color:#304735}
.animal-flock small{display:block;font-size:clamp(12px,1.7vh,17px);color:#806873}
.animal-flock p{margin:.3vh 0 0;font-size:clamp(12px,1.7vh,17px);line-height:1.3;color:#304735cc}
.animal-breeds{display:flex;flex-wrap:wrap;gap:1.2vh 2.4vw}
.animal-breed em{display:block;font-size:clamp(13px,2vh,20px);color:#886572}
.animal-breed strong{display:block;font:normal clamp(16px,2.4vh,24px) Palatino,Georgia,serif;color:#304735}

/* Food News: this week's dinners beside the food recalls (js/food-news.js). */
.food-news{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:1.4vw;flex:1 1 auto;min-height:0}
.food-news-recalls{display:flex;flex-direction:column;min-width:0;min-height:0}
.food-news-recalls .live-body{flex:1 1 auto}
.dinners-panel{display:flex;flex-direction:column;min-width:0;padding:1.8vh 1.2vw;background:rgba(247,239,231,.94);border:1px solid #c5b7a9}
.dinners-head{display:flex;align-items:baseline;justify-content:space-between;gap:1vw}
.dinners-head h2{margin:0;font:italic clamp(20px,3.2vh,32px) Palatino,Georgia,serif;color:#304735}
.dinners-range{font-size:clamp(12px,1.8vh,18px);color:#806873}
.dinner-tonight{margin-top:1.4vh;padding:1.6vh 1.1vw;background:rgba(52,75,58,.96);color:#f3e6d9}
.dinner-tonight .eyebrow{color:#d9c6cb}
.dinner-tonight h3{margin:.6vh 0;font:italic clamp(20px,3.4vh,34px) Palatino,Georgia,serif;color:#eccbd4}
.dinner-tonight p{margin:0;font-size:clamp(14px,2.1vh,21px);line-height:1.35}
.dinner-tonight small{display:block;margin-top:.8vh;font-size:clamp(12px,1.7vh,17px);color:#d9c6cb}
.dinner-week{list-style:none;margin:1.2vh 0 0;padding:0}
.dinner-week li{display:flex;align-items:baseline;gap:.9vw;padding:.9vh 0;border-top:1px solid #d7bcc1}
.dinner-day{width:3.2em;font:clamp(11px,1.5vh,15px) Arial,sans-serif;letter-spacing:.14em;color:#886572}
.dinner-name{flex:1;min-width:0;font-size:clamp(15px,2.3vh,24px);color:#304735;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dinner-summary{font-size:clamp(12px,1.7vh,18px);color:#886572;white-space:nowrap}
.dinner-past{opacity:.5}
.dinners-note,.dinners-empty{margin:auto 0 0;padding-top:1vh;font-size:clamp(12px,1.6vh,16px);color:#806873}
.dinners-empty{margin:1.6vh 0 0;font-size:clamp(15px,2.2vh,22px);color:#304735}
@media (max-width:900px){.food-news{grid-template-columns:1fr}}

/* Flight Watch: the Farm view only; a click on the map fills the screen with
   it until Back (js/flights.js), with each plane's type under its call sign. */
.flight-view-switch{display:none!important}
.flight-screen #radar{cursor:zoom-in}
.flight-map-hint{position:absolute;left:1vw;bottom:1.2vh;z-index:6;padding:.4vh .7vw;background:#e6d4a3;color:#1f3328;font:clamp(11px,1.4vh,14px) Georgia,serif;letter-spacing:.12em;text-transform:uppercase;pointer-events:none}
.flight-map-back{display:none}
.sky-type{display:none}
/* In the browser's full screen the map fills the display; where full screen
   is refused, it fills the page beside the header. */
#radar:fullscreen{background:#0c1a12;cursor:default}
.flight-screen.flight-map-full .flight-sidebar,.flight-screen.flight-map-full .map-credit,.flight-screen.flight-map-full .flight-status{display:none}
.flight-screen.flight-map-full .radar-layout{display:block}
.flight-screen.flight-map-full .map-column{width:auto}
.flight-screen.flight-map-full #radar:not(:fullscreen){width:min(100%,calc((100vh - 140px) * 1536 / 900));height:auto;aspect-ratio:1536/900;margin:0 auto;cursor:default}
.flight-screen.flight-map-full .flight-map-hint{display:none}
.flight-screen.flight-map-full .flight-map-back{display:block;position:absolute;left:2vw;bottom:3vh;z-index:10;padding:1vh 1.4vw;border:2px solid #a36a40;border-radius:999px;background:#344b3a;color:#f7f0df;font:clamp(15px,2.2vh,22px) Georgia,serif;cursor:pointer}
.flight-screen.flight-map-full .flight-map-back:focus-visible{outline:3px solid #e6c46a;outline-offset:3px}
.flight-screen.flight-map-full .sky-plane svg{transform:scale(1.35)}
.flight-screen.flight-map-full .sky-label{font-size:clamp(13px,1.8vh,18px)}
.flight-screen.flight-map-full .sky-type{display:block;position:absolute;left:1.4vh;top:3.4vh;white-space:nowrap;font-size:clamp(10px,1.3vh,13px);color:#d9e2cf;background:rgba(32,55,43,.85);padding:0 .3em;width:max-content}
body.flight-map-open .web-menu-toggle,body.flight-map-open .web-transport{visibility:hidden}
