/* ==========================================================================
   ROOT STUDIO GLOBAL & ROOT OS — DESIGN TOKENS (TITANIUM & FROST)
   ========================================================================== */

:root {
  /* Surface & Depth Colors */
  --root-bg-dark: #050505;                   /* Deep Industrial Black */
  --root-bg-void: #050B14;                   /* Infinite Navy Void */
  --root-card-glass: rgba(18, 24, 33, 0.85); /* Frost Glassmorphism Surface */
  --root-card-glass-hover: rgba(24, 34, 48, 0.95);
  --root-border-glass: rgba(0, 240, 255, 0.18); /* Crystal Neon Border */
  --root-border-glass-hover: rgba(0, 240, 255, 0.55);
  --root-border-gold: rgba(212, 175, 55, 0.35);

  /* Neon & Accent Palette */
  --root-cyan: #00F0FF;                      /* Cybernetic Light Core */
  --root-cyan-glow: rgba(0, 240, 255, 0.45);
  --root-cyan-soft: rgba(0, 240, 255, 0.08);
  --root-teal: #45A29E;                      /* Matured Architectural Teal */
  --root-gold: #D4AF37;                      /* Classic Holding Gold */
  --root-gold-hover: #F4D06F;
  --root-gold-glow: rgba(212, 175, 55, 0.40);
  --root-coral-danger: #FF4757;              /* Cyber Emergency Red */

  /* Typography Colors */
  --root-text-white: #FFFFFF;
  --root-text-titanium: #E2E8F0;
  --root-text-muted: #94A3B8;
  --root-text-dark: #050B14;

  /* Typography Families */
  --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-title: 'Geist', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-code: 'Fira Code', 'Courier New', monospace;

  /* Physics & Transitions */
  --transition-smooth: all 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  --transition-snap: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-bounce: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);

  /* Geometric Radii */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-xl: 32px;
  --radius-full: 9999px;

  /* Elevation & Shadows */
  --shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.35);
  --shadow-md: 0 10px 30px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.7);
  --shadow-glow-cyan: 0 0 35px var(--root-cyan-glow);
  --shadow-glow-gold: 0 0 35px var(--root-gold-glow);
}

/* Base Global Reset */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body.root-chassis-void {
  background-color: var(--root-bg-void);
  background-image: 
    radial-gradient(circle at 15% 15%, rgba(0, 240, 255, 0.05) 0%, transparent 45%),
    radial-gradient(circle at 85% 75%, rgba(212, 175, 55, 0.04) 0%, transparent 50%),
    linear-gradient(rgba(0, 240, 255, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 240, 255, 0.02) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 50px 50px, 50px 50px;
  background-attachment: fixed;
  color: var(--root-text-titanium);
  font-family: var(--font-primary);
  line-height: 1.7;
  overflow-x: hidden;
  direction: ltr;
  text-align: left;
  min-height: 100vh;
}

/* Custom Titanium Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--root-bg-void);
}
::-webkit-scrollbar-thumb {
  background: rgba(0, 240, 255, 0.25);
  border-radius: var(--radius-full);
}
::-webkit-scrollbar-thumb:hover {
  background: var(--root-cyan);
  box-shadow: 0 0 10px var(--root-cyan);
}

/* Typography Defaults */
h1, h2, h3, h4, h5, h6 {
  color: var(--root-text-white);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -0.02em;
}

h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); }
h2 { font-size: clamp(1.8rem, 3.8vw, 2.6rem); }
h3 { font-size: clamp(1.3rem, 2.5vw, 1.8rem); }
h4 { font-size: 1.25rem; }

p {
  color: var(--root-text-titanium);
  font-size: 1.05rem;
  font-weight: 400;
}

a {
  color: inherit;
  text-decoration: none;
  transition: var(--transition-snap);
}

img, svg {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* Container Utility */
.root-container {
  width: 100%;
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

@media (max-width: 768px) {
  .root-container {
    padding-left: 16px;
    padding-right: 16px;
  }
}
