/*  Nexus Blue — Elevated palettes.
    Emperor  → /hq/emperor only. Silver, platinum, aquamarine, cobalt,
               crystals, diamonds. NO purple.
    Admin    → tiered per admin cube; anchored on cobalt + ice with an
               accent that stays inside each app's family.
    Consumer → /go. Cosmic-blue, silver, aquamarine.
    Applied via [data-palette="emperor|admin|consumer"] on <body>.       */

:root {
  --nb-motion-duration-slow: 1600ms;
  --nb-motion-duration-mid:  900ms;
  --nb-motion-duration-fast: 420ms;
  --nb-motion-ease-protocol: cubic-bezier(0.22, 1, 0.36, 1);
}

/* -------- Consumer palette ( /go ) -------- */
[data-palette="consumer"] {
  --nb-bg-0:        #060a1a;
  --nb-bg-1:        #0a1230;
  --nb-fg:          #eaf3ff;
  --nb-cosmic-blue: #0047AB;
  --nb-cosmic-blue-l: #1a6fd4;
  --nb-aquamarine:  #A8D8EA;
  --nb-silver:      #C0C0C0;
  --nb-accent:      var(--nb-aquamarine);
  --nb-border:      rgba(168,216,234,0.35);
  --nb-glow:        0 0 24px rgba(168,216,234,0.55);
}

/* -------- Admin palette ( /hq/<app> — non-Emperor ) -------- */
[data-palette="admin"] {
  --nb-bg-0:        #050813;
  --nb-bg-1:        #0a1226;
  --nb-fg:          #dfe9ff;
  --nb-cobalt:      #0047AB;
  --nb-cobalt-l:    #1a6fd4;
  --nb-ice:         #A8D8EA;
  --nb-silver:      #B7B7B7;
  --nb-accent:      var(--nb-cobalt-l);
  --nb-border:      rgba(0,71,171,0.45);
  --nb-glow:        0 0 22px rgba(0,71,171,0.55);
}

/* -------- Emperor palette ( /hq/emperor only ) -------- */
[data-palette="emperor"] {
  --nb-bg-0:        #04060f;
  --nb-bg-1:        #08122a;
  --nb-fg:          #f5faff;
  --nb-silver:      #C0C0C0;
  --nb-platinum:    #E5E4E2;
  --nb-aquamarine:  #7FE7E1;
  --nb-cobalt:      #0047AB;
  --nb-crystal:     #B9F2FF;
  --nb-diamond:     #F2F9FF;
  --nb-accent:      var(--nb-crystal);
  --nb-border:      rgba(185,242,255,0.55);
  --nb-glow:        0 0 34px rgba(185,242,255,0.65);
  /* Deliberate: NO purple tokens defined here. */
}

/* Base body treatment for every palette */
body[data-palette] {
  background: radial-gradient(1200px 800px at 50% -10%, var(--nb-bg-1), var(--nb-bg-0) 70%);
  color: var(--nb-fg);
}

/* Reduced motion: strip transitions/animations. Ceremonies fall back to
   crossfade + static tableau frames (see ceremonies.css). */
@media (prefers-reduced-motion: reduce) {
  :root { --nb-motion-duration-slow: 0ms; --nb-motion-duration-mid: 0ms; --nb-motion-duration-fast: 0ms; }
}
