/* ══════════════════════════════════════════════════════════════════════
   bitCARDS · shared theme.css
   Pixel-accurate borders, marquee animation, scrollbar, button press.
   Loaded by every marketing page on top of Tailwind CDN.
   ══════════════════════════════════════════════════════════════════════ */

body { image-rendering: pixelated; }
svg { shape-rendering: crispEdges; }

.material-symbols-outlined {
  font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}

/* 16-bit "extruded" borders: 2px solid + 2px offset shadow */
.pixel-border           { border: 2px solid #9f8e7a; box-shadow: 2px 2px 0 0 #524534; }
.pixel-border-primary   { border: 2px solid #ffc880; box-shadow: 2px 2px 0 0 #644000; }
.pixel-border-secondary { border: 2px solid #42dede; box-shadow: 2px 2px 0 0 #003737; }
.pixel-border-error     { border: 2px solid #ffb4ab; box-shadow: 2px 2px 0 0 #690005; }

/* "press" interaction: shift +2px on click, removing the offset shadow */
.btn-press           { transition: transform .06s, box-shadow .06s; }
.btn-press:active    { transform: translate(2px, 2px); box-shadow: 0 0 0 0 #644000 !important; }

/* Hover-pop for cards: lift up-left, intensify shadow to primary color */
.hover-pop           { transition: transform .12s, box-shadow .12s; }
.hover-pop:hover     { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 0 #ffc880; }

/* Marquee */
.marquee-container   { overflow: hidden; white-space: nowrap; }
.marquee-content     { display: inline-block; animation: marquee 30s linear infinite; }
@keyframes marquee   { 0% { transform: translateX(0%); } 100% { transform: translateX(-50%); } }

/* Cypherpunk scrollbar */
::-webkit-scrollbar           { width: 8px; height: 8px; }
::-webkit-scrollbar-track     { background: #19120a; border-left: 1px solid #524534; }
::-webkit-scrollbar-thumb     { background: #524534; }
::-webkit-scrollbar-thumb:hover{ background: #9f8e7a; }

/* Blinking terminal cursor */
.blink-cursor        { border-left: 2px solid #42dede; animation: blinkc 1s step-end infinite; }
@keyframes blinkc    { 50% { border-color: transparent; } }

/* Scanline overlay */
.scanlines           { background-image: repeating-linear-gradient(0deg, rgba(0,0,0,.15) 0 1px, transparent 1px 3px); }

/* Diagonal stripe pattern for "empty" UI states */
.bg-stripes          {
  background-image: repeating-linear-gradient(45deg, #302920 25%, transparent 25%, transparent 75%, #302920 75%);
  background-size: 8px 8px;
}

/* Cards (320×448 SVG output): make them fit the container nicely */
.bc-card-frame svg   { display: block; width: 100%; height: auto; }

/* "Live dot" pulse */
.live-dot            { animation: livePulse 1.4s ease-in-out infinite; }
@keyframes livePulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }

/* Bracket connector lines for tournament page */
.bracket-line-h      { background: #524534; height: 2px; }
.bracket-line-v      { background: #524534; width: 2px; }
