:root {
  --exo-void: #050509;
  --exo-elevated: #111116;
  --exo-panel: #191920;
  --exo-paper: #f7f7f8;
  --exo-paper-elevated: #ececef;
  --exo-paper-panel: #ffffff;
  --exo-ink: #111116;
  --exo-fg: #f4f4f5;
  --exo-muted: #b8b8c0;
  --exo-faint: #71717a;
  --exo-line: #2d2d35;
}

[data-theme="void"] {
  --color-bg: var(--exo-void);
  --color-surface: var(--exo-elevated);
  --color-card: var(--exo-panel);
  --color-text: var(--exo-fg);
  --color-muted: var(--exo-muted);
  --color-faint: var(--exo-faint);
  --color-line: var(--exo-line);
}

[data-theme="paper"] {
  --color-bg: var(--exo-paper);
  --color-surface: var(--exo-paper-elevated);
  --color-card: var(--exo-paper-panel);
  --color-text: var(--exo-ink);
  --color-muted: #52525b;
  --color-faint: #a1a1aa;
  --color-line: #d4d4d8;
}

:root {
  --font-serif: "Shippori Mincho B1", "Noto Serif CJK SC", "Songti SC", serif;
  --font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  --font-body: "Inter", system-ui, sans-serif;
  --text-xs: 0.6875rem;
  --text-sm: 0.8125rem;
  --text-base: 1rem;
  --text-lg: 1.1875rem;
  --text-xl: 1.4375rem;
  --text-2xl: 2.125rem;
  --text-3xl: 3.625rem;
}

:root {
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 5rem;
  --container: 67.5rem;
}

:root {
  --radius-none: 0;
  --radius-sm: 0.1875rem;
  --border-hairline: 1px;
}

:root {
  --ease-terminal: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-snap: steps(1);
  --duration-fast: 120ms;
  --duration-base: 220ms;
  --duration-slow: 700ms;
}

[data-palette="amethyst"] {
  --palette-name: "amethyst";
  --palette-label: "01 AMETHYST";
  --amethyst-950: #160c27;
  --amethyst-900: #24113f;
  --amethyst-800: #391c62;
  --amethyst-700: #4d2585;
  --amethyst-600: #6330a6;
  --amethyst-500: #7741c1;
  --amethyst-400: #9d6be8;
  --amethyst-300: #b98cff;
  --amethyst-200: #c9b2ec;
  --amethyst-100: #e4d8f8;
  --amethyst-50: #f4effc;
  --palette-950: var(--amethyst-950);
  --palette-900: var(--amethyst-900);
  --palette-800: var(--amethyst-800);
  --palette-700: var(--amethyst-700);
  --palette-600: var(--amethyst-600);
  --palette-500: var(--amethyst-500);
  --palette-400: var(--amethyst-400);
  --palette-300: var(--amethyst-300);
  --palette-200: var(--amethyst-200);
  --palette-100: var(--amethyst-100);
  --palette-50: var(--amethyst-50);
  --palette-active: #9df542;
  --palette-signal: #f0a030;
  --palette-danger: #ff4a52;
  --palette-info: #4fd8ff;
  --palette-active-paper: #4e8a0c;
  --palette-signal-paper: #b8650e;
  --palette-danger-paper: #b4232b;
  --palette-info-paper: #0d7490;
  --palette-on-primary: #ffffff;
  --palette-on-active: #0a1500;
  --palette-on-primary-paper: #ffffff;
  --palette-on-active-paper: #ffffff;
}

[data-palette="azure"] {
  --palette-name: "azure";
  --palette-label: "02 AZURE";
  --azure-950: #061420;
  --azure-900: #08233a;
  --azure-800: #0b3558;
  --azure-700: #0d4b7a;
  --azure-600: #12639d;
  --azure-500: #1881c8;
  --azure-400: #41a9ea;
  --azure-300: #79c9f5;
  --azure-200: #b4e2fb;
  --azure-100: #d8f1fd;
  --azure-50: #eef9ff;
  --palette-950: var(--azure-950);
  --palette-900: var(--azure-900);
  --palette-800: var(--azure-800);
  --palette-700: var(--azure-700);
  --palette-600: var(--azure-600);
  --palette-500: var(--azure-500);
  --palette-400: var(--azure-400);
  --palette-300: var(--azure-300);
  --palette-200: var(--azure-200);
  --palette-100: var(--azure-100);
  --palette-50: var(--azure-50);
  --palette-active: #5af7ff;
  --palette-signal: #f5b347;
  --palette-danger: #ff4f6d;
  --palette-info: #8de0ff;
  --palette-active-paper: #087f8c;
  --palette-signal-paper: #9a5f00;
  --palette-danger-paper: #b4233f;
  --palette-info-paper: #0369a1;
  --palette-on-primary: #ffffff;
  --palette-on-active: #001416;
  --palette-on-primary-paper: #ffffff;
  --palette-on-active-paper: #ffffff;
}

[data-palette="scarlet"] {
  --palette-name: "scarlet";
  --palette-label: "03 SCARLET";
  --scarlet-950: #230708;
  --scarlet-900: #3b0a0c;
  --scarlet-800: #5a1114;
  --scarlet-700: #7c171b;
  --scarlet-600: #a31f25;
  --scarlet-500: #c93238;
  --scarlet-400: #e85d61;
  --scarlet-300: #f48b8e;
  --scarlet-200: #f9b9bb;
  --scarlet-100: #fde0e1;
  --scarlet-50: #fff1f1;
  --palette-950: var(--scarlet-950);
  --palette-900: var(--scarlet-900);
  --palette-800: var(--scarlet-800);
  --palette-700: var(--scarlet-700);
  --palette-600: var(--scarlet-600);
  --palette-500: var(--scarlet-500);
  --palette-400: var(--scarlet-400);
  --palette-300: var(--scarlet-300);
  --palette-200: var(--scarlet-200);
  --palette-100: var(--scarlet-100);
  --palette-50: var(--scarlet-50);
  --palette-active: #ff9d2e;
  --palette-signal: #ffd166;
  --palette-danger: #ff314f;
  --palette-info: #48c8ff;
  --palette-active-paper: #b45309;
  --palette-signal-paper: #a16207;
  --palette-danger-paper: #b91c1c;
  --palette-info-paper: #0369a1;
  --palette-on-primary: #ffffff;
  --palette-on-active: #160900;
  --palette-on-primary-paper: #ffffff;
  --palette-on-active-paper: #ffffff;
}

[data-palette="obsidian"] {
  --palette-name: "obsidian";
  --palette-label: "04 OBSIDIAN";
  --obsidian-950: #030306;
  --obsidian-900: #08080d;
  --obsidian-800: #101019;
  --obsidian-700: #191925;
  --obsidian-600: #252535;
  --obsidian-500: #35354a;
  --obsidian-400: #56566d;
  --obsidian-300: #7b7b92;
  --obsidian-200: #aaaabe;
  --obsidian-100: #d7d7e4;
  --obsidian-50: #f1f1f7;
  --palette-950: var(--obsidian-950);
  --palette-900: var(--obsidian-900);
  --palette-800: var(--obsidian-800);
  --palette-700: var(--obsidian-700);
  --palette-600: var(--obsidian-600);
  --palette-500: var(--obsidian-500);
  --palette-400: var(--obsidian-400);
  --palette-300: var(--obsidian-300);
  --palette-200: var(--obsidian-200);
  --palette-100: var(--obsidian-100);
  --palette-50: var(--obsidian-50);
  --palette-active: #b6ff4a;
  --palette-signal: #9aa7ff;
  --palette-danger: #ff495f;
  --palette-info: #66f0ff;
  --palette-active-paper: #4d7c0f;
  --palette-signal-paper: #4f46e5;
  --palette-danger-paper: #be123c;
  --palette-info-paper: #0891b2;
  --palette-on-primary: #ffffff;
  --palette-on-active: #101500;
  --palette-on-primary-paper: #ffffff;
  --palette-on-active-paper: #ffffff;
}

[data-palette="argent"] {
  --palette-name: "argent";
  --palette-label: "05 ARGENT";
  --argent-950: #0b0d10;
  --argent-900: #171b20;
  --argent-800: #252b33;
  --argent-700: #37404a;
  --argent-600: #4c5965;
  --argent-500: #667482;
  --argent-400: #8a98a5;
  --argent-300: #aeb9c2;
  --argent-200: #cfd7dd;
  --argent-100: #e7ecef;
  --argent-50: #f6f8f9;
  --palette-950: var(--argent-950);
  --palette-900: var(--argent-900);
  --palette-800: var(--argent-800);
  --palette-700: var(--argent-700);
  --palette-600: var(--argent-600);
  --palette-500: var(--argent-500);
  --palette-400: var(--argent-400);
  --palette-300: var(--argent-300);
  --palette-200: var(--argent-200);
  --palette-100: var(--argent-100);
  --palette-50: var(--argent-50);
  --palette-active: #3df2c2;
  --palette-signal: #f2c14e;
  --palette-danger: #ef476f;
  --palette-info: #4cc9f0;
  --palette-active-paper: #0f766e;
  --palette-signal-paper: #a16207;
  --palette-danger-paper: #be123c;
  --palette-info-paper: #0369a1;
  --palette-on-primary: #ffffff;
  --palette-on-active: #001712;
  --palette-on-primary-paper: #ffffff;
  --palette-on-active-paper: #ffffff;
}

[data-palette="osseous"] {
  --palette-name: "osseous";
  --palette-label: "06 OSSEOUS";
  --osseous-950: #17120d;
  --osseous-900: #2a2118;
  --osseous-800: #423529;
  --osseous-700: #5c4b3b;
  --osseous-600: #786555;
  --osseous-500: #958373;
  --osseous-400: #b4a798;
  --osseous-300: #cec6b8;
  --osseous-200: #e3ddd1;
  --osseous-100: #f1ede5;
  --osseous-50: #fbf8f1;
  --palette-950: var(--osseous-950);
  --palette-900: var(--osseous-900);
  --palette-800: var(--osseous-800);
  --palette-700: var(--osseous-700);
  --palette-600: var(--osseous-600);
  --palette-500: var(--osseous-500);
  --palette-400: var(--osseous-400);
  --palette-300: var(--osseous-300);
  --palette-200: var(--osseous-200);
  --palette-100: var(--osseous-100);
  --palette-50: var(--osseous-50);
  --palette-active: #7bd88f;
  --palette-signal: #d98e2b;
  --palette-danger: #d92d20;
  --palette-info: #3a86ff;
  --palette-active-paper: #15803d;
  --palette-signal-paper: #b45309;
  --palette-danger-paper: #b42318;
  --palette-info-paper: #1d4ed8;
  --palette-on-primary: #101018;
  --palette-on-active: #041307;
  --palette-on-primary-paper: #ffffff;
  --palette-on-active-paper: #ffffff;
}

[data-palette="amber"] {
  --palette-name: "amber";
  --palette-label: "07 AMBER";
  --amber-950: #1b0f02;
  --amber-900: #321b04;
  --amber-800: #4d2a06;
  --amber-700: #6f3c08;
  --amber-600: #96540d;
  --amber-500: #c06f16;
  --amber-400: #e8942e;
  --amber-300: #f5b75f;
  --amber-200: #ffd38e;
  --amber-100: #ffe8bd;
  --amber-50: #fff6df;
  --palette-950: var(--amber-950);
  --palette-900: var(--amber-900);
  --palette-800: var(--amber-800);
  --palette-700: var(--amber-700);
  --palette-600: var(--amber-600);
  --palette-500: var(--amber-500);
  --palette-400: var(--amber-400);
  --palette-300: var(--amber-300);
  --palette-200: var(--amber-200);
  --palette-100: var(--amber-100);
  --palette-50: var(--amber-50);
  --palette-active: #ffd166;
  --palette-signal: #ff8c1a;
  --palette-danger: #ff3b30;
  --palette-info: #00d4ff;
  --palette-active-paper: #a16207;
  --palette-signal-paper: #c2410c;
  --palette-danger-paper: #b91c1c;
  --palette-info-paper: #0284c7;
  --palette-on-primary: #101018;
  --palette-on-active: #171000;
  --palette-on-primary-paper: #ffffff;
  --palette-on-active-paper: #ffffff;
}

[data-palette="phosphor"] {
  --palette-name: "phosphor";
  --palette-label: "08 PHOSPHOR";
  --phosphor-950: #041407;
  --phosphor-900: #08250d;
  --phosphor-800: #0d3b15;
  --phosphor-700: #13551f;
  --phosphor-600: #1b742c;
  --phosphor-500: #2a963d;
  --phosphor-400: #54c764;
  --phosphor-300: #83e68b;
  --phosphor-200: #b6f5b9;
  --phosphor-100: #dcfbdd;
  --phosphor-50: #f0fff0;
  --palette-950: var(--phosphor-950);
  --palette-900: var(--phosphor-900);
  --palette-800: var(--phosphor-800);
  --palette-700: var(--phosphor-700);
  --palette-600: var(--phosphor-600);
  --palette-500: var(--phosphor-500);
  --palette-400: var(--phosphor-400);
  --palette-300: var(--phosphor-300);
  --palette-200: var(--phosphor-200);
  --palette-100: var(--phosphor-100);
  --palette-50: var(--phosphor-50);
  --palette-active: #adff2f;
  --palette-signal: #f4d35e;
  --palette-danger: #ff3b5c;
  --palette-info: #48f2ff;
  --palette-active-paper: #3f8f18;
  --palette-signal-paper: #a16207;
  --palette-danger-paper: #be123c;
  --palette-info-paper: #0891b2;
  --palette-on-primary: #101018;
  --palette-on-active: #101600;
  --palette-on-primary-paper: #ffffff;
  --palette-on-active-paper: #ffffff;
}

[data-palette="hazard"] {
  --palette-name: "hazard";
  --palette-label: "09 HAZARD";
  --hazard-950: #171300;
  --hazard-900: #2a2200;
  --hazard-800: #433700;
  --hazard-700: #604f00;
  --hazard-600: #806a00;
  --hazard-500: #a88a00;
  --hazard-400: #d4b000;
  --hazard-300: #f5d13d;
  --hazard-200: #ffe68a;
  --hazard-100: #fff3c4;
  --hazard-50: #fffbe8;
  --palette-950: var(--hazard-950);
  --palette-900: var(--hazard-900);
  --palette-800: var(--hazard-800);
  --palette-700: var(--hazard-700);
  --palette-600: var(--hazard-600);
  --palette-500: var(--hazard-500);
  --palette-400: var(--hazard-400);
  --palette-300: var(--hazard-300);
  --palette-200: var(--hazard-200);
  --palette-100: var(--hazard-100);
  --palette-50: var(--hazard-50);
  --palette-active: #fff000;
  --palette-signal: #ff9f1c;
  --palette-danger: #e71d36;
  --palette-info: #2ec4b6;
  --palette-active-paper: #8a7600;
  --palette-signal-paper: #b45309;
  --palette-danger-paper: #b91c1c;
  --palette-info-paper: #0f766e;
  --palette-on-primary: #101018;
  --palette-on-active: #171400;
  --palette-on-primary-paper: #ffffff;
  --palette-on-active-paper: #ffffff;
}

[data-palette="monochrome"] {
  --palette-name: "monochrome";
  --palette-label: "10 MONOCHROME";
  --monochrome-950: #050505;
  --monochrome-900: #111111;
  --monochrome-800: #1f1f1f;
  --monochrome-700: #333333;
  --monochrome-600: #4d4d4d;
  --monochrome-500: #737373;
  --monochrome-400: #999999;
  --monochrome-300: #b8b8b8;
  --monochrome-200: #d4d4d4;
  --monochrome-100: #ececec;
  --monochrome-50: #fafafa;
  --palette-950: var(--monochrome-950);
  --palette-900: var(--monochrome-900);
  --palette-800: var(--monochrome-800);
  --palette-700: var(--monochrome-700);
  --palette-600: var(--monochrome-600);
  --palette-500: var(--monochrome-500);
  --palette-400: var(--monochrome-400);
  --palette-300: var(--monochrome-300);
  --palette-200: var(--monochrome-200);
  --palette-100: var(--monochrome-100);
  --palette-50: var(--monochrome-50);
  --palette-active: #ffffff;
  --palette-signal: #b8b8b8;
  --palette-danger: #2b2b2b;
  --palette-info: #737373;
  --palette-active-paper: #111111;
  --palette-signal-paper: #525252;
  --palette-danger-paper: #2b2b2b;
  --palette-info-paper: #404040;
  --palette-on-primary: #ffffff;
  --palette-on-active: #050509;
  --palette-on-primary-paper: #ffffff;
  --palette-on-active-paper: #ffffff;
}

[data-theme="void"] {
  --color-bg: var(--palette-950, var(--exo-void));
  --color-surface: color-mix(in srgb, var(--palette-900, var(--exo-elevated)) 84%, #000 16%);
  --color-card: color-mix(in srgb, var(--palette-900, var(--exo-panel)) 70%, var(--palette-800, var(--exo-panel)) 30%);
  --color-text: var(--palette-50, var(--exo-fg));
  --color-muted: var(--palette-200, var(--exo-muted));
  --color-faint: var(--palette-400, var(--exo-faint));
  --color-line: color-mix(in srgb, var(--palette-700, var(--exo-line)) 58%, #000 42%);
  --color-primary: var(--palette-500, #737373);
  --color-primary-strong: var(--palette-400, #999999);
  --color-primary-glow: var(--palette-300, #b8b8b8);
  --color-success: var(--palette-active, #ffffff);
  --color-signal: var(--palette-signal, #b8b8b8);
  --color-danger: var(--palette-danger, #ff4a52);
  --color-info: var(--palette-info, #66f0ff);
  --color-on-primary: var(--palette-on-primary, #ffffff);
  --color-on-success: var(--palette-on-active, #050509);
  --shadow-phosphor: 0 0 1px color-mix(in srgb, var(--color-primary-glow) 80%, #fff 20%), 0 0 7px color-mix(in srgb, var(--color-primary) 54%, transparent);
  --code-bg: color-mix(in srgb, var(--palette-950, #050509) 88%, #000 12%);
  --code-bar-bg: color-mix(in srgb, var(--palette-900, #111116) 80%, #000 20%);
  --code-border: color-mix(in srgb, var(--palette-700, #2d2d35) 65%, #000 35%);
  --code-text: var(--palette-50, #f4f4f5);
  --code-muted: var(--palette-300, #b8b8c0);
  --syntax-comment: var(--palette-400, #a1a1aa);
  --syntax-punctuation: var(--palette-200, #d4d4d8);
  --syntax-keyword: var(--palette-300, #b8b8b8);
  --syntax-string: var(--palette-active, #ffffff);
  --syntax-function: var(--palette-signal, #b8b8b8);
  --syntax-number: var(--palette-info, #737373);
  --syntax-danger: var(--palette-danger, #ff4a52);
}

[data-theme="paper"] {
  --color-bg: var(--palette-50, var(--exo-paper));
  --color-surface: var(--palette-100, var(--exo-paper-elevated));
  --color-card: #ffffff;
  --color-text: var(--palette-950, var(--exo-ink));
  --color-muted: var(--palette-700, #52525b);
  --color-faint: var(--palette-500, #a1a1aa);
  --color-line: var(--palette-200, #d4d4d8);
  --color-primary: var(--palette-600, #4d4d4d);
  --color-primary-strong: var(--palette-700, #333333);
  --color-primary-glow: var(--palette-500, #737373);
  --color-success: var(--palette-active-paper, var(--palette-active, #111111));
  --color-signal: var(--palette-signal-paper, var(--palette-signal, #737373));
  --color-danger: var(--palette-danger-paper, var(--palette-danger, #2b2b2b));
  --color-info: var(--palette-info-paper, var(--palette-info, #737373));
  --color-on-primary: var(--palette-on-primary-paper, #ffffff);
  --color-on-success: var(--palette-on-active-paper, #ffffff);
  --shadow-phosphor: none;
  --code-bg: #ffffff;
  --code-bar-bg: color-mix(in srgb, var(--palette-100, #ececef) 86%, #fff 14%);
  --code-border: var(--palette-200, #d4d4d8);
  --code-text: var(--palette-950, #111116);
  --code-muted: var(--palette-600, #52525b);
  --syntax-comment: var(--palette-500, #71717a);
  --syntax-punctuation: var(--palette-700, #3f3f46);
  --syntax-keyword: var(--palette-600, #52525b);
  --syntax-string: var(--palette-active-paper, var(--palette-active, #111111));
  --syntax-function: var(--palette-signal-paper, var(--palette-signal, #737373));
  --syntax-number: var(--palette-info-paper, var(--palette-info, #737373));
  --syntax-danger: var(--palette-danger-paper, var(--palette-danger, #2b2b2b));
}

:root {
  --text-glow: var(--shadow-phosphor);
  --focus-ring: 0 0 0 2px color-mix(in srgb, var(--color-primary) 30%, transparent);
}

@keyframes exo-blink {
  50% {
    opacity: 0;
  }
}

@keyframes exo-roll {
  from {
    transform: translateY(-120px);
  }
  to {
    transform: translateY(100vh);
  }
}

@keyframes exo-flicker {
  0%,
  100% {
    opacity: 0.96;
  }
  45% {
    opacity: 0.9;
  }
  46% {
    opacity: 1;
  }
  47% {
    opacity: 0.86;
  }
  48% {
    opacity: 0.98;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  line-height: 1.65;
  transition: background var(--duration-slow), color var(--duration-slow);
}

::selection {
  background: var(--color-primary);
  color: #fff;
}

a {
  color: inherit;
}

button,
input {
  font: inherit;
}

.wrap {
  width: min(100% - 36px, var(--container));
  margin-inline: auto;
}

section {
  padding-block: clamp(3rem, 7vw, 5.25rem);
}

.eyebrow {
  margin-block-end: var(--space-3);
  color: var(--color-signal);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.22em;
}

.section-title {
  margin: 0 0 var(--space-2);
  color: var(--color-text);
  font-family: var(--font-mono);
  font-size: clamp(1.625rem, 4.5vw, 2.625rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.05;
}

.section-title::after {
  content: " ▋";
  color: var(--color-success);
  animation: exo-blink 1.1s steps(1) infinite;
}

.subtle {
  max-width: 35rem;
  margin: var(--space-2) 0 var(--space-6);
  color: var(--color-muted);
  font-size: 0.9375rem;
}

.phosphor {
  text-shadow: var(--text-glow);
}

.crt-scan,
.crt-vignette,
.crt-roll {
  position: fixed;
  pointer-events: none;
}

.crt-scan {
  inset: 0;
  z-index: 95;
  background: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.16) 0 1px, transparent 1px 3px);
}

.crt-vignette {
  inset: 0;
  z-index: 94;
  background: radial-gradient(120% 120% at 50% 50%, transparent 62%, rgba(0, 0, 0, 0.4) 100%);
  box-shadow: inset 0 0 160px 20px rgba(0, 0, 0, 0.55);
}

.crt-roll {
  left: 0;
  right: 0;
  z-index: 93;
  height: 90px;
  background: linear-gradient(180deg, transparent, rgba(185, 140, 255, 0.05), transparent);
  animation: exo-roll 7s linear infinite;
}

[data-theme="paper"] .crt-scan,
[data-theme="paper"] .crt-vignette,
[data-theme="paper"] .crt-roll {
  display: none;
}

.status-bar {
  position: sticky;
  top: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 9px 18px;
  border-bottom: 1px solid var(--color-line);
  background: color-mix(in srgb, var(--color-bg) 88%, transparent);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
}

.status-brand {
  color: var(--color-primary-glow);
}

.status-separator {
  color: var(--color-faint);
}

.status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-success);
  box-shadow: 0 0 8px var(--color-success);
  animation: exo-blink 2s infinite;
}

.status-nav {
  display: flex;
  gap: 14px;
  margin-left: auto;
}

.status-nav a {
  color: var(--color-muted);
  text-decoration: none;
}

.status-nav a:hover {
  color: var(--color-success);
  text-shadow: 0 0 6px color-mix(in srgb, var(--color-success) 50%, transparent);
}

.theme-toggle {
  cursor: pointer;
  border: 1px solid var(--color-line);
  background: transparent;
  color: var(--color-muted);
  padding: 4px 9px;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.12em;
}

.theme-toggle:hover {
  border-color: var(--color-primary-strong);
  color: var(--color-text);
}

.panel {
  position: relative;
  padding: 24px 22px 22px;
  border: 1px solid var(--color-line);
  background: var(--color-surface);
}

.panel::before {
  content: attr(data-label);
  position: absolute;
  top: -8px;
  left: 16px;
  padding-inline: 9px;
  background: var(--color-bg);
  color: var(--color-signal);
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.22em;
}

.panel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(248px, 1fr));
  gap: 22px;
}

.exo-button {
  cursor: pointer;
  border: 1px solid var(--color-line);
  background: transparent;
  color: var(--color-text);
  padding: 10px 18px;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  transition: transform var(--duration-fast), border-color var(--duration-fast), box-shadow var(--duration-fast), background var(--duration-fast);
}

.exo-button:hover {
  transform: translateY(-1px);
}

.exo-button:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.exo-button[data-variant="primary"] {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-on-primary);
}

.exo-button[data-variant="primary"]:hover {
  background: var(--color-primary-strong);
  box-shadow: 0 0 16px -3px var(--color-primary-glow);
}

.exo-button[data-variant="success"] {
  border-color: var(--color-success);
  color: var(--color-success);
}

.exo-button[data-variant="danger"] {
  border-color: var(--color-danger);
  color: var(--color-danger);
}

.exo-button:disabled {
  cursor: not-allowed;
  opacity: 0.35;
}

.badge-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.exo-badge {
  border: 1px solid currentColor;
  padding: 4px 10px;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.1em;
}

.exo-badge[data-tone="primary"] {
  color: var(--color-primary-glow);
}

.exo-badge[data-tone="success"] {
  color: var(--color-success);
}

.exo-badge[data-tone="signal"] {
  color: var(--color-signal);
}

.exo-badge[data-tone="danger"] {
  color: var(--color-danger);
}

.exo-field {
  width: 100%;
  margin-top: 6px;
  border: 1px solid var(--color-line);
  background: var(--color-bg);
  color: var(--color-text);
  padding: 9px 12px;
  font-family: var(--font-mono);
  font-size: 0.8125rem;
}

.exo-field:focus {
  outline: none;
  border-color: var(--color-primary-strong);
  box-shadow: var(--focus-ring);
}

.exo-alert {
  position: relative;
  border: 1px solid var(--color-line);
  background: color-mix(in srgb, var(--color-surface) 82%, var(--tone, var(--color-primary)) 18%);
  color: var(--color-text);
  padding: 16px 18px;
}

.exo-alert::before {
  content: attr(data-label);
  display: block;
  margin-bottom: 6px;
  color: var(--tone, var(--color-primary-glow));
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
}

.exo-alert[data-tone="success"] {
  --tone: var(--color-success);
}

.exo-alert[data-tone="signal"] {
  --tone: var(--color-signal);
}

.exo-alert[data-tone="danger"] {
  --tone: var(--color-danger);
}

.exo-alert p {
  margin: 0;
  color: var(--color-muted);
}

.exo-card {
  border: 1px solid var(--color-line);
  background: var(--color-surface);
  padding: 18px;
}

.exo-card-title {
  margin: 0 0 8px;
  color: var(--color-text);
  font-family: var(--font-mono);
  font-size: 0.875rem;
  letter-spacing: 0.08em;
}

.exo-card p {
  margin: 0;
  color: var(--color-muted);
  font-size: 0.875rem;
}

.tabs {
  display: grid;
  gap: 12px;
}

.tab-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  border-bottom: 1px solid var(--color-line);
}

.tab-button {
  cursor: pointer;
  border: 1px solid var(--color-line);
  border-bottom: 0;
  background: transparent;
  color: var(--color-muted);
  padding: 8px 12px;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
}

.tab-button[aria-selected="true"] {
  background: var(--color-surface);
  color: var(--color-primary-glow);
}

.tab-panel {
  border: 1px solid var(--color-line);
  background: var(--color-surface);
  padding: 14px;
  color: var(--color-muted);
}

.tab-panel[hidden] {
  display: none;
}

.accordion {
  display: grid;
  gap: 8px;
}

.accordion details {
  border: 1px solid var(--color-line);
  background: var(--color-surface);
}

.accordion summary {
  cursor: pointer;
  padding: 12px 14px;
  color: var(--color-text);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
}

.accordion summary::marker {
  color: var(--color-success);
}

.accordion-body {
  border-top: 1px solid var(--color-line);
  padding: 12px 14px 14px;
  color: var(--color-muted);
  font-size: 0.875rem;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.72);
  padding: 18px;
}

.modal-backdrop[hidden] {
  display: none;
}

.modal {
  width: min(100%, 520px);
  border: 1px solid var(--color-primary);
  background: var(--color-bg);
  box-shadow: 0 0 44px -20px var(--color-primary-glow);
}

.modal-header,
.modal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
}

.modal-header {
  border-bottom: 1px solid var(--color-line);
}

.modal-title {
  margin: 0;
  color: var(--color-primary-glow);
  font-family: var(--font-mono);
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}

.modal-body {
  padding: 16px 14px;
  color: var(--color-muted);
}

.modal-footer {
  border-top: 1px solid var(--color-line);
}

.toast-stack {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 110;
  display: grid;
  gap: 8px;
  width: min(360px, calc(100vw - 36px));
}

.toast {
  border: 1px solid var(--color-primary);
  background: var(--color-bg);
  color: var(--color-muted);
  padding: 12px 14px;
  box-shadow: 0 0 24px -14px var(--color-primary-glow);
  font-size: 0.875rem;
}

.toast strong {
  display: block;
  color: var(--color-primary-glow);
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
}

.tooltip-anchor {
  position: relative;
  display: inline-flex;
  align-items: center;
  border-bottom: 1px dotted var(--color-success);
  color: var(--color-success);
}

.tooltip-anchor::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  width: max-content;
  max-width: 220px;
  transform: translateX(-50%);
  border: 1px solid var(--color-line);
  background: var(--color-bg);
  color: var(--color-text);
  padding: 6px 8px;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--duration-fast);
}

.tooltip-anchor:hover::after,
.tooltip-anchor:focus-visible::after {
  opacity: 1;
}

.progress {
  display: grid;
  gap: 6px;
}

.progress-label {
  display: flex;
  justify-content: space-between;
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.6875rem;
}

.progress-track {
  height: 10px;
  border: 1px solid var(--color-line);
  background: var(--color-bg);
}

.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--color-primary), var(--color-success));
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.6875rem;
}

.breadcrumb a {
  color: var(--color-primary-glow);
  text-decoration: none;
}

.breadcrumb span::before {
  content: "/";
  margin-right: 6px;
  color: var(--color-faint);
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.page-link {
  min-width: 34px;
  border: 1px solid var(--color-line);
  background: transparent;
  color: var(--color-muted);
  padding: 7px 10px;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  text-align: center;
  text-decoration: none;
}

.page-link[aria-current="page"] {
  border-color: var(--color-primary);
  color: var(--color-primary-glow);
}

.control-grid {
  display: grid;
  gap: 12px;
}

.check-row,
.radio-row,
.switch-row {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--color-muted);
  font-size: 0.875rem;
}

.check-row input,
.radio-row input {
  accent-color: var(--color-primary);
}

.switch-row input {
  appearance: none;
  width: 42px;
  height: 22px;
  border: 1px solid var(--color-line);
  background: var(--color-bg);
  position: relative;
}

.switch-row input::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
  background: var(--color-faint);
  transition: transform var(--duration-fast), background var(--duration-fast);
}

.switch-row input:checked::before {
  transform: translateX(18px);
  background: var(--color-success);
}

.exo-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.exo-nav a {
  border: 1px solid var(--color-line);
  color: var(--color-muted);
  padding: 8px 10px;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-decoration: none;
}

.exo-nav a[aria-current="page"] {
  border-color: var(--color-primary);
  color: var(--color-primary-glow);
}

.article {
  max-width: 42.5rem;
  margin-inline: auto;
}

.article .kick {
  margin-block-end: 6px;
  color: var(--color-signal);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.26em;
}

.article h1,
.article h2,
.article h5,
.article h6 {
  font-family: var(--font-mono);
}

.article h1 {
  margin: 0.5em 0 0.1em;
  color: var(--color-text);
  font-size: clamp(2.125rem, 6vw, 3.625rem);
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1;
}

.article h1 .em {
  color: var(--color-primary-glow);
}

.article h2 {
  margin: 1.5em 0 0.4em;
  color: var(--color-text);
  font-size: clamp(1.5rem, 4vw, 2.125rem);
  font-weight: 800;
}

.article h2::before {
  content: "▓▒░ ";
  color: var(--color-primary);
}

.article h3 {
  margin: 1.5em 0 0.4em;
  border-bottom: 1px solid var(--color-line);
  color: var(--color-text);
  padding-bottom: 6px;
  font-family: var(--font-body);
  font-size: 1.4375rem;
  font-weight: 600;
}

.article h4 {
  margin: 1.5em 0 0.3em;
  color: var(--color-signal);
  font-family: var(--font-body);
  font-size: 1.125rem;
  font-weight: 600;
}

.article h5 {
  margin: 1.6em 0 0.3em;
  color: var(--color-primary-glow);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.article h6 {
  margin: 1.4em 0 0.3em;
  color: var(--color-faint);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.article p {
  margin: 0 0 1.1em;
  color: var(--color-muted);
}

.article p.lead {
  color: var(--color-text);
  font-family: var(--font-serif);
  font-size: 1.1875rem;
  line-height: 1.7;
}

.article a {
  color: var(--color-success);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.article strong,
.article b,
.article em,
.article i {
  color: var(--color-text);
}

.article del {
  color: var(--color-faint);
}

.article ins {
  border-bottom: 2px solid var(--color-success);
  color: var(--color-text);
  text-decoration: none;
}

.article mark {
  background: var(--color-success);
  color: var(--color-on-success);
  padding-inline: 4px;
}

.article small {
  color: var(--color-faint);
  font-size: 0.82em;
}

.article kbd {
  border: 1px solid var(--color-line);
  border-bottom-width: 3px;
  border-radius: var(--radius-sm);
  background: var(--color-card);
  color: var(--color-text);
  padding: 1px 7px;
  font-family: var(--font-mono);
  font-size: 0.8em;
}

.article abbr {
  cursor: help;
  text-decoration: underline dotted;
}

.article :not(pre) > code {
  border: 1px solid var(--color-line);
  background: var(--color-surface);
  color: var(--color-success);
  padding: 1px 6px;
  font-family: var(--font-mono);
  font-size: 0.86em;
}

.article blockquote {
  position: relative;
  margin: 2em 0;
  border: 1px solid var(--color-primary);
  background: linear-gradient(180deg, color-mix(in srgb, var(--color-primary) 14%, transparent), transparent);
  color: var(--color-text);
  padding: 26px 26px 22px;
  font-family: var(--font-serif);
  font-size: 1.25rem;
  line-height: 1.55;
}

.article blockquote::before {
  content: "┤ INCOMING TRANSMISSION ├";
  position: absolute;
  top: -8px;
  left: 18px;
  background: var(--color-bg);
  color: var(--color-signal);
  padding-inline: 8px;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-style: normal;
  letter-spacing: 0.16em;
}

.article blockquote::after {
  content: "◗";
  position: absolute;
  right: 18px;
  bottom: 12px;
  color: var(--color-success);
  animation: exo-blink 1s steps(1) infinite;
}

.article blockquote cite {
  display: block;
  margin-top: 10px;
  color: var(--color-faint);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-style: normal;
}

.article .pull {
  position: relative;
  margin: 1.8em 0;
  color: var(--color-primary-glow);
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 4vw, 2.375rem);
  line-height: 1.3;
  text-align: center;
}

.article .pull::before,
.article .pull::after {
  color: var(--color-signal);
  font-family: var(--font-mono);
  font-size: 0.7em;
}

.article .pull::before {
  content: "// ";
}

.article .pull::after {
  content: " //";
}

.article ul,
.article ol {
  margin: 0 0 1.1em;
  color: var(--color-muted);
  padding-left: 1.5em;
}

.article li {
  margin: 0.3em 0;
}

.article ul li {
  position: relative;
  list-style: none;
}

.article ul li::before {
  content: "▸";
  position: absolute;
  left: -1.3em;
  color: var(--color-success);
}

.article ol li::marker {
  color: var(--color-signal);
  font-family: var(--font-mono);
  font-weight: 700;
}

.article dl {
  margin: 0 0 1.1em;
  border-left: 2px solid var(--color-line);
  padding-left: 16px;
}

.article dt {
  margin-top: 10px;
  color: var(--color-primary-glow);
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  letter-spacing: 0.1em;
}

.article dd {
  margin: 2px 0 0;
  color: var(--color-muted);
}

.article table {
  width: 100%;
  margin: 1.4em 0;
  border-collapse: collapse;
  color: var(--color-muted);
  font-size: 0.875rem;
}

.article th,
.article td {
  border: 1px solid var(--color-line);
  padding: 10px 12px;
  text-align: left;
}

.article th {
  background: var(--color-surface);
  color: var(--color-signal);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
}

.article hr {
  height: 0;
  margin: 2.4em 0;
  overflow: visible;
  border: 0;
  text-align: center;
}

.article hr::before {
  content: "◇ ◆ ◇";
  color: var(--color-faint);
  font-family: var(--font-mono);
  letter-spacing: 0.4em;
}

.code-shell {
  margin: 1.4em 0;
  overflow: hidden;
  border: 1px solid var(--color-line);
  background: var(--code-bg);
  max-width: 100%;
}

.codebar {
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--code-border);
  background: var(--code-bar-bg);
  color: var(--code-muted);
  padding: 7px 10px;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
}

.codebar .filename {
  color: var(--color-signal);
}

.codebar .language {
  margin-left: auto;
}

.code-copy {
  cursor: pointer;
  border: 1px solid var(--code-border);
  background: transparent;
  color: var(--color-primary-glow);
  padding: 2px 7px;
  font-family: var(--font-mono);
  font-size: 0.625rem;
}

.code-shell pre {
  max-width: 100%;
  margin: 0;
  overflow-x: auto;
  padding: 16px;
  color: var(--code-text);
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  line-height: 1.6;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: var(--syntax-comment);
  font-style: italic;
}

.token.punctuation {
  color: var(--syntax-punctuation);
}

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol {
  color: var(--syntax-number);
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
  color: var(--syntax-string);
}

.token.operator,
.token.entity,
.token.url,
.token.variable {
  color: var(--code-text);
}

.token.atrule,
.token.attr-value,
.token.keyword {
  color: var(--syntax-keyword);
}

.token.function,
.token.class-name {
  color: var(--syntax-function);
}

.token.regex,
.token.important {
  color: var(--syntax-danger);
}

.article .callout {
  margin: 1.4em 0;
  border: 1px solid var(--color-line);
  border-left: 4px solid var(--callout-tone, var(--color-primary));
  background: color-mix(in srgb, var(--color-surface) 86%, var(--callout-tone, var(--color-primary)) 14%);
  padding: 14px 16px;
}

.article .callout[data-tone="success"] {
  --callout-tone: var(--color-success);
}

.article .callout[data-tone="signal"] {
  --callout-tone: var(--color-signal);
}

.article .callout[data-tone="danger"] {
  --callout-tone: var(--color-danger);
}

.article .callout-title {
  display: block;
  margin-bottom: 6px;
  color: var(--callout-tone, var(--color-primary-glow));
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
}

.article figure {
  margin: 1.6em 0;
  border: 1px solid var(--color-line);
  background: var(--color-surface);
  padding: 12px;
}

.article figure img,
.article figure svg {
  display: block;
  max-width: 100%;
  height: auto;
}

.article figcaption {
  margin-top: 10px;
  color: var(--color-faint);
  font-family: var(--font-mono);
  font-size: 0.75rem;
}

.diagram-demo {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 8px;
  align-items: center;
  min-height: 96px;
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.6875rem;
}

.diagram-node {
  border: 1px solid var(--color-line);
  background: var(--color-bg);
  padding: 10px;
  text-align: center;
}

.diagram-arrow {
  color: var(--color-success);
}

.article details {
  margin: 1.3em 0;
  border: 1px solid var(--color-line);
  background: var(--color-surface);
}

.article summary {
  cursor: pointer;
  padding: 10px 12px;
  color: var(--color-text);
  font-family: var(--font-mono);
  font-size: 0.8125rem;
}

.article summary::marker {
  color: var(--color-success);
}

.article details > :not(summary) {
  margin-inline: 12px;
}

.article .footnotes {
  margin-top: 2.4em;
  border-top: 1px solid var(--color-line);
  padding-top: 1em;
  color: var(--color-faint);
  font-size: 0.875rem;
}

.article .footnotes ol {
  padding-left: 1.2em;
}

.article sup a {
  color: var(--color-success);
  text-decoration: none;
}

.article aside {
  margin: 1.6em 0;
  border: 1px dashed var(--color-line);
  background: color-mix(in srgb, var(--color-surface) 86%, transparent);
  padding: 14px 16px;
  color: var(--color-muted);
}

.article aside::before {
  content: "SIDE CHANNEL";
  display: block;
  margin-bottom: 6px;
  color: var(--color-signal);
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
}

@media print {
  @page {
    size: A4;
    margin: 20mm 18mm;
  }

  body {
    background: #fff !important;
    color: #111 !important;
    font-family: Georgia, "Times New Roman", serif;
  }

  .crt-scan,
  .crt-vignette,
  .crt-roll,
  .status-bar,
  .hero,
  #palette,
  #components,
  #type,
  #export,
  footer {
    display: none !important;
  }

  section {
    padding: 0;
  }

  .article {
    max-width: none;
  }

  .article h1,
  .article h2,
  .article h3,
  .article h4,
  .article h5,
  .article h6 {
    color: #111 !important;
    break-after: avoid;
  }

  .article p,
  .article li,
  .article dd {
    color: #222 !important;
  }

  .article blockquote,
  .article .callout,
  .article figure,
  .code-shell,
  .article table {
    break-inside: avoid;
  }

  .article blockquote {
    border: 1px solid #999;
    background: #f7f7f7;
  }

  .article a[href]::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
  }

  .code-shell {
    border-color: #ccc;
    background: #f7f7f7;
  }

  .codebar {
    background: #eee;
    color: #555;
  }

  .code-shell pre {
    color: #111;
  }

  .article .callout,
  .article aside,
  .article details {
    border-color: #aaa;
    background: #f8f8f8;
  }

  .article figcaption,
  .article .footnotes {
    color: #555 !important;
  }
}

html[data-palette="hazard"] {
	--nerv-black: var(--color-bg);
	--nerv-panel: var(--color-surface);
	--nerv-red: var(--color-primary);
	--nerv-red-dim: color-mix(in srgb, var(--color-primary) 46%, #000 54%);
	--nerv-green: var(--color-success);
	--nerv-green-dim: color-mix(in srgb, var(--color-success) 42%, #000 58%);
	--nerv-amber: var(--color-signal);
	--nerv-text: var(--color-text);
	--nerv-muted: var(--color-muted);
	--nerv-line: var(--color-line);
	--nerv-green-line: color-mix(in srgb, var(--color-success) 38%, transparent);
	--nerv-gap: 16px;
	--nerv-font-body: var(--font-body);
	--nerv-font-heading: var(--font-mono);
	--nerv-font-mono: var(--font-mono);
	color-scheme: dark;
}

body.nerv-terminal-theme {
	overflow: hidden;
	background:
		linear-gradient(color-mix(in srgb, var(--color-line) 75%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in srgb, var(--color-line) 70%, transparent) 1px, transparent 1px),
		radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--color-primary) 24%, transparent), transparent 46%),
		var(--color-bg);
	background-size: 24px 24px, 24px 24px, auto, auto;
	font-family: var(--font-mono);
	-webkit-tap-highlight-color: transparent;
}

html[data-theme="paper"] body.nerv-terminal-theme {
	background:
		linear-gradient(color-mix(in srgb, var(--color-line) 62%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in srgb, var(--color-line) 58%, transparent) 1px, transparent 1px),
		var(--color-bg);
	color: var(--color-text);
}

body.nerv-terminal-theme::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 9999;
	pointer-events: none;
	background: repeating-linear-gradient(
		to bottom,
		rgba(244, 244, 245, calc(0.025 * var(--nerv-effect-intensity, 0.65))) 0,
		rgba(244, 244, 245, calc(0.025 * var(--nerv-effect-intensity, 0.65))) 1px,
		transparent 1px,
		transparent 4px
	);
	opacity: var(--nerv-effect-intensity, 0.65);
	mix-blend-mode: screen;
}

body.nerv-effects-disabled,
body.nerv-terminal-theme:not(.nerv-effect-background-grid) {
	background: var(--color-bg);
}

body.nerv-effects-disabled::before,
body.nerv-terminal-theme:not(.nerv-effect-scanlines)::before {
	display: none;
}

body.nerv-terminal-theme:not(.nerv-effect-motion) *,
body.nerv-terminal-theme:not(.nerv-effect-motion) *::before,
body.nerv-terminal-theme:not(.nerv-effect-motion) *::after {
	scroll-behavior: auto !important;
	transition-duration: 0.001ms !important;
	animation-duration: 0.001ms !important;
}

.wp-site-blocks {
	min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px));
}

.nerv-app-shell,
.nerv-app-shell * {
	box-sizing: border-box;
}

.nerv-app-shell {
	width: 100%;
	height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px));
	overflow: hidden;
	display: grid;
	grid-template-rows: 88px 1fr 36px;
	grid-template-columns: 1fr;
	gap: 0;
	padding: 16px;
	background: color-mix(in srgb, var(--color-bg) 88%, transparent);
}

.nerv-main {
	min-height: 0;
	display: grid;
	grid-template-columns: 252px minmax(0, 1fr) 348px;
	gap: var(--nerv-gap);
	padding: 16px 0;
}

.nerv-main--reading {
	grid-template-columns: minmax(0, 1fr);
	width: min(100%, 1080px);
	margin-inline: auto;
}

.nerv-column {
	min-height: 0;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding-top: 8px;
	scrollbar-width: thin;
	scrollbar-color: var(--color-primary) transparent;
}

.nerv-column::-webkit-scrollbar {
	width: 4px;
}

.nerv-column--reading {
	width: 100%;
}

.nerv-column::-webkit-scrollbar-thumb {
	background: var(--color-primary);
}

.nerv-header {
	display: grid;
	grid-template-columns: 252px 128px 1fr 300px;
	align-items: start;
	gap: var(--nerv-gap);
	border-bottom: 1px solid var(--color-line);
	position: relative;
}

.nerv-header::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -1px;
	width: 300px;
	height: 44px;
	border-top: 1px solid var(--color-line);
	border-right: 1px solid var(--color-line);
	clip-path: polygon(16% 0, 100% 0, 100% 100%, 0 100%, 0 50%);
	pointer-events: none;
}

.nerv-brand {
	color: inherit;
	display: grid;
	gap: 2px;
	text-decoration: none;
	text-transform: uppercase;
}

.nerv-brand__title {
	color: var(--color-primary-glow);
	font-size: 30px;
	line-height: 1;
	text-shadow: var(--text-glow);
}

.nerv-brand__subtitle {
	color: var(--color-success);
	font-size: 14px;
}

.nerv-brand::after {
	content: "";
	width: 100%;
	height: 1px;
	margin-top: 8px;
	background: var(--color-line);
}

.nerv-mark {
	width: 76px;
	height: 76px;
	display: grid;
	place-items: center;
	color: var(--color-primary-glow);
	border: 1px solid var(--color-line);
	border-radius: 50%;
	font-size: 18px;
	line-height: 0.9;
	text-align: center;
	opacity: 0.86;
	transform: rotate(-14deg);
	box-shadow: inset 0 0 24px color-mix(in srgb, var(--color-primary) 18%, transparent);
}

.nerv-mark img {
	display: block;
	width: 54px;
	height: 54px;
	object-fit: var(--nerv-logo-fit, contain);
	object-position: var(--nerv-logo-position, 50% 50%);
	transform: rotate(14deg);
}

.nerv-topnav {
	height: 64px;
	align-content: start;
}

.nerv-topnav a.is-active,
.nerv-topnav a:hover,
.nerv-mobile-tabs a.is-active,
.nerv-mobile-tabs a:hover {
	border-color: var(--color-primary);
	color: var(--color-primary-glow);
	text-shadow: var(--text-glow);
}

.nerv-clock {
	justify-self: end;
	min-width: 244px;
	height: 58px;
	padding: 8px 12px;
	display: grid;
	grid-template-columns: auto auto auto;
	grid-template-rows: 1fr 1fr;
	align-items: center;
	gap: 0 8px;
	border: 1px solid var(--color-line);
	clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%, 0 45%);
	color: var(--color-success);
	background: color-mix(in srgb, var(--color-surface) 70%, transparent);
}

.nerv-clock span {
	grid-row: 1 / 3;
	color: var(--color-primary-glow);
	font-size: 9px;
	text-align: right;
}

.nerv-clock strong {
	font-size: 22px;
	letter-spacing: 1px;
	text-shadow: var(--text-glow);
}

.nerv-clock small {
	font-size: 10px;
}

.nerv-clock em {
	grid-column: 3;
	color: var(--color-success);
	font-size: 9px;
	font-style: normal;
	text-align: right;
}

.nerv-panel {
	position: relative;
	padding: 24px 18px 18px;
	border: 1px solid var(--color-line);
	background:
		linear-gradient(color-mix(in srgb, var(--color-line) 32%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in srgb, var(--color-line) 28%, transparent) 1px, transparent 1px),
		color-mix(in srgb, var(--color-surface) 84%, transparent);
	background-size: 18px 18px, 18px 18px, auto;
	color: var(--color-text);
	clip-path: none;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 10%, transparent), 0 0 24px -18px var(--color-primary-glow);
}

.nerv-panel::before {
	content: attr(data-label);
	position: absolute;
	top: -10px;
	left: 16px;
	width: auto;
	height: auto;
	padding-inline: 9px;
	background: var(--color-bg);
	color: var(--color-signal);
	font-family: var(--font-mono);
	font-size: 0.625rem;
	letter-spacing: 0.22em;
	opacity: 1;
}

.nerv-panel::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 42px;
	height: 42px;
	border-right: 1px solid var(--color-primary);
	border-bottom: 1px solid var(--color-primary);
	background: none;
	opacity: 0.9;
}

.nerv-panel__heading {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--color-line);
}

.nerv-panel__heading--split {
	justify-content: space-between;
	align-items: start;
}

.nerv-panel__heading h2,
.nerv-project-card h3,
.nerv-partner-card h3,
.nerv-author-card h3 {
	margin: 0;
	color: var(--color-text);
	font-family: var(--font-mono);
	font-weight: 700;
	letter-spacing: 0.08em;
}

.nerv-panel__heading h2 {
	font-size: 0.875rem;
}

.nerv-panel__heading span,
.nerv-panel__heading small,
.nerv-panel__heading a {
	color: var(--color-muted);
	font-size: 0.6875rem;
	text-decoration: none;
}

.nerv-panel p {
	margin: 0 0 8px;
	color: var(--color-muted);
	font-size: 0.8125rem;
}

.nerv-panel--hero {
	min-height: 260px;
	display: grid;
	grid-template-columns: 1fr 300px;
	align-items: center;
	gap: 18px;
	padding: 34px 32px;
}

.nerv-panel--hero h1 {
	margin: 0 0 18px;
	color: var(--color-text);
	font-size: clamp(32px, 4.2vw, 56px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.01em;
	text-shadow: var(--text-glow);
}

.nerv-kicker {
	margin-bottom: 14px !important;
	color: var(--color-signal) !important;
	font-size: var(--text-xs) !important;
	letter-spacing: 0.22em;
}

.nerv-watermark {
	color: var(--color-primary-glow);
	font-family: var(--font-mono);
	font-size: 88px;
	font-weight: 800;
	line-height: 0.76;
	text-align: center;
	opacity: 0.82;
	text-shadow: var(--text-glow);
}

.nerv-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	margin-top: 12px;
	padding: 10px 18px;
	border: 1px solid var(--color-line);
	color: var(--color-text);
	background: transparent;
	text-decoration: none;
	font-family: var(--font-mono);
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	transition: transform var(--duration-fast), border-color var(--duration-fast), box-shadow var(--duration-fast), background var(--duration-fast);
}

.nerv-button:hover {
	transform: translateY(-1px);
	border-color: var(--color-primary);
	box-shadow: 0 0 16px -3px var(--color-primary-glow);
}

.nerv-button--small {
	min-height: 32px;
	padding: 7px 11px;
	font-size: 0.625rem;
}

.nerv-status-list,
.nerv-log-list,
.nerv-monitor-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nerv-status-list li {
	display: grid;
	grid-template-columns: 14px 1fr auto;
	align-items: center;
	gap: 9px;
	min-height: 35px;
	border-bottom: 1px solid var(--color-line);
	color: var(--color-muted);
	font-size: 0.8125rem;
}

.nerv-status-list i,
.nerv-mobile-appbar i,
.status-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--color-success);
	box-shadow: 0 0 8px var(--color-success);
}

.nerv-status-list i.nerv-status-light--amber {
	background: var(--color-signal);
	box-shadow: 0 0 8px var(--color-signal);
}

.nerv-status-list i.nerv-status-light--red {
	background: var(--color-danger);
	box-shadow: 0 0 8px var(--color-danger);
}

.nerv-nominal {
	margin-top: 16px;
	padding: 12px;
	border: 1px solid var(--color-line);
	background: color-mix(in srgb, var(--color-success) 8%, transparent);
	text-align: center;
}

.nerv-nominal strong {
	display: block;
	color: var(--color-success);
	font-size: 24px;
	line-height: 1.05;
}

.nerv-project-grid,
.nerv-partner-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.nerv-project-card,
.nerv-partner-card,
.nerv-archive-card,
.nerv-faq-item {
	min-width: 0;
	border: 1px solid var(--color-line);
	background: var(--color-surface);
	padding: 18px;
}

.nerv-project-card:hover,
.nerv-partner-card:hover,
.nerv-archive-card:hover {
	border-color: var(--color-primary);
	box-shadow: 0 0 20px -8px var(--color-primary-glow);
}

.nerv-card-image {
	display: block;
	aspect-ratio: 5 / 2;
	margin-bottom: 12px;
	background-color: var(--color-card);
	background-size: cover;
	background-position: center;
	border: 1px solid var(--color-line);
}

.nerv-card-image--placeholder {
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 24%, transparent), transparent 42%),
		linear-gradient(45deg, transparent 0 44%, color-mix(in srgb, var(--color-success) 72%, transparent) 45% 47%, transparent 48%),
		repeating-linear-gradient(90deg, color-mix(in srgb, var(--color-line) 80%, transparent) 0 1px, transparent 1px 18px),
		var(--color-card);
}

.nerv-project-card p,
.nerv-partner-apply p,
.nerv-archive-card p,
.nerv-empty {
	color: var(--color-muted);
	font-size: 0.875rem;
}

.nerv-archive-list {
	display: grid;
	gap: 12px;
}

.nerv-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--color-line);
}

.nerv-pagination :where(a, span) {
	min-width: 34px;
	min-height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-line);
	color: var(--color-muted);
	background: color-mix(in srgb, var(--color-surface) 88%, transparent);
	font-family: var(--font-mono);
	font-size: 0.75rem;
	text-decoration: none;
}

.nerv-pagination .current,
.nerv-pagination a:hover {
	border-color: var(--color-primary);
	color: var(--color-primary-glow);
	box-shadow: 0 0 16px -8px var(--color-primary-glow);
}

.nerv-archive-card {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 14px;
}

.nerv-archive-card time,
.nerv-author-title,
.nerv-more-links small {
	color: var(--color-signal) !important;
	font-family: var(--font-mono);
	font-size: 0.6875rem !important;
}

.nerv-archive-card h3 a {
	color: var(--color-text);
	text-decoration: none;
}

.nerv-log-list li {
	padding: 5px 6px;
	border-bottom: 1px solid var(--color-line);
	color: var(--color-muted);
}

.nerv-log-more {
	display: block;
	margin-top: 8px;
	color: var(--color-signal);
	font-size: 0.6875rem;
	text-align: right;
	text-decoration: none;
}

.nerv-pilot-layout,
.nerv-author-card {
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: 14px;
}

.nerv-avatar,
.nerv-author-avatar,
.nerv-partner-logo {
	display: grid;
	place-items: center;
	border: 1px solid var(--color-line);
	background: var(--color-card);
	color: var(--color-primary-glow);
}

.nerv-avatar,
.nerv-author-avatar {
	width: 96px;
	height: 96px;
}

.nerv-partner-logo {
	width: 72px;
	height: 72px;
	margin-bottom: 10px;
}

.nerv-avatar svg,
.nerv-author-avatar svg {
	width: 60px;
	height: 60px;
}

.nerv-social,
.nerv-author-socials,
.badge-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

.nerv-social a,
.nerv-social-qr summary,
.nerv-author-socials a {
	min-width: 34px;
	min-height: 28px;
	display: grid;
	place-items: center;
	border: 1px solid currentColor;
	color: var(--color-success);
	text-decoration: none;
	font-family: var(--font-mono);
	font-size: 0.625rem;
}

.nerv-social a:hover,
.nerv-social-qr summary:hover,
.nerv-author-socials a:hover {
	color: var(--color-primary-glow);
}

.nerv-social-qr {
	position: relative;
}

.nerv-social-qr summary {
	width: 32px;
	height: 32px;
	list-style: none;
	cursor: pointer;
}

.nerv-social-qr summary::-webkit-details-marker {
	display: none;
}

.nerv-social-qr span {
	position: absolute;
	z-index: 8;
	right: 0;
	top: calc(100% + 8px);
	width: 132px;
	padding: 8px;
	border: 1px solid var(--color-line);
	background: var(--color-surface);
}

.nerv-social-qr img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
}

.nerv-monitor-list li {
	margin-bottom: 14px;
}

.nerv-monitor-list li > div,
.progress-label {
	display: flex;
	justify-content: space-between;
	color: var(--color-muted);
	font-family: var(--font-mono);
	font-size: 0.6875rem;
}

.nerv-monitor-list em {
	display: block;
	height: 10px;
	margin: 6px 0;
	border: 1px solid var(--color-line);
	background: var(--color-bg);
}

.nerv-monitor-list em b {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, var(--color-primary), var(--color-success));
}

.nerv-monitor-list p {
	height: 36px;
	display: flex;
	align-items: end;
	gap: 2px;
	margin: 0 !important;
	opacity: 0.76;
}

.nerv-monitor-list p i {
	width: 3px;
	background: var(--color-success);
}

.nerv-warning {
	position: relative;
	margin-top: 12px;
	padding: 16px 18px;
	border: 1px solid var(--color-line);
	background: color-mix(in srgb, var(--color-surface) 82%, var(--color-danger) 18%);
	color: var(--color-text);
}

.nerv-warning > span {
	float: left;
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	margin-right: 10px;
	border: 1px solid var(--color-danger);
	color: var(--color-danger);
	font-size: 22px;
}

.nerv-warning strong {
	display: block;
	color: var(--color-danger);
	font-size: 16px;
}

.nerv-warning p {
	color: var(--color-muted);
}

.nerv-entry {
	max-width: min(100%, 52rem);
	margin-inline: auto;
}

.nerv-entry h1 {
	margin: 0.5em 0 0.1em;
	color: var(--color-text);
	font-family: var(--font-mono);
	font-size: clamp(2.125rem, 6vw, 3.625rem);
	font-weight: 800;
	line-height: 1;
}

.nerv-entry-subtitle {
	color: var(--color-signal) !important;
}

.nerv-entry-content {
	color: var(--color-muted);
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.75;
}

.nerv-panel--reading {
	padding-inline: clamp(18px, 4vw, 44px);
}

.nerv-app-shell--reading .nerv-panel--archive,
.nerv-app-shell--reading .nerv-panel--partners,
.nerv-app-shell--reading .nerv-panel--partner-apply {
	max-width: 100%;
}

.nerv-panel--reading .nerv-panel__heading {
	margin-bottom: 20px;
}

.nerv-entry-content h2,
.nerv-entry-content h3 {
	color: var(--color-text);
	font-family: var(--font-mono);
}

.nerv-entry-content a {
	color: var(--color-success);
	text-underline-offset: 3px;
}

.nerv-entry-content :where(.wp-block-heading, h2, h3, h4) {
	scroll-margin-top: 24px;
}

.nerv-entry-content :where(pre, .wp-block-code, .code-shell) {
	max-width: 100%;
}

.nerv-entry-content .wp-block-table {
	overflow-x: auto;
}

.nerv-entry-content .wp-block-table table,
.nerv-entry-content table {
	min-width: min(100%, 560px);
}

.nerv-entry-content .code-shell {
	margin: 1.4em 0;
}

.nerv-entry-content .code-shell pre {
	background: transparent;
}

.nerv-entry-content img {
	max-width: 100%;
	height: auto;
}

.nerv-entry-cover,
.nerv-entry-cover-fallback {
	display: block;
	width: 100%;
	max-height: 320px;
	aspect-ratio: 5 / 2;
	object-fit: cover;
	border: 1px solid var(--color-line);
}

.nerv-entry-cover-fallback {
	display: grid;
	place-items: center;
	background: var(--color-card);
	color: var(--color-primary-glow);
	font-size: 28px;
}

.nerv-geo-block {
	position: relative;
	margin: 18px 0;
	padding: 16px;
	border: 1px solid var(--color-line);
	background: var(--color-surface);
	color: var(--color-text);
}

.nerv-key-points ol {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: nerv-points;
}

.nerv-key-points li {
	position: relative;
	min-height: 30px;
	padding-left: 44px;
	color: var(--color-muted);
	counter-increment: nerv-points;
}

.nerv-key-points li::before {
	content: counter(nerv-points, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 2px;
	width: 30px;
	height: 22px;
	display: grid;
	place-items: center;
	border: 1px solid var(--color-line);
	color: var(--color-signal);
	font-family: var(--font-mono);
	font-size: 11px;
}

.nerv-more-links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.nerv-more-links a {
	min-width: 0;
	display: grid;
	grid-template-columns: 34px 1fr;
	grid-template-rows: auto auto;
	gap: 0 10px;
	padding: 10px;
	border: 1px solid var(--color-line);
	color: var(--color-text);
	text-decoration: none;
	background: var(--color-surface);
}

.nerv-more-links span {
	grid-row: 1 / 3;
	align-self: center;
	border: 1px solid currentColor;
	text-align: center;
	font-size: 18px;
	color: var(--color-primary-glow);
}

.nerv-more-links strong {
	color: var(--color-text);
	font-size: 13px;
	font-weight: 500;
}

.nerv-more-search {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px;
	margin-top: 14px;
}

.nerv-more-search label {
	display: grid;
	gap: 5px;
	color: var(--color-muted);
	font-size: 11px;
}

.nerv-more-search input {
	width: 100%;
	min-height: 38px;
	border: 1px solid var(--color-line);
	background: var(--color-bg);
	color: var(--color-text);
	font: inherit;
	padding: 0 10px;
}

.nerv-footer {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	align-items: center;
	border-top: 1px solid var(--color-line);
	color: var(--color-muted);
	font-size: 10px;
}

.nerv-footer span:nth-child(2) {
	text-align: center;
}

.nerv-footer span:nth-child(3) {
	text-align: right;
}

.nerv-footer-partners {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
}

.nerv-footer-partners a {
	min-width: 0;
	max-width: 110px;
	overflow: hidden;
	color: var(--color-success);
	text-decoration: none;
	text-overflow: ellipsis;
}

.nerv-mobile-appbar,
.nerv-mobile-tabs {
	display: none;
}

@media (max-width: 1279px) and (min-width: 1024px) {
	.nerv-main {
		grid-template-columns: 220px minmax(0, 1fr) 300px;
	}

	.nerv-main--reading {
		grid-template-columns: minmax(0, 1fr);
		width: min(100%, 1000px);
	}

	.nerv-header {
		grid-template-columns: 220px 90px 1fr 250px;
	}

	.nerv-project-grid,
	.nerv-partner-grid,
	.nerv-more-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1023px) and (min-width: 768px) {
	.nerv-app-shell {
		grid-template-rows: 76px 1fr 32px;
	}

	.nerv-header {
		grid-template-columns: 220px 1fr 240px;
	}

	.nerv-mark {
		display: none;
	}

	.nerv-topnav {
		overflow-x: auto;
	}

	.nerv-main {
		grid-template-columns: minmax(0, 1fr) 300px;
	}

	.nerv-main--reading {
		grid-template-columns: minmax(0, 1fr);
		width: min(100%, 840px);
	}

	.nerv-column--left {
		display: none;
	}

	.nerv-project-grid,
	.nerv-partner-grid,
	.nerv-more-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	html,
	body,
	.wp-site-blocks {
		height: 100%;
		overflow: hidden;
		overscroll-behavior: none;
	}

	body.admin-bar .wp-site-blocks {
		height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px));
	}

	.nerv-app-shell {
		height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px));
		display: block;
		padding: 52px 0 calc(56px + env(safe-area-inset-bottom));
		overflow: hidden;
	}

	.nerv-header,
	.nerv-footer {
		display: none;
	}

	.nerv-mobile-appbar {
		position: fixed;
		z-index: 80;
		top: 0;
		left: 0;
		right: 0;
		height: 52px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 14px;
		border-bottom: 1px solid var(--color-line);
		background: color-mix(in srgb, var(--color-bg) 92%, transparent);
		color: var(--color-primary-glow);
	}

	body.admin-bar .nerv-mobile-appbar {
		top: var(--wp-admin--admin-bar--height, 0px);
	}

	.nerv-mobile-appbar span {
		font-size: 16px;
	}

	.nerv-mobile-appbar strong {
		display: flex;
		align-items: center;
		gap: 6px;
		color: var(--color-success);
		font-size: 11px;
		font-weight: 500;
	}

	.nerv-main {
		height: 100%;
		display: block;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		padding: 12px;
	}

	.nerv-main--reading {
		width: 100%;
		margin-inline: 0;
	}

	.nerv-column {
		overflow: visible;
		display: contents;
	}

	.nerv-column--left .nerv-panel--user,
	.nerv-column--left .nerv-panel--status,
	.nerv-column--left .nerv-panel--mission,
	.nerv-column--left .nerv-panel--server,
	.nerv-column--right .nerv-panel--monitor,
	.nerv-column--right .nerv-panel--alert {
		display: none;
	}

	.nerv-column--center > .nerv-panel--status,
	.nerv-column--center > .nerv-panel--monitor,
	.nerv-column--center > .nerv-panel--alert {
		display: block;
	}

	.nerv-panel {
		margin-bottom: 12px;
		padding: 24px 16px 16px;
	}

	.nerv-panel--hero {
		min-height: auto;
		display: block;
		padding: 24px 18px;
	}

	.nerv-panel--hero h1 {
		font-size: 34px;
	}

	.nerv-watermark {
		display: none;
	}

	.nerv-project-grid,
	.nerv-partner-grid,
	.nerv-more-links,
	.nerv-more-search {
		grid-template-columns: 1fr;
	}

	.nerv-archive-card,
	.nerv-author-card {
		grid-template-columns: 1fr;
	}

	.nerv-pilot-layout {
		grid-template-columns: 72px 1fr;
	}

	.nerv-avatar {
		width: 72px;
		height: 72px;
	}

	.nerv-mobile-tabs {
		position: fixed;
		z-index: 80;
		left: 0;
		right: 0;
		bottom: 0;
		height: calc(56px + env(safe-area-inset-bottom));
		display: grid;
		grid-template-columns: repeat(var(--nerv-mobile-tab-count, 5), 1fr);
		padding-bottom: env(safe-area-inset-bottom);
		border-top: 1px solid var(--color-line);
		background: color-mix(in srgb, var(--color-bg) 94%, transparent);
	}

	.nerv-mobile-tabs a {
		position: relative;
		min-width: 0;
		min-height: 56px;
		display: grid;
		place-items: center;
		align-content: center;
		gap: 2px;
		color: var(--color-muted);
		text-decoration: none;
		transition: transform var(--duration-fast), color var(--duration-fast);
	}

	.nerv-mobile-tabs a::before {
		content: "";
		position: absolute;
		top: 0;
		left: 18%;
		right: 18%;
		height: 2px;
		background: transparent;
	}

	.nerv-mobile-tabs svg {
		width: 24px;
		height: 24px;
	}

	.nerv-mobile-tabs strong {
		font-size: 10px;
		font-weight: 500;
		line-height: 1;
	}

	.nerv-mobile-tabs a.is-active::before {
		background: var(--color-primary);
	}
}

.nerv-app-shell--reading .nerv-entry {
	max-width: min(100%, 48rem);
}

.nerv-app-shell--reading .nerv-entry h1 {
	font-size: clamp(1.875rem, 4vw, 3rem);
	line-height: 1.08;
}

.nerv-app-shell--reading .nerv-entry-content {
	color: var(--color-text);
	font-size: 1.0625rem;
	line-height: 1.82;
}

.nerv-app-shell--reading .nerv-entry-content :where(p, li, blockquote) {
	font-size: inherit;
}

.nerv-app-shell--reading .nerv-entry-content :where(h2) {
	margin-top: 1.8em;
	font-size: 1.55rem;
	line-height: 1.25;
}

.nerv-app-shell--reading .nerv-entry-content :where(h3) {
	margin-top: 1.55em;
	font-size: 1.25rem;
	line-height: 1.3;
}

.nerv-project-card .nerv-card-image,
.nerv-partner-logo {
	aspect-ratio: 1 / 1;
}

.nerv-project-card,
.nerv-partner-card {
	position: relative;
	overflow: hidden;
	padding: 12px;
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 95%, transparent), color-mix(in srgb, var(--color-bg) 86%, transparent)),
		var(--color-surface);
}

.nerv-project-card .nerv-card-image,
.nerv-partner-card .nerv-card-image {
	margin-bottom: 14px;
	border-color: color-mix(in srgb, var(--color-primary) 30%, var(--color-line));
}

.nerv-card-image--placeholder {
	display: grid;
	place-items: center;
	padding: 14px;
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--color-primary) 12%, transparent), transparent),
		var(--color-card);
}

.nerv-card-image--placeholder::before {
	content: "PROJECT";
	color: var(--color-primary-glow);
	font-family: var(--font-mono);
	font-size: 0.85rem;
	letter-spacing: 0;
}

.nerv-partner-logo {
	width: 100%;
	height: auto;
	margin-bottom: 14px;
	overflow: hidden;
	border-color: color-mix(in srgb, var(--color-success) 36%, var(--color-line));
}

.nerv-partner-logo img,
.nerv-partner-thumb {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nerv-partner-logo span {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 16px;
	color: var(--color-primary-glow);
	font-family: var(--font-mono);
	font-size: clamp(0.95rem, 2vw, 1.25rem);
	text-align: center;
}

.nerv-project-card h3,
.nerv-partner-card h3 {
	font-size: 0.98rem;
	line-height: 1.28;
}

.nerv-project-card p,
.nerv-partner-card p {
	line-height: 1.55;
}

.codebar {
	gap: 8px;
}

.code-copy {
	margin-left: 0;
	border-color: color-mix(in srgb, var(--color-primary) 46%, var(--color-line));
	background: color-mix(in srgb, var(--color-primary) 10%, transparent);
	color: var(--color-primary-glow);
}

.code-copy.is-copied {
	border-color: var(--color-success);
	color: var(--color-success);
}

.token.comment {
	color: color-mix(in srgb, var(--color-muted) 78%, var(--color-text));
}

.token.string {
	color: var(--color-success);
}

.token.keyword {
	color: var(--color-primary-glow);
}

.token.number {
	color: var(--color-signal);
}

html[data-theme="paper"] .code-shell {
	background: color-mix(in srgb, var(--color-surface) 96%, #fff);
}

@media (prefers-reduced-motion: reduce) {
	body.nerv-terminal-theme::before {
		display: none !important;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		scroll-behavior: auto !important;
		transition-duration: 0.001ms !important;
		transition-delay: 0s !important;
	}

	.nerv-button:active,
	.nerv-mobile-tabs a:active {
		transform: none !important;
	}
}
