.rc-intro { color:var(--ink-2); line-height:1.6; margin:0 0 4px; }
/* The lottery filter is the shared .chip-rail (30-components.css): one row
   that scrolls, where the old wrapped grid stacked eight chips into three
   rows and pushed the chart itself below the first screen on a phone. */
.rc-filter { margin-top:14px; }

/* Summary strip above the chart */
.rc-sum { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-bottom:14px; }
.rc-sum .hint { font-size:.84rem; color:var(--muted); }

/* ---- Chart table (desktop) ----
   Whole row is a link to the full result (data-href + delegated click);
   the "View" button stays for keyboard/AT users and as the visible cue. */
.rc-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--line-2);
  border-radius:var(--radius-sm); background:var(--surface); }
.rc-table { width:100%; border-collapse:collapse; font-size:.93rem; min-width:600px; }
.rc-table th, .rc-table td { text-align:left; padding:12px 14px; border-bottom:1px solid var(--line); white-space:nowrap; vertical-align:middle; }
.rc-table thead th { font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:700;
  background:var(--surface-2); position:sticky; top:0; z-index:1; }
.rc-table tbody tr[data-href] { cursor:pointer; transition:background .12s; }
.rc-table tbody tr[data-href]:hover { background:var(--surface-2); }
.rc-table tbody tr[data-href]:hover .rc-go { background:var(--primary); color:#fff; border-color:transparent; }
.rc-table tbody tr:last-child td { border-bottom:0; }
.rc-date { color:var(--ink); font-weight:600; }
.rc-dow { display:inline-block; margin-left:6px; font-size:.7rem; font-weight:700; color:var(--muted);
  background:var(--surface-3); border-radius:6px; padding:2px 6px; text-transform:uppercase; letter-spacing:.04em; }
.rc-lot { font-weight:600; color:var(--ink); }
.rc-lot .code { font-size:.74rem; color:var(--muted); font-weight:600; margin-left:4px; }
.rc-draw { font-family:"IBM Plex Mono", "IBM Plex Mono Fallback", ui-monospace, Menlo, monospace; color:var(--ink-2); font-size:.84rem; }
.rc-num { display:inline-block; font-family:"IBM Plex Mono", "IBM Plex Mono Fallback", ui-monospace, Menlo, monospace; font-weight:700; color:var(--ink); letter-spacing:.6px;
  background:var(--surface-2); border:1px solid var(--line-2); border-radius:8px; padding:5px 10px; line-height:1.1; }
.rc-num.none { color:var(--faint); background:transparent; border-color:transparent; padding-left:0; }
.rc-amt { color:var(--accent); font-weight:700; font-variant-numeric:tabular-nums; }
/* Height from the scale, and 32-controls.css extends its target to 44px.
   The row itself is clickable, but for a keyboard or screen-reader user this
   link IS the control, and it stood 32px tall. */
.rc-go { display:inline-flex; align-items:center; justify-content:center; gap:5px;
  min-height:var(--ctl-sm); font-size:.8rem; font-weight:700; color:var(--primary-ink);
  border:1px solid var(--ctl-line); border-radius:var(--r-xs); padding:5px 10px; background:var(--surface);
  transition:background .12s, color .12s, border-color .12s; white-space:nowrap; }
.rc-go svg { width:14px; height:14px; }
/* Month separator rows */
.rc-month td { background:var(--canvas); color:var(--ink-2); font-family:var(--font-display); font-weight:800;
  font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; padding:9px 14px; border-bottom:1px solid var(--line-2); }
.rc-month td::before { content:""; display:inline-block; width:8px; height:8px; border-radius:50%;
  background:var(--grad-brand); margin-right:8px; vertical-align:0; }

.rc-pager { display:flex; gap:10px; align-items:center; justify-content:center; margin-top:20px; flex-wrap:wrap; }

/* ---- Phone: table → stacked result cards (no horizontal scroll) ---- */
@media (max-width:640px) {
  .rc-scroll { overflow:visible; border:0; background:transparent; border-radius:0; }
  .rc-table { min-width:0; display:block; }
  .rc-table thead { display:none; }
  .rc-table tbody { display:block; }
  .rc-table tbody tr[data-href] { display:grid; grid-template-columns:1fr auto; align-items:center;
    grid-template-areas:"date amt" "lot draw" "num go"; gap:3px 10px;
    padding:12px 14px 12px; margin:0 0 10px; border:1px solid var(--line-2); border-radius:var(--r-sm);
    background:var(--surface); box-shadow:var(--shadow-sm); }
  .rc-table tbody tr[data-href]:hover { background:var(--surface); }
  .rc-table tbody tr[data-href]:active { transform:scale(.995); }
  .rc-table td { display:block; padding:0; border:0; white-space:normal; }
  .rc-table tbody tr:last-child td { border:0; }
  .c-date { grid-area:date; font-size:.86rem; }
  .c-lot  { grid-area:lot; font-size:.92rem; }
  .c-draw { grid-area:draw; text-align:right; align-self:center; }
  .c-draw .rc-draw { font-size:.78rem; color:var(--muted); }
  .c-num  { grid-area:num; margin-top:8px; }
  .c-num .rc-num { font-size:1.12rem; padding:7px 12px; }
  .c-amt  { grid-area:amt; text-align:right; align-self:start; font-size:.95rem; }
  .c-go   { grid-area:go; text-align:right; align-self:end; }
  .rc-month { display:block; }
  .rc-month td { display:block; background:transparent; border:0; padding:10px 2px 6px; }
}

/* Sticky month separators: inside the scroll container on desktop (under the
   sticky thead), under the site header on phones where the table is cards. */
.rc-table tbody tr.rc-month td { position:sticky; top:38px; z-index:2; }
@media (max-width:640px) {
  .rc-month { position:sticky; top:calc(64px + env(safe-area-inset-top)); z-index:2; background:var(--canvas); }
  .rc-table tbody tr.rc-month td { position:static; }
}
