@font-face {
  font-family: "Instrument Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/instrument-sans-400.woff2") format("woff2");
}
@font-face {
  font-family: "Instrument Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/instrument-sans-500.woff2") format("woff2");
}
@font-face {
  font-family: "Instrument Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/instrument-sans-600.woff2") format("woff2");
}
@font-face {
  font-family: "Instrument Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/instrument-sans-700.woff2") format("woff2");
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-400.woff2") format("woff2");
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-500.woff2") format("woff2");
}

:root {
  --ink-bg: #0f1114;
  --ink-raise: #14161a;
  --ink-line: #2a2e33;
  --ink-text: #ecece8;
  --ink-soft: #9a9c97;
  --ink-accent: #9cc5a8;
  --ink-alert: #c8b896;
  --ink-space: 1.15rem;
  --ink-wide: 68rem;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
html, body { min-height: 100%; }
body {
  font-family: "Instrument Sans", ui-sans-serif, system-ui, sans-serif;
  background: var(--ink-bg);
  color: var(--ink-text);
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: -0.01em;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--ink-accent); }
button, input, textarea, select { font: inherit; color: inherit; background: none; }
code, kbd, pre, .mono {
  font-family: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
  font-size: .84em;
}
::selection { background: #9cc5a833; color: var(--ink-text); }

.shell { min-height: 100vh; display: flex; flex-direction: column; }
.inner { width: 100%; max-width: var(--ink-wide); margin: 0 auto; padding: 0 var(--ink-space); }

/* Top bar */
.top {
  border-bottom: 1px solid var(--ink-line);
  background: var(--ink-bg);
}
.top .inner {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  min-height: 3.4rem;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--ink-text);
  flex: none;
}
.brand:hover { color: var(--ink-text); }
.glyph {
  width: 10px;
  height: 10px;
  background: var(--ink-accent);
  display: inline-block;
  flex: none;
}
.menu {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  font-size: 14px;
  color: var(--ink-soft);
}
.menu a.on { color: var(--ink-text); }
.top-end { margin-left: auto; display: flex; align-items: center; gap: .6rem; }

/* Actions */
.act {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  border: 1px solid var(--ink-line);
  padding: .45rem .85rem;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  color: var(--ink-text);
  background: transparent;
  border-radius: 0;
}
.act:hover { color: var(--ink-text); border-color: var(--ink-accent); }
.act-fill {
  background: var(--ink-accent);
  border-color: var(--ink-accent);
  color: #0f1114;
}
.act-fill:hover { color: #0f1114; filter: none; opacity: .92; }
.act-wide { width: 100%; }
.act:disabled, .act[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }

.is-hidden { display: none !important; }

/* Hero */
.hero {
  padding: 4.25rem var(--ink-space) 3.25rem;
}
.hero .inner { display: grid; grid-template-columns: 1.15fr .85fr; gap: 3rem; align-items: start; }
.kicker {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: lowercase;
  color: var(--ink-accent);
  margin-bottom: 1rem;
}
.hero h1 {
  font-size: clamp(2.2rem, 5.4vw, 3.4rem);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.08;
  margin-bottom: 1rem;
  max-width: 12ch;
}
.hero .lead { color: var(--ink-soft); max-width: 36rem; margin-bottom: .7rem; }
.facts {
  display: flex;
  gap: 1.75rem;
  margin: 1.5rem 0 1.6rem;
  padding: 1rem 0;
  border-top: 1px solid var(--ink-line);
  border-bottom: 1px solid var(--ink-line);
}
.facts div { min-width: 5.5rem; }
.facts strong {
  display: block;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 13px;
  font-weight: 500;
}
.facts span { font-size: 12px; color: var(--ink-soft); }
.actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.figure {
  background: var(--ink-raise);
  border: 1px solid var(--ink-line);
  padding: 1rem 1.05rem 1.05rem;
  min-width: 0;
}
.figure .label {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: lowercase;
  color: var(--ink-soft);
  margin-bottom: .65rem;
}
.figure pre {
  overflow: auto;
  font-size: 12px;
  line-height: 1.6;
  color: var(--ink-text);
  background: none;
  border: 0;
  padding: 0;
}
.figure .note { margin-top: .75rem; font-size: 12px; color: var(--ink-soft); }

/* How it works */
.flow { padding: 0 var(--ink-space) 5rem; }
.flow .inner h2 {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  margin: .35rem 0 .4rem;
}
.flow .intro { color: var(--ink-soft); margin-bottom: 1.5rem; }
.flow-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
.flow-item { padding: 1.1rem 1.3rem 0 0; }
.flow-item + .flow-item {
  padding-left: 1.3rem;
  border-left: 1px solid var(--ink-line);
}
.flow-num {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 12px;
  font-weight: 500;
  color: var(--ink-accent);
  letter-spacing: 0.08em;
  margin-bottom: .55rem;
}
.flow-item h3 { font-size: 1.05rem; font-weight: 600; letter-spacing: -0.02em; margin-bottom: .4rem; }
.flow-item p { color: var(--ink-soft); font-size: 14px; }
.flow .more { margin-top: 1.6rem; }

/* Footer */
.dock {
  margin-top: auto;
  border-top: 1px solid var(--ink-line);
  background: var(--ink-bg);
}
.dock .inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .7rem 1.25rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 13px;
  color: var(--ink-soft);
  font-family: "JetBrains Mono", ui-monospace, monospace;
}
.dock nav { margin-left: auto; display: flex; flex-wrap: wrap; gap: .75rem 1.1rem; }
.dock nav a { font-family: "Instrument Sans", sans-serif; }

/* Pricing */
.wide { padding: 3.5rem var(--ink-space) 4.5rem; }
.wide-head { max-width: 40rem; margin-bottom: 2.25rem; }
.wide-head h1 {
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  margin-bottom: .7rem;
}
.wide-head p { color: var(--ink-soft); }
.offers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--ink-line);
}
.offer {
  padding: 1.4rem 1.3rem 1.4rem 0;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.offer + .offer { padding-left: 1.3rem; border-left: 1px solid var(--ink-line); }
.offer .eyebrow {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: lowercase;
  color: var(--ink-accent);
  margin-bottom: .35rem;
}
.offer .desc { font-size: 14px; color: var(--ink-soft); min-height: 2.6em; margin-bottom: .8rem; }
.offer .rate {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 1.35rem;
  font-weight: 500;
  margin-bottom: 1rem;
}
.offer ul { list-style: none; margin-bottom: 1.3rem; flex: 1; }
.offer li {
  font-size: 14px;
  padding: .22rem 0;
  color: var(--ink-text);
  border-bottom: 1px solid var(--ink-line);
}
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: start;
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--ink-line);
}
.split h2 { font-size: 1.45rem; font-weight: 600; letter-spacing: -0.03em; margin: .3rem 0 .6rem; }
.split p { color: var(--ink-soft); margin-bottom: .8rem; }
.split ul { list-style: none; }
.split li { font-size: 14px; color: var(--ink-soft); padding: .25rem 0; border-bottom: 1px solid var(--ink-line); }
.footnote { margin-top: 1.5rem; font-size: 13px; color: var(--ink-soft); }
.footnote a { color: var(--ink-accent); }
.close {
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--ink-line);
  max-width: 32rem;
}
.close h2 { font-size: 1.4rem; font-weight: 600; margin-bottom: .45rem; }
.close p { color: var(--ink-soft); margin-bottom: 1rem; }

/* Docs */
.docs {
  display: grid;
  grid-template-columns: 13.5rem 1fr;
  gap: 2.5rem;
  padding: 2.2rem 0 4.5rem;
  align-items: start;
}
.rail { position: sticky; top: 1rem; font-size: 13px; }
.rail h3 {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: lowercase;
  color: var(--ink-soft);
  margin: 1.1rem 0 .4rem;
  font-weight: 500;
}
.rail h3:first-child { margin-top: 0; }
.rail a { display: block; padding: .28rem 0; color: var(--ink-soft); }
.rail a.on, .rail a:hover { color: var(--ink-text); }
.prose { max-width: 48rem; min-width: 0; }
.prose h1 { font-size: 2rem; font-weight: 600; letter-spacing: -0.03em; margin-bottom: .6rem; }
.prose .lead { color: var(--ink-soft); margin-bottom: 1.2rem; }
.prose h2 {
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin: 2.2rem 0 .7rem;
  scroll-margin-top: 4rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ink-line);
}
.prose h3 { font-size: 1.02rem; font-weight: 600; margin: 1.2rem 0 .4rem; }
.prose p, .prose li { color: var(--ink-soft); margin-bottom: .7rem; }
.prose p strong, .prose li strong { color: var(--ink-text); font-weight: 600; }
.note { font-size: 14px; color: var(--ink-soft); margin-bottom: .8rem; }
.note a { color: var(--ink-accent); }
.rung { display: grid; grid-template-columns: 2rem 1fr; gap: .7rem; margin-bottom: 1.1rem; }
.rung-num {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 12px;
  color: var(--ink-accent);
  padding-top: .2rem;
}
.code {
  background: var(--ink-raise);
  border: 1px solid var(--ink-line);
  padding: .9rem 1rem;
  overflow: auto;
  margin: .6rem 0 1rem;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--ink-text);
}
.pathline {
  display: flex;
  align-items: center;
  gap: .6rem;
  flex-wrap: wrap;
  border: 1px solid var(--ink-line);
  padding: .7rem .85rem;
  margin: .6rem 0 1rem;
  font-size: 13px;
  background: var(--ink-raise);
}
.verb {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.06em;
  color: var(--ink-accent);
}
.param {
  display: grid;
  grid-template-columns: 8.5rem 5.5rem 1fr;
  gap: .6rem;
  padding: .5rem 0;
  border-bottom: 1px solid var(--ink-line);
  font-size: 14px;
}
.param code { font-weight: 500; color: var(--ink-text); }
.switches { display: flex; gap: .4rem; margin-bottom: .35rem; }
.switches button {
  border: 0;
  color: var(--ink-soft);
  padding: .2rem .45rem;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.06em;
  cursor: pointer;
  text-transform: lowercase;
}
.switches button.on { color: var(--ink-text); border-bottom: 1px solid var(--ink-accent); }

/* Tables */
.ledger { width: 100%; border-collapse: collapse; font-size: 14px; margin: .7rem 0 1.2rem; }
.ledger th, .ledger td {
  text-align: left;
  padding: .65rem .4rem;
  border-bottom: 1px solid var(--ink-line);
  vertical-align: top;
}
.ledger th {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: lowercase;
  color: var(--ink-soft);
}
.ledger code { font-size: 12px; overflow-wrap: anywhere; }
.ledger td:last-child { white-space: nowrap; }

/* Console */
.flag {
  border-bottom: 1px solid var(--ink-accent);
  color: var(--ink-accent);
  text-align: center;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  padding: .45rem .75rem;
  background: var(--ink-bg);
}
.desk { display: flex; min-height: calc(100vh - 6.2rem); }
.side {
  width: 14.5rem;
  flex: none;
  border-right: 1px solid var(--ink-line);
  padding: 1.1rem 1rem;
  background: var(--ink-bg);
}
.side .side-label {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: lowercase;
  color: var(--ink-soft);
  padding: .2rem .35rem .5rem;
}
.side a, .side button.link {
  display: flex;
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
  padding: .4rem .35rem;
  font-size: 14px;
  color: var(--ink-soft);
}
.side a:hover, .side a.on { color: var(--ink-text); }
.who {
  margin-top: 1rem;
  padding: .8rem .35rem 0;
  border-top: 1px solid var(--ink-line);
  font-size: 13px;
  color: var(--ink-soft);
  font-family: "JetBrains Mono", ui-monospace, monospace;
}
.main { flex: 1; padding: 1.6rem 1.6rem 3rem; min-width: 0; background: var(--ink-raise); }
.main h1 { font-size: 1.5rem; font-weight: 600; letter-spacing: -0.03em; margin-bottom: .35rem; }
.main .lead { color: var(--ink-soft); margin-bottom: 1.3rem; }
.tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--ink-line); margin-bottom: 1.4rem; }
.tile { padding: 1rem 1.1rem 1rem 0; }
.tile + .tile { padding-left: 1.1rem; border-left: 1px solid var(--ink-line); }
.tile .k { font-size: 12px; color: var(--ink-soft); margin-bottom: .3rem; }
.tile .v {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 1.2rem;
  font-weight: 500;
}
.mark {
  display: inline-block;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: lowercase;
  margin-left: .35rem;
  color: var(--ink-accent);
}
.panel { border-top: 1px solid var(--ink-line); padding: 1rem 0; }
.alert { color: var(--ink-alert); font-size: 13px; }
.fresh { border: 1px solid var(--ink-line); padding: 1rem; margin: 1rem 0; background: var(--ink-bg); }
.fresh code { display: block; word-break: break-all; margin: .4rem 0 .7rem; }

/* Auth */
.gate {
  min-height: 100vh;
  display: flex;
  align-items: stretch;
}
.gate-copy, .gate-form { padding: 3rem 2.2rem; }
.gate-copy {
  flex: 1;
  max-width: 26rem;
  border-right: 1px solid var(--ink-line);
  background: var(--ink-bg);
}
.gate-form { flex: 1; max-width: 28rem; background: var(--ink-raise); }
.gate-copy h1 {
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.2;
  margin: 1.4rem 0 .8rem;
}
.gate-copy h2 { font-size: 1rem; font-weight: 500; color: var(--ink-soft); margin-bottom: 1rem; }
.gate-copy ol { list-style: none; }
.gate-copy li { display: grid; grid-template-columns: 1.8rem 1fr; gap: .5rem; margin-bottom: .7rem; color: var(--ink-soft); font-size: 14px; }
.gate-copy li span {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 12px;
  color: var(--ink-accent);
}
.gate-form h2 { font-size: 1.4rem; font-weight: 600; letter-spacing: -0.03em; margin-bottom: .3rem; }
.sub { color: var(--ink-soft); font-size: 14px; margin-bottom: 1.1rem; }
.back { display: inline-block; font-size: 13px; color: var(--ink-soft); margin-bottom: 1rem; }
.field { margin-bottom: .85rem; }
.pair { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
label.cap {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 500;
  margin-bottom: .3rem;
}
label.cap a { color: var(--ink-accent); font-weight: 500; }
input[type="email"], input[type="password"], input[type="text"], input[type="search"] {
  width: 100%;
  border: 1px solid var(--ink-line);
  border-radius: 0;
  padding: .55rem .65rem;
  outline: none;
  background: var(--ink-bg);
}
input:focus { border-color: var(--ink-accent); }
.tick { display: flex; align-items: center; gap: .5rem; font-size: 13px; color: var(--ink-soft); margin: .2rem 0 1rem; }
.tick input { accent-color: var(--ink-accent); }
.or {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin: .9rem 0;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--ink-soft);
  text-transform: lowercase;
}
.or::before, .or::after { content: ""; flex: 1; height: 1px; background: var(--ink-line); }
.foot { margin-top: .9rem; font-size: 13px; color: var(--ink-soft); }
.foot a { color: var(--ink-accent); }
.err, .ok { font-size: 13px; margin: 0 0 .8rem; padding: .5rem 0; border-top: 1px solid var(--ink-line); border-bottom: 1px solid var(--ink-line); }
.err { color: var(--ink-alert); }
.ok { color: var(--ink-accent); }
.hint { font-size: 12px; color: var(--ink-soft); margin-top: .7rem; }

/* Legal / status */
.legal { max-width: 42rem; margin: 0 auto; padding: 3.5rem 1.15rem 5rem; }
.legal h1 { font-size: 1.8rem; font-weight: 600; letter-spacing: -0.03em; margin-bottom: .4rem; }
.legal .meta { color: var(--ink-soft); margin-bottom: 1.4rem; font-size: 14px; }
.legal p, .legal li { color: var(--ink-soft); margin-bottom: .8rem; }
.legal a { color: var(--ink-accent); }

.statpage { max-width: 48rem; margin: 0 auto; padding: 2.4rem 1.15rem 5rem; }
.statpage h1 { font-size: 1.4rem; font-weight: 600; margin-bottom: .8rem; }
.row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid var(--ink-line);
}
.row h2 { font-size: 1rem; font-weight: 600; }
.row p { font-size: 13px; color: var(--ink-soft); margin: .2rem 0 0; }

@media (max-width: 900px) {
  .hero .inner, .offers, .split, .docs, .tiles, .flow-row, .pair { grid-template-columns: 1fr; }
  .offer + .offer, .flow-item + .flow-item, .tile + .tile { border-left: 0; padding-left: 0; border-top: 1px solid var(--ink-line); }
  .menu { display: none; }
  .desk { flex-direction: column; }
  .side { width: 100%; border-right: 0; border-bottom: 1px solid var(--ink-line); }
  .gate { flex-direction: column; }
  .gate-copy { max-width: none; border-right: 0; border-bottom: 1px solid var(--ink-line); }
}

.pv-banner{border-bottom:1px solid #9cc5a8;color:#9cc5a8;background:#14161a;font-family:"JetBrains Mono",monospace;font-size:12px;text-align:center;padding:8px 16px;letter-spacing:.02em}
