/* requires.management — design tokens
   Built on the nullpoint.nexus design system.
   requires.management is an extension of that framework.
   
   Token names, font stack, surface layering, and component patterns
   are identical to nullpoint.nexus global.css. Only --color-accent
   and its derivatives change per service via [data-service].
*/

@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&family=Share+Tech+Mono&family=Rajdhani:wght@300;400;600&display=swap');

:root {
  /* ── Surface layers ── */
  --color-background:     #0d0d0f;
  --color-foreground:     #1a1a2e;
  --color-surface-raised: #1f1f35;

  /* ── Text ── */
  --color-text-primary:   #e0e0ff;
  --color-text-secondary: #8888aa;
  --color-text-disabled:  #444466;
  --color-text-on-accent: #0d0d0f;

  /* ── Platform accent — requires.management root ── */
  /* Each service overrides these three via [data-service] */
  --color-accent:         #00ffe7;
  --color-accent-hover:   #33fff0;
  --color-accent-active:  #00ccb8;

  /* ── Semantic ── */
  --color-success:  #39ff14;
  --color-warning:  #ffaa00;
  --color-danger:   #ff3c5f;
  --color-info:     #3c9eff;

  /* ── Structure ── */
  --color-border:          #2a2a4a;
  --color-divider:         #1e1e38;
  --color-grid-line:       #2a2a4a;
  --color-scrollbar-thumb: #3a3a5c;
  --color-scrollbar-track: #12121e;

  /* ── Typography — identical to nullpoint ── */
  --font-family-display: 'Orbitron', sans-serif;
  --font-family-body:    'Rajdhani', sans-serif;
  --font-family-mono:    'Share Tech Mono', monospace;

  --font-h1:          2.000rem;
  --font-h2:          1.600rem;
  --font-h3:          1.350rem;
  --font-h4:          1.150rem;
  --font-large:       1.300rem;
  --font-base:        1.100rem;
  --font-small:       0.950rem;
  --font-tiny:        0.800rem;
  --font-mono-offset: -0.05rem;

  --font-weight-body:    400;
  --font-weight-heading: 700;

  /* ── Spacing ── */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;

  /* ── Radii ── */
  --radius-sm: 2px;
  --radius-md: 4px;

  /* ── Transitions ── */
  --transition-fast:   0.15s ease;
  --transition-normal: 0.25s ease;
  --transition-theme:  0.3s ease;

  /* ── Layout ── */
  --page-gutter:  var(--space-8);
  --content-max:  1100px;
  --header-height: 64px;
}

@media (max-width: 768px) { :root { --page-gutter: var(--space-5); } }
@media (max-width: 480px) { :root { --page-gutter: var(--space-4); } }

/* ── Service accent overrides ──────────────────────────────────────────────── */
/* Set data-service on <html> in each subdomain's index.html */

[data-service="warframe"] {
  --color-accent:        #c9a84c;
  --color-accent-hover:  #e0be5c;
  --color-accent-active: #a88838;
}

[data-service="nodesync"] {
  --color-accent:        #39ff14;
  --color-accent-hover:  #55ff33;
  --color-accent-active: #28cc0e;
}

[data-service="persona"] {
  --color-accent:        #3c9eff;
  --color-accent-hover:  #5cb0ff;
  --color-accent-active: #2280e0;
}
