/* NullMeridian: subtle iridescent layer on top of /styles.css (theme-nm). CSS only. */
@property --hue{syntax:'<angle>';inherits:true;initial-value:0deg}
.theme-nm{--iri-a:95,212,232;--iri-b:124,108,255;--iri-c:64,224,190;--glass:rgba(14,18,24,.52)}
/* liquid aurora background */
.theme-nm::before{content:"";position:fixed;inset:-20vmax;z-index:-2;pointer-events:none;
  background:
   radial-gradient(38vmax 30vmax at 18% 22%,rgba(var(--iri-b),.18),transparent 62%),
   radial-gradient(34vmax 28vmax at 82% 30%,rgba(var(--iri-a),.15),transparent 60%),
   radial-gradient(40vmax 30vmax at 55% 88%,rgba(var(--iri-c),.11),transparent 62%);
  filter:blur(28px) saturate(115%);animation:nm-drift 38s ease-in-out infinite alternate;will-change:transform}
.theme-nm::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:conic-gradient(from var(--hue) at 50% 40%,rgba(var(--iri-a),.045),rgba(var(--iri-b),.05),rgba(var(--iri-c),.04),rgba(var(--iri-a),.045));
  mix-blend-mode:screen;animation:nm-hue 60s linear infinite}
@keyframes nm-drift{0%{transform:translate3d(0,0,0) rotate(0) scale(1)}50%{transform:translate3d(3vmax,-2vmax,0) rotate(8deg) scale(1.06)}100%{transform:translate3d(-2vmax,2vmax,0) rotate(-6deg) scale(1.02)}}
@keyframes nm-hue{to{--hue:360deg}}
.theme-nm .grain{opacity:.035;animation:nm-grain 1.2s steps(4) infinite}
@keyframes nm-grain{25%{transform:translate(-1%,1%)}50%{transform:translate(1%,-1%)}75%{transform:translate(-1%,-1%)}}
/* iridescent accent text, slowly shifting */
.theme-nm .accent-mono,.theme-nm .iri{background:linear-gradient(100deg,#EAF8FB 0%,#9FE3EF 22%,#8F86FF 46%,#5FD4E8 66%,#7FE8CF 84%,#EAF8FB 100%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:nm-sheen 14s ease-in-out infinite alternate}
@keyframes nm-sheen{to{background-position:100% 0}}
/* soft chromatic glow on headings */
.theme-nm .page-title,.theme-nm .h2{text-shadow:-.6px 0 0 rgba(var(--iri-b),.35),.6px 0 0 rgba(var(--iri-a),.35),0 0 32px rgba(var(--iri-a),.12)}
.theme-nm .page-title .accent-mono,.theme-nm .h2 .accent-mono{text-shadow:none;filter:drop-shadow(0 0 18px rgba(var(--iri-b),.25))}
/* refraction glass */
.theme-nm .card,.theme-nm .cta,.theme-nm .plate,.theme-nm .spec-list{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.01) 40%),var(--glass);isolation:isolate;
  -webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}
.theme-nm .card::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(var(--hue,0deg),rgba(var(--iri-a),.45),rgba(var(--iri-b),.28),rgba(var(--iri-c),.08) 60%,transparent);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;transition:opacity .4s}
.theme-nm .card:hover::after{opacity:1}
.theme-nm .card{animation:nm-hue 40s linear infinite}
.theme-nm .btn-pill .dot,.theme-nm .pulse{background:linear-gradient(135deg,rgb(var(--iri-a)),rgb(var(--iri-b)))}
.theme-nm .btn-primary{background:linear-gradient(120deg,#F4F8FA,#DDE9F2 45%,#E3DEFF 75%,#DCF5EF);background-size:200% 100%;animation:nm-sheen 10s ease-in-out infinite alternate}
.theme-nm .wordmark{background:linear-gradient(100deg,rgba(var(--iri-a),.14),rgba(var(--iri-b),.12),rgba(var(--iri-c),.1));-webkit-background-clip:text;background-clip:text;color:transparent}
@media (max-width:720px){.theme-nm::before{filter:blur(18px);inset:-30vmax}.theme-nm .card,.theme-nm .cta,.theme-nm .plate,.theme-nm .spec-list{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}
@media (prefers-reduced-motion:reduce){.theme-nm::before,.theme-nm::after,.theme-nm .grain,.theme-nm .accent-mono,.theme-nm .iri,.theme-nm .card,.theme-nm .btn-primary{animation:none!important}}
body.theme-nm{background:transparent}
/* terminal accents */
.theme-nm .term-line{display:block;margin-top:18px;font-family:var(--mono);font-size:.82em;letter-spacing:-.01em;color:rgba(var(--iri-a),.8)}
.theme-nm .caret{display:inline-block;width:.55em;height:1.05em;margin-left:.3em;vertical-align:-.15em;background:rgba(var(--iri-a),.75);animation:nm-blink 1.1s steps(1) infinite}
@keyframes nm-blink{50%{opacity:0}}
.theme-nm .card h3{font-feature-settings:"tnum"}
@media (prefers-reduced-motion:reduce){.theme-nm .caret{animation:none}}
@media (min-width:1100px){.theme-nm .grid.nm-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:721px) and (max-width:1099px){.theme-nm .grid.nm-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
