/* Shared tokens for the format variants. Every value resolves to a token in
   nivio-v3.css (Nivio Brand Standards v3.2), so this file declares no palette
   of its own. Kept in step with shared/nivio-v3-compat.css. */
/* Fonts are self-hosted by nivio-v3.css (Brand Standards v3.0 §Typography).
   The Google Fonts CDN import was removed so no third-party request is made. */

:root{
  --carbon:var(--nv-carbon,#171918); --bone:var(--nv-bone,#F2F0E9); --steel:var(--nv-steel,#9EA29F); --slate:var(--nv-slate,#3A3D3B);
  --signal:var(--nv-signal,#D7E84A); --signal-h:var(--nv-signal-hov,#C3D53C); --signal-ink:var(--nv-signal-mid,#8EA31D); --signal-ink-bone:var(--nv-signal-moss,#41630F);  /* all four resolve to nivio-v3.css tokens */

  --bg:var(--nv-carbon,#171918); --bg2:var(--nv-graphite,#222523); --bg3:var(--nv-graphite,#222523);
  --ink:var(--nv-bone,#F2F0E9); --ink2:var(--nv-mist,#E4E1D8); --ink3:var(--nv-fog,#C8C6BE); --ink4:var(--nv-steel,#9EA29F); --ink5:var(--nv-ash,#5F6461);
  --rule:var(--nv-border,rgba(242,240,233,.10)); --rule2:var(--nv-border-strong,rgba(242,240,233,.45));

  --sans:var(--nv-font,'Geist',system-ui,-apple-system,sans-serif);
  --mono:'Geist Mono',ui-monospace,Menlo,monospace;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border-radius:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--bg); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
  font-feature-settings:'ss01','ss02','cv11';
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* shared primitives */
.mono{font-family:var(--mono)}
.kick{
  font-family:var(--mono); font-size:11px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink4);
}
.sig{color:var(--signal)}
.rule{border:0;border-top:1px solid var(--rule)}
.rule2{border:0;border-top:1px solid var(--rule2)}

/* one genuine affordance keeps its radius */
.dot{width:6px;height:6px;border-radius:50%;background:var(--signal);flex:none}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);font-size:14px;font-weight:600;
  padding:14px 22px;border:1px solid var(--signal);
  background:var(--signal);color:var(--carbon);cursor:pointer;
  transition:background .15s ease,color .15s ease;
}
.btn:hover{background:var(--signal-h)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule2)}
.btn.ghost:hover{background:transparent;border-color:var(--ink4);color:var(--ink)}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;scroll-behavior:auto !important}
}
