/* RD035 — live data blocks in blog posts (blocks.php). Linked by i18n.php and live-post.php only.
   The blog is a light-only page (blog.css), so the block palette is set once here as tokens on .gb-block and
   matches blog.css; radii come from site-shell.css (--r-s / --r-m) with the same values as fallback. */
.gb-block {
  --gb-blk-ink: #0f172a;
  --gb-blk-ink2: #475569;
  --gb-blk-muted: #64748b;
  --gb-blk-line: #e2e8f0;
  --gb-blk-line-strong: #cbd5e1;
  --gb-blk-acc: #047857;
  --gb-blk-acc-soft: #ecfdf5;
  --gb-blk-live: #dc2626;
  --gb-blk-surface: #fff;
  --gb-blk-r-s: var(--r-s, 6px);
  --gb-blk-r-m: var(--r-m, 12px);
  margin: 1.25rem 0 1.75rem;
}
.gb-block table { width: 100%; border-collapse: collapse; font-size: .9rem; margin: 0; }
.gb-block th, .gb-block td { padding: .5rem .6rem; border-bottom: 1px solid var(--gb-blk-line); text-align: left; vertical-align: top; color: var(--gb-blk-ink2); }
.gb-block thead th { border-bottom: 2px solid var(--gb-blk-line-strong); font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; color: var(--gb-blk-muted); white-space: nowrap; }
.gb-block tbody th { font-weight: 700; color: var(--gb-blk-ink); }
.prose .gb-block a { font-weight: 600; }

.gb-block--lowest, .gb-block--incl, .gb-block--matrix { background: var(--gb-blk-surface); border: 1px solid var(--gb-blk-line); border-radius: var(--gb-blk-r-m); padding: .75rem 1rem; }
.gb-block__live { display: inline-flex; align-items: center; gap: .4rem; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--gb-blk-live); margin-bottom: .5rem; }
.gb-block__live::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: var(--gb-blk-live); }

/* Course x month: scrolls sideways on a phone, the course column stays in view. */
.gb-block--matrix { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.gb-block--matrix table { min-width: 46rem; }
.gb-block--matrix td { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.gb-block--matrix tbody th { position: sticky; left: 0; background: var(--gb-blk-surface); min-width: 9rem; }
.gb-block__min { background: var(--gb-blk-acc-soft); }
.gb-block__min a { color: var(--gb-blk-acc); }
.gb-block__none { color: var(--gb-blk-muted); text-align: center !important; }
.gb-block__type { margin: 1.5rem 0 .5rem; font-weight: 700; color: var(--gb-blk-ink); }

.prose ol.gb-block--minima { list-style: none; margin: 1rem 0 1.5rem; padding: 0; border: 1px solid var(--gb-blk-line); border-radius: var(--gb-blk-r-m); background: var(--gb-blk-surface); }
.prose ol.gb-block--minima li { margin: 0; padding: .55rem 1rem; border-bottom: 1px solid var(--gb-blk-line); }
.prose ol.gb-block--minima li:last-child { border-bottom: 0; }
.gb-block__m { display: inline-block; min-width: 3.25rem; font-weight: 700; color: var(--gb-blk-ink); }

.gb-block__note, .gb-block__checked { font-size: .8rem; color: var(--gb-blk-muted); margin: .6rem 0 0; line-height: 1.5; }
.gb-block--empty, .gb-block--fallback { color: var(--gb-blk-muted); }
.gb-block--cta { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: center; }
.prose .gb-block__btn { display: inline-block; background: var(--gb-blk-acc); color: var(--gb-blk-surface); text-decoration: none; border-radius: var(--gb-blk-r-s); padding: .6rem 1.1rem; }
.prose .gb-block__btn:hover { color: var(--gb-blk-surface); opacity: .92; }

/* The matrix is the long view; on a phone the per-month list below it carries the same answer. */
@media (max-width: 640px) {
  .gb-block--matrix table { font-size: .82rem; }
}
