/* SpatioNiti — "deep space" theme layer. Pure override: load AFTER page styles. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&display=swap');

:root{
  --bg:#faf8fc; --bg2:#f3effa; --panel:#ffffff; --line:#e7e1f2; --line2:#d9d1ec;
  --txt:#211a3e; --mut:#5f5880; --dim:#8d86ab;
  --gold:#a87b2a; --teal:#0d9488; --purple:#6d4fd1; --embS:#a78bfa; --bothS:#0d9488;
  --accent:#7c5cff; --up:#15803d; --down:#dc2626;
  --rs:rgba(91,141,239,.10); --emb:rgba(167,139,250,.13); --both:rgba(63,208,196,.11);
}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  background:var(--bg) !important;
  position:relative;
}
/* space backdrop: nebula glows + procedural starfield, fixed behind everything */
body::before{
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(60% 45% at 78% -8%, rgba(63,208,196,.10), transparent 60%),
    radial-gradient(45% 38% at 12% 4%, rgba(167,139,250,.10), transparent 60%),
    radial-gradient(70% 60% at 50% 115%, rgba(91,141,239,.08), transparent 60%),
    var(--bg);
}
body::after{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.5;
  background-image:
    radial-gradient(1px 1px at 11% 23%, #cfe3ff 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 33% 71%, #ffffff 50%, transparent 51%),
    radial-gradient(1px 1px at 57% 12%, #bcd2ff 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 71% 47%, #e8eeff 50%, transparent 51%),
    radial-gradient(1px 1px at 89% 79%, #ffffff 50%, transparent 51%),
    radial-gradient(1px 1px at 23% 89%, #d8e4ff 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 47% 37%, #ffffff 50%, transparent 51%),
    radial-gradient(1px 1px at 83% 17%, #cfe0ff 50%, transparent 51%),
    radial-gradient(1px 1px at 5% 55%, #ffffff 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 63% 93%, #e4ecff 50%, transparent 51%);
  background-size:1400px 900px;
}
h1,h2,h3,.case h2,.th-head h1{
  font-family:'Inter',-apple-system,sans-serif !important; letter-spacing:-.015em !important;
}
header,nav{background:rgba(255,255,255,.78) !important; backdrop-filter:blur(16px);}
button,select,input,.preset,.btn,.chip{
  font-family:'Inter',sans-serif !important; border-radius:10px !important;
}
.preset,.chip,.idx button{border-radius:999px !important}
button.primary,.btn.gold{box-shadow:0 4px 18px rgba(232,196,104,.18)}
.cta{box-shadow:0 4px 18px rgba(167,139,250,.25)}
table{border-radius:12px; overflow:hidden}
th{background:rgba(255,255,255,.85) !important}
td,th{border-color:var(--line) !important}
.banner{background:linear-gradient(90deg,rgba(167,139,250,.10),rgba(63,208,196,.06) 55%,transparent) !important;
  border-bottom:1px solid var(--line) !important}
#drill,.gcard,#info,#legend,.stake,.evt,.src,.side,.feat .bar{border-color:var(--line) !important}
#drill{background:rgba(255,255,255,.97) !important; backdrop-filter:blur(10px)}
.cell:hover{outline-color:var(--gold) !important}
::selection{background:rgba(232,196,104,.3)}
a{transition:color .15s}
.hero h1,.page h2{text-wrap:balance}

/* aurora-v2: purple-forward, jua-platform mood in space-dark */
body::before{
  background:
    radial-gradient(55% 42% at 50% -5%, rgba(167,139,250,.16), transparent 62%),
    radial-gradient(40% 34% at 16% 8%, rgba(109,79,209,.12), transparent 60%),
    radial-gradient(46% 40% at 84% 14%, rgba(63,208,196,.07), transparent 60%),
    radial-gradient(70% 60% at 50% 115%, rgba(91,141,239,.07), transparent 60%),
    var(--bg) !important;
}
button.primary{background:linear-gradient(135deg,#a78bfa,#6d4fd1) !important;border-color:transparent !important}
.cta{background:linear-gradient(135deg,#a78bfa,#6d4fd1) !important}

/* sn-light-extra */
body::after{display:none !important}
body{background:var(--bg) !important;color:var(--txt)}

/* sn-jua-type */
body{font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:'Space Grotesk','Inter',sans-serif;font-weight:600;letter-spacing:-.02em}
body.sn-landing h1{font-size:clamp(54px,7.2vw,100px) !important;line-height:1.02 !important;letter-spacing:-.035em !important;font-weight:600 !important}
body.sn-landing h2{font-size:clamp(34px,4.2vw,54px) !important;line-height:1.1 !important;letter-spacing:-.02em !important}
body.sn-landing .hero p.lead{font-size:21px !important;line-height:1.6 !important}
body.sn-landing p{font-size:17.5px}
body.sn-landing .sec-tag{letter-spacing:.14em;text-transform:uppercase;font-size:12px}

/* sn-carto */
body.sn-landing .sec{padding:64px 0 !important}
body.sn-landing p{font-size:18px}
body.sn-landing .stats{max-width:1160px;margin-left:auto;margin-right:auto}
body.sn-landing .bnote{font-size:13px}
.duomaps img{filter:grayscale(1) sepia(1) hue-rotate(212deg) saturate(2.2) brightness(1.06) contrast(.92)}
.duomaps>div:hover img{filter:none;transition:filter .4s}

#typeWord::after{content:'|';margin-left:3px;animation:snblink 1.05s steps(1) infinite}
@keyframes snblink{50%{opacity:0}}

/* sn-mobile */
@media(max-width:920px){
  body.sn-landing .sec{padding:40px 0 !important}
  #sn-toolbar{flex-wrap:wrap;padding:7px 8px}
  #sn-toolbar .lnk a{font-size:11.5px;margin-left:2px;padding:5px 8px}
  .snp-grid{grid-template-columns:1fr !important}
  .snp-arrow{transform:rotate(90deg);min-height:30px}
  .hero-shot-h{height:300px !important}
  #typeWord{min-width:0 !important;display:inline !important;white-space:normal !important}
  body.sn-landing h1{font-size:clamp(38px,10vw,64px) !important}
  body.sn-landing .stats{grid-template-columns:1fr 1fr !important}
}
@media(min-width:921px) and (max-width:1180px){
  .hero-shot-h{height:360px !important}
  body.sn-landing .sec{padding:52px 0 !important}
}

/* hero-mobile-fix */
@media(max-width:920px){
  .hero-shot-h div[style*="dashed"]{display:none}
  .hero-shot-h div[style*="GeoFM"], .hero-shot-h div[style*="calc(36%"]{display:none}
  .hero-shot-h div[style*="calc(24%"]{display:none}
  .snp-emb{font-size:9.5px !important;padding:2px 6px !important}
}
