@font-face {
  font-family: Pixelify;
  src: url("/assets/fonts/pixelify-sans-bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
}
:root {
  color-scheme: dark;
  --ink: #fff5e3;
  --muted: #c7bcc5;
  --gold: #ffdb75;
  --line: #543641;
  font: 16px/1.6 system-ui, sans-serif;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(ellipse at 50% 0, #311521 0, #101017 36rem);
  color: var(--ink);
}
a { color: var(--gold); text-underline-offset: 4px; }
a:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.frame { width: min(100% - 32px, 980px); margin-inline: auto; }
.site-bar { background: #0d0c12; border-bottom: 1px solid #802c42; }
.header-inner, .page-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.header-inner { min-height: 68px; }
.header-inner img { display: block; max-width: 100%; height: auto; }
.header-inner nav, .contents { display: flex; flex-wrap: wrap; gap: 12px 22px; }
.header-inner nav a, .contents a { text-decoration: none; }
.header-inner nav a:not([aria-current]) { color: var(--muted); }
.header-inner nav a:hover, .contents a:hover { text-decoration: underline; }
.intro { padding: clamp(38px, 7vw, 80px) 0 28px; }
.eyebrow, .section-id {
  margin: 0 0 9px;
  color: var(--gold);
  font: 700 .75rem/1.45 ui-monospace, monospace;
  letter-spacing: .12em;
}
.eyebrow span { display: inline-block; width: 8px; height: 8px; margin-right: 5px; background: #ff675f; }
h1, h2 { margin: 0; font-family: Pixelify, system-ui, sans-serif; line-height: 1.1; }
h1 { font-size: clamp(2.55rem, 7vw, 5rem); }
h2 { font-size: clamp(1.6rem, 3.4vw, 2.15rem); }
.intro > p:not(.eyebrow) { color: var(--muted); max-width: 57ch; margin: 16px 0 22px; }
.primary {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  padding: 9px 16px;
  border: 1px solid #ffd07d;
  background: #ffd366;
  color: #27131b;
  font-weight: 750;
  text-decoration: none;
}
.primary:hover { background: #ffe295; }
.contents { padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.docs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-block: 24px 36px; }
.docs-grid section { padding: clamp(17px, 4vw, 27px); background: #1b1520; border: 1px solid var(--line); border-top-color: #a75155; scroll-margin-top: 16px; }
.docs-grid p:not(.section-id), .docs-grid li, dd { color: var(--muted); }
.docs-grid ol, .docs-grid ul { padding-left: 21px; }
.docs-grid li + li { margin-top: 8px; }
.docs-grid strong, dt { color: var(--ink); }
dt { font-weight: 700; }
dd { margin: 2px 0 12px; }
.note { border-left: 2px solid #c68051; padding-left: 12px; font-size: .92rem; }
.page-footer { border-top: 1px solid var(--line); padding: 17px 0; color: var(--muted); font-size: .88rem; }
@media (max-width: 650px) {
  .docs-grid { grid-template-columns: 1fr; }
  .contents { gap: 9px 15px; font-size: .9rem; }
}
