:root {
  --ink: #071012;
  --ink-soft: #0c181a;
  --panel: #101f21;
  --panel-bright: #16292b;
  --line: rgba(166, 213, 207, .17);
  --line-strong: rgba(166, 213, 207, .34);
  --paper: #e8eee9;
  --paper-soft: #aab9b5;
  --mint: #7ae0ce;
  --mint-bright: #a7f3e5;
  --copper: #ef8f53;
  --copper-soft: #b86537;
  --yellow: #eac56c;
  --red: #ef766f;
  --mono: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: Georgia, "Times New Roman", serif;
  --shell: min(1240px, calc(100% - 40px));
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: var(--sans); line-height: 1.65; }
body::before { position: fixed; z-index: -1; inset: 0; background-image: linear-gradient(rgba(122,224,206,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(122,224,206,.025) 1px, transparent 1px); background-size: 42px 42px; content: ""; mask-image: linear-gradient(to bottom, black, transparent 70%); }
a { color: inherit; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; z-index: 50; top: .75rem; left: .75rem; transform: translateY(-150%); border-radius: 4px; padding: .6rem .9rem; background: var(--mint); color: var(--ink); font-weight: 800; }
.skip-link:focus { transform: none; }

.foundry-header { position: relative; z-index: 10; display: flex; width: var(--shell); min-height: 88px; align-items: center; justify-content: space-between; gap: 2rem; margin-inline: auto; border-bottom: 1px solid var(--line); }
.wordmark { display: inline-flex; align-items: center; gap: .8rem; text-decoration: none; }
.wordmark-mark { width: 52px; height: 52px; object-fit: contain; filter: drop-shadow(0 6px 16px rgba(0,0,0,.25)); }
.wordmark > span:last-child { display: grid; line-height: 1.1; }
.wordmark strong { letter-spacing: -.02em; }
.wordmark small { margin-top: .35rem; color: var(--paper-soft); font: 500 .62rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.foundry-header nav, .foundry-footer nav { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.foundry-header nav a { border: 1px solid transparent; border-radius: 999px; padding: .55rem .8rem; color: var(--paper-soft); font-size: .82rem; text-decoration: none; }
.foundry-header nav a:hover, .foundry-header nav a:focus-visible, .foundry-header nav a[aria-current="page"] { border-color: var(--line); background: rgba(122,224,206,.06); color: var(--mint-bright); }

.hero { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 6vw, 6rem); min-height: 650px; align-items: center; padding-block: clamp(3.5rem, 7vw, 6rem); }
.eyebrow { display: flex; align-items: center; gap: .65rem; margin: 0 0 1.1rem; color: var(--mint); font: 700 .67rem var(--mono); letter-spacing: .15em; text-transform: uppercase; }
.eyebrow > span { width: 28px; height: 1px; background: currentColor; }
.hero h1, .page-hero h1 { max-width: 760px; margin: 0; font-family: var(--serif); font-size: clamp(3.4rem, 6vw, 6.2rem); font-weight: 400; letter-spacing: -.055em; line-height: .91; }
.hero h1 em { color: var(--copper); font-weight: 400; }
.hero-lede, .page-hero > p:last-child { max-width: 680px; margin: 2rem 0; color: var(--paper-soft); font-size: clamp(1.05rem, 2vw, 1.28rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 1.2rem; border: 1px solid var(--line-strong); border-radius: 3px; padding: .8rem 1.1rem; background: transparent; color: var(--paper); font: 700 .76rem var(--mono); letter-spacing: .04em; text-decoration: none; cursor: pointer; }
.button.primary { border-color: var(--mint); background: var(--mint); color: var(--ink); }
.button:hover, .button:focus-visible { transform: translateY(-2px); box-shadow: 0 12px 34px rgba(0,0,0,.25); }
.hero-stats { display: flex; gap: 2rem; margin: 3.5rem 0 0; }
.hero-stats div { display: grid; }
.hero-stats dt { font-family: var(--serif); font-size: 2.4rem; line-height: 1; }
.hero-stats dd { margin: .5rem 0 0; color: var(--paper-soft); font: 600 .62rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.hero-terminal { position: relative; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 5px; background: rgba(4,11,12,.88); box-shadow: 0 40px 100px rgba(0,0,0,.38); transform: rotate(.8deg); }
.hero-terminal::after { position: absolute; right: -10%; bottom: -30%; width: 280px; height: 280px; border-radius: 50%; background: rgba(122,224,206,.12); content: ""; filter: blur(80px); }
.terminal-bar { display: flex; align-items: center; gap: .45rem; border-bottom: 1px solid var(--line); padding: .9rem 1rem; background: rgba(255,255,255,.025); }
.terminal-bar span { width: 8px; height: 8px; border-radius: 50%; background: var(--line-strong); }
.terminal-bar span:first-child { background: var(--red); }.terminal-bar span:nth-child(2) { background: var(--yellow); }.terminal-bar span:nth-child(3) { background: var(--mint); }
.terminal-bar code { margin-left: auto; color: var(--paper-soft); font-size: .66rem; }
pre { overflow-x: auto; margin: 0; padding: 1.5rem; background: #050b0c; color: #c6d5d1; font: 500 .77rem/1.8 var(--mono); tab-size: 2; }
.hero-terminal pre { min-height: 450px; padding: clamp(1.3rem, 4vw, 2.4rem); background: transparent; font-size: clamp(.72rem, 1.3vw, .88rem); }
.muted { color: #738783; }.key { color: var(--mint); }.string { color: #efb17f; }.bool { color: #ca9cff; }.num { color: #f0d375; }

.marquee { overflow: hidden; border-block: 1px solid var(--line); padding: .9rem 0; background: var(--panel); color: var(--paper-soft); font: 700 .66rem var(--mono); letter-spacing: .13em; white-space: nowrap; }
.marquee .ticker-track { display: flex; width: max-content; animation: crawl 34s linear infinite; will-change: transform; }
.marquee .ticker-set { display: inline-flex; flex: none; align-items: center; color: var(--paper-soft); }
.marquee .ticker-set b { margin: 0 2rem; color: var(--copper); font-weight: 700; }
@keyframes crawl { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.marquee div { animation: none; } }

.section { padding-block: clamp(5rem, 10vw, 9rem); }
.section-intro { margin-bottom: 3rem; }
.section-intro.split { display: grid; grid-template-columns: 1fr .8fr; align-items: end; gap: clamp(2rem, 7vw, 7rem); }
.section-intro h2, .final-cta h2 { max-width: 800px; margin: 0; font-family: var(--serif); font-size: clamp(2.8rem, 6vw, 5.5rem); font-weight: 400; letter-spacing: -.055em; line-height: .95; }
.section-intro > p { margin: 0; color: var(--paper-soft); }
.active-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.dataset-card { position: relative; display: flex; min-height: 440px; flex-direction: column; padding: clamp(1.4rem, 3vw, 2.2rem); background: var(--ink-soft); }
.dataset-number { color: rgba(122,224,206,.18); font: 400 4rem var(--serif); line-height: 1; }
.dataset-status { position: absolute; top: 2rem; right: 2rem; display: flex; align-items: center; gap: .45rem; color: var(--paper-soft); font: 600 .59rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.dataset-status span { width: 6px; height: 6px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 12px var(--mint); }
.dataset-card h3 { margin: 2rem 0 .5rem; font-family: var(--serif); font-size: 2rem; font-weight: 400; letter-spacing: -.025em; }
.dataset-card > p { color: var(--paper-soft); }
.dataset-card dl { display: grid; gap: .55rem; margin: auto 0 1.5rem; }
.dataset-card dl div { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--line); padding-top: .55rem; }
.dataset-card dt { color: var(--paper-soft); font: 600 .6rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.dataset-card dd { overflow: hidden; margin: 0; font: 600 .68rem var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.dataset-card > a { display: flex; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 1rem; color: var(--mint); font: 700 .69rem var(--mono); text-decoration: none; text-transform: uppercase; }

.architecture-section { border-block: 1px solid var(--line); background: linear-gradient(120deg, rgba(122,224,206,.045), transparent 40%), var(--panel); }
.pipeline { display: grid; grid-template-columns: repeat(8, 1fr); margin: 4rem 0; padding: 0; list-style: none; }
.pipeline li { position: relative; display: grid; gap: .7rem; border-top: 1px solid var(--line-strong); padding: 1rem .5rem 0 0; }
.pipeline li::before { position: absolute; top: -4px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--mint); content: ""; }
.pipeline span { color: var(--paper-soft); font: 600 .55rem var(--mono); }.pipeline strong { font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; }
.principles-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); }
.principles-grid article { padding: 1.5rem; background: var(--panel); }
.principles-grid span { color: var(--copper); font: 700 .65rem var(--mono); }.principles-grid h3 { font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }.principles-grid p { color: var(--paper-soft); font-size: .88rem; }

.catalog-controls { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.filter-button { border: 1px solid var(--line); border-radius: 999px; padding: .55rem .8rem; background: transparent; color: var(--paper-soft); cursor: pointer; }
.filter-button span { margin-left: .35rem; color: var(--mint); font-family: var(--mono); }
.filter-button.active, .filter-button:hover { border-color: var(--mint); color: var(--paper); }
.catalog-controls input { min-width: min(100%, 330px); margin-left: auto; border: 1px solid var(--line); border-radius: 3px; padding: .7rem .85rem; background: var(--panel); color: var(--paper); }
.catalog-list { border-top: 1px solid var(--line-strong); }
.catalog-row { display: grid; grid-template-columns: 1.1fr 1.35fr; gap: 2rem; border-bottom: 1px solid var(--line); padding: 1.5rem 0; }
.catalog-row[hidden] { display: none; }
.catalog-identity { position: relative; padding-left: 6.5rem; }
.catalog-state { position: absolute; top: .2rem; left: 0; border: 1px solid var(--line); border-radius: 2px; padding: .25rem .45rem; color: var(--paper-soft); font: 700 .55rem var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.catalog-state.building, .catalog-state.available { border-color: rgba(122,224,206,.5); color: var(--mint); }
.catalog-row h3 { margin: 0; font-family: var(--serif); font-size: 1.6rem; font-weight: 400; }.catalog-row p { margin: .35rem 0 0; color: var(--paper-soft); font-size: .9rem; }
.catalog-row > dl { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem 1.5rem; margin: 0; }
.catalog-row > dl div { display: grid; align-content: start; border-left: 1px solid var(--line); padding-left: .8rem; }
.catalog-row dt { color: var(--paper-soft); font: 600 .54rem var(--mono); letter-spacing: .09em; text-transform: uppercase; }.catalog-row dd { margin: .25rem 0 0; font-size: .78rem; }
.catalog-row details { grid-column: 1 / -1; }.catalog-row summary { width: fit-content; color: var(--mint); font: 700 .64rem var(--mono); cursor: pointer; text-transform: uppercase; }
.catalog-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; border: 1px solid var(--line); padding: 1rem; background: var(--ink-soft); }
.catalog-detail strong { color: var(--copper); font: 700 .58rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }.catalog-detail code { display: block; margin-top: .4rem; color: var(--paper-soft); font-size: .7rem; white-space: pre-wrap; }
.empty-state { border: 1px dashed var(--line-strong); padding: 2rem; color: var(--paper-soft); text-align: center; }
.final-cta { border-top: 1px solid var(--line); text-align: center; }.final-cta .eyebrow, .final-cta .hero-actions { justify-content: center; }.final-cta h2 { margin-inline: auto; }.final-cta > p:not(.eyebrow) { max-width: 650px; margin: 1.5rem auto; color: var(--paper-soft); }

.page-hero { padding-block: clamp(4rem, 10vw, 8rem); border-bottom: 1px solid var(--line); }
.page-hero.compact h1 { font-size: clamp(3.3rem, 8vw, 7rem); }
.docs-layout { display: grid; grid-template-columns: 230px 1fr; gap: clamp(2rem, 7vw, 7rem); padding-block: 4rem 8rem; }
.docs-nav { position: sticky; top: 1rem; display: grid; height: fit-content; gap: .25rem; border-left: 1px solid var(--line); padding-left: 1rem; }.docs-nav strong { margin-bottom: .5rem; color: var(--paper); font: 700 .62rem var(--mono); text-transform: uppercase; }.docs-nav a { padding: .25rem 0; color: var(--paper-soft); font-size: .82rem; text-decoration: none; }.docs-nav a:hover { color: var(--mint); }
.docs-content { max-width: 850px; }.docs-content section { padding: 1rem 0 4rem; scroll-margin-top: 2rem; }.docs-content section + section { border-top: 1px solid var(--line); padding-top: 4rem; }.docs-content h2 { margin: 0 0 1rem; font-family: var(--serif); font-size: clamp(2.2rem, 5vw, 3.7rem); font-weight: 400; letter-spacing: -.04em; }.docs-content p { color: var(--paper-soft); }.docs-content code { font-family: var(--mono); }.docs-content p code { border: 1px solid var(--line); border-radius: 2px; padding: .1rem .3rem; background: var(--panel); color: var(--mint-bright); font-size: .8em; }.docs-content pre { margin: 1.5rem 0; border: 1px solid var(--line); border-radius: 3px; }.endpoint-list { display: grid; gap: .4rem; }.endpoint-list code { border-left: 2px solid var(--mint); padding: .65rem .8rem; background: var(--panel); color: var(--paper); font-size: .78rem; }.error-grid { display: flex; flex-wrap: wrap; gap: .45rem; }.error-grid code { border: 1px solid var(--line); padding: .35rem .5rem; color: var(--copper); font-size: .65rem; }

.playground { display: grid; grid-template-columns: minmax(300px, .7fr) minmax(0, 1.3fr); gap: 1px; margin-block: 4rem; border: 1px solid var(--line); background: var(--line); }
.request-builder { display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 1rem; padding: clamp(1.3rem, 4vw, 2.3rem); background: var(--panel); }.field { display: grid; gap: .35rem; }.field.full { grid-column: 1 / -1; }.field label { font: 700 .62rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }.field input, .field select { width: 100%; border: 1px solid var(--line-strong); border-radius: 2px; padding: .7rem .8rem; background: var(--ink); color: var(--paper); }.field small { color: var(--paper-soft); font-size: .7rem; }.request-builder .button { grid-column: 1 / -1; margin-top: .5rem; }
.request-actions { display: flex; grid-column: 1 / -1; flex-wrap: wrap; gap: .65rem; }.request-actions .button { grid-column: auto; margin-top: .5rem; }
.response-workbench { min-width: 0; background: #050b0c; }.response-bar { display: flex; min-height: 51px; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); padding: .8rem 1rem; color: var(--paper-soft); font: 600 .62rem var(--mono); }.response-workbench pre { min-height: 520px; max-height: 720px; }.playground-note { display: grid; grid-template-columns: auto 1fr; gap: 1.2rem; margin-bottom: 7rem; border-left: 2px solid var(--copper); padding: 1rem 1.2rem; background: rgba(239,143,83,.06); }.playground-note strong { color: var(--copper); }.playground-note p { margin: 0; color: var(--paper-soft); }

.status-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: -1px; border: 1px solid var(--line); background: var(--line); }.status-summary > div { display: flex; min-height: 130px; flex-direction: column; justify-content: center; padding: 1.2rem; background: var(--panel); }.status-summary strong { font-family: var(--serif); font-size: 2rem; font-weight: 400; }.status-summary small { color: var(--paper-soft); font: 600 .58rem var(--mono); letter-spacing: .09em; text-transform: uppercase; }.status-light { display: inline-block; width: 8px; height: 8px; margin-right: .5rem; border-radius: 50%; background: var(--paper-soft); }.status-light.ok { background: var(--mint); box-shadow: 0 0 12px var(--mint); }.status-light.warn { background: var(--yellow); }
.release-table { border-top: 1px solid var(--line); }.release-row { display: grid; grid-template-columns: 1fr .7fr 1fr .5fr 1.2fr; gap: 1rem; align-items: center; border-bottom: 1px solid var(--line); padding: .9rem 0; }.release-row.header { color: var(--paper-soft); font: 700 .57rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }.release-row code { color: var(--mint); font-size: .72rem; }.release-row time { color: var(--paper-soft); font: .66rem var(--mono); }
.source-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); }.source-grid article { padding: 1.5rem; background: var(--panel); }.source-grid article > div:first-child { color: var(--paper-soft); font: 700 .56rem var(--mono); letter-spacing: .08em; }.source-grid h3 { margin: 1rem 0 .3rem; font-family: var(--serif); font-size: 1.5rem; font-weight: 400; }.source-grid p { color: var(--paper-soft); font-size: .8rem; }.source-grid dl { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }.source-grid dl div { border-top: 1px solid var(--line); padding-top: .5rem; }.source-grid dt { color: var(--paper-soft); font: 600 .53rem var(--mono); text-transform: uppercase; }.source-grid dd { margin: .2rem 0 0; font-size: .72rem; word-break: break-word; }
.changelog { max-width: 900px; }.changelog article { display: grid; grid-template-columns: 150px 1fr; gap: 2rem; border-top: 1px solid var(--line); padding: 2rem 0; }.changelog time, .changelog article span { color: var(--mint); font: 700 .62rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }.changelog h2 { margin: .5rem 0; font-family: var(--serif); font-size: 2rem; font-weight: 400; }.changelog li { color: var(--paper-soft); }
.legal-content { max-width: 900px; padding-block: 4rem 8rem; }.legal-content section { border-top: 1px solid var(--line); padding: 1.6rem 0; }.legal-content h2 { margin: 0 0 .6rem; font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }.legal-content p, .legal-content li { color: var(--paper-soft); }

.foundry-footer { display: flex; width: var(--shell); align-items: center; justify-content: space-between; gap: 2rem; margin-inline: auto; border-top: 1px solid var(--line); padding-block: 2.5rem; }.foundry-footer > div { display: grid; }.foundry-footer span { color: var(--paper-soft); font-size: .72rem; }.foundry-footer a { color: var(--paper-soft); font-size: .7rem; text-decoration: none; }.foundry-footer a:hover { color: var(--mint); }

@media (max-width: 900px) {
  .foundry-header { align-items: flex-start; flex-direction: column; padding-block: 1rem; }.foundry-header nav { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: .4rem; }.foundry-header nav a { white-space: nowrap; }
  .hero { grid-template-columns: 1fr; min-height: auto; }.hero-terminal { transform: none; }.section-intro.split { grid-template-columns: 1fr; }.active-grid { grid-template-columns: 1fr; }.dataset-card { min-height: 380px; }.pipeline { grid-template-columns: repeat(4, 1fr); gap: 2rem 0; }.principles-grid { grid-template-columns: 1fr 1fr; }.catalog-row { grid-template-columns: 1fr; }.playground { grid-template-columns: 1fr; }.docs-layout { grid-template-columns: 1fr; }.docs-nav { position: static; display: flex; overflow-x: auto; flex-wrap: nowrap; border-left: 0; border-bottom: 1px solid var(--line); padding: 0 0 1rem; }.docs-nav strong { display: none; }.docs-nav a { white-space: nowrap; }.status-summary { grid-template-columns: 1fr 1fr; }.release-row { grid-template-columns: 1fr 1fr; }.release-row.header { display: none; }.source-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  :root { --shell: min(100% - 24px, 1240px); }.hero h1, .page-hero h1 { font-size: clamp(3rem, 14vw, 4.6rem); }.hero { padding-top: 4rem; }.hero-stats { gap: 1rem; justify-content: space-between; }.hero-terminal pre { min-height: 380px; font-size: .64rem; }.section { padding-block: 4.5rem; }.pipeline { grid-template-columns: 1fr 1fr; }.principles-grid { grid-template-columns: 1fr; }.catalog-controls input { width: 100%; margin-left: 0; }.catalog-identity { padding-left: 0; }.catalog-state { position: static; display: inline-block; margin-bottom: .7rem; }.catalog-row > dl, .catalog-detail { grid-template-columns: 1fr; }.request-builder { grid-template-columns: 1fr; }.field.full, .request-builder .button { grid-column: auto; }.response-bar { align-items: flex-start; flex-direction: column; }.status-summary { grid-template-columns: 1fr; }.source-grid dl { grid-template-columns: 1fr; }.changelog article { grid-template-columns: 1fr; }.foundry-footer { align-items: flex-start; flex-direction: column; }.foundry-footer nav { align-items: flex-start; flex-direction: column; }.playground-note { grid-template-columns: 1fr; }
}

:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }
::selection { background: var(--mint); color: var(--ink); }
