:root {
  color-scheme: dark;
  --bg: #000;
  --surface: #0a0a0a;
  --surface-2: #111;
  --surface-hover: #191919;
  --line: #27292b;
  --line-strong: #3a3e42;
  --text: #f2f4f5;
  --soft: #aeb5bb;
  --muted: #70777d;
  --green: #00c985;
  --green-dark: #001f15;
  --blue: #1d9bf0;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 400 1rem/1.55 var(--sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
svg { display: block; fill: currentColor; }
code, pre { font-family: var(--mono); }
.skip-link {
  position: fixed;
  z-index: 100;
  top: .75rem;
  left: .75rem;
  padding: .65rem .9rem;
  background: var(--text);
  color: #000;
  transform: translateY(-180%);
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }

.topbar {
  position: sticky;
  z-index: 20;
  top: 0;
  height: 4.5rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 2rem;
  padding: 0 max(1.25rem, calc((100vw - var(--max)) / 2));
  border-bottom: 1px solid rgba(47, 51, 54, .8);
  background: rgba(0, 0, 0, .88);
  backdrop-filter: blur(18px) saturate(140%);
}
.brand { display: inline-flex; align-items: center; gap: .7rem; font-size: .98rem; font-weight: 760; letter-spacing: -.02em; }
.brand-mark { width: 2rem; height: 2rem; padding: .25rem; border-radius: .55rem; background: var(--green); color: var(--green-dark); }
.topnav { display: flex; align-items: center; gap: .25rem; }
.topnav a { padding: .55rem .8rem; border-radius: .5rem; color: var(--soft); font-size: .84rem; font-weight: 650; transition: color 120ms ease, background-color 120ms ease; }
.topnav a:hover { background: var(--surface-2); color: var(--text); }
.github-link { justify-self: end; display: inline-flex; align-items: center; gap: .48rem; min-height: 2.5rem; padding: 0 .85rem; border: 1px solid var(--line-strong); border-radius: .7rem; background: var(--surface-2); font-size: .82rem; font-weight: 720; }
.github-link svg { width: 1rem; }
.github-link .arrow { width: .75rem; color: var(--muted); }
.control { transition: transform 100ms ease-out, border-color 120ms ease-out, background-color 120ms ease-out; }
.control:hover { border-color: #555b60; }
.control:active { transform: scale(.975); }

.hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.hero::before {
  content: "";
  position: absolute;
  width: 50rem;
  height: 50rem;
  top: -27rem;
  right: -14rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 201, 133, .11), rgba(0, 201, 133, 0) 68%);
  pointer-events: none;
}
.hero-grid {
  width: min(var(--max), calc(100% - 2.5rem));
  min-height: 43rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(34rem, 1.12fr);
  align-items: center;
  gap: 4.5rem;
  padding: 5.5rem 0 5.8rem;
}
.status-line { display: flex; align-items: center; gap: .58rem; margin-bottom: 1.5rem; color: var(--soft); font: 720 .72rem var(--mono); letter-spacing: .065em; text-transform: uppercase; }
.status-dot { width: .48rem; height: .48rem; flex: 0 0 auto; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 .25rem rgba(0, 201, 133, .1); }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 1.55rem; font-size: clamp(3.2rem, 5.2vw, 5.4rem); line-height: .94; letter-spacing: -.063em; font-weight: 790; }
h1 span { color: var(--muted); }
.hero-lede { max-width: 35rem; margin-bottom: 2rem; color: var(--soft); font-size: 1.12rem; line-height: 1.65; letter-spacing: -.01em; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.button { min-height: 2.85rem; display: inline-flex; align-items: center; justify-content: center; gap: .65rem; padding: 0 1.05rem; border: 1px solid var(--line-strong); border-radius: .7rem; font-size: .88rem; font-weight: 760; }
.button svg { width: .85rem; }
.button-primary { border-color: var(--green); background: var(--green); color: var(--green-dark); }
.button-primary:hover { border-color: #2be0a2; background: #2be0a2; }
.button-secondary { background: var(--surface-2); }
.hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 3.3rem 0 0; }
.hero-stats div { padding-right: 1rem; border-right: 1px solid var(--line); }
.hero-stats div + div { padding-left: 1.2rem; }
.hero-stats div:last-child { border-right: 0; }
.hero-stats dt { margin-bottom: .28rem; color: var(--muted); font: 700 .65rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.hero-stats dd { margin: 0; font-size: .83rem; font-weight: 650; }

.console-wrap { min-width: 0; }
.console { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 1rem; background: #070707; box-shadow: 0 2rem 6rem rgba(0, 0, 0, .48); }
.console-bar { height: 3.2rem; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 1rem; border-bottom: 1px solid var(--line); background: #0d0d0d; }
.window-dots { display: flex; gap: .35rem; }
.window-dots i { width: .52rem; height: .52rem; border-radius: 50%; background: #393b3e; }
.console-title { color: var(--soft); font: 650 .65rem var(--mono); }
.runtime-status { justify-self: end; display: flex; align-items: center; gap: .4rem; color: var(--green); font: 650 .59rem var(--mono); }
.runtime-status i { width: .38rem; height: .38rem; border-radius: 50%; background: currentColor; }
.console-body { min-height: 27rem; display: grid; grid-template-columns: 3.9rem 1fr; }
.rail { display: flex; flex-direction: column; align-items: center; gap: .7rem; padding-top: 1.15rem; border-right: 1px solid var(--line); background: #080808; }
.rail-logo { display: grid; place-items: center; width: 2rem; height: 2rem; margin-bottom: .7rem; border-radius: .5rem; background: var(--green); color: var(--green-dark); font: 900 .58rem var(--mono); }
.rail-item { position: relative; display: grid; place-items: center; width: 2.3rem; height: 2rem; border-radius: .45rem; color: #555b60; font: 700 .55rem var(--mono); }
.rail-item.active { background: #171918; color: var(--text); }
.rail-item.active::before { content: ""; position: absolute; left: -.8rem; width: .16rem; height: 1.15rem; border-radius: 1rem; background: var(--green); }
.terminal { min-width: 0; padding: 1.1rem 1.2rem 1.25rem; }
.terminal-meta { display: flex; justify-content: space-between; padding-bottom: .85rem; border-bottom: 1px solid #202224; color: var(--muted); font: 700 .58rem var(--mono); letter-spacing: .08em; }
.terminal-meta code { color: var(--soft); letter-spacing: 0; }
.terminal-command { display: flex; gap: .65rem; margin: 1rem 0 .75rem; color: #dfe3e5; font-size: .68rem; white-space: nowrap; }
.prompt { color: var(--green); font-weight: 800; }
.result { display: flex; align-items: center; gap: .65rem; padding: .65rem .75rem; border: 1px solid rgba(0, 201, 133, .23); border-radius: .55rem; background: rgba(0, 201, 133, .055); color: var(--green); }
.result > span { font-size: .85rem; }
.result p { display: flex; align-items: baseline; gap: .7rem; margin: 0; }
.result strong { font-size: .68rem; }
.result small { color: #789589; font: 500 .58rem var(--mono); }
.render-progress { padding: .8rem; border: 1px solid var(--line); border-radius: .55rem; background: #0d0e0e; }
.progress-head, .progress-meta { display: flex; justify-content: space-between; }
.progress-head { margin-bottom: .6rem; font-size: .65rem; font-weight: 650; }
.progress-head strong { color: var(--green); font-family: var(--mono); }
.progress-track { height: .3rem; overflow: hidden; border-radius: 1rem; background: #242729; }
.progress-track i { display: block; width: 82%; height: 100%; border-radius: inherit; background: var(--green); }
.progress-meta { margin-top: .5rem; color: var(--muted); font: 600 .54rem var(--mono); }
.scene-list { margin-top: .9rem; border: 1px solid var(--line); border-radius: .55rem; }
.scene-list > div { min-height: 3.35rem; display: grid; grid-template-columns: 1.5rem 1fr auto; align-items: center; gap: .6rem; padding: 0 .75rem; border-bottom: 1px solid #222426; }
.scene-list > div:last-child { border: 0; }
.scene-list > div > span { color: var(--muted); font: 650 .55rem var(--mono); }
.scene-list p { margin: 0; line-height: 1.2; }
.scene-list strong, .scene-list small { display: block; }
.scene-list strong { margin-bottom: .28rem; font-size: .66rem; }
.scene-list small { color: var(--muted); font: 500 .54rem var(--mono); }
.scene-list em { padding: .2rem .38rem; border-radius: 1rem; font: 700 .48rem var(--mono); font-style: normal; text-transform: uppercase; }
.scene-list .done { color: var(--green); background: rgba(0, 201, 133, .08); }
.scene-list .active { color: var(--blue); background: rgba(29, 155, 240, .1); }
.console-caption { display: flex; justify-content: flex-end; gap: .65rem; margin: .75rem .25rem 0 0; color: var(--muted); font: 600 .58rem var(--mono); }
.console-caption span { color: var(--green); }

.section { width: min(var(--max), calc(100% - 2.5rem)); margin: 0 auto; padding: 7rem 0; }
.section-intro { max-width: 44rem; margin-bottom: 3.4rem; }
.eyebrow { margin-bottom: 1rem; color: var(--green); font: 750 .68rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
h2 { margin-bottom: 1.4rem; font-size: clamp(2.35rem, 4.4vw, 4rem); line-height: 1.02; letter-spacing: -.05em; font-weight: 760; }
.section-intro > p:last-child, .quickstart-copy > p:not(.eyebrow) { max-width: 40rem; margin-bottom: 0; color: var(--soft); font-size: 1.02rem; line-height: 1.7; }
.workflow-section { border-bottom: 1px solid var(--line); }
.pipeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pipeline li { position: relative; min-height: 18rem; padding: 1.3rem 1.5rem 1.8rem; border-right: 1px solid var(--line); }
.pipeline li:last-child { border: 0; }
.step-number { display: block; color: var(--muted); font: 700 .62rem var(--mono); }
.step-icon { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; margin: 3.3rem 0 1.5rem; border: 1px solid var(--line-strong); border-radius: .65rem; background: var(--surface-2); color: var(--green); }
.step-icon svg { width: 1.25rem; }
.pipeline h3 { margin-bottom: .65rem; font-size: 1.05rem; letter-spacing: -.02em; }
.pipeline p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.6; }
.pipeline code { color: var(--soft); font-size: .78rem; }

.capabilities-section { padding-top: 6.5rem; }
.section-intro.horizontal { max-width: none; display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 5rem; }
.section-intro.horizontal h2 { margin-bottom: 0; }
.section-intro.horizontal > p { padding-bottom: .3rem; }
.capability-table { border-top: 1px solid var(--line); }
.capability-table article { min-height: 8.6rem; display: grid; grid-template-columns: 5rem minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; border-bottom: 1px solid var(--line); transition: background-color 150ms ease; }
.capability-table article:hover { background: rgba(255, 255, 255, .018); }
.capability-index { color: var(--muted); font: 700 .65rem var(--mono); }
.capability-table h3 { margin: 0 0 .42rem; font-size: 1.06rem; letter-spacing: -.015em; }
.capability-table p { max-width: 46rem; margin: 0; color: var(--muted); font-size: .87rem; }
.tag { justify-self: end; padding: .32rem .48rem; border: 1px solid var(--line); border-radius: .4rem; color: var(--soft); font: 700 .55rem var(--mono); letter-spacing: .06em; }
.status-tag { display: inline-flex; align-items: center; gap: .35rem; border-color: rgba(0, 201, 133, .25); color: var(--green); }
.status-tag i { width: .35rem; height: .35rem; border-radius: 50%; background: currentColor; }

.quickstart-section { width: 100%; max-width: none; padding: 7rem max(1.25rem, calc((100vw - var(--max)) / 2)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #060606; }
.quickstart-grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: 6rem; }
.quickstart-copy h2 { font-size: clamp(2.5rem, 4vw, 3.8rem); }
.quickstart-copy > p:not(.eyebrow) { margin-bottom: 2rem; }
.text-link { display: inline-flex; align-items: center; gap: .55rem; padding-bottom: .18rem; border-bottom: 1px solid #555a5f; color: var(--text); font-size: .86rem; font-weight: 700; }
.text-link span { color: var(--green); }
.code-panel { overflow: hidden; border: 1px solid var(--line-strong); border-radius: .85rem; background: #090909; box-shadow: 0 1.8rem 5rem rgba(0, 0, 0, .32); }
.code-header { height: 3.2rem; display: flex; align-items: center; justify-content: space-between; padding: 0 .8rem 0 1rem; border-bottom: 1px solid var(--line); background: #101010; }
.code-header > div { display: flex; align-items: center; gap: .65rem; color: var(--muted); font: 700 .6rem var(--mono); letter-spacing: .08em; }
.copy-button { min-height: 2rem; display: inline-flex; align-items: center; gap: .38rem; padding: 0 .55rem; border: 1px solid var(--line); border-radius: .45rem; background: #171717; color: var(--soft); font-size: .66rem; font-weight: 700; cursor: pointer; }
.copy-button svg { width: .8rem; }
pre { overflow-x: auto; margin: 0; padding: 1.5rem 1.65rem; color: #dde1e3; font-size: .75rem; line-height: 1.9; tab-size: 2; }
pre .comment { color: #697178; }
pre .prompt { user-select: none; }
.copy-status { min-height: 1.65rem; padding: 0 1.65rem; color: var(--green); font: 650 .58rem/1.65rem var(--mono); }

.cta { width: min(var(--max), calc(100% - 2.5rem)); min-height: 20rem; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.cta h2 { margin: 0; font-size: clamp(2.4rem, 4vw, 3.7rem); }
footer { min-height: 7rem; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; padding: 0 max(1.25rem, calc((100vw - var(--max)) / 2)); border-top: 1px solid var(--line); color: var(--muted); font-size: .75rem; }
.footer-brand { justify-self: start; color: var(--text); }
footer p { margin: 0; }
.footer-links { justify-self: end; display: flex; gap: 1.2rem; }
.footer-links a:hover { color: var(--text); }

@media (max-width: 1050px) {
  .topnav { display: none; }
  .topbar { grid-template-columns: 1fr auto; }
  .hero-grid { grid-template-columns: 1fr; gap: 3.5rem; padding-top: 4.5rem; }
  .hero-copy { max-width: 45rem; }
  .console-wrap { width: min(100%, 45rem); }
  .quickstart-grid { gap: 3rem; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 4rem; }
  .topbar { height: 4rem; padding: 0 1rem; }
  .github-link span { display: none; }
  .hero-grid, .section, .cta { width: min(100% - 2rem, var(--max)); }
  .hero-grid { min-height: 0; padding: 4rem 0; }
  h1 { font-size: clamp(3rem, 14vw, 4.6rem); }
  .hero-lede { font-size: 1rem; }
  .hero-stats { grid-template-columns: 1fr; gap: 1rem; margin-top: 2.5rem; }
  .hero-stats div, .hero-stats div + div { padding: 0 0 1rem; border: 0; border-bottom: 1px solid var(--line); }
  .console-body { grid-template-columns: 2.8rem 1fr; }
  .rail-item { width: 2rem; }
  .terminal { padding: .8rem; }
  .terminal-command { overflow-x: auto; padding-bottom: .25rem; }
  .result p { display: block; }
  .result small { display: block; margin-top: .2rem; }
  .section { padding: 5rem 0; }
  .section-intro { margin-bottom: 2.5rem; }
  .pipeline { grid-template-columns: 1fr 1fr; }
  .pipeline li:nth-child(2) { border-right: 0; }
  .pipeline li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .section-intro.horizontal { grid-template-columns: 1fr; gap: 1.5rem; }
  .capability-table article { grid-template-columns: 2.2rem 1fr; padding: 1.4rem 0; }
  .tag { display: none; }
  .quickstart-section { padding: 5rem 1rem; }
  .quickstart-grid { grid-template-columns: 1fr; }
  .cta { min-height: 20rem; align-items: flex-start; justify-content: center; flex-direction: column; }
  footer { grid-template-columns: 1fr auto; padding: 1.5rem 1rem; }
  footer p { display: none; }
}
@media (max-width: 480px) {
  .brand { font-size: .88rem; }
  .console-wrap { margin-inline: -.45rem; width: calc(100% + .9rem); }
  .console-bar { grid-template-columns: 1fr auto; }
  .console-title { display: none; }
  .pipeline { grid-template-columns: 1fr; }
  .pipeline li { min-height: 14rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .pipeline li:nth-child(2) { border-bottom: 1px solid var(--line); }
  .pipeline li:last-child { border-bottom: 0; }
  .step-icon { margin-top: 2.3rem; }
  .capability-table p { font-size: .82rem; }
  pre { padding: 1.25rem 1rem; font-size: .68rem; }
  .copy-status { padding: 0 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (prefers-reduced-transparency: reduce) {
  .topbar { background: #000; backdrop-filter: none; }
}
@media (prefers-contrast: more) {
  :root { --line: #687078; --line-strong: #818b94; --muted: #adb5bc; }
}
