/* Void Finance: site-tape.css, loaded after site.css by /portal (the sign-in page) only. Cut from site.css as it was (2026-10-22), so these pages look the same. */

/* ------------------------------------------------------------ price tape */
/* [data-pulse-tape] (pulse.js): live prices sliding right to left, pausing under the pointer; the home page's top and
   the Portal's sign-in page. Reduced motion: still, and it scrolls sideways instead. */
.tape-box { display: flex; height: 100%; overflow: hidden; scrollbar-width: none; }
.tape-box[hidden] { display: none; }
.tape-box::-webkit-scrollbar { display: none; }
.tape-track { display: flex; flex: none; width: max-content; animation: tape-slide var(--tape-dur, 60s) linear infinite; }
.tape-box:hover .tape-track, .tape-box:focus-within .tape-track { animation-play-state: paused; }
@keyframes tape-slide { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .tape-box { overflow-x: auto; }
  .tape-track { animation: none; }
  .tape-track .dup { display: none; }
}
/* tape-in-place (stage 4.5, choice 6): the home page's and the sign-in page's tape hold still too, showing the whole
   values that fit, spread across the strip; one that does not fit wraps out of sight (pulse.js takes it out of the tab
   order). A value that changes rolls green or red where it stands, as today. Off: none of these match. */
html[data-flag-tape-in-place="on"] .tape-box { overflow: hidden; }
html[data-flag-tape-in-place="on"] .tape-box .tape-track { animation: none !important; transform: none; flex: 1 1 auto; width: auto; min-width: 0; height: 100%; flex-wrap: wrap; align-content: flex-start; overflow: hidden; }
html[data-flag-tape-in-place="on"] .tape-box .tape-track .dup { display: none; }
.tp { flex: none; display: flex; align-items: center; gap: 8px; padding: 0 18px; border-right: 1px solid var(--line); color: var(--soft); white-space: nowrap; font-size: 0.86rem; }
html[data-flag-tape-in-place="on"] .tape-box .tp { flex: 1 0 auto; justify-content: center; height: 100%; }
.tp:hover { background: rgba(56, 189, 248, 0.06); color: var(--white); }
.tp-l { color: var(--muted); font: 500 0.68rem/1 var(--mono); letter-spacing: 0.1em; text-transform: uppercase; }
.tp b { color: var(--white); font-weight: 600; font-variant-numeric: tabular-nums; }
.tp-c { font-weight: 600; font-variant-numeric: tabular-nums; }
.tp-d { color: var(--faint); font: 500 0.6rem/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; }
.tp-d[hidden] { display: none; }
