/* Golf API Hub 1.0.0 — widgets inherit the theme font; colours come from settings via CSS variables */
.gah{--gah-primary:#081A33;--gah-team-a:#C8102E;--gah-team-b:#D4A62A;--gah-live:#1E8E3E;--gah-ink:#14181f;--gah-muted:#6b7280;--gah-line:#e5e7eb;--gah-paper:#fff;
  margin:0 0 1.75em;line-height:1.4;color:var(--gah-ink);font-variant-numeric:tabular-nums}
.gah *{box-sizing:border-box}
.gah-title{margin:0 0 .6em}
.gah-notice{padding:.9em 1em;border:1px solid var(--gah-line);border-left:4px solid var(--gah-primary);background:#f8f9fb;font-size:.95em}
.gah-credit{margin:.5em 0 0;font-size:.75em;color:var(--gah-muted)}
.gah-muted{color:var(--gah-muted);font-weight:400}
.gah-strong{font-weight:700}
.gah-live-dot{display:inline-block;margin-left:.35em;padding:.1em .5em .12em;border-radius:1em;background:var(--gah-live);color:#fff;font-size:.7em;font-weight:700;letter-spacing:.02em;vertical-align:middle}
.gah-live-dot::before{content:"";display:inline-block;width:.45em;height:.45em;margin-right:.35em;border-radius:50%;background:#fff;animation:gahPulse 1.6s ease-in-out infinite}
@keyframes gahPulse{0%,100%{opacity:1}50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.gah-live-dot::before{animation:none}}
.gah-final{display:inline-block;margin-left:.35em;padding:.1em .5em;border:1px solid currentColor;border-radius:1em;font-size:.7em;font-weight:700}

/* Scoreboard */
.gah-board{background:var(--gah-primary);color:#fff;padding:1.1em 1.25em 1.2em}
.gah-board-kicker{display:flex;justify-content:space-between;align-items:center;gap:.5em;font-size:.85em;opacity:.9;margin-bottom:.6em}
.gah-board-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:1em}
.gah-board-side{text-align:center;padding-top:.6em;border-top:4px solid transparent}
.gah-board-side.gah-team-a{border-top-color:var(--gah-team-a)}
.gah-board-side.gah-team-b{border-top-color:var(--gah-team-b)}
.gah-board-team{font-size:1em;font-weight:600;letter-spacing:.01em}
.gah-board-score{font-size:3.4em;font-weight:800;line-height:1.05;margin:.05em 0}
.gah-board-side.gah-won .gah-board-score{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.12em}
.gah-board-need{font-size:.8em;opacity:.85}
.gah-board-vs{font-size:.75em;opacity:.7;text-align:center;padding:0 .4em;border-left:1px solid rgba(255,255,255,.25);border-right:1px solid rgba(255,255,255,.25);align-self:stretch;display:flex;align-items:center}
.gah-board-status{margin-top:1em;padding-top:.8em;border-top:1px solid rgba(255,255,255,.2);font-size:.9em}
.gah-board-note{font-size:.85em;opacity:.85;margin-top:.3em}
@media (max-width:480px){.gah-board-score{font-size:2.6em}.gah-board-vs{display:none}.gah-board-row{grid-template-columns:1fr 1fr;gap:.6em}}

/* Session blocks and match rows */
.gah-session{margin:1.25em 0 0;border:1px solid var(--gah-line);background:var(--gah-paper)}
.gah-session-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4em 1em;padding:.7em .9em;background:#f4f5f7;border-bottom:1px solid var(--gah-line)}
.gah-session-name{font-weight:700;font-size:1.02em}
.gah-session-meta{display:flex;flex-wrap:wrap;gap:.3em 1em;font-size:.82em;color:var(--gah-muted)}
.gah-session-score{color:var(--gah-ink);font-weight:700}
.gah-match{display:grid;grid-template-columns:1fr minmax(6.5em,auto) 1fr;align-items:center;gap:.6em;padding:.7em .9em;border-bottom:1px solid var(--gah-line)}
.gah-match:last-child{border-bottom:0}
.gah-side{display:flex;flex-direction:column;gap:.15em;padding:.1em .6em;border-left:4px solid transparent;border-right:4px solid transparent}
.gah-side-left{text-align:right;align-items:flex-end}
.gah-side-right{text-align:left;align-items:flex-start}
.gah-side-left.gah-ahead.gah-team-a{border-left-color:var(--gah-team-a)}
.gah-side-left.gah-ahead.gah-team-b{border-left-color:var(--gah-team-b)}
.gah-side-right.gah-ahead.gah-team-a{border-right-color:var(--gah-team-a)}
.gah-side-right.gah-ahead.gah-team-b{border-right-color:var(--gah-team-b)}
.gah-side.gah-ahead .gah-names{font-weight:700}
.gah-side.gah-behind{color:var(--gah-muted)}
.gah-names{font-size:.98em}
.gah-abbr{font-size:.72em;color:var(--gah-muted);letter-spacing:.04em}
.gah-mid{text-align:center;display:flex;flex-direction:column;gap:.05em;padding:.35em .5em;border-radius:.35em;background:#f4f5f7}
.gah-mid-main{font-weight:800;font-size:1.02em;white-space:nowrap}
.gah-t{white-space:nowrap}
.gah-mid-sub{font-size:.72em;color:var(--gah-muted)}
.gah-match.gah-in .gah-mid{background:var(--gah-live);color:#fff}
.gah-match.gah-in .gah-t{white-space:nowrap}
.gah-mid-sub{color:rgba(255,255,255,.85)}
.gah-match.gah-halved .gah-mid{background:#fff;border:1px solid var(--gah-line)}
.gah-match.gah-pre .gah-mid{background:#fff;border:1px dashed var(--gah-line)}
@media (max-width:560px){
  .gah-match{grid-template-columns:1fr;gap:.35em;padding:.6em .7em}
  .gah-side-left,.gah-side-right{text-align:left;align-items:flex-start;flex-direction:row;justify-content:space-between;border-right:0;border-left-width:4px;padding-left:.6em}
  .gah-side-right.gah-ahead.gah-team-a{border-right-color:transparent;border-left-color:var(--gah-team-a)}
  .gah-side-right.gah-ahead.gah-team-b{border-right-color:transparent;border-left-color:var(--gah-team-b)}
  .gah-mid{flex-direction:row;justify-content:center;gap:.6em;order:3}
}

/* Tables */
.gah-table{width:100%;border-collapse:collapse;margin:.5em 0 0;font-size:.95em}
.gah-table th,.gah-table td{padding:.5em .6em;border-bottom:1px solid var(--gah-line);text-align:left;vertical-align:middle}
.gah-table th{font-size:.8em;letter-spacing:.03em;color:var(--gah-muted);font-weight:600;border-bottom:2px solid var(--gah-line)}
.gah-table .gah-num{text-align:right;white-space:nowrap}
.gah-table th.gah-team-a{color:var(--gah-team-a)}
.gah-table th.gah-team-b{color:var(--gah-team-b)}
.gah-sessions tr.gah-s-in td{background:#f3faf4}
.gah-sessions tr.gah-s-pre td{color:var(--gah-muted)}
.gah-chip{display:inline-block;padding:.05em .5em;border-radius:1em;color:#fff;font-size:.75em;font-weight:700}
.gah-chip.gah-team-a{background:var(--gah-team-a)}
.gah-chip.gah-team-b{background:var(--gah-team-b);color:#111}
.gah-course-meta{display:flex;flex-wrap:wrap;gap:.4em 1.2em;margin:.2em 0 .6em;font-size:.95em}
.gah-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.gah-holes th,.gah-holes td{padding:.35em .45em;font-size:.85em}
.gah.gah-refreshing .gah-body{transition:opacity .2s;opacity:.6}
