:root {
  --bg: #ffffff;
  --paper: #f6f8f8;
  --ink: #111111;
  --muted: #3d4a47;
  --line: #d5dedc;
  --teal: #14756d;
  --teal-soft: #e8f3f1;
  --open: #1b7046;
  --warn: #8a5f00;
  --closed: #a43328;
  --frost: #1a6588;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  width: 100%;
  height: 100%;
  background: var(--bg);
  color: var(--ink);
  font-family: "Palatino Linotype", Palatino, "Book Antiqua", "Source Serif 4", "Times New Roman", serif;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
}

.board {
  width: 100%;
  height: 100vh;
  max-width: none;
  margin: 0;
  padding: 10px 16px 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
}

.stage {
  flex: 1.8 1 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 24vw);
  gap: 10px;
  align-items: stretch;
}

body.no-flyer .stage {
  grid-template-columns: 1fr;
}

body.no-flyer .flyer {
  display: none;
}

.ops {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ops-mid {
  flex: 1 1 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(240px, 0.7fr) 1.3fr;
  gap: 8px;
}

.honors-bar {
  flex: 0 0 auto;
  padding: 8px 14px;
}
.honors-bar > .label {
  color: var(--ink);
  margin-bottom: 6px;
  font-size: clamp(20px, 2.2vw, 28px);
}

.honors {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 4px 18px;
  margin: 0;
}

.honors li {
  font-size: 16px;
  line-height: 1.2;
}

.honors b {
  color: var(--teal);
  margin-right: 8px;
}

.mast {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex: 0 0 auto;
}

.logo { height: 32px; width: auto; object-fit: contain; }
.foot-mark { height: 22px; width: auto; object-fit: contain; }

.kicker {
  font-size: 14px;
  font-weight: 600;
  color: var(--teal);
}

.card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px 14px;
  flex: 0 0 auto;
  min-height: 0;
}

.label,
.status h2,
.pin h2,
.fac-name,
.staff-tile > .label,
.calendar-card > .label {
  font-size: clamp(25px, 3.1vw, 35px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.02em;
}

.status h2,
.pin h2,
.fac-name,
.staff-tile > .label {
  text-transform: uppercase;
  white-space: nowrap;
  letter-spacing: 0.01em;
}

.label {
  color: var(--teal);
  margin-bottom: 8px;
}

 .hero {
  padding: 6px 12px 8px;
  text-align: center;
  background: #fff;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
}
.hero-logo { height: 52px; width: auto; }
.hero-center { min-width: 0; }
.hero-day {
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 600;
  color: var(--teal);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.hero-date {
  margin-top: 2px;
  font-size: clamp(32px, 4.2vw, 46px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.05;
}
.hero-meta {
  margin-top: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  color: var(--muted);
}
 .hero-meta .time {
  margin: 0;
  font-size: 26px;
  font-weight: 600;
  color: var(--muted);
}
 .hero-meta .temp {
  margin: 0;
  font-size: 30px;
  font-weight: 600;
  color: var(--ink);
}
.hero-meta .wx-stat { margin: 0; font-size: 22px; font-weight: 600; }
.hero-meta .wx-icon svg { width: 36px; height: 36px; }
.hero-meta .dot {
  width: 4px; height: 4px; border-radius: 50%; background: #b7c6c2;
}
.hero-bar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
}
.hero-bar .time {
  margin: 0;
  font-size: clamp(26px, 3.2vw, 34px);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.hero-bar .date-line {
  margin: 0;
  text-align: center;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 600;
}
.wx-bar {
  display: flex;
  align-items: center;
  gap: 10px;
}
.wx-bar .temp { margin: 0; font-size: clamp(32px, 4vw, 42px); font-weight: 600; }
.wx-bar .wx-stat { margin: 0; font-size: 16px; font-weight: 600; color: var(--muted); white-space: nowrap; }
.hero {
  padding: 8px 14px;
  flex: 0 0 auto;
}

.hero-top {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: baseline;
  gap: 8px;
}

.hero-top .time { justify-self: start; }
.hero-top .date-line { justify-self: center; text-align: center; }
.hero-top .wx-label { justify-self: end; text-align: right; margin: 0; }

.date-line,
.time {
  margin: 0;
  font-size: clamp(22px, 2.8vw, 30px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.time { font-variant-numeric: tabular-nums; }

.hero-wx {
  margin-top: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.wx-icon { display: flex; align-items: center; }

.wx-stat {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--muted);
}

.wx-label {
  font-size: 16px;
  font-weight: 600;
  color: var(--teal);
}

.temp {
  margin-top: 0;
  font-size: clamp(34px, 4.2vw, 44px);
  font-weight: 600;
  line-height: 0.9;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}

.temp span { color: inherit; font-size: inherit; }

.wx-hilo {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  color: var(--muted);
}

.wx-hilo strong {
  color: var(--ink);
  font-weight: 600;
}

.wx-wind {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  color: var(--muted);
}

.flash {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px 16px;
  border-radius: 12px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.25;
  border: 1px solid transparent;
  flex: 0 0 auto;
}

.flash .tag {
  flex: 0 0 auto;
  font-size: 16px;
  font-weight: 700;
  color: var(--teal);
}

.flash.notice { background: #fff6db; border-color: #ead7a0; }
.flash.info { background: var(--teal-soft); border-color: #b7d8d4; }
.flash.urgent { background: #ffe14a; border-color: #e6c200; color: #c40000; font-weight: 700; text-transform: uppercase; }

.status-row {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  min-height: 0;
  align-items: stretch;
}

.status,
.pin {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 6px 8px;
  min-height: 0;
  height: auto;
}

.status h2 {
  flex: 0 0 auto;
  width: 100%;
  color: var(--ink);
}

.status-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 0;
  margin-top: 2px;
}

.pill {
  margin-top: 0;
  max-width: 14ch;
  font-size: clamp(22px, 2.64vw, 29px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

.status.restricted .pill,
.status.frost .pill,
.status.closed .pill {
  font-size: clamp(22px, 2.64vw, 29px);
  max-width: 16ch;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.status.open .pill { color: var(--open); }
.status.restricted .pill { color: var(--warn); }
.status.frost .pill { color: var(--frost); }
.status.closed .pill { color: var(--closed); }

.tee {
  margin-top: 8px;
  font-size: 20px;
  font-weight: 600;
  color: var(--frost);
  text-align: center;
}

.note {
  margin-top: 6px;
  font-size: 18px;
  color: var(--muted);
  line-height: 1.3;
  text-align: center;
}

.course-card {
  flex: 0 0 auto;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.staff-row {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 8px 12px;
  min-height: 0;
}

.staff-tile {
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 6px 10px 8px;
}

.staff-tile > .label,
.calendar-card > .label {
  color: var(--ink);
}
.staff-tile > .label {
  margin-bottom: 6px;
  text-align: center;
}

.staff-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 0;
  flex: 1;
}
.staff-name {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.staff-photo {
  flex: 0 0 auto;
  width: 108px;
  height: 108px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--teal-soft);
  color: var(--teal);
  border: 2px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 600;
}

.staff-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.staff-name {
  font-size: clamp(23px, 3.1vw, 36px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: var(--teal);
}

.course-card .status,
.course-card .pin {
  padding: 6px 8px;
}
.mid {
  flex: 2.05 1 0;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(320px, 0.7fr) 1.3fr;
  gap: 12px;
  align-items: stretch;
}

.practice {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.fac-grid {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 8px;
  min-height: 0;
}

.fac {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 16px;
  min-height: 0;
}

.fac-name {
  flex: 0 0 auto;
  width: 100%;
  color: var(--ink);
  text-align: center;
  white-space: nowrap;
  padding-top: 2px;
}

.fac-state {
  flex: 0 0 auto;
  font-size: clamp(22px, 2.64vw, 29px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.01em;
  text-align: center;
}

.fac-meta { flex: 1 1 auto; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 0; }
.fac-limit { font-size: 18px; font-weight: 500; color: var(--muted); text-align: center; }
.fac-extra { margin-top: auto; width: 100%; font-size: 21px; font-weight: 600; color: var(--muted); text-align: center; padding-top: 4px; }
.fac.on .fac-state { color: var(--open); }
.fac.limited .fac-state { color: var(--warn); }
.fac.off .fac-state { color: var(--closed); }

.pin h2 {
  flex: 0 0 auto;
  width: 100%;
  color: var(--ink);
  white-space: nowrap;
}

.pin-num {
  flex: 1 1 auto;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(22px, 2.64vw, 29px);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.05;
  color: var(--teal);
  text-align: center;
}

.flyer {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.flyer-frame {
  flex: 1;
  min-height: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.flyer {
  min-height: 0;
}
.flyer-frame {
  height: 100%;
}
.flyer-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
  background: #fff;
}

.flyer-empty {
  padding: 20px;
  font-size: 22px;
  font-weight: 500;
  color: #8aa09b;
  text-align: center;
  line-height: 1.35;
}

.calendar-card {
  flex: 0 0 26vh;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.cal-range {
  margin: -2px 0 6px;
  font-size: 15px;
  color: var(--muted);
}

.cal {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  gap: 5px;
}

 .cal-head {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  color: var(--muted);
  padding-bottom: 2px;
}

.cell {
  min-height: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 5px 5px 6px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.cell.today {
  border-color: var(--teal);
  background: var(--teal-soft);
}

 .cell .num {
  font-size: 24px;
  font-weight: 600;
}

.cell.today .num { color: var(--teal); }

 .cell .wx-mini {
  margin-top: auto;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  display: flex;
  justify-content: space-between;
  gap: 6px;
}

.cell .wx-mini b { color: var(--ink); font-weight: 600; }

.cell .wx-sky {
  font-size: 11px;
  font-weight: 500;
  color: var(--muted);
}

.cell .ev {
  margin-top: 6px;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-height: 0;
}

.chip {
  background: #fff;
  color: var(--ink);
  border: 1px solid var(--line);
  border-left: 4px solid var(--teal);
  border-radius: 5px;
  padding: 3px 6px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  overflow: hidden;
}
.chip.lnga { color: #ff00ff; border-left-color: #ff00ff; }
.chip.wga { color: #009e50; border-left-color: #009e50; }
.chip.mga { color: #74340c; border-left-color: #74340c; }
.chip.putters { color: #0000ff; border-left-color: #0000ff; }
.chip.social { color: #e06a00; border-left-color: #e06a00; }
.chip.club { color: #0070c0; border-left-color: #0070c0; }
.chip.holiday { color: #c00000; border-left-color: #c00000; }
.chip.closed { color: #3b7a4a; border-left-color: #3b7a4a; }
.chip.ranch { color: #8a5a2b; border-left-color: #8a5a2b; }
.chip.travel { color: #00838f; border-left-color: #00838f; }

.cal-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.cal-legend span { display: inline-flex; align-items: center; gap: 6px; }
.cal-legend i {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  display: inline-block;
}

.chip small {
  display: block;
  font-size: 11px;
  opacity: 0.9;
}

.more {
  font-size: 12px;
  font-weight: 600;
  color: var(--teal);
}

.message-dock {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 -2px 0;
  padding: 10px 14px 8px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
}

.dock-empty {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(22px, 2.64vw, 29px);
  font-weight: 500;
  color: #8aa09b;
  text-align: center;
}

.dock-empty[hidden] { display: none; }

.ticker {
  flex: 0 0 48px;
  height: 48px;
  min-height: 48px;
  overflow: hidden;
  display: flex;
  align-items: center;
  background: var(--teal);
  color: #fff;
  border-radius: 12px;
}

.ticker[hidden] { display: none; }
.ticker.notice { background: #fff6db; color: #8a5f00; }
.ticker.info { background: var(--teal-soft); color: var(--teal); }
.ticker.urgent { background: #ffe14a; color: #c40000; font-weight: 700; }

.ticker-track {
  display: inline-block;
  white-space: nowrap;
  font-size: clamp(22px, 2.6vw, 28px);
  font-weight: 500;
  padding-left: 100%;
  animation: tvgc-ticker 22s linear infinite;
  animation-delay: 0s;
}

@keyframes tvgc-ticker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

footer {
  flex: 0 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: var(--muted);
}

@media (max-width: 720px) {
  .board { height: auto; min-height: 100vh; overflow: visible; }
  .hero-grid, .mid, .status-row { grid-template-columns: 1fr; }
  .calendar-card { flex: none; }
  .cell { min-height: 88px; }
}

.honors-tile { overflow: hidden; }
.honors {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 4px 18px;
}
.honors li {
  font-size: 14px;
  line-height: 1.2;
  color: var(--ink);
}
.honors b { color: var(--teal); margin-right: 6px; font-variant-numeric: tabular-nums; }
body.no-flyer .flyer { display: none; }
body.no-flyer .mid { grid-template-columns: 1fr; }

/* === Option 2 landscape chrome (v2026-09-18d) === */
.hero {
  display: grid;
  grid-template-columns: 1.1fr 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 6px 8px 8px;
  background: #fff;
  border: none;
  text-align: left;
}
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
}
.club-name {
  font-size: clamp(28px, 2.4vw, 42px);
  font-weight: 700;
  color: var(--teal);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1;
}
.hero-logo { height: 58px; width: auto; }
.hero-when { text-align: center; }
.hero-date {
  margin: 0;
  font-size: clamp(22px, 1.8vw, 30px);
  font-weight: 600;
}
.hero .time {
  margin: 2px 0 0;
  font-size: 22px;
  color: var(--muted);
}
.hero-wx {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
}
.hero-wx .temp {
  margin: 0;
  font-size: clamp(48px, 4.6vw, 72px);
  font-weight: 700;
  color: #111;
  line-height: 0.9;
}
.wx-side { display: flex; flex-direction: column; gap: 0; }
.wx-side .wx-stat { margin: 0; font-size: 16px; font-weight: 600; color: var(--muted); }

.stage {
  grid-template-columns: minmax(240px, 22vw) minmax(0, 1fr);
}
body.no-flyer .stage { grid-template-columns: 1fr; }

.status,
.pin {
  padding: 0;
  overflow: hidden;
  border-radius: 8px;
}
.status h2,
.pin h2 {
  background: var(--teal);
  color: #fff !important;
  font-size: 18px !important;
  padding: 8px 10px;
  text-align: center;
}
.status-body { padding: 10px 8px 12px; }
.pill { font-size: clamp(28px, 2.2vw, 40px) !important; }
.pin-num {
  flex: 1;
  font-size: clamp(28px, 2.2vw, 40px) !important;
  padding: 12px;
}

.ops-mid {
  grid-template-columns: 1.05fr 1fr;
}
.staff-tile,
.practice {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  min-height: 0;
}
.staff-tile > .label,
.practice > .label {
  background: var(--teal);
  color: #fff !important;
  margin: 0;
  padding: 8px 12px;
  font-size: 18px !important;
  text-align: center;
}
.staff-body {
  padding: 12px;
  gap: 16px;
}
.staff-photo {
  width: 140px;
  height: 140px;
}
.staff-name { font-size: clamp(28px, 2.4vw, 40px); }

.fac-grid {
  display: flex;
  flex-direction: column;
  grid-template-columns: none;
  padding: 6px 10px 8px;
  gap: 0;
}
.fac {
  flex: 0 0 auto;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  border: none;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  padding: 8px 4px;
  background: transparent;
}
.fac:last-child { border-bottom: none; }
.fac-name {
  text-align: left;
  font-size: 18px !important;
  padding: 0;
}
.fac-meta { flex: 0 0 auto; width: auto; align-items: flex-end; }
.fac-state { font-size: 18px !important; }
.fac-extra, .fac-limit { font-size: 14px; text-align: right; margin: 0; padding: 0; }

.calendar-card {
  flex: 0 0 22vh;
  background: #fff;
  border: none;
  padding: 4px 0 0;
}
.calendar-card > .label {
  color: var(--teal);
  font-size: 18px !important;
  margin: 0 0 4px;
}
.cal { gap: 0; }
.cell {
  border-radius: 0;
  border-left: none;
  padding: 6px 8px;
}
.cell:first-of-type, .cal-head:first-child { }
.chip { font-size: 16px; padding: 2px 5px; }

.honors-bar {
  border: none;
  background: #fff;
  padding: 6px 0 4px;
}
.honors-bar > .label {
  text-align: center;
  color: var(--teal);
  font-size: 18px !important;
  margin-bottom: 4px;
}
.honors {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2px 20px;
}
.honors li { font-size: 15px; }

.message-dock { flex: 0 0 auto; }
.dock-empty { min-height: 36px; font-size: 18px; }
.ticker { height: 40px; min-height: 40px; flex-basis: 40px; }


/* === Option 2 landscape lock v20260918e === */
html, body { width:100%; height:100%; overflow:hidden; background:#fff; }
.board { width:100%; height:100vh; max-width:none; margin:0; padding:10px 16px 8px; gap:10px; background:#fff; }
.hero {
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  gap:18px;
  padding:4px 4px 8px;
  border-bottom:2px solid var(--teal);
  background:#fff;
}
.hero .brand { display:flex; align-items:center; gap:10px; }
.club-name {
  font-size: clamp(28px, 2.4vw, 42px);
  font-weight:700;
  color: var(--teal);
  letter-spacing:0.02em;
  text-transform:uppercase;
  line-height:1;
}
.hero-logo { height:58px; }
.hero-when { text-align:center; }
.hero-date { font-size: clamp(22px, 1.8vw, 30px); font-weight:600; margin:0; }
.hero .time { font-size:18px; color:var(--muted); margin:2px 0 0; }
.hero-wx { display:flex; align-items:center; gap:10px; justify-self:end; }
.hero-wx .temp { font-size: clamp(42px, 4vw, 64px); font-weight:700; color:#111; margin:0; line-height:0.9; }
.wx-side { display:flex; flex-direction:column; gap:0; }
.wx-side .wx-stat { font-size:16px; color:var(--muted); margin:0; font-weight:600; }

.stage {
  flex: 1.7 1 0;
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(260px, 22vw);
  gap:12px;
}
body.no-flyer .stage { grid-template-columns:1fr; }
body.no-flyer .flyer { display:none; }

.status-row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; flex:0 0 auto; }
.status, .pin {
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  padding:0;
  height:auto;
  justify-content:flex-start;
}
.status h2, .pin h2 {
  background: var(--teal);
  color:#fff !important;
  font-size: clamp(16px, 1.4vw, 22px);
  padding:8px 10px;
  text-align:center;
  width:100%;
}
.status-body, .pin-num { padding:10px 8px 12px; }
.pill, .pin-num {
  font-size: clamp(22px, 2vw, 32px) !important;
  max-width:none;
}
.pin-num { color: var(--teal); flex:0 0 auto; }

.ops-mid { grid-template-columns: 1.1fr 1fr; gap:10px; }
.staff-tile, .practice {
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  padding:0;
}
.staff-tile > .label, .practice > .label {
  background: var(--teal);
  color:#fff !important;
  text-align:center;
  margin:0;
  padding:8px 10px;
  font-size: clamp(16px, 1.4vw, 22px);
}
.staff-body { padding:14px 16px; gap:16px; align-items:center; }
.staff-photo { width:96px; height:96px; }
.staff-name { color: var(--teal); font-size: clamp(28px, 2.4vw, 40px); }

.fac-grid {
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0;
}
.fac {
  flex: 0 0 auto;
  display:grid !important;
  grid-template-columns: 1fr auto;
  align-items:center;
  gap:12px;
  border:none;
  border-bottom:1px solid var(--line);
  border-radius:0;
  padding:10px 14px;
  background:transparent;
  min-height:0;
  height:auto;
}
.fac:last-child { border-bottom:none; }
.fac-name { text-align:left; font-size:18px !important; padding:0; width:auto; white-space:nowrap; }
.fac-meta { display:flex !important; flex:0 0 auto; width:auto; flex-direction:column; align-items:flex-end; justify-content:center; overflow:visible; }
.fac-state { font-size:18px !important; }
.fac-extra, .fac-limit { font-size:13px !important; margin:0; padding:0; text-align:right; }

.calendar-card {
  flex: 0 0 148px;
  background:#fff;
  border:none;
  padding:4px 0 0;
}
.calendar-card > .label {
  color: var(--teal);
  font-size:18px;
  margin:0 0 6px;
  text-transform:uppercase;
}
.cal { grid-template-rows: 1fr; gap:8px; }
.cell { padding:6px 8px; min-height:0; justify-content:flex-start; }
.cell .cal-head { font-size:13px; color:var(--muted); font-weight:600; text-align:center; }
.cell .num { font-size:18px; text-align:center; }
.chip { font-size:15px; padding:3px 5px; }

.honors-bar { padding:6px 0 2px; border-top:1px solid var(--line); }
.honors-bar > .label {
  text-align:center;
  color: var(--teal);
  font-size:16px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  margin:0 0 6px;
}
.honors {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  flex-direction: unset;
  gap: 4px 20px;
}
.honors li { font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.message-dock { flex:0 0 auto; }
.dock-empty { min-height:0; height:0; padding:0; overflow:hidden; }
.ticker { height:42px; min-height:42px; flex-basis:42px; border-radius:8px; overflow:hidden; }
.ticker-track { font-size:20px; animation-delay:0s; padding-left:100%; }


/* v20260918g tweaks */
.club-name { display:none !important; }
.hero {
  grid-template-columns: auto 1fr auto;
  align-items:center;
}
.hero-when { justify-self:center; text-align:center; }
.hero-date { font-size: clamp(28px, 2.6vw, 40px) !important; font-weight:700; }
.hero .time { font-size: clamp(22px, 2vw, 30px) !important; color:#111; font-weight:600; }
.cell .num { text-align:left !important; padding-left:2px; }

.status.restricted {
  background:#f5d000 !important;
  color:#111 !important;
  border-color:#d4b000;
}
.status.restricted h2 { background:#e6c200 !important; color:#111 !important; }
.status.restricted .pill,
.status.restricted .note { color:#111 !important; }

.status.closed {
  background:#c62828 !important;
  color:#fff !important;
  border-color:#8e1b1b;
}
.status.closed h2 { background:#9b1c1c !important; color:#fff !important; }
.status.closed .pill,
.status.closed .note,
.status.closed .tee { color:#fff !important; }

.honors {
  display:grid !important;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  gap: 4px 20px;
}

.message-dock { order:0; }


/* v20260918h */
.message-dock[hidden] { display:none !important; height:0 !important; margin:0 !important; padding:0 !important; }
.ops-mid { grid-template-columns: minmax(200px, 0.36fr) 1fr !important; }
.staff-photo { width:72px !important; height:72px !important; }
.staff-name { font-size: clamp(22px, 1.8vw, 30px) !important; }
.staff-body { padding:10px 12px !important; }

.practice .fac-grid {
  display:grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap:8px;
  padding:8px !important;
}
.practice .fac {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  border:1px solid var(--line) !important;
  border-radius:8px !important;
  padding:8px 10px !important;
  min-height:0;
  height:auto;
}
.practice .fac-name {
  width:100%;
  text-align:left !important;
  font-size:15px !important;
}
.practice .fac-meta {
  width:100% !important;
  align-items:flex-start !important;
  display:flex !important;
  flex-direction:column !important;
}
.practice .fac-state { font-size:22px !important; }
.practice .fac-limit,
.practice .fac-extra {
  display:block !important;
  font-size:14px !important;
  color:var(--muted);
  text-align:left !important;
  max-width:none;
}


/* v20260918i */
.status-row .staff-tile {
  padding:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.status-row .staff-tile > .label {
  background:var(--teal);
  color:#fff !important;
  text-align:center;
  margin:0;
  padding:8px 10px;
  font-size: clamp(16px, 1.4vw, 22px);
}
.status-row .staff-body { padding:8px 10px; justify-content:center; }
.status-row .staff-photo { width:56px !important; height:56px !important; }
.status-row .staff-name { font-size: clamp(18px, 1.5vw, 24px) !important; }

.ops-mid { grid-template-columns: minmax(220px, 0.42fr) 1fr !important; }
.ops-mid .pin {
  display:flex;
  flex-direction:column;
  padding:0;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
}
.ops-mid .pin h2 {
  background:var(--teal);
  color:#fff !important;
  text-align:center;
  padding:8px 10px;
  font-size: clamp(16px, 1.4vw, 22px);
}
.ops-mid .pin-num {
  text-align:center;
  padding:6px 8px 0;
  font-size: clamp(22px, 2vw, 30px);
  color:var(--teal);
}
.pin-green { flex:1; min-height:90px; padding:0 10px 8px; display:flex; align-items:center; justify-content:center; }
.pin-green svg { max-height:140px; width:100%; }

.practice .fac {
  align-items:center !important;
  text-align:center;
  justify-content:center !important;
}
.practice .fac-name,
.practice .fac-meta,
.practice .fac-state,
.practice .fac-limit,
.practice .fac-extra { text-align:center !important; width:100%; align-items:center !important; }

.hero-wx .temp { font-size: clamp(34px, 3.2vw, 48px) !important; }
.wx-side .wx-stat { font-size:15px !important; line-height:1.2; }
.hero-wx .wx-icon svg { width:32px; height:32px; }


/* v20260918j type scale */
:root {
  --type-banner: clamp(17px, 1.35vw, 21px);
  --type-status: clamp(24px, 1.9vw, 32px);
  --type-meta: 15px;
  --type-date: clamp(30px, 2.5vw, 38px);
  --type-time: clamp(20px, 1.6vw, 24px);
  --type-temp: clamp(34px, 2.8vw, 44px);
  --type-chip: 15px;
  --type-honor: 15px;
}
.hero-date { font-size: var(--type-date) !important; font-weight: 600; }
.hero .time { font-size: var(--type-time) !important; font-weight: 600; color:#111; }
.hero-wx .temp { font-size: var(--type-temp) !important; font-weight: 600; }
.wx-side .wx-stat { font-size: var(--type-meta) !important; }

.status h2,
.pin h2,
.staff-tile > .label,
.practice > .label,
.calendar-card > .label,
.honors-bar > .label {
  font-size: var(--type-banner) !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.1;
}

.practice > .label { text-align:center; }

.practice .fac-name {
  font-size: var(--type-banner) !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: center !important;
  width: 100%;
  padding: 0 0 4px;
}

.pill,
.pin-num,
.fac-state,
.staff-name {
  font-size: var(--type-status) !important;
  font-weight: 600;
}

.note,
.tee,
.fac-limit,
.fac-extra,
.honors li,
.chip,
.cal-head,
.cell .num {
  font-size: var(--type-meta) !important;
  font-weight: 500;
}
.chip { font-size: var(--type-chip) !important; font-weight: 600; }
.cell .num { font-size: 18px !important; font-weight: 600; }

.practice .fac {
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center;
}
.practice .fac-meta {
  width: 100% !important;
  align-items: center !important;
}


/* v20260918j type lock */
:root {
  --type-banner: 20px;
  --type-status: 28px;
  --type-body: 16px;
  --type-date: 36px;
  --type-time: 24px;
  --type-temp: 42px;
}
.status h2,
.pin h2,
.staff-tile > .label,
.practice > .label,
.calendar-card > .label,
.honors-bar > .label {
  font-family: inherit !important;
  font-size: var(--type-banner) !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  line-height: 1.15 !important;
}
.practice > .label {
  text-align: center !important;
  width: 100%;
}
.pill,
.pin-num,
.staff-name,
.fac-state {
  font-size: var(--type-status) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}
.note,
.tee,
.fac-limit,
.fac-extra,
.wx-stat,
.honors li,
.cell .cal-head,
.chip small {
  font-size: var(--type-body) !important;
  font-weight: 500 !important;
}
.practice .fac-name {
  font-size: var(--type-banner) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
}
.hero-date { font-size: var(--type-date) !important; font-weight: 600 !important; }
.hero .time { font-size: var(--type-time) !important; font-weight: 600 !important; }
.hero-wx .temp { font-size: var(--type-temp) !important; font-weight: 600 !important; }
.chip { font-size: 16px !important; font-weight: 600 !important; }
.cell .num { font-size: 20px !important; font-weight: 600 !important; }
.ticker-track { font-size: 20px !important; }


/* v20260918k set A icons */
.practice .fac {
  display:grid !important;
  grid-template-columns: 72px 1fr;
  align-items:center !important;
  justify-content:stretch !important;
  text-align:left !important;
  gap:10px;
  padding:10px 12px !important;
}
.fac-icon { display:flex; align-items:center; justify-content:center; width:72px; height:64px; }
.fac-icon svg { width:64px; height:64px; }
.fac-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; }
.practice .fac-name,
.practice .fac-state,
.practice .fac-limit,
.practice .fac-extra { text-align:left !important; width:auto; }
.practice .fac-limit,
.practice .fac-extra {
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #1f2a28 !important;
  line-height: 1.25;
}
.practice .fac-limit:empty,
.practice .fac-extra:empty { display:none !important; }


/* v20260918l */
.fac-icon { width:96px !important; height:84px !important; }
.fac-icon svg { width:84px !important; height:84px !important; }
.practice .fac { grid-template-columns: 96px 1fr !important; }
.cal-dayline { display:flex; align-items:baseline; gap:8px; }
.cal-dayline .cal-head { margin:0; text-align:left; }
.cal-dayline .num { margin:0; text-align:left !important; }


/* v20260918n */
.pin-stage { position:relative; flex:1; min-height:0; display:flex; flex-direction:column; align-items:center; }
.pin-green-img { width:100%; max-height:150px; object-fit:contain; }
.pin-flag { position:absolute; transform:translate(-20%, -88%); pointer-events:none; }
.ops-mid .pin-num { order:0; padding:4px 8px 0 !important; margin:0; position:relative; z-index:2; }

.practice .fac {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  grid-template-columns:none !important;
  gap:4px;
  padding:8px 10px !important;
}
.practice .fac-name { order:0; text-align:center !important; width:100%; }
.practice .fac-icon { order:1; width:92px !important; height:92px !important; }
.practice .fac-icon img { width:92px; height:92px; object-fit:contain; }
.practice .fac-state { order:2; text-align:center !important; }
.practice .fac-limit, .practice .fac-extra { order:3; text-align:center !important; }


/* v20260918o header option 2 */
.hero.hero-split {
  display:flex !important;
  grid-template-columns:none !important;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:6px 4px 10px !important;
}
.hero-left {
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
.hero-split .hero-logo { height:64px !important; }
.hero-split .hero-when { text-align:left !important; justify-self:start; }
.hero-split .hero-date {
  font-size: clamp(30px, 2.8vw, 42px) !important;
  font-weight:700 !important;
  color:#111 !important;
  line-height:1.1;
}
.hero-split .time {
  font-size: clamp(26px, 2.3vw, 34px) !important;
  font-weight:600 !important;
  color: var(--teal) !important;
  margin-top:4px !important;
}
.hero-split .hero-wx {
  display:flex;
  align-items:center;
  gap:14px;
  justify-self:end;
}
.hero-split .temp {
  font-size: clamp(48px, 4.4vw, 68px) !important;
  font-weight:700 !important;
  line-height:0.9;
}
.wx-rule {
  width:1px;
  height:54px;
  background: var(--teal);
  opacity:.45;
}
.hero-split .wx-side { gap:2px; }
.hero-split .wx-stat {
  font-size:18px !important;
  color: var(--teal) !important;
  font-weight:600 !important;
}
