@font-face { font-family: 'Fira Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fira-sans-latin-400-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Fira Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fira-sans-cyrillic-400-normal.woff2') format('woff2'); unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Fira Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fira-sans-latin-500-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+2000-206F; }
@font-face { font-family: 'Fira Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fira-sans-cyrillic-500-normal.woff2') format('woff2'); unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Fira Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('assets/fira-sans-latin-600-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+2000-206F; }
@font-face { font-family: 'Fira Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('assets/fira-sans-cyrillic-600-normal.woff2') format('woff2'); unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Fira Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('assets/fira-sans-latin-700-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+2000-206F; }
@font-face { font-family: 'Fira Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('assets/fira-sans-cyrillic-700-normal.woff2') format('woff2'); unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 28px; }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 16px/1.6 var(--font-ui); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; }
a, button, summary { -webkit-tap-highlight-color: transparent; transition: color 180ms, background 180ms, border-color 180ms; }
a:focus-visible, button:focus-visible, summary:focus-visible, [role="tabpanel"]:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; border-radius: 4px; }
a:hover { color: var(--accent); }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-weight: 500; line-height: 1.12; }
code { font-family: ui-monospace, monospace; }
.wrap { width: min(1240px, calc(100% - 96px)); margin-inline: auto; }
.section-space { padding-block: 92px; }
.skip-link { position: absolute; top: -100px; left: 20px; padding: 12px 20px; z-index: 10; background: var(--accent); color: var(--accent-text); }
.skip-link:focus { top: 12px; }
.header { min-height: 92px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--border); }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 28px; font-weight: 600; letter-spacing: -1px; }
.header nav { display: flex; align-items: center; gap: 30px; font-size: 14px; }
.header nav a { display: inline-flex; align-items: center; min-height: 44px; }
.nav-download { border: 1px solid var(--border); padding: 8px 18px; border-radius: 6px; gap: 28px; }
.nav-download:hover { background: var(--surface-raised); border-color: var(--accent); }
.hero { display: grid; grid-template-columns: 1.05fr 1fr; align-items: start; gap: 64px; padding-block: 76px 68px; }
.hero-copy, .product-demo { min-width: 0; }
.eyebrow { font-size: 11px; letter-spacing: 1.5px; font-weight: 500; color: var(--muted); display: flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; }
.status-dot { display: inline-block; width: 7px; height: 7px; background: var(--accent); border-radius: 50%; flex: 0 0 auto; }
h1 { font-size: clamp(48px, 4.8vw, 69px); letter-spacing: -2.9px; line-height: 1.06; margin-top: 26px; }
h1 > span { color: var(--accent); }
.hero-description { margin-top: 26px; font-size: 18px; color: var(--muted); line-height: 1.65; max-width: 47ch; }
.hero-actions { margin-top: 29px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 30px; min-height: 54px; padding: 13px 22px; border-radius: 6px; font-weight: 500; }
.primary { background: var(--accent); color: var(--accent-text); }
.primary:hover { background: var(--lane-cream); color: var(--accent-text); }
.text-link { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; font-size: 14px; }
.availability { margin-top: 20px; color: var(--muted); font-size: 12px; display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.version { margin-left: 6px; }
.product-demo { border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow); position: relative; }
.product-demo:before { content: ''; position: absolute; inset: -22px; border: 1px solid var(--border); border-radius: 24px; opacity: .35; pointer-events: none; z-index: -1; }
.demo-titlebar { display: flex; align-items: center; gap: 12px; min-height: 51px; padding: 12px 20px; border-bottom: 1px solid var(--border); color: var(--muted); font-size: 11px; }
.window-dots { display: flex; gap: 5px; }
.window-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--muted); opacity: .65; }
.demo-badge { margin-left: auto; font-size: 9px; letter-spacing: 1px; }
.demo-tabs { display: grid; grid-template-columns: repeat(3, 1fr); padding: 7px; gap: 4px; border-bottom: 1px solid var(--border); }
.demo-tabs button { min-height: 44px; border: 1px solid transparent; background: transparent; border-radius: 5px; color: var(--muted); font-size: 12px; }
.demo-tabs button:hover { color: var(--text); background: var(--surface-raised); }
.demo-tabs button[aria-selected="true"] { color: var(--accent); border-color: var(--border); background: var(--accent-bg); }
.demo-panel { padding: 25px; min-height: 450px; }
.demo-panel + .demo-panel { border-top: 1px solid var(--border); }
.demo-tabs:not([hidden]) ~ .demo-panel { border-top: 0; }
.demo-panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.demo-panel-heading .eyebrow { font-size: 9px; }
.branch-pill { color: var(--accent); font: 10px ui-monospace, monospace; border: 1px solid var(--border); border-radius: 4px; padding: 5px 8px; }
.demo-panel h2 { font-size: 22px; letter-spacing: -.5px; margin-top: 20px; }
.demo-description { color: var(--muted); font-size: 12px; margin-block: 9px 22px; }
.pipeline-step { display: flex; align-items: center; gap: 12px; padding-block: 11px; border-top: 1px solid var(--border); }
.step-icon { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid var(--border); border-radius: 50%; color: var(--accent); flex: 0 0 auto; font-size: 14px; }
.pipeline-step strong { display: block; font-size: 12px; font-weight: 500; }
.pipeline-step small { display: block; color: var(--muted); font-size: 10px; }
.pipeline-step code { margin-left: auto; font-size: 10px; color: var(--muted); }
.failed .step-icon { color: var(--mark-red); border-color: var(--mark-red); }
.demo-result { display: flex; align-items: center; gap: 12px; padding: 13px 15px; margin-top: 15px; background: var(--bg); border: 1px solid var(--border); border-radius: 5px; }
.demo-result strong { font-size: 12px; font-weight: 500; color: var(--mark-red); display: block; }
.demo-result span:not(.result-dot):not(.step-icon) { display: block; color: var(--muted); font-size: 11px; }
.result-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--mark-red); flex: 0 0 auto; }
.demo-result.neutral strong { color: var(--accent); }
.demo-caption { border-top: 1px solid var(--border); padding: 12px 18px; font-size: 10px; color: var(--muted); }
.branch-route { display: flex; align-items: center; gap: 14px; padding-block: 14px 24px; }
.branch-route code { border: 1px solid var(--border); border-radius: 5px; padding: 9px 10px; font-size: 12px; color: var(--accent); }
.branch-route svg { width: 70px; min-width: 20px; height: 32px; stroke: var(--lane-mint); stroke-width: 1.5; }
.command-preview { background: var(--bg); border: 1px solid var(--border); border-radius: 5px; padding: 15px; }
.command-preview > span { display: block; font-size: 11px; color: var(--muted); margin-bottom: 14px; }
.command-preview code { display: block; font-size: 11px; line-height: 2; overflow-wrap: anywhere; }
.command-preview b, .log-example b { color: var(--accent); font-weight: 400; }
.marked-row { display: flex; gap: 9px; align-items: center; background: var(--accent-bg); border-left: 3px solid var(--mark-amber); padding: 14px 10px; }
.marked-row svg { width: 18px; height: 18px; stroke: var(--mark-amber); flex: 0 0 auto; }
.marked-row code { font-size: 10px; color: var(--muted); }
.marked-row strong { font-size: 11px; font-weight: 500; }
.note-preview { padding: 17px 14px; border: 1px solid var(--border); border-top: 0; }
.note-preview > span { font-size: 9px; color: var(--muted); letter-spacing: 1px; }
.note-preview p { font-size: 13px; margin-top: 8px; }
.swatches { display: flex; gap: 9px; margin-top: 16px; }
.swatches i { width: 12px; height: 12px; border-radius: 50%; background: var(--mark-red); }
.swatches i:nth-child(2) { background: var(--mark-amber); }
.swatches i:nth-child(3) { background: var(--mark-green); }
.swatches i:nth-child(4) { background: var(--mark-blue); }
.swatches i:nth-child(5) { background: var(--mark-violet); }
.swatches i:nth-child(6) { background: var(--mark-slate); }
.facts { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-block: 1px solid var(--border); padding-block: 23px; font-size: 12px; color: var(--muted); }
.facts > span:first-child { display: flex; align-items: center; gap: 9px; }
.facts a { min-height: 44px; display: inline-flex; align-items: center; gap: 15px; color: var(--text); }
h2 { font-size: clamp(32px, 3.5vw, 48px); letter-spacing: -1.8px; margin-top: 20px; }
h2 > span { color: var(--muted); }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; }
.section-heading > p { color: var(--muted); font-size: 15px; max-width: 38ch; }
.compact h2 { font-size: 31px; letter-spacing: -.8px; }
.compact > p { font-size: 13px; }
.preview { padding-block: 64px 76px; }
.app-frame { border: 1px solid var(--border); border-radius: 9px; overflow: hidden; box-shadow: var(--shadow); background: var(--surface); margin-top: 30px; }
.app-frame a { display: block; }
.app-frame a:focus-visible { outline-offset: -5px; }
.app-frame img { width: 100%; }
figcaption { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); padding: 12px 18px; font-size: 11px; border-top: 1px solid var(--border); }
/* Gallery of real screenshots: two columns, each a framed image over a short caption. */
.screens { padding-top: 12px; }
.screen-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 24px; margin-top: 30px; }
.screen { border: 1px solid var(--border); border-radius: 9px; overflow: hidden; background: var(--surface); min-width: 0; }
.screen a { display: block; }
.screen a:focus-visible { outline-offset: -5px; }
.screen img { width: 100%; border-bottom: 1px solid var(--border); }
.screen figcaption { display: block; border-top: 0; padding: 16px 18px 18px; font-size: 13px; line-height: 1.5; }
.screen figcaption strong { display: block; color: var(--text); font-size: 15px; font-weight: 500; margin-bottom: 4px; }
.light-section { color-scheme: light; background: var(--bg); color: var(--text); }
.feature-grid { margin-top: 42px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.feature { border: 1px solid var(--border); background: var(--surface-raised); border-radius: 10px; padding: 32px; min-width: 0; }
.feature-automation { background: var(--accent-bg); }
.feature-marks { background: var(--surface); }
.feature-number { color: var(--muted); font-size: 10px; letter-spacing: 1.3px; }
.feature h3 { margin-top: 24px; font-size: 30px; letter-spacing: -.7px; }
.feature p { margin-top: 18px; font-size: 16px; color: var(--muted); max-width: 51ch; }
.feature .feature-footnote { font-size: 12px; margin-top: 20px; }
.automation-flow { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 26px; }
.automation-flow > span:nth-child(odd) { border: 1px solid var(--border); background: var(--surface-raised); border-radius: 4px; padding: 8px 10px; font-size: 12px; }
.automation-flow > span:nth-child(even) { transform: rotate(-90deg); }
.mark-example { border: 1px solid var(--border); background: var(--surface-raised); border-radius: 5px; margin-top: 26px; padding: 17px; }
.mark-example > div:first-child { display: flex; gap: 12px; align-items: center; }
.mark-example code { font-size: 10px; color: var(--muted); }
.mark-example strong { font-size: 12px; font-weight: 500; }
.mark-example p { font-size: 13px; margin-top: 10px; }
.mark-glyph { color: var(--mark-amber); font-size: 20px; }
.log-example { margin-top: 25px; background: var(--surface); border: 1px solid var(--border); border-radius: 5px; padding: 18px; }
.log-example code { font-size: 14px; }
.log-example > span { display: block; font-size: 11px; color: var(--muted); margin-top: 10px; }
.log-example > span > span { padding-inline: 7px; }
.sandbox-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--border); }
.sandbox-stats strong { display: block; font-size: 35px; font-weight: 500; line-height: 1.2; color: var(--accent); }
.sandbox-stats span { font-size: 11px; color: var(--muted); }
.bughunter { display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: center; }
.bug-copy h2 { font-size: clamp(32px, 3.4vw, 47px); }
.bug-copy h2 > span { color: var(--accent); }
.bug-copy > p:not(.eyebrow) { margin-top: 24px; color: var(--muted); font-size: 16px; }
.bug-copy .text-link { margin-top: 23px; color: var(--accent); }
.hunt-card { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 28px; min-width: 0; }
.hunt-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px solid var(--border); padding-bottom: 20px; }
.hunt-header strong { font-weight: 500; }
.hunt-header > span { font-size: 9px; letter-spacing: 1px; color: var(--muted); }
.hunt-range { display: flex; justify-content: space-between; gap: 15px; margin-top: 27px; color: var(--muted); font-size: 11px; }
.hunt-track { position: relative; display: flex; align-items: center; justify-content: space-between; height: 56px; }
.hunt-track:before { content: ''; position: absolute; height: 1px; background: var(--border); width: 100%; }
.hunt-track i { position: relative; display: block; width: 10px; height: 10px; border-radius: 50%; background: var(--surface); border: 2px solid var(--muted); }
.hunt-track i:first-child { border-color: var(--accent); background: var(--accent); }
.hunt-track i:last-child { border-color: var(--mark-red); background: var(--mark-red); }
.hunt-track i.test-node { width: 18px; height: 18px; border: 5px solid var(--accent); outline: 5px solid var(--accent-bg); }
.hunt-result { margin-top: 16px; }
.hunt-result .eyebrow { font-size: 9px; }
.hunt-result strong { display: block; font-size: 68px; font-weight: 500; line-height: 1.3; letter-spacing: -3px; margin-top: 7px; }
.hunt-result strong > span { color: var(--accent); }
.hunt-result > p { font-size: 13px; color: var(--muted); }
.bisect-steps { display: flex; justify-content: space-between; margin-top: 25px; gap: 5px; }
.bisect-steps span { font: 11px ui-monospace, monospace; border-bottom: 2px solid var(--border); padding-bottom: 8px; flex: 1; text-align: center; color: var(--muted); }
.bisect-steps span:last-child { border-color: var(--accent); color: var(--accent); }
.hunt-footnote { margin-top: 23px; font-size: 12px; color: var(--muted); }
.everyday { padding-bottom: 0; }
.benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; margin-top: 44px; }
.scenario-grid { grid-template-columns: repeat(3, 1fr); }
.benefits article { border-top: 1px solid var(--border); padding-top: 20px; }
.benefits h3 { font-size: 21px; line-height: 1.25; letter-spacing: -.3px; margin-top: 18px; }
.benefits p { margin-top: 14px; color: var(--muted); font-size: 15px; }
.local-note { display: flex; align-items: center; gap: 22px; margin-top: 43px; padding: 28px; background: var(--surface); border: 1px solid var(--border); border-radius: 6px; }
.local-note img { flex: 0 0 auto; }
.local-note h3 { font-size: 20px; }
.local-note p { font-size: 14px; color: var(--muted); margin-top: 9px; max-width: 96ch; }
.download-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; }
.download-intro { margin-top: 18px; color: var(--muted); }
.release-label { font-size: 17px; }
.release-label .status-dot { margin-right: 7px; }
.release-label small { display: block; font-size: 12px; color: var(--muted); margin-top: 6px; }
.download-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 36px; }
.download-card { border: 1px solid var(--border); border-radius: 8px; padding: 25px; background: var(--surface-raised); }
.platform-label { color: var(--muted); font-size: 9px; letter-spacing: 1.8px; }
.download-card h3 { font-size: 30px; margin-block: 14px 27px; letter-spacing: -.8px; }
.download-link { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 54px; padding: 11px 14px; border: 1px solid var(--border); border-radius: 5px; font-size: 13px; margin-top: 9px; }
.download-link > span:first-child { display: flex; flex-direction: column; }
.download-link > span:last-child { font-size: 21px; }
.download-link small { font-size: 10px; }
.download-link:first-of-type { background: var(--text); color: var(--bg); border-color: var(--text); }
.download-link:hover { background: var(--accent-bg); color: var(--text); border-color: var(--accent); }
.download-link:first-of-type:hover { background: var(--accent); color: var(--accent-text); }
.download-note { color: var(--muted); font-size: 13px; margin-top: 22px; }
.install-help { margin-top: 13px; color: var(--muted); font-size: 13px; max-width: 85ch; }
.install-help summary { cursor: pointer; min-height: 44px; padding-block: 11px; width: fit-content; color: var(--text); }
.install-help p { padding-block: 6px 12px; }
.footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 110px; border-top: 1px solid var(--border); }
.footer .brand { font-size: 26px; }
.footer p, .footer > a:last-child, .footer .footer-link { color: var(--muted); font-size: 12px; }
.footer > a:last-child, .footer .footer-link { padding-block: 14px; }

@keyframes enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes trace { from { stroke-dashoffset: 120; } to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: no-preference) {
  .hero-copy { animation: enter 550ms ease-out both; }
  .product-demo { animation: enter 650ms 100ms ease-out both; }
  .demo-panel.is-active .step-enter { animation: enter 350ms ease-out both; }
  .demo-panel.is-active .step-enter:nth-of-type(3) { animation-delay: 100ms; }
  .demo-panel.is-active .step-enter:nth-of-type(4) { animation-delay: 200ms; }
  .demo-panel.is-active .step-enter:nth-of-type(5) { animation-delay: 300ms; }
  .demo-panel.is-active .branch-route path { stroke-dasharray: 120; animation: trace 650ms ease-out both; }
  .is-revealed { animation: enter 550ms ease-out both; }
  .hunt-card.is-revealed .bisect-steps span { animation: enter 350ms ease-out both; }
  .hunt-card.is-revealed .bisect-steps span:nth-child(2) { animation-delay: 100ms; }
  .hunt-card.is-revealed .bisect-steps span:nth-child(3) { animation-delay: 200ms; }
  .hunt-card.is-revealed .bisect-steps span:nth-child(4) { animation-delay: 300ms; }
  .hunt-card.is-revealed .bisect-steps span:nth-child(5) { animation-delay: 400ms; }
  .hunt-card.is-revealed .bisect-steps span:nth-child(6) { animation-delay: 500ms; }
  .hunt-card.is-revealed .bisect-steps span:nth-child(7) { animation-delay: 600ms; }
  .hunt-card.is-revealed .bisect-steps span:nth-child(8) { animation-delay: 700ms; }
}
@media (max-width: 1100px) {
  .wrap { width: calc(100% - 64px); }
  .hero { gap: 38px; padding-block: 60px; }
  h1 { font-size: 55px; letter-spacing: -2.6px; }
  .hero-description { font-size: 16px; }
  .hero-actions { gap: 12px; }
  .demo-panel { padding: 20px; min-height: 450px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 22px; }
  .section-heading > p { max-width: 60ch; }
  .feature { padding: 27px; }
  .bughunter { gap: 38px; }
  .benefits { grid-template-columns: 1fr 1fr; gap: 32px; }
  .download-card { padding: 20px; }
}
@media (max-width: 800px) {
  .wrap { width: calc(100% - 40px); }
  .header { min-height: 80px; }
  .header nav { gap: 18px; }
  .header nav > a:not(.nav-download) { display: none; }
  .brand { font-size: 26px; }
  .hero { grid-template-columns: 1fr; padding-block: 42px; gap: 42px; }
  .hero-copy { max-width: 600px; }
  h1 { font-size: clamp(43px, 8.5vw, 65px); letter-spacing: -2px; }
  .eyebrow { font-size: 10px; letter-spacing: 1px; }
  .hero-actions { gap: 13px 20px; }
  .product-demo:before { display: none; }
  .demo-panel { min-height: 450px; padding: 22px; }
  .demo-titlebar { padding-inline: 17px; }
  .demo-caption { font-size: 9px; }
  .facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; font-size: 11px; padding-block: 18px; }
  .facts a { gap: 8px; }
  .section-space { padding-block: 62px; }
  .preview { padding-block: 48px; }
  .compact h2 { font-size: 28px; }
  .section-heading > p { font-size: 15px; }
  h2 { font-size: 36px; letter-spacing: -1.2px; }
  figcaption { font-size: 10px; padding: 10px; flex-direction: column; gap: 4px; }
  .screen-grid { grid-template-columns: 1fr; gap: 18px; }
  .screen figcaption { font-size: 12px; padding: 12px 14px 14px; }
  .feature-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 30px; }
  .feature { padding: 25px; }
  .feature h3 { font-size: 28px; }
  .feature p { font-size: 16px; }
  .feature .feature-footnote { font-size: 12px; }
  .automation-flow { gap: 7px; }
  .automation-flow > span:nth-child(odd) { font-size: 11px; padding: 7px; }
  .mark-example { padding: 13px; }
  .mark-example p { font-size: 13px; }
  .mark-example > div:first-child { gap: 8px; }
  .mark-example strong { font-size: 11px; }
  .bughunter { grid-template-columns: 1fr; gap: 30px; }
  .bug-copy h2 { font-size: 34px; }
  .hunt-card { padding: 24px; }
  .everyday { padding-bottom: 0; }
  .benefits { gap: 26px 22px; margin-top: 28px; }
  .benefits h3 { font-size: 21px; }
  .local-note { padding: 22px; align-items: flex-start; gap: 15px; }
  .local-note img { width: 36px; height: 36px; }
  .local-note h3 { font-size: 19px; }
  .local-note p { font-size: 14px; }
  .download-heading { display: block; }
  .release-label { margin-top: 26px; }
  .download-grid { grid-template-columns: 1fr; margin-top: 25px; gap: 12px; }
  .download-card { padding: 24px; }
  .download-card h3 { margin-bottom: 19px; }
  .download-link { font-size: 14px; }
  .footer { flex-wrap: wrap; padding-block: 22px; gap: 12px; }
  .footer p { order: 3; width: 100%; font-size: 11px; }
}
@media (max-width: 420px) {
  .benefits { grid-template-columns: 1fr; }
  .demo-panel { padding: 18px; }
  .demo-tabs button { font-size: 11px; }
  .demo-panel h2 { font-size: 21px; }
  .branch-route { gap: 8px; }
  .branch-route code { font-size: 10px; }
  .command-preview { padding: 12px; }
  .command-preview code { font-size: 10px; }
  .pipeline-step { gap: 8px; }
  .pipeline-step code { font-size: 9px; }
  .marked-row { gap: 6px; padding-inline: 7px; }
  .marked-row strong { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { animation: none !important; transition: none !important; }
}

.whats-new { display: flex; flex-direction: column; gap: 12px; }
.whats-new h2 { font-size: 28px; letter-spacing: -0.5px; }
.release-date { color: var(--muted); font-size: 13px; }
.release-notes { display: flex; flex-direction: column; gap: 10px; margin: 4px 0 0; padding: 0; list-style: none; max-width: 70ch; }
.release-notes li { position: relative; padding-left: 20px; color: var(--text); line-height: 1.55; }
.release-notes li::before { content: ''; position: absolute; left: 2px; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.release-history { margin-top: 8px; border-top: 1px solid var(--border); padding-top: 16px; }
.release-history summary { cursor: pointer; color: var(--muted); font-size: 14px; }
.release-history summary:hover { color: var(--text); }
.release-history h3 { margin-top: 20px; font-size: 15px; }
.release-history h3 small { color: var(--muted); font-weight: 400; margin-left: 8px; }
/* Only the date needs casing: the rest of the line is uppercase in the markup. */
.release-line time { text-transform: uppercase; }
.release-note-link { margin-top: 8px; color: var(--muted); font-size: 13px; }
.release-note-link a { color: var(--text); }

/* 🌱 Twig as MCP: the teaser on the main page and mcp.html. Same tokens and
   rhythm as the rest of the site; the agent card mirrors .hunt-card. */
.mcp-teaser { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; border-top: 1px solid var(--border); }
.agent-card { border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow); padding: 24px; min-width: 0; }
.agent-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px solid var(--border); padding-bottom: 16px; }
.agent-head strong { font-weight: 500; font-size: 14px; }
.agent-head > span { font-size: 9px; letter-spacing: 1px; color: var(--muted); }
.agent-line { margin-top: 18px; font-size: 14px; line-height: 1.55; }
.agent-line > span { display: block; font-size: 9px; letter-spacing: 1.3px; color: var(--muted); margin-bottom: 4px; }
.agent-you { padding: 12px 14px; background: var(--bg); border: 1px solid var(--border); border-radius: 6px; }
.agent-reply { padding-left: 14px; border-left: 3px solid var(--accent); }
.agent-calls { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 6px; }
.agent-calls li { display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: 4px 12px; padding: 9px 12px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface-raised); }
.agent-calls li:before { content: '→' / ''; color: var(--accent); grid-row: 1 / span 2; }
.agent-calls code { color: var(--accent); font-size: 12px; overflow-wrap: anywhere; }
.agent-calls span { grid-column: 2; color: var(--muted); font-size: 11px; }
.agent-calls small { grid-column: 3; grid-row: 1; color: var(--muted); font: 10px ui-monospace, monospace; white-space: nowrap; }
.agent-foot { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--border); font-size: 11px; color: var(--muted); }
.mcp-hero .hero-description code { font-size: 15px; color: var(--text); }
.inline-tag { display: inline-block; padding: 0 5px; border: 1px solid var(--border); border-radius: 4px; font-size: 11px; font-weight: 600; letter-spacing: .04em; color: var(--text); vertical-align: 1px; }
.why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 42px; }
.why-card { border: 1px solid var(--border); border-radius: 10px; padding: 28px; background: var(--surface); min-width: 0; }
.why-accent { background: var(--accent-bg); }
.why-card h3 { margin-top: 20px; font-size: 23px; letter-spacing: -.4px; line-height: 1.2; }
.why-card p { margin-top: 14px; color: var(--muted); font-size: 15px; }
.why-card code { font-size: 13px; }
.ladder { list-style: none; margin: 44px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ladder li { position: relative; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-raised); padding: 22px; min-width: 0; display: flex; flex-direction: column; }
.ladder li + li:after { content: '→' / ''; position: absolute; left: -15px; top: 26px; color: var(--muted); font-size: 14px; }
.ladder-step { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--accent); color: var(--accent); font-size: 13px; font-weight: 600; }
.ladder-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-top: 16px; }
.ladder-head code { font-size: 13px; color: var(--accent); overflow-wrap: anywhere; }
.ladder-head small { font: 11px ui-monospace, monospace; color: var(--muted); white-space: nowrap; }
.ladder li > p { margin-top: 10px; font-size: 14px; color: var(--muted); }
.ladder pre { margin: 16px 0 0; padding: 12px; flex: 1; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); font-size: 11px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.ladder-note { margin-top: 28px; }
.tool-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 42px; background: var(--border); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.tool-grid article { background: var(--surface); padding: 22px; min-width: 0; }
.tool-grid code { color: var(--accent); font-size: 14px; overflow-wrap: anywhere; }
.tool-grid p { margin-top: 8px; font-size: 14px; color: var(--muted); }
.tool-grid p code { color: var(--text); font-size: 12px; }
.scenario-grid h3 { font-size: 19px; }
.chain { font-size: 12px !important; }
.chain code { color: var(--accent); }
.connect-steps { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.connect-steps li { border-top: 1px solid var(--border); padding-top: 20px; }
.connect-steps h3 { margin-top: 14px; font-size: 21px; }
.connect-steps p { margin-top: 10px; color: var(--muted); font-size: 15px; }
.snippets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 36px; }
.snippet { border: 1px solid var(--border); border-radius: 9px; background: var(--surface); overflow: hidden; min-width: 0; }
.snippet figcaption { border-top: 0; border-bottom: 1px solid var(--border); justify-content: space-between; }
.snippet figcaption strong { color: var(--text); font-weight: 500; font-size: 13px; }
.snippet pre { margin: 0; padding: 16px; font-size: 11px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.token-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 42px; background: var(--border); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.token-stats article { background: var(--surface); padding: 24px; min-width: 0; }
.token-stats strong { display: block; font-size: 34px; font-weight: 500; letter-spacing: -1px; line-height: 1.1; color: var(--accent); }
.token-stats p { margin-top: 10px; font-size: 14px; color: var(--muted); }
.token-table-wrap { margin-top: 28px; overflow-x: auto; border: 1px solid var(--border); border-radius: 10px; }
.token-table { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.token-table caption { caption-side: bottom; text-align: left; padding: 14px 18px; font-size: 13px; color: var(--muted); border-top: 1px solid var(--border); }
.token-table th, .token-table td { padding: 10px 18px; text-align: right; vertical-align: top; border-top: 1px solid var(--border); }
.token-table th:first-child { text-align: left; font-weight: 500; }
.token-table thead th { border-top: 0; font-size: 11px; letter-spacing: 1px; font-weight: 500; color: var(--muted); text-transform: uppercase; }
.token-table small { display: block; font-size: 12px; font-weight: 400; color: var(--muted); }
.token-table td small { white-space: nowrap; }
.token-table .token-group th { text-align: left; padding-top: 22px; background: var(--surface); font-size: 15px; }
.token-table .token-group small { margin-top: 2px; }
.token-table .token-group code, .token-table caption code { font-size: 12px; color: var(--text); }
.token-diff { white-space: nowrap; }
.token-diff svg { display: inline-block; vertical-align: middle; margin-right: 10px; }
.token-diff span { display: inline-block; min-width: 4.5ch; }
.bar-git { fill: var(--muted); }
.bar-twig { fill: var(--accent); }
.key-git, .key-twig { white-space: nowrap; }
.key-git::before, .key-twig::before { content: ""; display: inline-block; width: 14px; height: 5px; margin: 0 6px 2px 0; border-radius: 2px; vertical-align: middle; background: var(--muted); }
.key-twig::before { background: var(--accent); }
.token-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 40px; }
.token-notes h3 { font-size: 21px; margin-bottom: 16px; }
.token-subsection { margin-top: 96px; }
.subsection-title { font-size: clamp(26px, 2.6vw, 36px); letter-spacing: -1.2px; margin-top: 20px; }
.subsection-title span { color: var(--muted); }
.token-table td.token-diff small { text-align: right; }
.limits-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 36px; }
.limits-grid h3 { font-size: 21px; margin-bottom: 16px; }
.limits { padding-top: 0; }
.mcp-cta .hero-actions { margin-top: 30px; }
@media (max-width: 1100px) {
  .mcp-teaser { gap: 38px; }
  .why-grid, .tool-grid { grid-template-columns: 1fr 1fr; }
  .ladder { grid-template-columns: 1fr 1fr; }
  .ladder li:nth-child(3):after { display: none; }
  .snippets { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .mcp-teaser { grid-template-columns: 1fr; gap: 30px; }
  .agent-card { padding: 18px; }
  .why-grid, .tool-grid, .ladder, .connect-steps, .limits-grid, .token-stats, .token-notes { grid-template-columns: 1fr; }
  .token-table { font-size: 13px; }
  .token-table th, .token-table td { padding: 9px 8px; }
  .token-table th:first-child { padding-left: 12px; }
  .token-table td:last-child { padding-right: 12px; }
  .token-table tbody th[scope="row"] small { display: none; }
  .token-table .token-group code { overflow-wrap: anywhere; }
  .token-diff svg { display: none; }
  .why-grid { gap: 14px; margin-top: 30px; }
  .why-card { padding: 22px; }
  .ladder li + li:after { display: none; }
  .connect-steps { gap: 8px; }
  /* Body copy on phones stays at 16px; captions and code keep their sizes. */
  .why-card p, .connect-steps p, .ladder li > p, .tool-grid p, .mcp-teaser .bug-copy > p:not(.eyebrow) { font-size: 16px; }
}
@media (max-width: 420px) {
  .agent-calls li { grid-template-columns: auto 1fr; }
  .agent-calls small { grid-column: 2; grid-row: auto; }
}

/* Main page, Git client + MCP: the hero tabs show what an agent does through
   🌱 Twig, #why compares it with git in the agent's terminal, #features lists
   every strength in a line or two. */
.selected-row { border-left-color: var(--accent); }
.meter { margin-top: 14px; }
.meter-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.meter-row code { font-size: 11px; color: var(--muted); overflow-wrap: anywhere; }
.meter-row strong { font: 500 12px ui-monospace, monospace; white-space: nowrap; }
.meter.is-twig code, .meter.is-twig strong { color: var(--accent); }
.meter svg { display: block; width: 100%; height: 6px; margin-top: 6px; }
.bar-track { fill: var(--border); }
.choice-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.choice-row > span { font-size: 11px; border: 1px solid var(--border); border-radius: 4px; padding: 6px 10px; color: var(--muted); }
.choice-row b { color: var(--text); font-weight: 500; }
.choice-row > .is-primary { background: var(--accent); border-color: var(--accent); color: var(--accent-text); }
.compare-table th, .compare-table td { text-align: left; }
.compare-table td { color: var(--muted); }
.compare-table td:last-child { color: var(--text); }
.compare-table caption a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
.section-heading > p code { font-size: 13px; color: var(--text); }
.strengths { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.strengths li { border-top: 1px solid var(--border); padding-top: 16px; min-width: 0; }
.strengths strong { display: block; font-size: 17px; font-weight: 500; line-height: 1.3; }
.strengths span { display: block; margin-top: 6px; font-size: 14px; color: var(--muted); line-height: 1.5; }
.strengths code { font-size: 12px; }
@media (max-width: 1100px) {
  .strengths { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 800px) {
  .compare-table thead th { letter-spacing: 0; }
}
@media (max-width: 560px) {
  .strengths { grid-template-columns: 1fr; gap: 18px; margin-top: 28px; }
  .strengths span { font-size: 15px; }
}
.nowrap, .strengths code { white-space: nowrap; }
