/* gc-blocks.css — the generated hub blocks (dev-tools/page-upgrade/build_hub_blocks.py): closing soon · new and changed · who won.
   Sits on top of the shared section kit (gc-sections.css, .gcs-*); only what the kit does not have lives here. Namespace .gcb-*. */
.gcb{margin:2.4em 0}
.gcb-strip{display:block;width:100%;height:46px;margin:.6em 0 0;overflow:visible}
.gcb-strip .ax{stroke:var(--line,#e3e6e1);stroke-width:2;vector-effect:non-scaling-stroke}
.gcb-strip circle{vector-effect:non-scaling-stroke;stroke-width:2}
.gcb-strip .loc{fill:var(--a,#0f5c47);stroke:var(--a,#0f5c47)}
.gcb-strip .nat{fill:color-mix(in srgb,var(--a,#0f5c47) 38%,#fff);stroke:color-mix(in srgb,var(--a,#0f5c47) 38%,#fff)}   /* filled, lighter: a hollow ring read as the numeral 0 at phone size */
.gcb-strip-ax{display:grid;grid-template-columns:repeat(7,1fr);font-size:.72em;color:var(--mut,#5f6b78);margin:0 0 1em;font-variant-numeric:tabular-nums}
.gcb-strip-ax span{white-space:nowrap;transform:translateX(-50%);margin-left:calc(100%/12)}
.gcb-strip-ax span:first-child{transform:none;margin-left:0}.gcb-strip-ax span:last-child{text-align:right;transform:none;margin-left:0}
.gcb-key{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.78em;color:var(--mut,#5f6b78);margin:0 0 .4em}
.gcb-key i{display:inline-block;width:10px;height:10px;border-radius:50%;background:color-mix(in srgb,var(--a,#0f5c47) 38%,#fff);margin-right:5px;vertical-align:-1px}
.gcb-key i.loc{background:var(--a,#0f5c47)}
.gcb-note{font-size:.88em;color:var(--mut,#5f6b78)}
.gcb .gcs-timeline li>a{font-weight:600}
.gcb tr[hidden],.gcb circle[hidden]{display:none}
.gcb time{white-space:nowrap;font-variant-numeric:tabular-nums}
/* block tables: a real <table> for crawlers; on phones each row becomes two compact lines (name, then the facts) instead of a stacked card */
.gcb-t td:first-child{min-width:38%}
.gcb-t td:empty::after{content:"\2014";color:var(--line,#e3e6e1)}
.gcb-bar{display:inline-block;vertical-align:middle;width:min(160px,40%);height:8px;border-radius:4px;background:var(--soft,#f4f6f2);margin-right:10px;position:relative;overflow:hidden}
.gcb-bar::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p,0%);background:var(--a,#0f5c47);border-radius:4px}
.gcb-won td b{font-variant-numeric:tabular-nums}
@media (max-width:600px){
  .gcb-t thead{display:none}
  .gcb-t,.gcb-t tbody{display:block}
  .gcb-t tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 0;padding:11px 12px;border-bottom:1px solid var(--line,#e3e6e1)}
  .gcb-t tr:last-child{border-bottom:0}
  .gcb-t td,.gcb-t td:last-child{display:block;border:0;padding:0;font-size:.86em;color:var(--mut,#5f6b78);white-space:normal}
  .gcb-t td:first-child{flex:1 0 100%;font-size:1em;color:var(--ink,#1c2430);margin-bottom:2px}
  .gcb-t td:empty{display:none}
  .gcb-t td+td+td:not(:empty)::before{content:"\00b7";margin:0 7px}
  .gcb-t td[data-label="Closes"]::before{content:"Closes "}
  .gcb-t td[data-u]::after{content:" " attr(data-u)}
  .gcb-bar{width:44px;margin-right:7px}
}
/* kit additions that ride with the sprint (kept here so gc-sections.css is not edited while another branch changes it):
   several results in one calculator, and 44px inputs */
.gcs-calc .gcs-outs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.gcs-calc input,.gcs-calc select{min-height:44px}
