/* Shared docs page shell and layout styles. */
@font-face {
  font-family: 'JetBrains Mono';
  src: url('/styles/fonts/JetBrainsMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
      --fw-black: #10100d;
      --fw-ink: #10100d;
      --fw-paper: #f5efe0;
      --fw-panel: #ebe2ce;
      --fw-panel-strong: #dfd2b8;
      --fw-muted: #625d50;
      --fw-rust: #b9482e;
      --fw-green: #7cff6b;
      --fw-border-width: 3px;
      --fw-radius: 4px;
      --fw-shadow-color: #10100d;
      --fw-shadow: 8px 8px 0 #10100d;
      --fw-shadow-sm: 4px 4px 0 #10100d;
      --fw-button-transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
      --fw-card-transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
      --fw-texture:
        radial-gradient(circle at 11% 14%, rgba(36, 77, 103, 0.16), transparent 19rem),
        radial-gradient(circle at 88% 10%, rgba(185, 72, 46, 0.18), transparent 20rem),
        repeating-linear-gradient(0deg, rgba(16, 16, 13, 0.035) 0 1px, transparent 1px 7px),
        linear-gradient(180deg, #d8cfba 0%, #eee5d2 42%, #d2c6ad 100%);
      --bg: var(--fw-paper, #f5efe0) !important;
      --bg2: var(--fw-panel, #ebe2ce) !important;
      --bg3: var(--fw-panel-strong, #dfd2b8) !important;
      --panel: var(--fw-panel, #ebe2ce) !important;
      --border: var(--fw-ink, #10100d) !important;
      --text: var(--fw-ink, #10100d) !important;
      --text2: var(--fw-muted, #625d50) !important;
      --green: var(--fw-green, #7cff6b) !important;
      --green-dark: var(--fw-denim, #244d67) !important;
      --radius: var(--fw-radius, 4px) !important;
      --shadow: var(--fw-shadow, 8px 8px 0 #10100d) !important;
    }

:root[data-theme="dark"] {
      --bg: #151717 !important;
      --bg2: #20231f !important;
      --bg3: #2b2e27 !important;
      --panel: #20231f !important;
      --border: #f3ecd9 !important;
      --text: #f3ecd9 !important;
      --text2: #d1c7b2 !important;
      --green: #7cff6b !important;
      --green-dark: #87b8cf !important;
      --shadow: 8px 8px 0 #050505 !important;
      --fw-ink: #f3ecd9;
      --fw-paper: #151717;
      --fw-panel: #20231f;
      --fw-panel-strong: #2b2e27;
      --fw-muted: #d1c7b2;
      --fw-rust: #ff8a66;
      --fw-shadow-color: #050505;
      --fw-texture:
        radial-gradient(circle at 11% 14%, rgba(135, 184, 207, 0.12), transparent 19rem),
        radial-gradient(circle at 88% 10%, rgba(185, 72, 46, 0.16), transparent 20rem),
        repeating-linear-gradient(0deg, rgba(245, 239, 224, 0.035) 0 1px, transparent 1px 7px),
        linear-gradient(180deg, #171914 0%, #101211 100%);
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: 'JetBrains Mono', monospace;
    }
    #header-placeholder { min-height: 64px; width: 100%; position: relative; z-index: auto; background: transparent; }
    body {
      background: var(--fw-texture, var(--bg));
      color: var(--text);
      line-height: 1.6;
    }
    body { overflow-x: hidden; }

    a { color: inherit; text-decoration: none; }
    code, pre { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }

    ::selection {
      background: var(--fw-rust);
      color: #ffffff;
    }

    header {
      position: sticky;
      top: 0;
      z-index: 20;
      backdrop-filter: blur(14px);
      background: var(--bg);
      border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    .header-inner,
    .section {
      width: min(1100px, calc(100% - 32px));
      margin: 0 auto;
    }

    .header-inner {
      min-height: 60px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 0;
    }

    .logo-link {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: inherit;
      text-decoration: none;
    }

    .logo-link:hover .logo {
      color: var(--text);
    }

    .logo-mark {
      width: 28px;
      height: 28px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .logo-mark svg { width: 100%; height: 100%; fill: var(--text); }

    .logo {
      font-size: 20px;
      font-weight: 700;
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--text);
      line-height: 1;
    }

    .nav {
      display: flex;
      gap: 18px;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
    }

    .nav a {
      color: var(--text2);
      font-size: 14px;
    }

    .nav a:hover { color: var(--text); }

    .hero {
      width: 100%;
      margin: 0;
      padding: 84px max(16px, calc((100vw - 1100px) / 2)) 40px;
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 28px;
      align-items: stretch;
    }

    .hero-copy,
    .hero-card,
    .doc-card,
    .cta {
      background: rgba(21, 25, 25, 0.84);
      border: 1px solid var(--border);
      border-radius: 24px;
      box-shadow: var(--shadow);
    }

    .hero-copy {
      padding: 38px;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 14px;
      border-radius: 999px;
      background: rgba(74, 222, 128, 0.12);
      color: var(--green);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 18px;
    }

    h1 {
      font-size: clamp(38px, 6vw, 62px);
      line-height: 1.02;
      margin-bottom: 18px;
      max-width: 10ch;
    }

    .hero p,
    .doc-card p,
    .cta p,
    li {
      color: var(--text2);
    }

    .hero-actions {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      margin-top: 24px;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 12px 18px;
      border-radius: 999px;
      font-size: 14px;
      font-weight: 700;
      border: 1px solid var(--border);
      transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
    }

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

    .btn-primary {
      background: var(--green);
      color: #08210f;
      border-color: transparent;
    }

    .btn-secondary {
      background: transparent;
      color: var(--text);
    }

    .hero-card {
      padding: 28px;
      display: flex;
      flex-direction: column;
      gap: 16px;
      justify-content: center;
    }

    .hero-card strong {
      font-size: 18px;
    }

    .hero-card ul {
      list-style: none;
      display: grid;
      gap: 12px;
    }

    .hero-card li::before {
      content: "";
      display: inline-block;
      width: 6px;
      height: 6px;
      margin-right: 10px;
      border-radius: 50%;
      background: var(--green);
      vertical-align: middle;
    }

    .section {
      padding: 18px 0 28px;
      display: grid;
      gap: 20px;
    }

    .doc-card {
      padding: 28px;
      min-width: 0;
    }

    .doc-card h2 {
      font-size: clamp(24px, 4vw, 34px);
      margin-bottom: 10px;
    }

    .doc-card h3 {
      font-size: 20px;
      margin-bottom: 10px;
    }

    .doc-card ul,
    .doc-card ol {
      margin-left: 20px;
      display: grid;
      gap: 10px;
    }

    .mini-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      margin-top: 18px;
    }

    .mini-card {
      background: var(--panel);
      border: 1px solid var(--border);
      border-radius: 18px;
      padding: 18px;
    }

    .mini-card strong {
      display: block;
      margin-bottom: 6px;
    }

    .cta {
      margin: 12px 0 88px;
      padding: 34px;
      background:
        linear-gradient(135deg, rgba(74, 222, 128, 0.18), rgba(74, 222, 128, 0.06)),
        rgba(21, 25, 25, 0.92);
    }

    .cta h2 {
      font-size: clamp(28px, 5vw, 42px);
      margin-bottom: 10px;
      max-width: 14ch;
    }

    .cta-actions {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      margin-top: 20px;
    }

    footer {
      width: min(1100px, calc(100% - 32px));
      margin: 0 auto 32px;
      color: var(--text2);
      font-size: 13px;
    }

    @media (max-width: 900px) {
      .hero,
      .mini-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 640px) {
      .header-inner {
        padding: 0;
        align-items: flex-start;
        flex-direction: column;
      }

      .hero-copy,
      .hero-card,
      .doc-card,
      .cta {
        padding: 22px;
        border-radius: 20px;
      }
    }

/* Final docs skin overrides. These intentionally beat older per-page docs CSS. */
body {
  background: var(--fw-texture, var(--bg)) !important;
  color: var(--fw-ink, var(--text)) !important;
}

.hero-copy,
.hero-card,
.doc-card,
.mini-card,
.cta {
  background: var(--fw-panel, var(--panel)) !important;
  border: var(--fw-border-width, 3px) solid var(--fw-ink, var(--border)) !important;
  border-radius: var(--fw-radius, 4px) !important;
  box-shadow: none !important;
}

.doc-card:hover,
.mini-card:hover {
  transform: none !important;
  box-shadow: none !important;
}

.eyebrow {
  background: var(--fw-panel-strong, var(--bg3)) !important;
  color: var(--fw-rust, var(--text)) !important;
  border: var(--fw-border-width, 3px) solid var(--fw-ink, var(--border)) !important;
  border-radius: var(--fw-radius, 4px) !important;
}

.hero-card li::before {
  border-radius: 0 !important;
  background: var(--fw-rust, var(--text)) !important;
}

.btn {
  border: 1px solid var(--fw-ink, var(--border)) !important;
  border-radius: var(--fw-radius, 4px) !important;
  box-shadow: var(--fw-shadow-sm, 4px 4px 0 #10100d) !important;
  transition: var(--fw-button-transition, transform 0.22s ease, box-shadow 0.22s ease, background-color 0.18s ease, border-color 0.18s ease) !important;
  text-transform: uppercase;
}

.btn:hover {
  transform: translate(2px, 2px) !important;
  box-shadow: 2px 2px 0 var(--fw-shadow-color, #10100d) !important;
}

.btn-primary,
.copy-btn {
  background: var(--fw-green, var(--green)) !important;
  color: var(--fw-black, #10100d) !important;
  border-width: var(--fw-border-width, 3px) !important;
}

.btn-secondary {
  background: var(--fw-paper, var(--bg)) !important;
  color: var(--fw-ink, var(--text)) !important;
  border-width: 1px !important;
}

pre,
code {
  background: var(--fw-paper, var(--bg)) !important;
  color: var(--fw-ink, var(--text)) !important;
  border-color: var(--fw-ink, var(--border)) !important;
}

:root[data-theme="dark"] footer,
:root[data-theme="dark"] footer a,
:root[data-theme="dark"] .footer-bottom {
  color: var(--fw-muted, #d1c7b2) !important;
}

pre code {
  background: transparent !important;
}

.snippet,
.snippet-head {
  background: var(--fw-paper, var(--bg)) !important;
  color: var(--fw-ink, var(--text)) !important;
  border-color: var(--fw-ink, var(--border)) !important;
}
