/* ═══════════════════════════════════════════════
   QUANTUM MINERS — CYBERPUNK FX & COMPONENTS
   ═══════════════════════════════════════════════ */

/* ── GLITCH TEXT ───────────────────────────────── */
.glitch {
  position: relative;
  animation: glitchShift 6s infinite;
}
.glitch::before, .glitch::after {
  content: attr(data-text);
  position: absolute; top:0; left:0; width:100%; height:100%;
}
.glitch::before {
  color: var(--magenta);
  animation: glitchA 5s infinite;
  clip-path: polygon(0 15%, 100% 15%, 100% 40%, 0 40%);
}
.glitch::after {
  color: var(--cyan);
  animation: glitchB 5s infinite;
  clip-path: polygon(0 60%, 100% 60%, 100% 80%, 0 80%);
}
@keyframes glitchA {
  0%,89%,100%{transform:none;opacity:0}
  90%{transform:translateX(-4px) skewX(-1deg);opacity:0.7}
  92%{transform:translateX(3px);opacity:0.6}
  94%{transform:none;opacity:0}
}
@keyframes glitchB {
  0%,85%,100%{transform:none;opacity:0}
  87%{transform:translateX(4px) skewX(1deg);opacity:0.6}
  89%{transform:translateX(-2px);opacity:0.5}
  91%{transform:none;opacity:0}
}
@keyframes glitchShift {
  0%,94%,100%{filter:none}
  95%{filter:hue-rotate(10deg) brightness(1.1)}
  97%{filter:hue-rotate(-10deg)}
}

/* ── NEON TEXT ─────────────────────────────────── */
.neon-green {
  text-shadow:
    0 0 4px var(--matrix),
    0 0 12px var(--matrix),
    0 0 24px rgba(0,255,65,0.4);
  animation: neonFlicker 8s infinite;
}
.neon-cyan {
  text-shadow:
    0 0 4px var(--cyan),
    0 0 12px var(--cyan),
    0 0 24px rgba(0,207,255,0.4);
}
@keyframes neonFlicker {
  0%,96%,100%{opacity:1}
  97%{opacity:0.85}
  98%{opacity:1}
  99%{opacity:0.9}
}

/* ── MINING RIG CARDS ──────────────────────────── */
.rig-card {
  background: var(--void-card-2);
  border: 1px solid var(--border);
  padding: 1.25rem;
  position: relative; overflow: hidden;
  cursor: pointer; transition: all 0.25s;
  clip-path: var(--clip-card);
}
.rig-card::before {
  content:''; position:absolute;
  top:0; left:0; right:0; height:1px;
  opacity:0; transition:opacity 0.25s;
}
.rig-card:hover { transform: translateY(-3px); }
.rig-card:hover::before { opacity:1; }

/* Rarity tint */
.rig-card.common    { border-color:rgba(136,255,170,0.15); }
.rig-card.common::before  { background:linear-gradient(90deg,transparent,#88ffaa,transparent); }
.rig-card.common:hover    { box-shadow:0 8px 30px rgba(136,255,170,0.08); }

.rig-card.rare     { border-color:rgba(0,207,255,0.2); }
.rig-card.rare::before    { background:linear-gradient(90deg,transparent,var(--cyan),transparent); }
.rig-card.rare:hover      { box-shadow:0 8px 30px rgba(0,207,255,0.12); }

.rig-card.epic     { border-color:rgba(221,85,255,0.25); }
.rig-card.epic::before    { background:linear-gradient(90deg,transparent,#dd55ff,transparent); }
.rig-card.epic:hover      { box-shadow:0 8px 30px rgba(221,85,255,0.12); }

.rig-card.legendary{ border-color:rgba(255,215,0,0.3); }
.rig-card.legendary::before { background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.rig-card.legendary:hover   { box-shadow:0 8px 30px rgba(255,215,0,0.15); }

.rig-card.mythic   { border-color:rgba(255,34,102,0.35); animation:mythicCard 3s ease-in-out infinite; }
.rig-card.mythic::before { background:linear-gradient(90deg,transparent,#ff2266,transparent); opacity:1; }
@keyframes mythicCard { 0%,100%{box-shadow:0 0 10px rgba(255,34,102,0.15)} 50%{box-shadow:0 0 25px rgba(255,34,102,0.3)} }

.rig-ascii {
  font-family: var(--f-mono); font-size:0.5rem; line-height:1.3;
  white-space:pre; text-align:center; margin-bottom:0.85rem;
  opacity:0.4;
}
.rig-card.common    .rig-ascii { color:#88ffaa; }
.rig-card.rare      .rig-ascii { color:var(--cyan); }
.rig-card.epic      .rig-ascii { color:#dd55ff; }
.rig-card.legendary .rig-ascii { color:var(--gold); }
.rig-card.mythic    .rig-ascii { color:#ff2266; }

.rig-name { font-family:var(--f-title); font-size:0.88rem; font-weight:700; letter-spacing:0.05em; }
.rig-card.common    .rig-name { color:#88ffaa; }
.rig-card.rare      .rig-name { color:var(--cyan); }
.rig-card.epic      .rig-name { color:#dd55ff; }
.rig-card.legendary .rig-name { color:var(--gold); }
.rig-card.mythic    .rig-name { color:#ff2266; }

.rig-stat-row { display:flex; justify-content:space-between; font-size:0.68rem; color:var(--text-sub); padding:0.2rem 0; }
.rig-stat-val { color:var(--matrix); font-family:var(--f-mono); }

/* ── PACK CARDS ────────────────────────────────── */
.pack-card {
  background: var(--void-card);
  border: 1px solid var(--border);
  padding: 2rem 1.5rem; text-align:center;
  position:relative; overflow:hidden; cursor:pointer;
  clip-path: var(--clip-card); transition:all 0.25s;
}
.pack-card::after {
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg, transparent 50%, rgba(0,207,255,0.03) 100%);
  pointer-events:none;
}
.pack-card:hover { transform:translateY(-4px); }
.pack-card.standard:hover { border-color:var(--border-green); box-shadow:0 12px 40px rgba(0,255,65,0.1); }
.pack-card.premium:hover  { border-color:var(--border-md); box-shadow:0 12px 40px var(--cyan-glow); }
.pack-card.elite:hover    { border-color:rgba(221,85,255,0.4); box-shadow:0 12px 40px rgba(221,85,255,0.12); }

.pack-price {
  font-family: var(--f-title); font-size:2rem; font-weight:700;
  color:var(--matrix); text-shadow:0 0 12px rgba(0,255,65,0.4); margin:0.75rem 0;
}
.pack-price small { font-size:0.7rem; color:var(--text-sub); font-family:var(--f-mono); }
.pack-tag {
  position:absolute; top:0; right:0;
  padding:0.25rem 1rem; font-size:0.6rem; font-family:var(--f-mono); letter-spacing:0.12em;
  font-weight:700; color:#000;
}
.pack-tag.popular  { background:var(--cyan); }
.pack-tag.value    { background:linear-gradient(90deg,#dd55ff,#ff2266); }

/* ── MARKET ITEM ───────────────────────────────── */
.market-item {
  background: var(--void-card);
  border: 1px solid var(--border);
  padding: 0.9rem 1.5rem;
  display:grid; grid-template-columns:100px 1fr auto auto;
  align-items:center; gap:1.5rem;
  cursor:pointer; transition:all 0.18s;
}
.market-item:hover { border-color:var(--border-md); background:rgba(0,20,35,0.9); }

/* ── FARM POOL ─────────────────────────────────── */
.farm-pool {
  background: var(--void-card);
  border: 1px solid var(--border);
  position:relative; overflow:hidden;
  transition:border-color 0.2s;
}
.farm-pool-header {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr 2fr;
  align-items:center; gap:1.5rem; padding:1.25rem 1.5rem;
}
.farm-pool-footer {
  padding:0.6rem 1.5rem; border-top:1px solid rgba(0,207,255,0.05);
  display:flex; gap:2rem; font-size:0.65rem; color:var(--text-sub);
}
.farm-apr {
  font-family:var(--f-title); font-size:1.5rem; font-weight:700;
}
.farm-pool:hover { border-color:var(--border-md); }

/* ── STAKING PERIOD BUTTONS ────────────────────── */
.stake-period-btn {
  flex:1; padding:0.5rem; text-align:center; cursor:pointer;
  background:transparent; border:1px solid var(--border);
  color:var(--text-sub); font-family:var(--f-mono); font-size:0.62rem;
  letter-spacing:0.08em; transition:all 0.15s; line-height:1.5;
}
.stake-period-btn:hover { border-color:var(--border-md); color:var(--text-main); }
.stake-period-btn.active { border-color:var(--matrix); color:var(--matrix); background:rgba(0,255,65,0.05); }

/* ── COUNTDOWN ─────────────────────────────────── */
.countdown {
  font-family:var(--f-title); font-size:2rem; font-weight:700;
  color:var(--cyan); text-shadow:0 0 12px var(--cyan-glow); letter-spacing:0.15em;
}

/* ── CHART ─────────────────────────────────────── */
.chart-wrap {
  border:1px solid var(--border); background:rgba(0,8,14,0.6);
  padding:0.75rem; position:relative; overflow:hidden;
}

/* ── TERMINAL PROMPT ───────────────────────────── */
.t-prompt {
  display:flex; align-items:center; gap:0.3rem;
  font-family:var(--f-mono); font-size:0.65rem; margin-bottom:0.3rem; opacity:0.7;
}
.t-user{color:var(--matrix)} .t-at{color:var(--text-dim)} .t-host{color:var(--cyan)} .t-path{color:#dd55ff} .t-dol{color:var(--matrix)}

/* ── SCAN REVEAL ───────────────────────────────── */
@keyframes scanReveal {
  from { clip-path:inset(0 100% 0 0); }
  to   { clip-path:inset(0 0% 0 0); }
}
.scan-reveal { animation:scanReveal 0.6s ease forwards; }

/* ── CYBER BORDER ANIMATED ─────────────────────── */
.cyber-border {
  position:relative;
}
.cyber-border::before, .cyber-border::after {
  content:''; position:absolute;
  background:var(--cyan);
}
.cyber-border::before { top:0; left:0; right:0; height:1px; width:0; animation:borderScan 3s ease infinite; }
.cyber-border::after  { bottom:0; right:0; left:0; height:1px; width:0; animation:borderScan 3s ease 1.5s infinite; }
@keyframes borderScan { 0%{width:0;left:0} 50%{width:100%} 100%{width:0;left:100%} }

/* ── APR BADGE ─────────────────────────────────── */
.apr-badge {
  display:inline-block; padding:0.2rem 0.6rem;
  background:rgba(255,215,0,0.08); border:1px solid rgba(255,215,0,0.3);
  color:var(--gold); font-size:0.62rem; letter-spacing:0.1em; font-family:var(--f-mono);
}

/* ── YIELD RATE ────────────────────────────────── */
.yield-big {
  font-family:var(--f-title); font-size:2.2rem; font-weight:700;
  color:var(--gold); text-shadow:0 0 14px rgba(255,215,0,0.4);
}

/* ── DATA ROWS ─────────────────────────────────── */
.data-row {
  display:flex; justify-content:space-between; align-items:center;
  padding:0.5rem 0; border-bottom:1px solid rgba(0,207,255,0.04);
  font-size:0.72rem;
}
.data-row:last-child { border-bottom:none; }
.data-key  { color:var(--text-sub); font-family:var(--f-mono); letter-spacing:0.05em; }
.data-val  { color:var(--text-main); font-family:var(--f-mono); }
.data-val.green { color:var(--matrix); }
.data-val.cyan  { color:var(--cyan); }
.data-val.gold  { color:var(--gold); }

/* ── POOL REVEAL MODAL ─────────────────────────── */
.pack-reveal-card {
  border:1px solid currentColor;
  padding:2rem; margin:1.5rem auto; max-width:280px;
  text-align:center; position:relative; overflow:hidden;
}
.pack-reveal-card::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,0.02) 0%, transparent 60%);
  pointer-events:none;
}

/* ── HASH COUNTER ──────────────────────────────── */
.hash-num {
  font-family:var(--f-title); font-size:2.6rem; font-weight:700;
  line-height:1; color:var(--matrix);
  text-shadow:0 0 14px rgba(0,255,65,0.5);
}
.hash-num.lg { font-size:3.2rem; }
