/* Snipe.Run — shared design tokens */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root {
  /* surfaces */
  --bg:        #060b08;
  --bg-1:      #0a110d;
  --bg-2:      #0e1712;
  --panel:     #0f1813;
  --panel-2:   #131e18;
  --elev:      #16221b;
  --line:      rgba(140,255,190,0.09);
  --line-2:    rgba(140,255,190,0.16);
  --hairline:  rgba(255,255,255,0.06);

  /* text */
  --tx:        #e9f4ec;
  --tx-2:      #9db0a4;
  --tx-3:      #61756a;

  /* brand / states */
  --green:     #16ff7a;
  --green-2:   #00e676;
  --green-dim: #0fae54;
  --green-glow: rgba(22,255,122,0.35);
  --red:       #ff4d5e;
  --red-dim:   #b32a38;
  --amber:     #ffc24b;
  --cyan:      #3fe0ff;
  --violet:    #9a8cff;

  /* type */
  --display: 'Space Grotesk', system-ui, sans-serif;
  --ui: 'Manrope', system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;

  /* radius / shadow */
  --r-sm: 8px;
  --r: 12px;
  --r-lg: 16px;
  --r-xl: 22px;
  --shadow: 0 18px 50px -20px rgba(0,0,0,0.7);
  --shadow-green: 0 0 0 1px rgba(22,255,122,0.25), 0 14px 40px -16px rgba(22,255,122,0.35);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--bg);
  color: var(--tx);
  font-family: var(--ui);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection { background: var(--green); color: #04140a; }

.mono { font-family: var(--mono); font-feature-settings: "tnum" 1, "zero" 1; }
.tnum { font-variant-numeric: tabular-nums; }
.up { color: var(--green); }
.down { color: var(--red); }

/* Logo mark — sniper scope reticle locking an upward move */
.logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.logo-mark { display: block; }
.logo-word {
  font-family: var(--display);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--tx);
  font-size: 20px;
}
.logo-word .dot { color: var(--green); }

/* scrollbars */
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: #1d2c24; border-radius: 20px; border: 2px solid transparent; background-clip: padding-box; }
*::-webkit-scrollbar-thumb:hover { background: #29402f; background-clip: padding-box; }
*::-webkit-scrollbar-track { background: transparent; }

@keyframes pulseDot { 0%,100% { opacity: 1; } 50% { opacity: 0.35; } }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 0 var(--green-glow); animation: lived 1.8s infinite; display: inline-block; }
@keyframes lived { 0% { box-shadow: 0 0 0 0 var(--green-glow);} 70% { box-shadow: 0 0 0 7px rgba(22,255,122,0);} 100% { box-shadow: 0 0 0 0 rgba(22,255,122,0);} }
