/* The replay bar: the rehearsal bar's slot, the board's own tokens. */
#src-btn{display:none !important}
#replay-bar{background:var(--info-bar-bg);border-bottom:1px solid var(--border);flex-shrink:0;
  padding:6px 14px 4px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));
  font-size:12px;color:var(--muted)}
.rp-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;row-gap:6px}
.rp-speed select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;
  padding:3px 4px;font:inherit;font-weight:600;margin-left:4px}
.rp-clock{font-variant-numeric:tabular-nums;font-weight:700;color:var(--text);font-size:14px;min-width:84px}
.rp-scrub{flex:1 1 160px;min-width:120px;max-width:420px;accent-color:var(--accent)}
.rp-count{font-variant-numeric:tabular-nums}
.rp-count b{color:var(--text)}

/* ── The projection: the outcome bar and the seat rows ── */
.nd{display:flex;align-items:stretch;gap:28px;padding:8px 0 6px}
.nd-h{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.nd-sub{font-weight:600;letter-spacing:0;text-transform:none;color:var(--faint);margin-left:6px}
.nd-out{flex:0 1 380px;min-width:240px;display:flex;flex-direction:column;gap:5px}
.nd-big{font-size:24px;font-weight:800;color:var(--text);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nd-big .nd-pct{font-variant-numeric:tabular-nums}
.nd-big .nd-rng{font-size:14px;font-weight:600;color:var(--muted);margin-left:4px}
.nd-big .nd-wait{font-size:13.5px;font-weight:600;color:var(--muted);white-space:normal}
.nd-obar{display:flex;height:26px;border-radius:5px;overflow:hidden;background:var(--blank)}
.nd-seg{width:0;flex:0 0 auto;position:relative;transition:width .7s cubic-bezier(.45,.05,.35,1);display:flex;align-items:center;justify-content:center;overflow:hidden}
.nd-seg.on+.nd-seg.on{box-shadow:inset 1.5px 0 0 var(--info-bar-bg)}
.nd-seg span{font-size:12.5px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45);font-variant-numeric:tabular-nums;white-space:nowrap}
.nd-seg.min,.nd-oi i.min{background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.30) 0 3px,transparent 3px 8px)}
.nd-seg.tie,.nd-oi i.tie{background-color:var(--muted)}
.nd-olist{display:flex;flex-wrap:wrap;gap:3px 14px;font-size:12px;color:var(--muted);min-height:16px}
.nd-oi{white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.nd-oi i{display:inline-block;width:11px;height:11px;border-radius:2px}
.nd-oi b{color:var(--text);font-variant-numeric:tabular-nums}
.nd.wait .nd-out,.nd.wait .nd-seats{opacity:.6}

.nd-seats{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px;max-width:720px}
.nd-plot{--lw:40px;--vw:76px;--gap:8px;position:relative;display:flex;flex-direction:column;padding-top:14px}
.nd-lines{position:absolute;top:14px;bottom:14px;left:calc(var(--lw) + var(--vw) + 2 * var(--gap));right:8px;pointer-events:none}
.nd-lines i{position:absolute;top:0;bottom:0;width:0;border-left:1px solid var(--border)}
.nd-lines i.nd-maj{border-left:1.5px solid var(--text);opacity:.8}
.nd-majlab{position:absolute;top:-14px;transform:translateX(-50%);font-size:10px;font-weight:700;color:var(--muted);white-space:nowrap}
.nd-row{display:grid;grid-template-columns:var(--lw) var(--vw) 1fr;column-gap:var(--gap);align-items:center;height:19px;position:relative}
.nd-row.off{visibility:hidden}
.nd-rl{font-size:12.5px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nd-tr{position:relative;height:100%;margin-right:8px}
.nd-tr i{position:absolute;top:50%;transition:left .7s cubic-bezier(.45,.05,.35,1),width .7s cubic-bezier(.45,.05,.35,1)}
.nd-wh{height:2px;margin-top:-1px;opacity:.55;left:0;width:0}
.nd-bx{height:9px;margin-top:-4.5px;border-radius:2px;opacity:.55;left:0;width:0}
.nd-dot{width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;box-shadow:0 0 0 2px var(--info-bar-bg);left:0}
.nd-rv{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.nd-rv b{font-size:15px;font-weight:800;color:var(--text);margin-right:5px}
.nd-axis{order:99;position:relative;height:14px;margin:0 8px 0 calc(var(--lw) + var(--vw) + 2 * var(--gap))}
.nd-axis span{position:absolute;top:1px;transform:translateX(-50%);font-size:9.5px;color:var(--faint);font-variant-numeric:tabular-nums}
.nd-axis span:first-child{transform:none}
@media (prefers-reduced-motion:reduce){.nd-seg,.nd-tr i{transition:none}}

@media (max-width:760px){
  #replay-bar{padding-top:5px}
  .rp-clock{font-size:13px;min-width:0}
  .rp-scrub{flex-basis:100%;max-width:none;order:9}
  .rp-count{display:none}
  .nd{gap:10px;flex-direction:column}
  .nd-out{flex:none;min-width:0}
  .nd-big{font-size:19px}
  .nd-obar{height:22px}
  .nd-seats .nd-h .nd-sub{display:none}
  .nd-plot{--lw:34px;--vw:64px;--gap:6px}
  .nd-rl{font-size:11.5px}
  .nd-rv{font-size:11px}
  .nd-rv b{font-size:13px}
  /* The bar carries the clock; the pill's copy would squeeze the title to nothing. */
  .status-time{display:none}
}
