/* ═══════════════════════════════════════════════════════════════════
   BLADE RUNNER 2049 — Core Theme
   ═══════════════════════════════════════════════════════════════════ */

:root {
  --bg:           #04040c;
  --bg-panel:     #080818;
  --bg-input:     #0a0a22;
  --border:       #14143a;
  --border-focus: #00d4ff44;

  --cyan:         #00d4ff;
  --cyan-dim:     #005577;
  --cyan-glow:    #00d4ff33;
  --magenta:      #ff2d78;
  --magenta-glow: #ff2d7833;
  --amber:        #ffb300;
  --green:        #00ff9f;
  --red:          #ff2d2d;
  --dim:          #3a3a5a;

  --text:         #c0c0e0;
  --text-dim:     #5858a0;
  --text-bright:  #e8e8ff;

  --font-mono:    'Courier New', 'Consolas', 'Liberation Mono', monospace;
  --font-ui:      'Segoe UI', 'Inter', system-ui, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 1.5;
}

/* ── Scanlines effect ── */
.scanlines {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0, 0, 0, 0.08) 2px,
    rgba(0, 0, 0, 0.08) 4px
  );
}

/* ── Screens ── */
.screen {
  display: none;
  width: 100%;
  height: 100%;
}
.screen.active {
  display: flex;
}

/* ── Neon glow keyframes ── */
@keyframes glow-pulse {
  0%, 100% { box-shadow: 0 0 5px var(--cyan-glow), inset 0 0 5px var(--cyan-glow); }
  50%      { box-shadow: 0 0 15px var(--cyan-glow), inset 0 0 10px var(--cyan-glow); }
}

@keyframes text-flicker {
  0%, 100% { opacity: 1; }
  92%      { opacity: 1; }
  93%      { opacity: 0.7; }
  94%      { opacity: 1; }
  96%      { opacity: 0.8; }
  97%      { opacity: 1; }
}

@keyframes fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes btc-card-in {
  from { opacity: 0; transform: translateY(12px) scale(0.98); filter: drop-shadow(0 0 0 rgba(255,179,71,0)); }
  to   { opacity: 1; transform: translateY(0)   scale(1);    }
}

@keyframes urgent-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.5; }
}

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--dim); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--cyan-dim); }

/* ── Shared input ── */
.neon-input {
  display: block;
  width: 100%;
  padding: 8px 12px;
  background: var(--bg-input);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--cyan);
  font-family: var(--font-mono);
  font-size: 13px;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  margin-bottom: 10px;
}
.neon-input:focus {
  border-color: var(--cyan);
  box-shadow: 0 0 8px var(--cyan-glow);
}
.neon-input::placeholder {
  color: var(--dim);
}
.neon-input[type="password"] {
  color: var(--magenta);
}
.neon-input[type="number"] {
  color: var(--amber);
}

/* ── Shared button ── */
.neon-btn {
  padding: 10px 24px;
  background: transparent;
  border: 1px solid var(--cyan-dim);
  border-radius: 4px;
  color: var(--cyan);
  font-family: var(--font-mono);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.15s;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.neon-btn:hover {
  background: var(--cyan);
  color: var(--bg);
  box-shadow: 0 0 20px var(--cyan-glow);
}
.neon-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.neon-btn:disabled:hover {
  background: transparent;
  color: var(--cyan);
  box-shadow: none;
}

/* ── Utility colors ── */
.cyan    { color: var(--cyan); }
.magenta { color: var(--magenta); }
.amber   { color: var(--amber); }
.green   { color: var(--green); }
.red     { color: var(--red); }
.dim     { color: var(--dim); }
