/* Flightline Radio — Flight Board (public schedule) */
@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap');

@keyframes flr-blink{0%,100%{opacity:1}50%{opacity:0.3}}

.flr-board{width:100%;max-width:100%;box-sizing:border-box;font-family:"Share Tech Mono",ui-monospace,monospace;background:linear-gradient(180deg,#0c1a32 0%,#06101f 100%);color:#f5c542;border:2px solid #1a3050;border-radius:4px;padding:0;margin:0 0 2em;overflow:hidden;box-shadow:inset 0 0 60px rgba(0,0,0,.45),0 8px 24px rgba(0,0,0,.25);position:relative}
.flr-board::before{content:"";pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.06) 2px,rgba(0,0,0,.06) 4px);z-index:1}
.flr-board > *{position:relative;z-index:2}
.flr-board-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;background:#001167;border-bottom:1px solid #2a4570;letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:#f5c542}
.flr-board-header-title{font-size:15px;font-weight:400}
.flr-board-header-date{opacity:.85;font-size:12px}
.flr-board-cols{display:grid;grid-template-columns:72px 90px 90px minmax(0,1fr) 110px;gap:8px;padding:8px 18px;border-bottom:1px solid #2a4570;color:#8aa0c0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;position:sticky;top:0;background:#0a1628;z-index:3}
.flr-board-section{padding:10px 18px 4px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#7CFF7C;border-bottom:1px solid #1a3050;background:rgba(124,255,124,.04)}
.flr-board-section.flr-board-section-week{color:#f5c542;background:rgba(245,197,66,.04)}
.flr-board-row{display:grid;grid-template-columns:72px 90px 90px minmax(0,1fr) 110px;gap:8px;align-items:center;padding:12px 18px;border-bottom:1px solid #142840;font-size:14px;line-height:1.25}
.flr-board-row:last-child{border-bottom:none}
.flr-board-row.flr-board-today{background:linear-gradient(90deg,rgba(245,197,66,.12),transparent 55%);box-shadow:inset 3px 0 0 #f5c542}
.flr-board-row.flr-board-empty{color:#5a6e8a;font-size:13px;letter-spacing:.08em}
.flr-board-day{color:#8aa0c0;font-size:12px;letter-spacing:.1em}
.flr-board-arr,.flr-board-dep{color:#f5c542;white-space:nowrap}
.flr-board-flight{min-width:0}
.flr-board-flight-name{color:#e8f0ff;text-transform:uppercase;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flr-board-flight-name a{color:inherit;text-decoration:none}
.flr-board-flight-name a:hover{color:#f5c542;text-decoration:underline}
.flr-board-flight-dj{color:#8aa0c0;font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flr-board-gate{letter-spacing:.08em;text-transform:uppercase;font-size:12px;white-space:nowrap}
.flr-board-gate-on_air{color:#7CFF7C;animation:flr-blink 1.2s ease-in-out infinite}
.flr-board-gate-boarding{color:#ffb84d}
.flr-board-gate-landed{color:#5a6e8a}
.flr-board-gate-coverage{color:#e8402a}
.flr-board-gate-scheduled{color:#f5c542}
.flr-board-empty-week{padding:18px;text-align:center;color:#5a6e8a;letter-spacing:.08em}
.flr-board-status{padding:18px;text-align:center;color:#8aa0c0;letter-spacing:.08em}

@media(max-width:700px){
  .flr-board-cols{display:none}
  .flr-board-row{grid-template-columns:1fr 1fr;grid-template-areas:"day day" "arr dep" "flight flight" "gate gate";gap:4px 12px;padding:14px 14px}
  .flr-board-row.flr-board-empty{grid-template-areas:"empty";grid-template-columns:1fr}
  .flr-board-day{grid-area:day}
  .flr-board-arr{grid-area:arr}
  .flr-board-arr::before{content:"ARR ";color:#8aa0c0;font-size:10px;letter-spacing:.1em}
  .flr-board-dep{grid-area:dep}
  .flr-board-dep::before{content:"DEP ";color:#8aa0c0;font-size:10px;letter-spacing:.1em}
  .flr-board-flight{grid-area:flight;margin-top:4px}
  .flr-board-flight-name,.flr-board-flight-dj{white-space:normal}
  .flr-board-gate{grid-area:gate;margin-top:6px}
  .flr-board-header{padding:12px 14px;font-size:11px}
  .flr-board-header-title{font-size:13px}
  .flr-board-section{padding:10px 14px 4px}
}
