@import url("https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap");

:root {
  --elite-bg-1: #060914;
  --elite-bg-2: #04070f;
  --elite-bg-3: #03050a;
  --elite-text: #eaf1ff;
  --elite-muted: #9fb0ca;
  --elite-line: rgba(149, 177, 226, 0.24);
  --elite-line-strong: rgba(122, 216, 255, 0.48);
  --elite-accent: #6ec6ff;
  --elite-accent-2: #8d7dff;
}

body {
  font-family: "Space Grotesk", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: var(--elite-text);
  background:
    radial-gradient(900px 500px at 10% -10%, rgba(43, 195, 255, 0.16), transparent 65%),
    radial-gradient(760px 460px at 90% -15%, rgba(144, 92, 255, 0.18), transparent 67%),
    linear-gradient(160deg, var(--elite-bg-1) 0%, var(--elite-bg-2) 46%, var(--elite-bg-3) 100%);
  overflow-x: hidden;
}

.stars {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    radial-gradient(1.4px 1.4px at 12% 18%, rgba(255,255,255,.18), transparent 60%),
    radial-gradient(1px 1px at 79% 32%, rgba(96,204,255,.22), transparent 60%),
    radial-gradient(1.1px 1.1px at 42% 78%, rgba(150,118,255,.20), transparent 60%),
    radial-gradient(1.5px 1.5px at 65% 56%, rgba(255,255,255,.14), transparent 60%);
  opacity: .55;
  animation: eliteSkyShift 46s linear infinite;
}

.tech-bg {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
  opacity: 1;
}

.tech-bg::before,
.tech-bg::after {
  content: "";
  position: absolute;
  inset: -15%;
}

.tech-bg::before {
  background:
    repeating-linear-gradient(120deg, rgba(90,157,255,.10) 0 1px, transparent 1px 42px),
    repeating-linear-gradient(30deg, rgba(87,235,214,.08) 0 1px, transparent 1px 46px);
  opacity: .7;
  transform: scale(1.06);
  animation: eliteGridDrift 30s linear infinite;
}

.tech-bg::after {
  background:
    radial-gradient(680px 380px at 24% 30%, rgba(91,208,255,.30), transparent 72%),
    radial-gradient(640px 420px at 74% 20%, rgba(146,108,255,.30), transparent 74%),
    radial-gradient(620px 420px at 52% 86%, rgba(61,239,198,.16), transparent 70%);
  mix-blend-mode: screen;
  filter: blur(16px);
  opacity: .95;
  animation: eliteGlowFloat 13s ease-in-out infinite alternate;
}

.nav {
  position: sticky;
  top: 0;
  z-index: 80;
  backdrop-filter: blur(14px);
  background: linear-gradient(180deg, rgba(9,13,24,.92), rgba(9,13,24,.72));
  border-bottom: 1px solid var(--elite-line);
  box-shadow: 0 12px 34px rgba(0,0,0,.34);
}

.nav .container {
  min-height: 74px;
}

.nav-brand {
  font-family: "Sora", sans-serif;
  font-weight: 700;
  letter-spacing: .08em;
}

.nav-links a {
  color: #d9e6ff;
  border-radius: .55rem;
}

.nav-links a:hover {
  color: #fff;
  background: rgba(134, 169, 255, .12);
}

.nav-socials a {
  border: 1px solid rgba(170,192,231,.2);
  background: rgba(16,24,40,.6);
}

.section,
.hero,
.footer,
.container,
.pool-shell,
.x-explorer,
.wp-shell {
  position: relative;
  z-index: 3;
}

.section-title,
.glitch,
.hero-subtitle,
h1,
h2,
h3,
h4 {
  font-family: "Sora", sans-serif;
}

.feature-card,
.spec-card,
.support-card,
.step-card,
.info-card,
.panel,
.x-panel,
.kpi,
.wp-section,
.wp-table,
.wp-header,
pre,
.endpoint-card,
.pool-table,
.pool-card,
.calculator-card {
  border-radius: 16px !important;
  border: 1px solid rgba(147,176,226,.25) !important;
  background: linear-gradient(162deg, rgba(19,29,50,.82), rgba(12,18,33,.86)) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.btn,
button,
input[type="submit"] {
  font-family: "Sora", sans-serif;
  border-radius: 12px !important;
}

.btn-primary,
.x-btn,
button {
  background: linear-gradient(135deg, #6be1ff, #9a91ff) !important;
  color: #07111b !important;
  border: 1px solid rgba(255,255,255,.28) !important;
}

.footer {
  border-top: 1px solid var(--elite-line);
  background: linear-gradient(180deg, rgba(7,11,21,.96), rgba(4,6,12,.98));
}

.footer-links a:hover {
  color: #dff2ff;
}

.cursor-dust-canvas {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 120;
}

@keyframes eliteSkyShift {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-18px,-12px,0); }
}

@keyframes eliteGridDrift {
  from { background-position: 0 0, 0 0; }
  to { background-position: 120px -80px, -140px 90px; }
}

@keyframes eliteGlowFloat {
  0% { transform: translate3d(-2%, -1%, 0) scale(1); }
  100% { transform: translate3d(2%, 2%, 0) scale(1.06); }
}

@media (prefers-reduced-motion: reduce) {
  .stars,
  .tech-bg::before,
  .tech-bg::after {
    animation: none !important;
  }
}

@media (hover: none), (pointer: coarse) {
  .cursor-dust-canvas { display: none !important; }
}


/* Whitepaper + Mining flattening: avoid grid-inside-grid visual nesting */
.whitepaper-page .hero-whitepaper {
  min-height: auto !important;
  padding: 108px 0 56px !important;
}

.whitepaper-page .hero-whitepaper > .container {
  width: min(1100px, 94vw) !important;
}

.whitepaper-page .wp-shell {
  background: linear-gradient(165deg, rgba(14,22,40,.88), rgba(10,16,30,.84)) !important;
  border: 1px solid rgba(147,176,226,.26) !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05) !important;
  padding: 28px 30px !important;
}

.whitepaper-page .wp-content,
.whitepaper-page .wp-body {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.whitepaper-page .wp-header {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 0 14px !important;
  margin-bottom: 10px !important;
  border-bottom: 1px solid rgba(149, 177, 226, 0.18) !important;
}

.whitepaper-page .wp-header h1 {
  font-size: clamp(1.45rem, 2.5vw, 2rem) !important;
  letter-spacing: .02em !important;
}

.whitepaper-page .wp-subtitle {
  color: #b8c9e6 !important;
}

.whitepaper-page .wp-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.whitepaper-page .wp-badges .badge {
  background: rgba(108,142,255,.16) !important;
  border: 1px solid rgba(147,176,226,.28) !important;
  border-radius: 999px !important;
}

.whitepaper-page .wp-section {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border-bottom: 1px solid rgba(149, 177, 226, 0.14) !important;
  padding: 18px 0 !important;
  margin: 0 !important;
}

.whitepaper-page .wp-section:last-child {
  border-bottom: 0 !important;
}

.whitepaper-page .wp-section h2 {
  margin: 0 0 10px !important;
  font-size: 1.3rem !important;
}

.whitepaper-page .wp-section h3 {
  margin: 12px 0 8px !important;
  font-size: 1.06rem !important;
  color: #c6dcff !important;
}

.whitepaper-page .wp-section p,
.whitepaper-page .wp-section li {
  color: #d5e1f6 !important;
  line-height: 1.68 !important;
}

.whitepaper-page .wp-table {
  background: transparent !important;
  border: 1px solid rgba(149, 177, 226, 0.24) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.whitepaper-page .wp-table th,
.whitepaper-page .wp-table td {
  background: transparent !important;
}

.whitepaper-page pre,
.whitepaper-page .code-block {
  background: rgba(9,14,26,.65) !important;
  border: 1px solid rgba(149, 177, 226, 0.18) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.mining-page .section .container {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.mining-page .step-grid,
.mining-page .info-grid {
  display: block !important;
}

.mining-page .step-card,
.mining-page .info-card {
  margin: 0 0 14px !important;
}


/* Force identical homepage footer rendering on every page */
.footer {
  border-top: 1px solid var(--elite-line) !important;
  background: linear-gradient(180deg, rgba(7,11,21,.96), rgba(4,6,12,.98)) !important;
  padding: 0 !important;
}

.footer .container {
  width: min(1240px, 100% - 2.4rem) !important;
  margin: 0 auto !important;
}

.footer .footer-content {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 1.2rem !important;
  padding: 2.2rem 0 1.4rem !important;
}

.footer .footer-brand,
.footer .footer-links {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.footer .footer-logo {
  width: 44px !important;
  height: 44px !important;
  border-radius: 0 !important;
  filter: drop-shadow(0 0 14px rgba(110,198,255,.4)) !important;
}

.footer .footer-brand h4 {
  font-family: "Sora", sans-serif !important;
  color: #cfe3ff !important;
  margin: .2rem 0 0 !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
}

.footer .footer-brand p,
.footer .footer-bottom p,
.footer .footer-links a {
  color: #b7c8e3 !important;
}

.footer .footer-links h4 {
  margin: 0 0 .55rem !important;
  font-family: "Sora", sans-serif !important;
  letter-spacing: .04em !important;
  color: #dbeaff !important;
}

.footer .footer-links a {
  display: inline-flex !important;
  align-items: center !important;
  gap: .45rem !important;
  margin: .2rem 0 !important;
  text-decoration: none !important;
}

.footer .footer-links a:hover {
  color: #dff2ff !important;
}

.footer .footer-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
}

.footer .footer-bottom {
  border-top: 1px solid rgba(146,176,224,.18) !important;
  padding: .85rem 0 1.1rem !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: .8rem !important;
  flex-wrap: wrap !important;
}


/* Global nav lock: match homepage nav layout on all pages */
.nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  backdrop-filter: blur(14px) !important;
  background: linear-gradient(180deg, rgba(9,13,24,.92), rgba(9,13,24,.72)) !important;
  border-bottom: 1px solid var(--elite-line) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.34) !important;
}

.nav .container {
  width: min(1240px, 100% - 2.4rem) !important;
  margin: 0 auto !important;
  min-height: 74px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
}

.nav-brand {
  display: flex !important;
  align-items: center !important;
  gap: .65rem !important;
  font-family: "Sora", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  color: #f2f6ff !important;
}

.logo {
  width: 36px !important;
  height: 36px !important;
  filter: drop-shadow(0 0 16px rgba(110,198,255,.48)) !important;
}

.nav-links {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nav-links li { margin: 0 !important; }

.nav-links a {
  color: #d9e6ff !important;
  text-decoration: none !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  padding: .38rem .5rem !important;
  border-radius: .55rem !important;
  transition: color .2s ease, background .2s ease !important;
}

.nav-links a:hover {
  color: #fff !important;
  background: rgba(134, 169, 255, .12) !important;
}

.nav-socials {
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
}

.nav-socials a {
  color: #a9bddf !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(170,192,231,.2) !important;
  background: rgba(16,24,40,.6) !important;
}

.nav-socials a:hover {
  color: #e7f3ff !important;
  border-color: rgba(125,212,255,.5) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 1080px) {
  .nav .container { flex-wrap: wrap !important; padding: .55rem 0 !important; }
  .nav-links { flex-wrap: wrap !important; justify-content: center !important; width: 100% !important; }
  .nav-socials { width: 100% !important; justify-content: center !important; }
}


/* Support page overflow fixes */
.support-page .feature-card,
.support-page .support-card {
  overflow-wrap: anywhere !important;
}

.support-page code,
.support-page .feature-card code,
.support-page .support-card code {
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  display: inline !important;
}

.support-page .feature-card p {
  overflow-wrap: anywhere !important;
}
