@font-face { font-family:Inter; font-style:normal; font-weight:100 900; font-display:swap; src:url('assets/fonts/inter-latin-wght-normal.woff2') format('woff2'); }
@font-face { font-family:Manrope; font-style:normal; font-weight:200 800; font-display:swap; src:url('assets/fonts/manrope-latin-wght-normal.woff2') format('woff2'); }
@font-face { font-family:'Comic Neue'; font-style:normal; font-weight:700; font-display:swap; src:url('assets/fonts/comic-neue-latin-700-normal.woff2') format('woff2'); }
:root { --ink:#24332f; --muted:#65716d; --green:#176d61; --line:#dfe7e3; --wash:#f4f8f6; --coral:#ae624d; }
* { box-sizing:border-box; letter-spacing:0; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body { margin:0; color:var(--ink); background:#fff; font-family:Inter,Arial,Helvetica,sans-serif; line-height:1.65; -webkit-font-smoothing:antialiased; }
h1,h2,h3,.paper-title,.wordmark { font-family:Manrope,Inter,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select { font:inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #be7b52; outline-offset:5px; }
button,summary { cursor:pointer; }
img { display:block; max-width:100%; }
.wrap { width:min(1080px,calc(100% - 64px)); margin-inline:auto; }
.site-header { height:76px; display:flex; align-items:center; justify-content:space-between; width:min(1240px,calc(100% - 64px)); margin:auto; border-bottom:1px solid var(--line); }
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.97); }
nav a[aria-current] { color:var(--green); text-decoration:underline; text-underline-offset:8px; text-decoration-thickness:2px; }
.wordmark { font-size:24px; font-weight:800; white-space:nowrap; }
.wordmark span { color:var(--green); }
.wordmark .wordmark-dot { color:var(--coral); }
nav { display:flex; align-items:center; gap:28px; font-size:14px; }
nav a:hover,footer a:hover { color:var(--green); }
.nav-code { display:flex; gap:8px; align-items:center; border-left:1px solid var(--line); padding-left:24px; }
.hero { text-align:center; padding:46px 24px 40px; border-bottom:1px solid var(--line); }
.eyebrow { font-size:11px; font-weight:700; color:var(--green); margin:0 0 15px; }
h1 { font-size:80px; line-height:1.1; margin:20px 0 16px; font-weight:800; }
h1 span { color:var(--green); }
.paper-title { font-size:32px; line-height:1.3; font-weight:600; margin:0 auto 28px; max-width:870px; }
.paper-release { display:inline-flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px; font-size:12px; color:var(--green); }
.paper-release:hover { text-decoration:underline; text-underline-offset:4px; }
.release-date { color:var(--muted); border-left:1px solid #cdd9d4; padding-left:9px; }
.hero-description { margin:22px 0 0; font-size:14px; line-height:1.7; color:var(--muted); }
.authors { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 20px; font-size:15px; max-width:950px; margin:auto; }
.authors span { white-space:nowrap; }
sup { font-size:10px; margin-left:2px; color:var(--green); }
.affiliations { margin:10px 0 0; display:flex; justify-content:center; gap:24px; font-size:14px; }
.author-notes { color:var(--muted); font-size:11px; margin:5px 0 24px; }
.resource-links { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:9px; border:1px solid #cbd8d1; background:white; border-radius:8px; padding:11px 20px; min-height:48px; font-size:14px; font-weight:600; transition:background .15s,transform .15s,box-shadow .15s; }
.button:hover { background:#eaf2ef; transform:translateY(-2px); box-shadow:0 5px 14px #24332f0c; }
.button.primary { background:var(--green); color:#fff; border-color:var(--green); }
.button.primary:hover { background:#115447; }
.primary img { filter:brightness(0) invert(1); }
.code-link img { mix-blend-mode:multiply; }
.resource-links .button { min-width:126px; }
.video-section { padding-top:40px; }
.video-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:18px; }
.video-heading h2 { font-size:24px; margin:0; }
.video-heading span { color:var(--muted); font-size:12px; white-space:nowrap; }
.video-section video { display:block; width:100%; height:auto; aspect-ratio:16/9; background:#111827; border-radius:8px; }
.section { padding-block:72px; }
h2 { font-size:32px; line-height:1.25; font-weight:650; margin:0 0 22px; }
.lead { font-size:18px; line-height:1.75; color:#54625c; max-width:820px; margin:0 0 32px; }
.lead strong { color:var(--green); }
.section-heading .eyebrow { display:flex; align-items:center; gap:12px; }
.section-heading .eyebrow::before { content:''; display:block; width:24px; height:2px; background:currentColor; }
#results .eyebrow { color:#3b689c; }
#cases .eyebrow { color:#b35e52; }
.overview-figure { margin-top:40px; padding-top:32px; border-top:1px solid var(--line); }
.overview-figure img { width:100%; height:auto; }
.overview-figure a { display:block; }
.overview-figure figcaption { margin:18px 0 0; }
.text-link { display:inline-flex; gap:8px; align-items:center; color:var(--green); font-size:13px; font-weight:600; }
.text-link:hover { text-decoration:underline; text-underline-offset:4px; }
.case-paper-link { margin-top:10px; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin:38px 0; }
.principles>div { border-top:2px solid var(--line); padding-top:18px; }
.step-number { font-size:12px; color:var(--coral); font-weight:700; }
h3 { font-size:18px; margin:7px 0; }
.principles p { font-size:14px; color:var(--muted); margin:0; }
figure { margin:0; }
.paper-figure img { width:100%; height:auto; }
figcaption { margin-top:16px; color:var(--muted); font-size:12px; text-align:center; }
details { border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:30px; }
summary { list-style:none; padding:18px 0; display:flex; align-items:center; justify-content:space-between; font-size:15px; font-weight:600; }
summary::-webkit-details-marker { display:none; }
details[open] summary img { transform:rotate(180deg); }
details p { color:var(--muted); font-size:15px; }
.construction>a { display:block; padding-bottom:24px; }
.results-band { background:#f7f8fa; border-block:1px solid #e5e8ed; }
.results-figure { margin-top:40px; }
.results-figure img { width:100%; height:auto; border-radius:8px; }
.table-scroll { overflow:auto; padding-bottom:20px; }
table { border-collapse:collapse; width:100%; min-width:650px; text-align:right; font-size:14px; font-variant-numeric:tabular-nums; }
caption { text-align:left; color:var(--muted); font-size:12px; padding:0 0 12px; }
td,th { padding:13px 16px; border-bottom:1px solid #e0e6e3; }
thead { background:#edf1ef; }
th:first-child,td:nth-child(2),th:nth-child(2) { text-align:left; }
tbody th { font-weight:500; }
table strong { color:var(--green); }
.filters { display:flex; gap:10px; margin-top:30px; }
.search-field { position:relative; flex:1; }
.search-field img { position:absolute; left:14px; top:15px; opacity:.55; }
input,select { border:1px solid #d5ded9; border-radius:5px; background:white; color:var(--ink); min-height:48px; font-size:14px; }
input { width:100%; padding:10px 12px 10px 42px; }
select { width:100%; padding:10px 30px 10px 12px; }
.task-count { font-size:12px; color:var(--muted); margin:20px 0 8px; min-height:20px; }
.task-list { border-top:1px solid var(--line); }
.task-row { display:grid; grid-template-columns:150px 1fr 100px 80px 22px; gap:16px; align-items:center; padding:17px 12px; border-bottom:1px solid var(--line); font-size:14px; }
.task-row:hover { background:var(--wash); }
.ecosystem { font-weight:700; overflow-wrap:anywhere; }
.repositories { color:#52615a; overflow-wrap:anywhere; }
.task-type { font-size:12px; color:var(--green); }
.task-type.feature { color:var(--coral); }
.repo-count { color:var(--muted); font-size:12px; }
.empty { padding:32px 12px; color:var(--muted); }
.pagination { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:24px; min-height:40px; font-size:13px; }
.icon-button { width:38px; height:38px; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; border:1px solid #d4dfd8; border-radius:5px; background:white; }
.icon-button:hover:not(:disabled) { background:#eaf2ef; }
.icon-button:disabled { cursor:default; opacity:.3; }
.start-band { background:#eaf3ef; border-block:1px solid #d4e4da; }
.start-inner { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-block:44px; }
.start-inner h2 { font-size:28px; margin-bottom:12px; }
.start-inner p:last-child { color:#52665b; font-size:14px; margin:0; }
.start-inner .button { flex-shrink:0; }
.citation-section { padding-bottom:48px; }
.citation-box { position:relative; border:1px solid var(--line); border-radius:6px; background:#f7f9f8; }
.citation-box .icon-button { position:absolute; top:12px; right:12px; }
pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; line-height:1.8; padding:24px 64px 24px 24px; margin:0; }
.copy-status { min-height:22px; font-size:12px; color:var(--green); }
.footer { border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:20px; padding-block:28px; font-size:12px; color:var(--muted); }
.footer a:last-child { display:flex; gap:6px; align-items:center; }
.footer-links { display:flex; align-items:center; gap:20px; }
.sr-only,.skip:not(:focus) { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip:focus { display:block; padding:12px; }
.task-flow { display:grid; grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr; gap:16px; align-items:center; padding:28px 0; margin-top:40px; border-block:1px solid var(--line); }
.task-flow>div { display:grid; gap:8px; justify-items:start; }
.task-flow span { font-size:14px; font-weight:650; }
.task-flow small { color:var(--muted); font-size:11px; }
.task-flow>div>img { margin-bottom:6px; width:42px; height:42px; padding:10px; border-radius:8px; background:#e8f3ee; }
.task-flow>div:nth-of-type(2)>img { background:#eaf0f9; }
.task-flow>div:nth-of-type(3)>img { background:#f6ece6; }
.task-flow>div:nth-of-type(4)>img { background:#edf0f5; }
.flow-arrow { opacity:.4; }
.construction-band { background:#f6f8fb; border-block:1px solid #e4e7ed; }
.pipeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:0; list-style:none; margin:36px 0; }
.pipeline li { --step-accent:var(--green); border-top:2px solid #c6d9d2; padding-top:18px; }
.pipeline-index { font:700 26px Manrope,sans-serif; color:var(--green); }
.pipeline li:nth-child(even) { --step-accent:var(--coral); border-color:#dcbfac; }
.pipeline li:nth-child(even) .pipeline-index { color:var(--coral); }
.pipeline h3 { font-size:17px; margin:12px 0; }
.pipeline p { font-size:13px; color:var(--muted); }
.pipeline strong { color:var(--ink); font-weight:600; }
.construction-notes { display:grid; grid-template-columns:1fr 1fr; gap:36px; padding-top:12px; }
.construction-notes p { font-size:13px; color:var(--muted); margin:0; }
.construction-notes strong { color:var(--ink); }
.results-band { background:#fff; border-top:0; }
.chart-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:36px 0 20px; }
.segmented { display:flex; padding:3px; border:1px solid var(--line); border-radius:6px; background:var(--wash); }
.segmented button { background:transparent; border:0; border-radius:4px; padding:8px 18px; font-size:13px; color:var(--muted); }
.segmented button[aria-pressed=true] { color:var(--green); background:#fff; box-shadow:0 1px 4px #203c3114; font-weight:650; }
#chart-sample { color:var(--muted); font-size:12px; white-space:nowrap; }
.chart-scroll { overflow-x:auto; padding:34px 0 6px; }
.live-chart { display:grid; grid-template-columns:38px 1fr; gap:12px; min-width:760px; }
.chart-axis { height:320px; display:flex; flex-direction:column; justify-content:space-between; font:12px Inter,sans-serif; color:#85918a; text-align:right; transform:translateY(-8px); }
.chart-bars { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:18px; }
.chart-column { --rate:0%; min-width:0; }
.bar-plot { position:relative; height:320px; border-bottom:1px solid #d5e1da; }
.bar-fill { position:absolute; bottom:0; left:12%; width:76%; height:var(--rate); border-radius:12px 12px 0 0; background:linear-gradient(to bottom,var(--bar-color),color-mix(in srgb,var(--bar-color) 15%,white)); transition:height .7s cubic-bezier(.22,.7,.25,1); }
.bar-score { position:absolute; width:100%; left:0; bottom:calc(var(--rate) + 9px); text-align:center; font:700 21px 'Comic Sans MS','Comic Neue',cursive; transition:bottom .7s cubic-bezier(.22,.7,.25,1); }
.bar-label { display:flex; align-items:center; flex-direction:column; text-align:center; gap:6px; padding-top:14px; min-height:135px; font:700 14px 'Comic Sans MS','Comic Neue',cursive; line-height:1.3; }
.bar-label img { margin-bottom:5px; }
.bar-label small { font-size:12px; }
.codex-label { color:#287b70; } .claude-label { color:#986b58; }
.chart-summary { min-height:25px; font-size:14px; margin:20px 0 8px; color:var(--green); }
.chart-source { font-size:12px; color:var(--muted); }
.sort-button { display:inline-flex; gap:6px; align-items:center; justify-content:flex-end; border:0; background:transparent; padding:0; font-weight:600; color:inherit; }
th[aria-sort=ascending],th[aria-sort=descending] { color:var(--green); }
.case-tabs { display:flex; gap:8px; border-bottom:1px solid var(--line); margin-top:32px; }
.case-tabs button { border:0; border-bottom:3px solid transparent; color:var(--muted); background:transparent; padding:12px 22px; font-size:15px; font-weight:600; }
.case-tabs button:hover { background:var(--wash); }
.case-tabs button[aria-selected=true] { color:var(--green); border-bottom-color:var(--green); }
.case-tabs button[aria-selected=true] { background:#f0f6f3; }
.case-panel { padding:30px 0 16px; min-height:478px; }
.case-header { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.case-header h3 { font-size:26px; margin:4px 0 16px; }
.case-category { font-size:12px; color:var(--coral); margin:0; }
#case-agent { font-size:12px; color:var(--muted); margin:0; }
.case-narrative { display:grid; grid-template-columns:1fr 1fr; gap:40px; min-height:120px; }
.case-narrative h4 { font-size:12px; margin:0 0 6px; }
.case-narrative p { font-size:14px; color:var(--muted); margin:0; }
.repo-results-label { display:flex; align-items:center; justify-content:space-between; font-size:10px; color:var(--muted); margin:22px 0 12px; }
.repo-results-label span { font-size:11px; }
.case-repositories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.repo-result { border:1px solid #c7ded3; background:#f1f8f4; border-radius:6px; padding:16px; display:grid; gap:6px; }
.repo-result>span { font-size:13px; font-weight:600; }
.repo-result strong { font:700 25px Manrope,sans-serif; color:var(--green); }
.repo-result small { font-size:11px; color:var(--muted); }
.repo-result.failed { border-color:#ecd4cf; background:#fcf5f3; }
.repo-result.failed strong { color:#b1474e; }
.case-takeaway { border-left:3px solid #b86952; padding:4px 0 4px 14px; font-size:14px; margin:24px 0 12px; }
.case-source { font-size:11px; color:var(--muted); margin:0; }
#tasks { border-top:1px solid var(--line); }
#figure-dialog { width:min(1400px,96vw); max-height:92vh; border:1px solid #dbe4df; border-radius:8px; padding:20px; color:var(--ink); }
#figure-dialog::backdrop { background:#172922b3; }
.figure-dialog-toolbar { display:flex; justify-content:space-between; align-items:center; gap:18px; padding-bottom:16px; }
.figure-dialog-toolbar p { margin:0; color:var(--muted); font-size:12px; }
#expanded-figure { width:100%; height:auto; }
.figure-open { overflow:hidden; }
.motion-enabled .hero>.paper-release,.motion-enabled .hero>h1,.motion-enabled .hero>.paper-title,.motion-enabled .hero>.authors,.motion-enabled .hero>.resource-links { animation:enter .65s both; }
.motion-enabled .hero>h1 { animation-delay:.07s; } .motion-enabled .hero>.paper-title { animation-delay:.14s; } .motion-enabled .hero>.authors { animation-delay:.21s; } .motion-enabled .hero>.resource-links { animation-delay:.28s; }
.motion-enabled .reveal { opacity:0; transform:translateY(18px); transition:opacity .6s,transform .6s; }
.motion-enabled .reveal.revealed { opacity:1; transform:none; }
.motion-enabled .revealed .pipeline-index { animation:enter .6s both; }
@keyframes enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:761px) and (hover:hover) and (pointer:fine) {
  .task-flow>div,.principles>div,.pipeline>li { position:relative; transform-origin:center; transition:transform .24s ease,border-color .24s ease; }
  .task-flow>div>img { transition:transform .24s ease,box-shadow .24s ease; }
  .task-flow span,.principles h3,.principles p,.pipeline h3,.pipeline p { transition:color .2s ease; }
  .flow-arrow { transition:transform .24s ease,opacity .24s ease; }
  .task-flow>div:hover span,.principles>div:hover h3 { color:var(--green); }
  .principles>div:hover { border-color:var(--green); }
  .principles>div:hover p { color:var(--ink); }
  .pipeline>li:hover { border-color:var(--step-accent); }
  .pipeline>li:hover h3 { color:var(--step-accent); }
  .pipeline>li:hover p { color:var(--ink); }
}
@media(min-width:761px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .task-flow>div:hover,.principles>div:hover,.pipeline>li:hover { transform:translateY(-4px) scale(1.025); z-index:1; }
  .task-flow>div:hover>img { transform:scale(1.1); box-shadow:0 5px 12px #24332f12; }
  .task-flow>div:hover+.flow-arrow { transform:translateX(3px); opacity:.7; }
}
@media(min-width:1600px) { .hero { padding-top:52px; padding-bottom:44px; } }
@media(max-width:760px) {
  .wrap,.site-header { width:calc(100% - 36px); }
  .site-header { min-height:64px; height:auto; padding-block:12px; flex-wrap:wrap; gap:8px 20px; } .wordmark { font-size:22px; } nav { gap:14px; font-size:12px; } .nav-code { display:none; }
  .hero { padding:36px 18px; } .eyebrow { font-size:10px; } h1 { font-size:54px; } .paper-title { font-size:26px; max-width:540px; }
  .authors { max-width:440px; font-size:13px; gap:8px 16px; } .affiliations { font-size:12px; gap:14px; } .author-notes { font-size:10px; }
  .button { font-size:12px; padding:10px 12px; } .resource-links { gap:7px; }
  .resource-links .button { min-width:0; } .paper-release { font-size:11px; gap:7px; }
  .hero-description { font-size:12px; } .overview-figure { margin-top:28px; padding-top:24px; }
  .section { padding-block:46px; } h2 { font-size:26px; } .lead { font-size:16px; }
  .principles { grid-template-columns:1fr; gap:20px; } .principles h3 { font-size:17px; }
  .filters { flex-wrap:wrap; } .search-field { flex-basis:100%; } .filters>label:not(.search-field) { flex:1; } select { font-size:12px; padding-left:8px; }
  .task-row { grid-template-columns:1fr 88px 20px; gap:4px 10px; padding:16px 6px; }
  .ecosystem { grid-column:1; } .repositories { grid-column:1; grid-row:2; font-size:12px; } .task-type { grid-column:2; grid-row:1; }
  .repo-count { grid-column:2; grid-row:2; } .task-row>img { grid-column:3; grid-row:1 / 3; }
  .start-inner { align-items:flex-start; flex-direction:column; gap:20px; } .start-inner h2 { font-size:25px; }
  .footer { flex-wrap:wrap; gap:4px 18px; } .footer p { order:3; flex-basis:100%; }
  .desktop-break { display:none; } pre { font-size:11px; padding:58px 18px 20px; }
  .task-flow { grid-template-columns:1fr 1fr; gap:24px 16px; padding-block:24px; } .flow-arrow { display:none; }
  .task-flow span { font-size:13px; } .task-flow small { font-size:10px; }
  .pipeline { grid-template-columns:1fr 1fr; gap:22px; } .pipeline h3 { font-size:16px; }
  .construction-notes { grid-template-columns:1fr; gap:18px; }
  .segmented button { padding:8px 12px; font-size:12px; }
  .live-chart { min-width:740px; } .chart-bars { gap:12px; }
  .bar-plot,.chart-axis { height:250px; } .bar-score { font-size:19px; }
  .case-header { align-items:flex-start; flex-direction:column; gap:0; margin-bottom:20px; }
  .case-header h3 { font-size:23px; margin-bottom:6px; }
  .case-narrative { grid-template-columns:1fr; gap:18px; min-height:210px; }
  .case-repositories { grid-template-columns:1fr; gap:10px; }
  .repo-result { grid-template-columns:1fr auto; align-items:center; padding:12px 14px; }
  .repo-result strong { grid-column:2; grid-row:1 / 3; font-size:23px; } .repo-result small { grid-column:1; }
  .case-panel { min-height:695px; } .case-tabs { gap:4px; } .case-tabs button { font-size:14px; padding-inline:16px; }
}
@media(max-width:360px) { nav { gap:10px; font-size:11px; } .wordmark { font-size:20px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; animation:none!important; } .reveal { opacity:1!important; transform:none!important; } }
