/* ============================================================
   THE TICKET — HUB COMPOSITION (remodel, 2026-10-17)
   The tabbed rooms and the serif masthead are gone. One page:
   slim Marathon title row -> The Wire -> TODAY'S TICKETS shelf
   (every desk ticket as a whole paper slip) -> BUILD YOUR OWN ->
   THE RECORD. The paper slip itself (board.css) is untouched —
   this file only composes the hub around it.
   ============================================================ */

/* ---------- slim title row (replaces the masthead zone) ---------- */
.tk-title{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;max-width:1240px;margin:0 auto 6px;padding:20px 16px 14px;box-sizing:border-box;border-bottom:1px solid #2C2C2C}
.tk-kicker{font-family:var(--tb-mono,monospace);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#A5ACAF;margin:0 0 6px;display:flex;align-items:center;gap:8px}
.tk-kdot{width:8px;height:8px;border-radius:50%;background:#E10600;display:inline-block;flex:none}
.tk-h1{font-family:"Previously Display",sans-serif;font-weight:400;font-size:clamp(34px,4.6vw,52px);line-height:1;color:#FFFFFF;margin:0;letter-spacing:.01em}
.tk-note{font-size:13px;line-height:1.55;color:#A5ACAF;margin:0;text-align:right;max-width:430px}
@media (max-width:640px){.tk-note{text-align:left}}

/* ---------- zone heads: Marathon, never serif ---------- */
.tb-page .tb-sec-head h2{font-family:"Previously Display",sans-serif;font-weight:400;letter-spacing:.01em}
.tk-zone{margin-top:34px}
.tb-boardstate{margin:0 0 8px}

/* the season-record strip now sits at the head of the shelf zone */
#ticketSection .tb-recstrip{margin:0 0 18px}

/* ---------- THE SHELF: every ticket, whole, at once ---------- */
.tb-shelf{display:grid;grid-template-columns:1fr;gap:26px}
@media (min-width:1020px){
  .tb-shelf{grid-template-columns:1fr 1fr;gap:30px 34px}
  .tb-shelf-card--featured{grid-column:1 / -1}
  .tb-shelf-card--featured .tb-slip{max-width:640px}
}
.tb-shelf-card{min-width:0}
.tb-shelf-card .tb-slip{margin-left:auto;margin-right:auto;width:100%}
.tb-shelf-tag{display:flex;justify-content:space-between;align-items:baseline;gap:14px;max-width:640px;margin:0 auto 10px;padding:0 2px}
.tb-shelf-card:not(.tb-shelf-card--featured) .tb-shelf-tag{max-width:560px}
.tb-shelf-tag-t{font-family:var(--tb-mono,monospace);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:#EDEDED}
.tb-read-btn{background:none;border:0;padding:4px 0;cursor:pointer;font-family:var(--tb-mono,monospace);font-size:12px;letter-spacing:.06em;color:#A5ACAF;white-space:nowrap}
.tb-read-btn span{color:#E10600}
.tb-read-btn:hover,.tb-read-btn:focus-visible{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}

/* compact shelf slips: same paper, tighter rhythm — a whole ticket
   (head + every leg + totals + barcode) fits one viewport */
.tb-slip--compact{padding:16px 16px 12px 46px}
.tb-slip--compact .tb-perf{margin:8px 0}
.tb-slip--compact .tb-leg{padding:6px 0 1px}
.tb-slip--compact .tb-totals .row{padding:2px 0}
.tb-slip--compact h3{margin-bottom:2px}
@media (max-width:640px){
  /* phone: the whole ticket still fits one screen — tighter rhythm,
     same paper. (Measured: the 4-leg All-Sports slip was 1020px in an
     844px viewport; these trims bring every slip home.) */
  .tb-slip--compact{padding:12px 12px 9px 40px}
  .tb-slip--compact .tb-perf{margin:5px 0}
  .tb-slip--compact h3{line-height:1.2}
  .tb-slip--compact .tb-slip-title{font-size:19px;line-height:1.15}
  .tb-slip--compact .tb-slip-sub{font-size:10px;letter-spacing:.02em}
  .tb-slip--compact .tb-card-line{font-size:10.5px;letter-spacing:.02em}
  .tb-slip--compact .tb-leg{padding:4px 0 0}
  .tb-slip--compact .tb-leg-meta{line-height:1.3}
  .tb-slip--compact .tb-leg-match{font-size:11.5px;line-height:1.3;margin-top:0}
  .tb-slip--compact .tb-leg-pick{margin-top:1px;line-height:1.3}
  .tb-slip--compact .tb-leg-prov{margin-top:2px;line-height:1.3}
  .tb-slip--compact .tb-totals{font-size:12.5px}
  .tb-slip--compact .tb-totals .row{padding:1px 0}
  .tb-slip--compact .tb-stk-btn{width:24px;height:24px}
  .tb-slip--compact .tb-barcode{height:28px;margin-top:8px}
  .tb-slip--compact .tb-barcode-num{font-size:10px;margin-top:3px}
  .tb-slip--compact .tb-slip-fine{font-size:9px;line-height:1.35;margin-top:7px}
}

/* passed-on list: its own quiet panel under the shelf */
.tb-passed{margin-top:30px;background:#101010;border-radius:14px;padding:6px 20px 14px}
.tb-passed .tb-killed{border-top:0}

/* reading view: full-size slip inside the popup */
.tb-reading .tb-slip{margin:0 auto;max-width:640px;width:100%}

/* ---------- BUILD YOUR OWN zone (was the Build room) ---------- */
#zone-build .tb-boardwrap{display:block}
@media (min-width:1020px){
  #zone-build .tb-boardwrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:30px;align-items:start}
  #zone-build .tb-aside{position:sticky;top:18px}
  #zone-build .tb-slip{max-width:none}
}
@media (max-width:1019px){
  #zone-build .tb-boardwrap{display:flex;flex-direction:column}
  #zone-build .tb-aside{order:-1}
  #zone-build{padding-bottom:120px}
}
#zone-build .tb-copynote{margin:0 0 14px}

/* the phone sticky slip bar belongs to the builder zone now that
   there are no rooms (rooms.css hid it outside the old Build room) */
body.tb-page #stickyBar:not([hidden]){display:flex !important}
@media (min-width:1020px){body.tb-page #stickyBar:not([hidden]){display:none !important}}
