/* The TV's home screen shares the family and contact palette. */
#tvMenu.home-open {
  padding: 1.25cqw 1.6cqw;
  color: #233c32;
  background: #faf5e9;
  background-image: radial-gradient(circle at 105% 110%, #edcf7138 0 23%, transparent 23.2%);
  box-shadow: inset 0 0 0 1px #d8d6c9;
  color-scheme: light;
}
#menuHome .tv-kicker { color: #526657; font-size: max(9px,.7cqw); }
#tvMenu #menuTitle { font-weight: 600; letter-spacing: -.04em; margin-bottom: .9cqw; }
#menuHome .tv-options { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8cqw .5cqw; }
#tvMenu #menuHome .tv-options > button,
#tvMenu #menuHome .tv-options > a {
  display: flex; flex-direction: column; justify-content: flex-start; gap: .45cqw;
  min-width: 0; min-height: 44px; padding: .4cqw .25cqw;
  border: 0; border-radius: 1.3cqw; background: transparent; color: #233c32;
  text-align: center; font-size: max(12px,1.03cqw); font-weight: 550; line-height: 1.25;
  filter: none;
}
#menuHome .menu-orb {
  display: grid; place-items: center; width: 3.6cqw; height: 3.6cqw;
  min-width: 40px; min-height: 40px; flex: none; border: 0; border-radius: 50%;
  background: #c2d2ba; color: #233c32;
  transition: transform .2s ease, box-shadow .2s ease;
}
#menuHome .menu-orb svg { display: block; width: 50%; height: 50%; }
#menuHome .contact-choice .menu-orb { background: #edbd9e; }
#menuHome #homeAccess .menu-orb { display: grid; background: #efdc9b; animation: none; }
#menuHome .choice-label { min-width: 0; }
#menuHome .choice-arrow { display: none; }
#menuHome #takeTour:not(.tour-choice) small { display: none; }
#menuHome #takeTour:not(.tour-choice) .play-symbol { display: grid; animation: none; }
#tvMenu #menuHome .tv-options > .tour-choice {
  grid-column: 1/-1; flex-direction: row; align-items: center;
  padding: .8cqw 1.2cqw; gap: 1.1cqw !important; margin-bottom: .15cqw;
  min-height: max(60px,5.25cqw) !important; border-radius: 1.6cqw;
  background: #f2cf5e !important; color: #233c32 !important;
  font-size: max(17px,1.5cqw) !important; text-align: left;
}
#menuHome .tour-choice .choice-label { flex: 1; }
#menuHome .tour-choice small { display: block; font-size: max(11px,.85cqw); color: #3e5744; margin-top: .2cqw; }
#menuHome .tour-choice .menu-orb { background: #fff7d8; width: 3.3cqw; height: 3.3cqw; }
#menuHome .tour-choice .choice-arrow { display: block; font-size: 1.7cqw; }
#menuHome .tour-choice .play-symbol,
#menuHome #homeAccess.tour-choice .menu-orb { animation: play-pulse 2.4s ease-in-out infinite; background: #fff7d8; }
#tvMenu #menuHome :is(button,a):focus-visible { outline: 3px solid #376747; outline-offset: 2px; }
@media (hover:hover) {
  #tvMenu #menuHome .tv-options > :is(button,a):not(.tour-choice):hover { background: #e6ecdf70; }
  #menuHome :is(button,a):not(.tour-choice):hover .menu-orb { transform: translateY(-3px) rotate(-4deg); box-shadow: 0 4px 0 #233c3212; }
}
@media (max-width:1000px) and (min-width:601px) {
  #tvMenu.home-open { padding: 1cqw 1.2cqw; }
  #tvMenu #menuTitle { font-size: max(18px,1.8cqw); margin-bottom: .6cqw; }
  #menuHome .tv-options { gap: .5cqw .3cqw; }
  #menuHome .menu-orb { min-width: 32px; min-height: 32px; }
  #tvMenu #menuHome .tv-options > .tour-choice { min-height: 52px !important; }
  #tvMenu #menuHome .tv-options > :is(button,a) { font-size: 11px; }
}
@media (max-width:600px) and (orientation:portrait) {
  #picture.menu-ready #tvMenu.home-open { padding: 4.5cqw; }
  #picture.menu-ready #menuHome .tv-kicker { font-size: max(9px,2.6cqw); margin-bottom: 1cqw; }
  #picture.menu-ready #tvMenu #menuTitle { font-size: max(20px,6.3cqw); margin-bottom: 3cqw; }
  #picture.menu-ready #menuHome .tv-options { gap: 4cqw 1cqw; }
  #picture.menu-ready #tvMenu #menuHome .tv-options > :is(button,a) {
    padding: 1cqw .3cqw; border-radius: 3cqw; gap: 2cqw; font-size: max(12px,3.2cqw);
  }
  #picture.menu-ready #menuHome .menu-orb { width: 12cqw; height: 12cqw; min-width: 0; min-height: 0; }
  #picture.menu-ready #tvMenu #menuHome .tv-options > .tour-choice {
    padding: 3cqw 4cqw; gap: 3cqw !important; min-height: 72px !important;
    font-size: max(17px,5cqw) !important; border-radius: 5cqw;
  }
  #picture.menu-ready #menuHome .tour-choice .menu-orb { width: 11cqw; height: 11cqw; }
  #picture.menu-ready #menuHome .tour-choice small { font-size: max(11px,3.2cqw); margin-top: .8cqw; }
  #picture.menu-ready #menuHome .tour-choice .choice-arrow { font-size: 6cqw; }
}
@media (max-width:360px) and (orientation:portrait) {
  #picture.menu-ready #tvMenu.home-open { padding: 3.3cqw; }
  #picture.menu-ready #tvMenu #menuTitle { margin-bottom: 2cqw; }
  #picture.menu-ready #menuHome .tv-options { row-gap: 2.5cqw; }
}
@media (prefers-reduced-motion:reduce) {
  #menuHome .menu-orb { transition: none; }
  #menuHome .tour-choice .play-symbol, #menuHome #homeAccess.tour-choice .menu-orb { animation: none; }
  #menuHome :is(button,a):hover .menu-orb { transform: none; box-shadow: none; }
}

/* A quiet navigation cue, with no extra menu button. */
#tvExitHint{position:absolute;left:50%;bottom:3%;transform:translateX(-50%);margin:0;padding:5px 10px;color:#fffdf3;background:#183a30b8;border-radius:999px;font-size:clamp(11px,1cqw,15px);line-height:1.3;white-space:nowrap;pointer-events:none}
#tvExitHint[hidden]{display:none}
#picture.menu-ready #roomStill{cursor:grab}
@media(max-width:600px) and (orientation:portrait){#tvExitHint{bottom:1%;padding:3px 8px;font-size:11px}}
