/* Status board — wall TV in the lobby. A departures board for rooms:
   scan the color column, find a green row, go. */

body.board {
  display: flex; flex-direction: column;
  background: var(--wash-neutral);
  padding: clamp(20px, 4vmin, 48px) clamp(24px, 5vmin, 64px);
}

.head {
  display: flex; justify-content: space-between; align-items: flex-end;
  padding-bottom: clamp(14px, 2.6vmin, 28px);
  border-bottom: 2px solid var(--hairline);
}
.head .org {
  font-size: clamp(11px, 1.6vmin, 15px); font-weight: 700;
  letter-spacing: .24em; color: var(--ink-3);
}
.head h1 {
  font-size: clamp(24px, 4.6vmin, 48px); font-weight: 900; letter-spacing: -.01em;
  margin-top: 2px;
}
.when { text-align: right; }
.bigclock {
  font-size: clamp(30px, 6vmin, 64px); font-weight: 300; line-height: 1;
  font-variant-numeric: tabular-nums;
}
.date { font-size: clamp(11px, 1.8vmin, 16px); font-weight: 700; color: var(--ink-2); margin-top: 4px; }

/* room rows */
.rooms { flex: 1; display: flex; flex-direction: column; justify-content: space-evenly; }

.room {
  display: grid;
  grid-template-columns: clamp(5px, .8vmin, 9px) 1.5fr 1.1fr 1.6fr;
  align-items: center;
  gap: clamp(14px, 3vmin, 36px);
  padding: clamp(8px, 1.6vmin, 18px) 0;
  border-bottom: 1px solid var(--hairline-2);
}
.room:last-child { border-bottom: 0; }

.room .bar { height: clamp(34px, 5.6vmin, 60px); border-radius: 99px; background: currentColor; }
.room .name { font-size: clamp(17px, 3vmin, 32px); font-weight: 700; color: var(--ink); }
.room .name small { display: block; font-size: .55em; font-weight: 700; color: var(--ink-3); letter-spacing: .04em; }

.room .word {
  font-size: clamp(16px, 2.8vmin, 30px); font-weight: 900; letter-spacing: .01em;
}
.room .detail {
  text-align: right;
  font-size: clamp(13px, 2.1vmin, 21px); font-weight: 400; color: var(--ink-2);
  font-variant-numeric: tabular-nums;
}
.room .detail b { color: var(--ink); font-weight: 700; }

.room.free { color: var(--free-word); }
.room.busy { color: var(--busy-word); }
.room.soon { color: var(--amber-word); }

/* legend */
.legend {
  display: flex; gap: clamp(18px, 3.6vmin, 40px); align-items: center;
  padding-top: clamp(12px, 2.4vmin, 26px);
  border-top: 2px solid var(--hairline);
  font-size: clamp(11px, 1.8vmin, 16px); font-weight: 700; color: var(--ink-2);
}
.legend .dot { width: .7em; height: .7em; animation: none; }
.legend span { display: flex; align-items: center; gap: 8px; }
.legend .tip { margin-left: auto; color: var(--ink-3); font-weight: 700; }
