@font-face{font-family:Inter;src:url(fonts/inter.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(fonts/plex-mono-400.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(fonts/plex-mono-500.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap}
:root{color-scheme:dark;--paper:#000;--ink:#fff;--muted:#aaa9a7;--accent:#dc5c39;--line:#303030;--surface:#111;--mono:"IBM Plex Mono",monospace;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{color:#000;background:var(--accent)}.skip-link{position:absolute;top:-100px;left:24px;padding:10px 18px;background:#fff;color:#000;z-index:10}.skip-link:focus{top:16px}.container{width:min(1320px,90vw);margin-inline:auto}p{margin:0 0 20px}strong{font-weight:500;color:#eee}h1,h2,h3{margin:0;font-weight:400;text-wrap:balance}h1,h2{font-family:var(--mono)}.muted{color:var(--muted)}
.site-header{min-height:94px;padding:20px max(5vw,calc((100vw - 1320px)/2));display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:9px;white-space:nowrap;font:500 19px/1.3 var(--mono);letter-spacing:-1px}.wordmark img{width:44px;height:32px;object-fit:contain}.site-header nav{margin-left:auto;display:flex;align-items:center;gap:32px;font-size:14px;color:#c2c2c2}.site-header a:hover,.text-link:hover{color:var(--accent)}.site-header nav [aria-current]{color:#fff}.site-header nav [aria-current]::after{content:"";display:block;width:18px;height:2px;margin:6px auto -8px;background:var(--accent)}.app-link{border:1px solid #494949;padding:10px 16px;display:flex;gap:22px;align-items:center;border-radius:2px}.app-link:hover{border-color:var(--accent)}
.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:end;padding:80px 0 66px}.eyebrow{font:400 12px/1.7 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin:0 0 24px}h1{font-size:clamp(34px,3.6vw,54px);font-weight:500;line-height:1.19;letter-spacing:-.065em}h1 span,h2 span{color:var(--accent)}.intro-description{padding-bottom:2px;max-width:495px}.intro-description>p{font-size:17px;line-height:1.7;margin-bottom:14px}.intro-description>.muted{font-size:15px}.intro-meta{display:flex;flex-wrap:wrap;gap:12px 24px;font:12px/1.5 var(--mono);color:#d3d0cd;margin-top:24px}.intro-meta span+span{border-left:1px solid #555;padding-left:24px}
.collection-index{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line)}.collection-index>a{display:flex;gap:15px;align-items:center;padding:20px 0;font:15px/1.5 var(--mono)}.collection-index>a:first-child{border-right:1px solid var(--line);padding-right:30px}.collection-index>a:last-child{padding-left:30px}.index-number{font-size:12px;color:var(--accent)}.index-description{font:13px/1.5 var(--sans);color:var(--muted);margin-left:8px}.index-arrow{margin-left:auto;color:var(--accent)}.collection-index>a:hover{color:var(--accent)}
.collection{padding:65px 0 68px;border-bottom:1px solid var(--line)}.collection-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:31px}.collection-topline .eyebrow{margin:0}.release-label{color:#92918f;font:12px/1.5 var(--mono)}.collection-grid{display:grid;grid-template-columns:.95fr 1.05fr;align-items:start;gap:clamp(38px,5vw,76px)}.collection-copy{padding-top:4px}.collection-copy h2{font-size:clamp(28px,2.7vw,38px);line-height:1.3;letter-spacing:-.052em;font-weight:400;margin-bottom:24px}.collection-copy>p{max-width:480px;color:var(--muted);font-size:16px;line-height:1.75;margin-bottom:15px}.collection-copy .section-lead{color:#f2f0ed;font-size:18px;line-height:1.65;max-width:430px;margin-bottom:21px}.collection-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border-radius:2px;padding:13px 17px;min-height:48px;font-size:14px;font-weight:500;border:1px solid transparent;transition:background .15s}.button-primary{background:var(--accent);color:#000}.button-primary:hover{background:#ef7655}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:500}.generator-note{margin-top:33px;padding-left:18px;border-left:2px solid #7c3a29;max-width:470px}.note-label{display:block;color:#d7d3d0;font:13px/1.65 var(--mono);margin-bottom:7px}.generator-note p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.benchmark{margin:0;background:var(--surface);border:1px solid var(--line);padding:27px 28px 0;min-width:0}.figure-topline{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.small-label{font:12px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.065em;color:#aaa9a7}.benchmark h3{font-size:19px;line-height:1.45;letter-spacing:-.025em;margin-bottom:7px}.figure-description{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:23px}.figure-description em{font-style:normal;color:#d4d1ce}.benchmark figcaption{display:flex;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;border-top:1px solid #302d2a;padding-top:17px;font:12px/1.7 var(--mono);color:#aaa39e}.chart-method{margin:19px -28px 0;border-top:1px solid var(--line);padding:0 28px;font-size:14px;color:var(--muted)}.chart-method summary{display:flex;justify-content:space-between;align-items:center;padding:14px 0;cursor:pointer;list-style:none;color:#c7c2bd;font-size:14px}.chart-method summary::after{content:"+";font:18px/1 var(--mono);color:var(--accent)}.chart-method[open] summary::after{content:"−"}.chart-method p{font-size:14px;line-height:1.7;margin:0 0 15px}.chart-method>a{display:inline-flex;font-size:14px;color:#e2b8a9;margin:0 0 22px;gap:10px}.metric-switch{display:flex;gap:4px;background:#070707;border:1px solid #36312e;padding:4px;margin:17px 0 13px;width:fit-content;border-radius:2px}.metric-switch button{background:transparent;color:#a8a39f;border:0;padding:8px 12px;font-size:13px;line-height:1.4;border-radius:1px}.metric-switch button[aria-pressed="true"]{background:#34302c;color:#fff}.metric-switch button:hover{color:#fff}.chart-legend{display:flex;gap:19px;margin:-6px 0 18px;color:#aaa49e;font-size:12px}.chart-legend>span{display:flex;gap:7px;align-items:center}.chart-legend i{width:14px;height:9px;display:inline-block}.legend-solid{background:var(--accent)}.legend-hatched{background:repeating-linear-gradient(135deg,#70402f 0,#70402f 2px,#b3664d 2px,#b3664d 3px)}
.task-example{margin-top:34px;border:1px solid var(--line)}.task-example>summary{padding:20px 24px;display:flex;align-items:center;gap:24px;cursor:pointer;list-style:none}.task-example summary::-webkit-details-marker,.chart-method summary::-webkit-details-marker{display:none}.example-label{font:12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.045em;color:var(--accent);white-space:nowrap}.example-title{font:16px/1.5 var(--mono);color:#e8e4e0;letter-spacing:-.03em}.example-action{display:flex;gap:24px;align-items:center;margin-left:auto;color:var(--muted);font-size:13px;white-space:nowrap}.plus{font:23px/1 var(--mono);color:var(--accent);transition:transform .15s}.task-example[open] .plus{transform:rotate(45deg)}.task-example>summary:hover{background:#101010}.example-body{border-top:1px solid var(--line);padding:30px;display:grid;grid-template-columns:1.15fr 1fr;gap:60px}.example-body .small-label{margin:0 0 14px}.example-body h3{font:20px/1.5 var(--mono);letter-spacing:-.03em;margin:0 0 17px}.example-body p{font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:17px}.sample-data{padding-left:32px;border-left:1px solid var(--line);min-width:0}.file-row{display:flex;gap:14px;align-items:center;border-block:1px solid var(--line);padding:18px 0}.file-mark{font:12px/1 var(--mono);padding:14px 9px;color:var(--accent);border:1px solid #514135}.file-row strong{font:15px/1.5 var(--mono)}.file-row div>span{display:block;font-size:13px;color:#8e8a87;margin-top:3px}.file-row>a{margin-left:auto;padding:8px;color:var(--accent);font-size:20px}.data-list{padding-left:20px;font-size:14px;color:var(--muted);line-height:1.9;margin-block:20px}.data-list li::marker{color:#94513b}.answer-contract{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.answer-contract p{font-size:14px;margin:8px 0 0}.interventions{font-size:14px;line-height:1.85;color:#c5c0bb;padding-left:22px;margin:0 0 23px}.interventions li::marker{font:12px var(--mono);color:var(--accent)}.target-list{list-style:none;padding:0;margin:0}.target-list li{display:flex;gap:16px;border-bottom:1px solid #2d2b29;padding:12px 0;font-size:14px}.target-list li>span{font:12px var(--mono);color:var(--accent)}.delivery-note{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(38px,5vw,76px);padding:59px 0 68px}.delivery-note h2{font-size:28px;line-height:1.4;letter-spacing:-.045em}.delivery-note>div>p{font-size:15px;line-height:1.8;margin-bottom:15px}.delivery-note .text-link{margin-top:5px}.site-footer{border-top:1px solid var(--line);padding:25px max(5vw,calc((100vw - 1320px)/2));display:flex;justify-content:space-between;gap:24px;font:12px/1.7 var(--mono);color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1500px){.intro{padding-block:90px 76px}.collection{padding-block:72px}.collection-copy h2{font-size:39px}}
@media(max-width:1100px){.intro{gap:40px}.collection-grid{gap:32px;grid-template-columns:.9fr 1.1fr}.benchmark{padding:24px 20px 0}.chart-method{margin-inline:-20px;padding-inline:20px}.index-description{display:none}.release-label{font-size:12px}.example-body{gap:30px}}
@media(max-width:850px){.intro{grid-template-columns:1fr;gap:25px;padding:52px 0 42px}.intro-description{max-width:590px}.intro-description>p{font-size:16px}.intro-meta{margin-top:22px}.collection{padding:44px 0}.collection-grid{grid-template-columns:1fr;gap:32px}.collection-copy>p{max-width:660px}.collection-copy h2{font-size:35px}.collection-copy .section-lead{max-width:600px}.generator-note{max-width:640px}.benchmark{padding:26px 26px 0}.chart-method{margin-inline:-26px;padding-inline:26px}.example-body{grid-template-columns:1fr;gap:30px}.sample-data{border-left:0;padding-left:0}.delivery-note{grid-template-columns:1fr;gap:22px;padding-block:45px}.delivery-note>div{max-width:640px}.task-example>summary{gap:15px}.example-action{font-size:0;gap:0}.example-title{font-size:15px}.site-header{gap:18px}.site-header nav{gap:21px}}
@media(max-width:560px){.site-header{padding:18px 5vw;min-height:80px;flex-wrap:wrap;gap:19px}.wordmark{font-size:17px}.wordmark img{width:36px;height:27px}.site-header nav{width:100%;margin:0;justify-content:space-between;gap:12px;font-size:14px}.app-link{padding:8px 11px;gap:15px}.intro{padding-top:38px}.eyebrow{font-size:12px;letter-spacing:.04em;margin-bottom:20px}h1{font-size:clamp(30px,8.2vw,43px);letter-spacing:-.065em}.intro-meta{gap:10px 15px}.intro-meta span+span{padding-left:15px}.collection-index>a{font-size:13px;gap:10px;padding-block:16px}.collection-index>a:first-child{padding-right:17px}.collection-index>a:last-child{padding-left:17px}.collection-topline{align-items:flex-start;gap:15px;flex-direction:column;margin-bottom:23px}.release-label{display:none}.collection-copy h2{font-size:clamp(26px,6.7vw,34px)}.collection-copy .section-lead{font-size:17px}.collection-actions{gap:18px}.button{font-size:14px}.benchmark{padding:20px 17px 0}.chart-method{margin-inline:-17px;padding-inline:17px}.figure-topline{flex-wrap:wrap;gap:8px}.benchmark h3{font-size:18px}.figure-description{font-size:14px}.benchmark figcaption{font-size:12px;display:grid;gap:4px}.metric-switch{width:100%}.metric-switch button{flex:1;padding:8px 6px;font-size:13px}.task-example>summary{padding:17px;flex-wrap:wrap;gap:7px 12px}.example-label{width:100%}.example-title{font-size:14px;flex:1}.example-body{padding:22px 17px}.example-body p{font-size:15px}.site-footer{flex-direction:column;gap:7px;padding-block:24px}.delivery-note h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.figure-dataset{font:12px/1.5 var(--mono);color:#aaa9a7}.benchmark{padding-bottom:22px}.benchmark figcaption{margin-top:3px}.figure-description{margin-bottom:27px}

.example-body p,.delivery-note>div>p{font-size:16px}.metric-switch button{font-size:14px}

/* Vertical benchmark charts. */
.column-chart{margin:28px 0 20px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#4a403a transparent;padding-bottom:6px}
.vertical-chart{--plot-height:250px;display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;min-width:440px;padding-top:30px}
.vertical-scale{position:relative;height:var(--plot-height);font:12px/1 var(--mono);color:#908a85}
.vertical-scale>span{position:absolute;right:0;bottom:var(--tick);transform:translateY(50%)}
.vertical-columns{position:relative;display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:8px}
.vertical-columns::before{content:"";position:absolute;inset:0 0 auto;height:var(--plot-height);border-top:1px solid #35312e;border-bottom:1px solid #66564d;background-image:linear-gradient(to top,#302b27 1px,transparent 1px);background-size:100% 25%;pointer-events:none}
.chart-column{position:relative;min-width:0;z-index:1}
.column-stage{position:relative;height:var(--plot-height);display:flex;align-items:flex-end;justify-content:center}
.column-bar{height:var(--value);width:68%;max-width:58px;background:var(--accent);transition:height .25s ease}
.column-value{position:absolute;left:50%;bottom:calc(var(--value) + 10px);transform:translateX(-50%);white-space:nowrap;font:14px/1.3 var(--mono);color:#eee9e4}
.chart-column.is-zero .column-value{color:#9e9791}
.column-label{display:grid;align-content:start;gap:2px;min-height:65px;padding:17px 0 0;text-align:center;font:14px/1.4 var(--sans);color:#ded8d2;overflow-wrap:anywhere}
.column-label>span+span{color:#aaa39d}
@media(max-width:560px){.vertical-chart{--plot-height:220px}.column-chart{margin-top:24px}.column-label{font-size:14px}}
@media(prefers-reduced-motion:reduce){.column-bar{transition:none}}

.intro{padding-block:42px 34px}.collection{padding-block:36px}.collection-topline{margin-bottom:22px}.collection-copy h2{margin-bottom:18px}.collection-actions{margin-top:22px}
.problem-table-section{padding:32px 0 40px}.problem-table-section h2{font:24px/1.4 var(--mono);letter-spacing:-.04em;margin-bottom:18px}.problem-table-wrap{overflow-x:auto}.problem-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;line-height:1.5}.problem-table th,.problem-table td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}.problem-table thead th{color:var(--muted);font:12px/1.5 var(--mono);font-weight:400}.problem-table tbody th{font-weight:500;width:24%;color:#eee}.problem-table tbody td:first-child{width:15%;color:var(--accent);white-space:nowrap;font-size:13px}.problem-table tbody td:last-child{color:#c5c0bb}.problem-table tbody tr:nth-child(6)>*{border-top:1px solid #625047}@media(max-width:600px){.problem-table{min-width:570px}.problem-table th,.problem-table td{padding:9px 10px}.collection{padding-block:30px}}

.collection-table{margin-top:26px}.collection-table .problem-table tbody th{width:27%}.collection-table .problem-table tbody tr:nth-child(6)>*{border-top:0}.collection-table .problem-table tr:last-child>*{border-bottom:0}@media(max-width:600px){.collection-table .problem-table{min-width:460px}}

.generator-overviews{padding:36px 0 44px}.generator-overview-intro{max-width:1000px;margin-bottom:32px;color:var(--muted)}.generator-overviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.generator-details h2{font:24px/1.4 var(--mono);letter-spacing:-.04em;margin-bottom:18px}.generator-details p{font-size:16px;line-height:1.75;color:var(--muted);margin-bottom:18px}.generator-details p:last-child{margin-bottom:0}@media(max-width:850px){.generator-overviews-grid{grid-template-columns:1fr;gap:32px}.generator-overviews{padding-block:30px 36px}}
