/* Sunday Scorecard topic map + consensus. Phone first: swipeable topic cards, then verse lists; one bar per sermon.
   Uses the site tokens from each page's :root. No table here has a minimum width. */
.tsnap{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg2)}
.tsnap i{width:8px;height:8px;border-radius:50%;background:var(--amber);flex:none}
.tearly{margin-top:18px;border:1px solid rgba(242,169,0,.35);background:rgba(242,169,0,.06);border-radius:12px;padding:14px 16px;font-family:var(--read);font-size:16.5px;line-height:1.5;color:var(--fg2);max-width:78ch}
.tearly b{color:var(--white);font-weight:600}
.tsec{margin-top:40px}
.tsec>h2{font-size:clamp(24px,3.4vw,34px)}
.tsec>.sub{margin-top:8px;font-family:var(--read);font-size:17px;color:var(--fg2);max-width:70ch}

/* topic cards: a grid on wide screens, a swipe row on phones */
.trow{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
.tcard{display:grid;gap:8px;align-content:start;min-width:0;padding:18px;background:var(--ink2);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--fg)}
.tcard:hover,.tcard:focus-visible{border-color:var(--fg2)}
.tcard .tk{font-weight:800;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ember)}
.tcard .tn{font-weight:900;font-size:20px;line-height:1.15;text-transform:uppercase;letter-spacing:-.01em;color:var(--white)}
.tcard .tq{font-family:var(--read);font-style:italic;font-size:16px;line-height:1.4;color:var(--fg2)}
.tends{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.3;color:var(--dim)}
.tends span:last-child{text-align:right}
.tfoot{display:grid;gap:4px;margin-top:4px;font-size:13px;color:var(--fg2)}
.tcount em{font:400 24px/1 var(--board);font-style:normal;color:var(--white);margin-right:4px;vertical-align:-2px}
.tmaj{font-weight:600}
.tsmall{font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
.tsplit{display:flex;gap:2px;height:14px;border-radius:999px;overflow:hidden;background:var(--ink3);margin-top:4px}
.tsplit i{display:block;min-width:4px}
.tsplit i.off{background:repeating-linear-gradient(45deg,#555 0 4px,#333 4px 8px)}
.tsplit.empty i{background:var(--ink3)}
.tswipe{display:none}
@media (max-width:640px){
  .trow{display:grid;grid-auto-flow:column;grid-auto-columns:86%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-inline:-20px;padding:2px 20px 6px;scroll-padding-inline:20px;gap:10px}
  .trow::-webkit-scrollbar{display:none}
  .tcard{scroll-snap-align:start;min-height:100%}
  .tswipe{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
}

/* verse lists */
.vlist{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.vlist li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:12px 14px;background:var(--ink2);border:1px solid var(--line2);border-radius:12px}
.vlist .vr{font-family:var(--read);font-weight:600;font-size:19px;color:var(--white)}
.vlist .vn{font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg2);text-align:right}
.vlist .vn em{font:400 24px/1 var(--board);font-style:normal;color:var(--white);margin-right:4px;vertical-align:-3px}
.vlist .vt{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}
.tchip{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border:1px solid var(--line);border-radius:999px;font-weight:700;font-size:12.5px;color:var(--fg);text-decoration:none;background:transparent}
a.tchip:hover,a.tchip:focus-visible{border-color:var(--ember);color:var(--white)}
.tchip i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;flex:none}

/* topic page */
.tq-big{font-family:var(--read);font-style:italic;font-size:clamp(20px,2.4vw,24px);line-height:1.4;color:var(--fg);margin-top:6px}
.tcrumb{font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.tcrumb a{color:var(--fg2);text-decoration:none;border-bottom:1px solid var(--line)}
.tstat{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:22px}
.tstat .sscard .n{font:400 48px/1 var(--board);color:var(--white)}
.tstat .sscard .l{font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-top:4px}
.tpos{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.tpos li{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:4px 12px;align-items:start;padding:12px 14px;background:var(--ink2);border:1px solid var(--line2);border-radius:12px}
.tpos li.maj{border-color:var(--fg2)}
.tpos .sw{width:16px;height:16px;border-radius:4px;margin-top:3px;background:repeating-linear-gradient(45deg,#555 0 4px,#333 4px 8px)}
.tpos b{font-weight:800;font-size:15px;color:var(--white)}
.tpos .pn{font:400 26px/1 var(--board);color:var(--white);text-align:right}
.tpos .pn small{display:block;font:700 11px var(--sans);letter-spacing:.1em;color:var(--dim);margin-top:2px}
.tpos .pd{grid-column:2/-1;font-family:var(--read);font-size:15.5px;color:var(--fg2);line-height:1.45}
.tpos .tag{display:inline-block;margin-left:6px;font-weight:800;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--white);border-radius:4px;padding:2px 6px;vertical-align:2px}

/* desktop spectrum (hidden on phones; the per-sermon bars below carry the same information) */
.spec{margin-top:16px;padding:22px 22px 14px;background:var(--ink2);border:1px solid var(--line);border-radius:14px}
.spec-field{position:relative;margin:0 60px}
.spec-col{position:absolute;bottom:0;transform:translateX(-50%);display:flex;flex-wrap:wrap-reverse;justify-content:center;align-content:flex-start}
.spec-col .sd{width:calc(var(--dot) - 2px);height:calc(var(--dot) - 2px);margin:1px;border-radius:50%;display:block;outline-offset:1px}
.spec-col .sd:hover,.spec-col .sd:focus-visible{outline:2px solid var(--white)}
.sd.b-g{background:var(--leaf)}.sd.b-y{background:var(--amber)}.sd.b-o{background:var(--ember)}.sd.b-r{background:var(--red)}.sd.b-na{background:var(--dim)}
.spec-mid{position:absolute;top:-6px;bottom:-12px;width:0;border-left:2px dashed rgba(255,255,255,.55)}
.spec-mid span{position:absolute;top:-18px;left:0;transform:translateX(-50%);white-space:nowrap;font-weight:800;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg2)}
.spec-axis{height:4px;margin:12px 60px 0;border-radius:999px;background:linear-gradient(90deg,rgb(110,134,168),rgb(150,150,150),rgb(214,170,96))}
.spec-labels{position:relative;height:104px;margin:0 60px}
.spec-lab{position:absolute;top:8px;transform:translateX(-50%);width:130px;text-align:center;font-size:12px;line-height:1.25;color:var(--fg2)}
.spec-lab.r1{top:42px}
.spec-lab b{display:block;font-weight:700;color:var(--fg)}
.spec-lab.maj b{color:var(--white)}
.spec-lab em{font:400 18px/1 var(--board);font-style:normal;color:var(--white)}
.spec-lab::before{content:"";position:absolute;left:50%;top:-10px;height:8px;border-left:1px solid var(--line)}
.spec-lab.r1::before{top:-44px;height:42px}
.spec-ends{display:flex;justify-content:space-between;gap:16px;margin-top:4px;font-weight:800;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg2)}
.spec-off{margin-top:10px;font-size:13px;color:var(--dim)}
.spec-key{margin-top:12px}
@media (max-width:719px){.spec{display:none}}

/* one bar per sermon, against the collection's middle */
.mebar{position:relative;display:block;height:10px;border-radius:999px;background:linear-gradient(90deg,rgba(110,134,168,.35),rgba(150,150,150,.25),rgba(214,170,96,.35))}
.mebar i{position:absolute;top:50%;transform:translate(-50%,-50%)}
.mebar .span{transform:translateY(-50%);height:4px;background:rgba(242,84,27,.55);border-radius:2px}
.mebar .mid{width:2px;height:18px;background:var(--white);border-radius:1px}
.mebar .me{width:14px;height:14px;border-radius:50%;background:var(--ember);border:2px solid var(--ink)}
.mebar.big{height:14px}.mebar.big .mid{height:26px}.mebar.big .me{width:22px;height:22px}
.mebar.off{background:repeating-linear-gradient(45deg,rgba(255,255,255,.08) 0 4px,transparent 4px 8px);height:auto;padding:2px 10px;font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.1em}
.srhead{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-weight:800;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg2)}
.srhead span:last-child{text-align:right}
.srlegend{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--dim)}
.srlegend span{display:inline-flex;align-items:center;gap:6px}
.srlegend .lm{width:2px;height:14px;background:var(--white)}
.srlegend .ld{width:12px;height:12px;border-radius:50%;background:var(--ember)}
.srows{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.srows a{display:grid;gap:10px;padding:14px;background:var(--ink2);border:1px solid var(--line2);border-radius:12px;text-decoration:none;color:var(--fg);min-height:44px}
.srows a:hover,.srows a:focus-visible{border-color:var(--line)}
.sr-t b{display:block;font-family:var(--read);font-weight:600;font-size:17px;line-height:1.3;color:var(--white)}
.sr-t span{display:block;margin-top:2px;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.sr-l{font-size:13.5px;color:var(--fg2)}
.sr-l b{color:var(--fg);font-weight:700}
.rare{font-style:normal;font-weight:800;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);border:1px solid rgba(242,169,0,.4);border-radius:4px;padding:2px 6px;margin-left:4px;white-space:nowrap}
.tmore{margin-top:12px}

/* "Where this sermon sits" on the scorecard */
.sits .sscard{display:grid;gap:12px}
.sits .row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.sits .n{font:400 56px/1 var(--board);color:var(--white)}
.sits .of{font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.sits .ends{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--dim)}
.sits .chips{display:flex;flex-wrap:wrap;gap:8px}
.sits h3{font-size:15px;text-transform:uppercase;letter-spacing:.1em}
/* Phones (Oct 12 mobile audit): 12px floor for small labels, same as the other Sunday Scorecard pages */
@media (max-width:640px){
nav.main a,.kicker,footer .wrap,.tcard .tk,.tsmall,.srhead,.rare,.tpos .pn small,.tpos .tag,.spec-mid span,.spec-ends,.mebar.off{font-size:12px}
}
