:root {
  --color-bg-primary: #080c11;
  --color-bg-secondary: #0d131b;
  --color-surface: #121a24;
  --color-surface-raised: #172231;
  --color-surface-overlay: #1b2938;
  --color-border: #26364a;
  --color-border-subtle: #1b2837;
  --color-text-primary: #edf4fb;
  --color-text-secondary: #a9b8c8;
  --color-text-muted: #7f91a5;
  --color-accent-primary: #39c6f4;
  --color-accent-secondary: #6fe7d8;
  --color-accent-purple: #9d8cff;
  --color-risk-low: #45d2b1;
  --color-risk-medium: #f2b84b;
  --color-risk-high: #f16c6c;
  --color-critical: #ff445e;
  --color-trust-high: #58c8ff;
  --color-warning: #f3c969;
  --shadow-card: 0 18px 48px rgba(0, 0, 0, .22);
  --shadow-focus: 0 0 0 3px rgba(57, 198, 244, .3);
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --shell: 1240px;
  --reading: 820px;
  --header-height: 76px;
  --space-1: .375rem;
  --space-2: .625rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --space-7: 4.5rem;
  --space-8: 6.5rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); }
body { margin: 0; background: var(--color-bg-primary); color: var(--color-text-primary); min-width: 320px; }
img, svg { display: block; max-width: 100%; }
button, input, select { font: inherit; }
a { color: inherit; }
::selection { background: rgba(57, 198, 244, .3); color: #fff; }
:focus-visible { outline: 2px solid var(--color-accent-primary); outline-offset: 3px; box-shadow: var(--shadow-focus); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; margin: 10px; padding: 12px 16px; background: var(--color-text-primary); color: var(--color-bg-primary); z-index: 10000; border-radius: var(--radius-sm); }
