/* The Ticket Saturday Card — ticket-window component (2026-10-02)
   Featured card on the betting guide. One ticket at a time: dropdown risk
   picker (never pills), swipe, arrows, expandable "THE TICKET'S WHY" per leg,
   combined odds, COPY SLIP. Dark-luxe default, light-scheme aware. */

.pv-ticket-wrap{
  --tk-bg:var(--desert-card);
  --tk-ticket:var(--desert-card);
  --tk-edge:var(--desert-pressed);
  --tk-ink:var(--desert-ink);
  --tk-muted:var(--desert-ink-dim);
  --tk-faint:var(--desert-ink-dim);
  --tk-gold:var(--color-warn);
  --tk-gold-deep:var(--color-warn);
  --tk-champagne:var(--color-warn);
  --tk-line:var(--desert-pressed);
  --tk-field:var(--desert-card);
  --tk-win:var(--color-win);
  --tk-radial:radial-gradient(1200px 600px at 50% -10%, var(--desert-card) 0%, var(--desert-card) 60%);
  background:var(--tk-radial), var(--tk-bg);
  padding:44px 16px 56px;
  display:flex;flex-direction:column;align-items:center;
}.pv-ticket-wrap *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.pv-context{max-width:460px;width:100%;margin-bottom:22px}.pv-context .pv-kicker{
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.28em;
  color:var(--tk-gold);margin-bottom:10px;
}.pv-context h2{font-size:22px;font-weight:800;letter-spacing:-.01em;margin-bottom:6px;color:var(--tk-ink)}.pv-context p{font-size:13.5px;line-height:1.55;color:var(--tk-muted)}.pv-context p b{color:var(--tk-ink);font-weight:600}.pv-ticket{
  width:100%;max-width:460px;background:var(--tk-ticket);
  border:1px solid var(--tk-edge);border-radius:10px;
  position:relative;overflow:hidden;
  box-shadow:0 30px 80px rgba(var(--desert-shadow-rgb), .55), 0 2px 0 rgba(var(--desert-card-rgb), .03) inset;
}.pv-notch{position:absolute;top:118px;width:22px;height:22px;border-radius:50%;
  background:var(--tk-bg);border:1px solid var(--tk-edge);z-index:3}.pv-notch.l{left:-12px}.pv-notch.r{right:-12px}.pv-stub{padding:20px 22px 16px;position:relative}.pv-stub-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pv-brand{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.24em;color:var(--tk-muted)}.pv-window{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.18em;color:var(--tk-faint);
  border:1px solid var(--tk-line);padding:4px 9px;border-radius:3px}.pv-stub h2.pv-card-title{font-size:30px;font-weight:900;letter-spacing:-.015em;line-height:1.02;color:var(--tk-ink)}.pv-stub h2.pv-card-title em{font-style:normal;color:var(--tk-champagne)}.pv-stub .pv-date{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.14em;color:var(--tk-muted);margin-top:9px}/* James 2026-10-05: proof the card is live data — when the brain last repriced. */
.pv-lines-asof{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.14em;
  color:var(--tk-champagne);margin-top:5px}.pv-live-dot{color:var(--brand-red-deep);font-weight:700;letter-spacing:.18em;animation:pvblink 1.2s infinite}@keyframes pvblink{50%{opacity:.35}}.pv-sample{
  display:inline-block;margin-left:8px;font-size:9.5px;letter-spacing:.14em;
  color:var(--desert-card);background:var(--tk-gold);padding:3px 7px;border-radius:2px;
  font-weight:700;vertical-align:1px;
}.pv-stale{
  display:inline-block;margin-left:8px;font-size:9.5px;letter-spacing:.14em;
  color:var(--tk-ink);border:1px solid var(--tk-gold);padding:3px 7px;border-radius:2px;
  font-weight:700;vertical-align:1px;
}.pv-perf{
  height:1px;margin:2px 0;position:relative;
  background-image:linear-gradient(90deg,var(--tk-edge) 55%,transparent 45%);
  background-size:12px 1px;background-repeat:repeat-x;
}.pv-picker{padding:16px 22px 6px}.pv-picker label{display:block;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;
  letter-spacing:.26em;color:var(--tk-faint);margin-bottom:8px}.pv-select{position:relative}.pv-select-btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  background:var(--tk-field);border:1px solid var(--desert-ink);border-radius:4px;
  padding:13px 15px;cursor:pointer;color:var(--tk-ink);
  font-family:'Archivo',system-ui,sans-serif;transition:border-color .18s, box-shadow .18s;
  text-align:left;font-size:15px;
}.pv-select-btn:hover{border-color:var(--desert-pressed)}.pv-select-btn.open{border-color:var(--tk-gold);box-shadow:0 0 0 1px var(--tk-gold)}.pv-select-btn .pv-play-name{font-weight:800;font-size:15.5px;letter-spacing:.01em}.pv-select-btn .pv-play-name small{display:block;font-weight:500;font-size:11.5px;color:var(--tk-muted);
  letter-spacing:.08em;margin-top:2px}.pv-chev{color:var(--tk-gold);font-size:13px;transition:transform .2s;flex:none;margin-left:12px}.pv-select-btn.open .pv-chev{transform:rotate(180deg)}.pv-menu{
  position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;
  background:var(--tk-field);border:1px solid var(--desert-ink);border-radius:4px;overflow:hidden;
  opacity:0;transform:translateY(-6px);pointer-events:none;
  transition:opacity .18s, transform .18s;
  box-shadow:0 18px 44px rgba(var(--desert-shadow-rgb), .6);
}.pv-menu.open{opacity:1;transform:none;pointer-events:auto}.pv-opt{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  background:none;border:none;border-bottom:1px solid var(--tk-line);
  padding:12px 15px;cursor:pointer;color:var(--tk-ink);text-align:left;
  font-family:'Archivo',system-ui,sans-serif;font-size:14px;
}.pv-opt:last-child{border-bottom:none}.pv-opt:hover{background:var(--desert-pressed)}.pv-opt.active{background:var(--desert-ink)}.pv-opt .pv-opt-name{font-weight:700;font-size:14px}.pv-opt .pv-opt-name small{display:block;font-weight:500;font-size:11px;color:var(--tk-muted);margin-top:1px}.pv-opt .pv-opt-odds{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13px;color:var(--tk-champagne);font-weight:600}.pv-opt .pv-check{color:var(--tk-gold);font-size:13px;margin-left:10px;visibility:hidden}.pv-opt.active .pv-check{visibility:visible}.pv-slip{padding:8px 22px 4px;position:relative;min-height:280px}.pv-slip-head{display:flex;justify-content:space-between;align-items:baseline;margin:10px 0 4px}.pv-slip-title{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:var(--tk-gold)}.pv-slip-count{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.14em;color:var(--tk-faint)}.pv-legs{list-style:none}.pv-leg{border-bottom:1px solid var(--tk-line)}.pv-leg:last-child{border-bottom:none}.pv-leg-btn{
  width:100%;background:none;border:none;cursor:pointer;text-align:left;
  padding:13px 2px;color:var(--tk-ink);font-family:'Archivo',system-ui,sans-serif;
  display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:start;font-size:15px;
}.pv-leg-num{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.2em;color:var(--tk-faint);margin-bottom:4px}.pv-leg-pick{font-weight:800;font-size:16.5px;letter-spacing:-.005em}.pv-leg-pick .pv-vs{font-weight:500;color:var(--tk-muted);font-size:13px}.pv-leg-odds{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:14px;font-weight:600;color:var(--tk-ink);
  text-align:right;padding-top:2px}.pv-leg-toggle{grid-column:1 / -1;display:flex;align-items:center;gap:7px;margin-top:7px;
  font-size:11.5px;letter-spacing:.14em;color:var(--tk-gold);font-weight:600}.pv-leg-toggle .pv-caret{font-size:10px;transition:transform .22s}.pv-leg.open .pv-leg-toggle .pv-caret{transform:rotate(180deg)}.pv-why{
  grid-column:1 / -1;overflow:hidden;max-height:0;opacity:0;
  transition:max-height .3s ease, opacity .25s ease, margin .3s ease;
}.pv-leg.open .pv-why{max-height:220px;opacity:1;margin:10px 0 4px}.pv-why p{
  font-size:13.5px;line-height:1.6;color:var(--desert-ink-dim);
  border-left:2px solid var(--tk-gold);padding:2px 0 2px 13px;font-style:italic;
}.pv-why cite{display:block;font-style:normal;font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10.5px;letter-spacing:.16em;color:var(--tk-faint);margin-top:8px}.pv-slip-swap{transition:opacity .22s ease, transform .22s ease}.pv-slip-swap.out{opacity:0;transform:translateX(26px)}.pv-slip-swap.in-left{transform:translateX(-26px)}.pv-total{padding:16px 22px 6px;text-align:center}.pv-total .pv-t-label{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.3em;color:var(--tk-muted)}.pv-total .pv-t-odds{
  font-size:52px;font-weight:900;letter-spacing:-.02em;color:var(--tk-champagne);
  line-height:1.1;margin:4px 0 2px;
  text-shadow:0 0 34px rgba(var(--color-warn-rgb), .28);
}.pv-total .pv-t-sub{font-size:12px;color:var(--tk-faint);letter-spacing:.06em}.pv-actions{padding:12px 22px 0;display:flex;flex-direction:column;gap:14px}.pv-copy{
  width:100%;background:var(--tk-gold);border:none;border-radius:4px;cursor:pointer;
  color:var(--desert-card);font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:14px;
  letter-spacing:.12em;padding:15px;transition:transform .12s, background .18s;
}.pv-copy:hover{background:var(--tk-champagne)}.pv-copy:active{transform:scale(.985)}.pv-copy.done{background:var(--tk-win);color:var(--desert-bg)}/* Card switcher — James 2026-10-05: labeled pills replace the cryptic arrows so
   visitors immediately see every card and how to switch. */
.pv-switcher{display:flex;flex-direction:column;gap:8px}.pv-switcher-head{display:flex;justify-content:space-between;align-items:center;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.22em;
  color:var(--tk-faint)}.pv-switcher-head span:last-child{color:var(--tk-champagne)}.pv-pills{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}.pv-pill{flex:1 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  min-width:120px;padding:10px 14px;border:1px solid var(--desert-ink);background:var(--tk-field);
  border-radius:8px;cursor:pointer;color:var(--tk-ink);text-align:left;
  transition:border-color .18s, background .18s}.pv-pill:hover{border-color:var(--tk-gold)}.pv-pill.active{border-color:var(--tk-gold);background:rgba(var(--color-warn-rgb), .1);
  box-shadow:0 0 0 1px var(--tk-gold)}.pv-pill-name{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:12.5px;
  letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.pv-pill-odds{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;
  color:var(--tk-champagne)}.pv-pill.active .pv-pill-odds{color:var(--tk-gold)}.pv-counter{text-align:center;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;
  letter-spacing:.22em;color:var(--tk-faint);padding:12px 0 2px}.pv-counter b{color:var(--tk-champagne)}.pv-barcode{
  height:44px;margin:14px 22px 0;border-radius:2px;opacity:.85;
  background:repeating-linear-gradient(90deg,
    var(--desert-pressed) 0 2px, transparent 2px 5px,
    var(--desert-pressed) 5px 6px, transparent 6px 11px,
    var(--desert-pressed) 11px 14px, transparent 14px 17px,
    var(--desert-pressed) 17px 18px, transparent 18px 23px);
}.pv-fine{padding:12px 26px 22px;text-align:center;font-size:10.5px;line-height:1.6;color:var(--tk-faint)}.pv-fine b{color:var(--tk-muted)}.pv-hint{text-align:center;margin-top:16px;font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10.5px;letter-spacing:.2em;color:var(--tk-faint)}.pv-hint span{color:var(--tk-gold)}.pv-ticket-loading{color:var(--tk-muted);font-size:14px;padding:60px 0;text-align:center}

/* ---------- side-by-side grid (James 2026-10-05): desktop shows ALL cards
   at once in a responsive grid (2/3/4 cols);mobile shows one card with
   pills + dots + swipe. ---------- */
.pv-tickets-grid{display:block;width:100%;max-width:1400px;margin:0 auto}.pv-tickets-grid .pv-ticket{display:none;margin-left:auto;margin-right:auto}.pv-tickets-grid .pv-ticket.active{display:block;animation:pvfadein .28s ease}@keyframes pvfadein{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}.pv-mobilenav{display:flex;flex-direction:column;gap:14px;width:100%;max-width:460px;margin:20px auto 0}.pv-dots{display:flex;justify-content:center;gap:12px;padding:6px 0 2px}.pv-dot{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--tk-faint);
  background:transparent;cursor:pointer;padding:0;transition:transform .18s, background .18s, border-color .18s}.pv-dot.active{background:var(--tk-gold);border-color:var(--tk-gold);transform:scale(1.3)}.pv-cardbars{width:100%;max-width:1400px;margin:0 auto 22px;display:flex;flex-direction:column;gap:10px}.pv-cardbars .pv-nextbanner{margin:0}.pv-cardbars .pv-recordbar{margin:0}@media (min-width:1024px){.pv-tickets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:26px;align-items:start}.pv-tickets-grid .pv-ticket{display:block;max-width:none;margin:0}.pv-tickets-grid .pv-ticket.active{animation:none}.pv-mobilenav{display:none}.pv-context{max-width:1400px}
}@media (min-width:900px){.pv-ticket-wrap{padding:56px 24px 72px}.pv-pills{justify-content:center}.pv-pill{flex:0 1 auto;min-width:150px}.pv-context{max-width:520px}.pv-ticket{max-width:520px}.pv-stub h2.pv-card-title{font-size:34px}.pv-total .pv-t-odds{font-size:60px}
}@media (prefers-reduced-motion:reduce){.pv-ticket-wrap *{transition:none !important}
}/* ---------- light scheme: paper ticket ---------- */
@media (prefers-color-scheme:light){
  .pv-ticket-wrap{
    --tk-bg:var(--desert-card);
    --tk-ticket:var(--desert-card);
    --tk-edge:var(--desert-pressed);
    --tk-ink:var(--desert-ink);
    --tk-muted:var(--desert-ink-dim);
    --tk-faint:var(--desert-ink-dim);
    --tk-gold:var(--color-warn);
    --tk-gold-deep:var(--color-warn);
    --tk-champagne:var(--color-warn);
    --tk-line:var(--desert-pressed);
    --tk-field:var(--desert-pressed);
    --tk-radial:radial-gradient(1200px 600px at 50% -10%, var(--desert-card) 0%, var(--desert-card) 60%);
  }
  .pv-ticket{box-shadow:0 24px 60px rgba(var(--desert-ink-rgb), .18), 0 2px 0 rgba(var(--desert-card-rgb), .6) inset}
  .pv-total .pv-t-odds{text-shadow:none}
  .pv-opt:hover{background:var(--desert-pressed)}
  .pv-opt.active{background:var(--desert-pressed)}
  .pv-why p{color:var(--desert-pressed)}
  .pv-select-btn{border-color:var(--desert-ink-faint)}
  .pv-menu{border-color:var(--desert-ink-faint);box-shadow:0 18px 44px rgba(var(--desert-ink-rgb), .25)}
  .pv-pill{border-color:var(--desert-ink-faint)}
  .pv-barcode{
    background:repeating-linear-gradient(90deg,
      var(--desert-ink) 0 2px, transparent 2px 5px,
      var(--desert-ink) 5px 6px, transparent 6px 11px,
      var(--desert-ink) 11px 14px, transparent 14px 17px,
      var(--desert-ink) 17px 18px, transparent 18px 23px);
  }
}/* ---------- The Ticket card lifecycle: results + waiting states (2026-10-05) ---------- */
.pv-final{
  display:inline-block;margin-left:8px;font-size:9.5px;letter-spacing:.14em;
  color:var(--desert-card);background:var(--tk-gold);padding:3px 7px;border-radius:2px;
  font-weight:700;vertical-align:1px;
}.pv-nextbanner{
  margin:14px 22px 4px;padding:16px 18px;text-align:center;
  border:1px solid var(--tk-gold);border-radius:6px;
  background:linear-gradient(180deg, rgba(var(--color-warn-rgb), .14), rgba(var(--color-warn-rgb), .05));
}.pv-next-kicker{
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13px;font-weight:700;
  letter-spacing:.22em;color:var(--tk-gold);
}.pv-next-day{
  font-size:26px;font-weight:900;letter-spacing:-.01em;color:var(--tk-ink);margin:6px 0 4px;
}.pv-next-sub{font-size:12px;color:var(--tk-muted);letter-spacing:.04em}/* graded legs */
.pv-leg-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-top:2px}.pv-res{font-family:'IBM Plex Mono',ui-monospace,monospace;font-weight:700;font-size:15px}.pv-res-win{color:var(--tk-win)}.pv-res-loss{color:var(--desert-accent)}.pv-res-push{
  font-size:10px;letter-spacing:.14em;color:var(--desert-card);background:var(--tk-gold);
  padding:3px 8px;border-radius:2px;
}.pv-res-pend{font-size:10px;letter-spacing:.14em;color:var(--tk-muted);border:1px solid var(--tk-line);padding:3px 8px;border-radius:2px}.pv-score{display:block;font-size:13px;color:var(--tk-muted);margin-top:5px;letter-spacing:.02em}.pv-score-pend{font-style:italic;color:var(--tk-faint)}/* play chips (picker menu + recap) */
.pv-chip{
  display:inline-block;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;font-weight:700;
  letter-spacing:.14em;padding:4px 9px;border-radius:2px;margin-left:10px;vertical-align:2px;
}.pv-chip-hit{background:var(--tk-win);color:var(--desert-bg)}.pv-chip-miss{background:var(--desert-accent);color:var(--desert-ink)}.pv-chip-push{background:var(--tk-gold);color:var(--desert-card)}.pv-chip-pend{border:1px solid var(--tk-line);color:var(--tk-muted)}/* big play outcome in the total block */
.pv-outcome-hit{color:var(--tk-win) !important;text-shadow:0 0 34px rgba(var(--color-win-rgb), .25) !important}.pv-outcome-miss{color:var(--desert-accent) !important;text-shadow:0 0 34px rgba(var(--desert-accent-rgb), .22) !important}.pv-outcome-push{color:var(--tk-champagne) !important}.pv-outcome-pending{color:var(--tk-muted) !important}/* card tally strip */
.pv-recordbar{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin:12px 22px 0;padding:11px 14px;border:1px dashed var(--tk-edge);border-radius:6px;
}.pv-rb-label{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.24em;color:var(--tk-faint)}.pv-rb-tally{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--tk-champagne)}/* waiting state */
.pv-wait-note{
  padding:14px 26px 0;text-align:center;font-size:13px;line-height:1.6;color:var(--tk-muted);
}.pv-lastcard{
  width:100%;max-width:460px;margin-top:18px;background:var(--tk-ticket);
  border:1px solid var(--tk-edge);border-radius:10px;padding:18px 22px;
}.pv-last-kicker{
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.22em;
  color:var(--tk-gold);margin-bottom:12px;
}.pv-last-plays{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.pv-lastplay{
  display:inline-flex;align-items:center;gap:2px;font-size:13px;font-weight:600;color:var(--tk-ink);
  background:var(--tk-field);border:1px solid var(--tk-line);border-radius:20px;padding:7px 8px 7px 14px;
}.pv-lastplay .pv-chip{margin-left:8px}.pv-last-tally{
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.08em;color:var(--tk-muted);
}@media (min-width:900px){.pv-lastcard{max-width:520px}.pv-next-day{font-size:30px}
}@media (prefers-color-scheme:light){.pv-nextbanner{background:linear-gradient(180deg, rgba(var(--color-warn-rgb), .12), rgba(var(--color-warn-rgb), .04))}.pv-chip-miss{background:var(--desert-accent);color:var(--desert-card)}.pv-res-loss{color:var(--desert-accent)}.pv-outcome-miss{color:var(--desert-accent) !important}
}
