/* LacaStay Signage v2 — display theme: light, high-contrast, LacaStay navy + coral.
   System fonts only so the display works offline. */
html, body { margin: 0; padding: 0; width: 100%; height: 100%; background: #F8FAFC; color: #0F172A; overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; }
.hidden { display: none !important; }

/* Pairing screen */
#pairing { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 20px; background: #fff; }
.pair-logo { height: 8vh; width: auto; margin-bottom: 3vh; }
.pair-hint { font-size: 2vw; color: #5B6B84; line-height: 1.5; }
.pair-code { font-family: "Courier New", monospace; font-size: 12vw; font-weight: 800; letter-spacing: 0.12em; margin: 3vh 0; color: #FF6B35; }

/* Player */
#player { height: 100%; }
#stage { height: 100%; display: flex; align-items: center; justify-content: center; background: #F8FAFC; }
#stage img.d-img, #stage video.d-video { max-width: 100%; max-height: 100%; object-fit: contain; }
#stage iframe.d-web, #stage iframe.d-pdf { width: 100%; height: 100%; border: none; background: #fff; }
.d-text { text-align: center; padding: 5vw; }
.d-text h1 { font-size: 7vw; margin: 0 0 2vh; line-height: 1.15; color: #0F172A; }
.d-text p { font-size: 3vw; color: #334155; margin: 0; white-space: pre-wrap; }
.d-clock { text-align: center; }
.d-clock .time { font-size: 17vw; font-weight: 300; letter-spacing: 0.03em; line-height: 1; color: #0F172A; }
.d-clock .date { font-size: 3.5vw; color: #5B6B84; margin-top: 2vh; }
.d-weather { text-align: center; padding: 5vw; }
.d-weather h1 { font-size: 5vw; margin: 0 0 2vh; color: #0F172A; }
.d-weather p { font-size: 2.5vw; color: #5B6B84; }
.d-count { text-align: center; padding: 5vw; }
.d-count h1 { font-size: 4vw; margin: 0 0 2vh; color: #FF6B35; letter-spacing: 0.04em; }
.d-count .digits { font-size: 9vw; font-weight: 800; color: #0F172A; }
.d-count .units { font-size: 2.2vw; color: #5B6B84; margin-top: 1vh; }
.d-rss { padding: 5vw; width: 100%; }
.d-rss h1 { font-size: 3.5vw; color: #FF6B35; margin: 0 0 3vh; }
.d-rss ul { list-style: none; padding: 0; margin: 0; }
.d-rss li { font-size: 3vw; line-height: 1.35; margin-bottom: 2.5vh; color: #0F172A; border-left: 0.6vw solid #FF6B35; padding-left: 2vw; }
.d-rss li a { color: #0F172A; text-decoration: none; }

/* Menu board — big, readable from far away */
.d-menu { width: 100%; height: 100%; overflow: hidden; padding: 3vh 4vw; background: #fff; }
.d-menu h1 { text-align: center; font-size: 4.5vw; margin: 0 0 1vh; color: #0F172A; letter-spacing: 0.05em; }
.d-menu .brand-line { height: 0.5vh; background: #FF6B35; width: 20vw; margin: 0 auto 3vh; border-radius: 1vh; }
.d-menu .cats { column-count: 2; column-gap: 5vw; }
.d-menu .cat { break-inside: avoid; margin-bottom: 3vh; }
.d-menu .cat h2 { font-size: 2.8vw; color: #FF6B35; margin: 0 0 1.5vh; text-transform: uppercase; letter-spacing: 0.06em; }
.d-menu .mi { display: flex; align-items: baseline; margin-bottom: 1.2vh; }
.d-menu .mi .nm { font-size: 2.4vw; font-weight: 600; }
.d-menu .mi .dots { flex: 1; border-bottom: 2px dotted #CBD5E1; margin: 0 1vw; }
.d-menu .mi .pr { font-size: 2.4vw; font-weight: 800; color: #FF6B35; }
.d-menu .mi .ds { font-size: 1.8vw; color: #5B6B84; }

#noconfig { text-align: center; padding: 5vw; }
#noconfig h1 { font-size: 4vw; color: #0F172A; }
#noconfig p { font-size: 2vw; color: #5B6B84; }

#fs-btn { position: fixed; right: 14px; bottom: 14px; z-index: 20; background: #fff; color: #0F172A; border: 1px solid #D9DEE7; border-radius: 10px; padding: 8px 14px; cursor: pointer; font-size: 14px; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12); }
#fs-hint { position: fixed; left: 14px; bottom: 14px; z-index: 20; color: #94A3B8; font-size: 12px; }
