@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Sans Condensed;src:url(/fonts/IBMPlexSansCondensed-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.ttf) format("truetype");font-weight:400;font-display:swap}:root{--paper:#f6f5f1;--surface:#ffffff;--ink:#121212;--muted:#5c5b57;--line:#d6d3cb;--grid:#e9e7e1;--warn:#c8331a;--series-a:#2f5d8a;--series-b:#1b6b5d;--series-c:#7a6012;--series-d:#7a4a6a;--sans:"IBM Plex Sans",system-ui,sans-serif;--display:"IBM Plex Sans Condensed","IBM Plex Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;color-scheme:light}:root[data-theme=dark]{--paper:#121211;--surface:#1b1b19;--ink:#ecebe6;--muted:#a3a19a;--line:#3a3934;--grid:#262622;--warn:#ff6b4d;--series-a:#8ab4e0;--series-b:#5fbfac;--series-c:#d9b04a;--series-d:#d39cc0;color-scheme:dark}:root{--focus:var(--ink);--size-display:clamp(36px,5vw,56px);--size-title:28px;--size-heading:20px;--size-body:16px;--size-small:14px;--size-caption:12px;--gutter:clamp(16px,4vw,48px);--measure:68ch}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--size-body)/1.55 var(--sans);font-synthesis:none}a{color:inherit;text-underline-offset:3px}:is(a,button,input,select,summary):focus-visible{outline:2px solid var(--focus);outline-offset:3px}h1,h2{margin:0;font-weight:600;text-wrap:balance}h1{font:600 var(--size-display)/1.08 var(--display)}h2{font-size:var(--size-heading);line-height:1.25}p{margin:0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:var(--gutter);top:-60px;background:var(--surface);padding:8px 12px;z-index:10}.skip-link:focus{top:8px}.site-header,.site-footer,main{padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}.site-header{display:flex;align-items:center;gap:40px;padding-block:14px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:24px;letter-spacing:-.01em}.mark{width:28px;height:28px}.mark .port{fill:var(--warn);stroke:none}.site-header nav{display:flex;gap:28px;flex:1}.site-header nav a,.language{text-decoration:none;color:var(--muted);font-size:var(--size-small)}.theme-toggle,.theme-toggle:hover:enabled{min-height:auto;padding:0;border:0;background:none;color:var(--muted);font:400 var(--size-small)/1 var(--sans)}.theme-toggle[aria-pressed=true]{color:var(--ink)}.theme-toggle:hover{text-decoration:underline}.site-header nav a[aria-current=page]{color:var(--ink);font-weight:600;box-shadow:0 2px 0 var(--ink)}.site-header a:hover{color:var(--ink)}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-block:20px;margin-top:64px;color:var(--muted);font-size:var(--size-small)}.site-footer nav{display:flex;flex-wrap:wrap;gap:24px}main{padding-block:48px 0;max-width:1440px;margin:0 auto}.lead{color:var(--muted);font-size:20px;max-width:var(--measure);margin-top:16px}.button,button{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--ink);background:var(--surface);color:var(--ink);font:600 var(--size-small)/1 var(--sans);text-decoration:none;cursor:pointer;border-radius:0}.button.primary,button.primary{background:var(--ink);color:var(--paper)}.button:hover,button:hover:enabled{background:var(--ink);color:var(--paper)}button:disabled{opacity:.45;cursor:default}input,select{font:inherit;min-height:44px;padding:0 12px;border:1px solid var(--muted);background:var(--surface);color:var(--ink);border-radius:0;min-width:0}.doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}.door{background:var(--surface);border:1px solid var(--line);padding:32px;display:flex;flex-direction:column;gap:16px;min-width:0}.door h2{font-size:var(--size-title);font-family:var(--display)}.door>p{color:var(--muted)}.door .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.door-steps{margin:0;padding-left:20px;display:grid;gap:6px}.search{display:flex;gap:8px}.search input[type=search]{flex:1}.design-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.design-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none}.design-row:hover .title{text-decoration:underline}.design-row .title{font-weight:600}.design-row .figures{grid-column:1;font:var(--size-caption)/1.5 var(--mono);color:var(--muted)}.design-row .meta{grid-column:1;font-size:var(--size-caption);color:var(--muted)}.design-row .pill{grid-row:1/span 3;grid-column:2;align-self:center}.design-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:20px}.design-card{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:6px;height:100%;padding:16px;background:var(--surface);border:1px solid var(--line);text-decoration:none}.design-card:hover{border-color:var(--ink)}.design-card:hover .title{text-decoration:underline}.design-card .title{font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.design-card .meta{font-size:var(--size-caption);color:var(--muted)}.design-card .figures{font:var(--size-caption)/1.5 var(--mono);color:var(--muted)}.design-card .pill{justify-self:start;margin-top:4px}.card-sketch{height:200px;margin:0 0 10px;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--ink);background:linear-gradient(to top,var(--grid) 1px,transparent 1px) 0 100%/100% var(--step,10%)}.card-sketch .sketch{height:calc(var(--h) * 100%);width:auto;max-width:100%}.card-sketch.empty{align-items:center;border-bottom-style:dashed;background:none}.card-sketch.empty span{font:var(--size-caption) var(--mono);color:var(--muted)}.design-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}.design-grid.compact .design-card{padding:10px;border-color:var(--grid)}.design-grid.compact .card-sketch{height:120px}.design-grid.compact .meta,.design-grid.compact .pill{display:none}.design-grid.compact .title{font-size:var(--size-small)}.sketch :is(path,circle,rect){stroke:var(--ink);stroke-width:1.1px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.sk-front,.sk-frame{fill:var(--surface)}.sk-side{fill:var(--grid)}.sk-top{fill:var(--paper)}.sk-cone,.sk-surround{fill:var(--line)}.sk-surround{fill:var(--grid)}.sk-cap,.sk-port,.sk-bolt{fill:var(--ink)}.sk-assumed{fill:none;stroke-dasharray:3 2}.hero{max-width:var(--measure)}.lineup{list-style:none;display:flex;align-items:flex-end;gap:clamp(8px,2vw,28px);margin:40px 0 0;padding:0;border-bottom:2px solid var(--ink);overflow-x:auto}.lineup li{flex:0 0 auto}.lineup a{display:grid;justify-items:center;text-decoration:none;color:var(--muted);font:var(--size-caption) var(--mono)}.lineup .card-sketch{height:260px;border:0;background:none;margin:0}.lineup a:hover{color:var(--ink)}.lineup span{order:2;padding:6px 0 0;white-space:nowrap}.door-visual{display:grid;grid-template-columns:160px 1fr;gap:24px;align-items:center}.driver-face{margin:0}.driver-face .sketch{width:100%;height:auto}.pill{display:inline-block;padding:3px 8px;font:600 var(--size-caption)/1.3 var(--sans);border:1px solid var(--line);background:var(--paper);white-space:nowrap}.pill[data-tier=buildable]{border-color:var(--ink)}.pill[data-tier=partial],.pill[data-tier=reference]{color:var(--muted)}.library .filters{margin-top:32px;align-items:end;flex-wrap:wrap}.library .filters label{display:grid;gap:4px;font-size:var(--size-small);color:var(--muted)}.library .filters label:first-child{flex:1;min-width:240px}.count{margin:24px 0 8px;font:var(--size-small) var(--mono);color:var(--muted)}.empty{color:var(--muted);padding:24px 0}.legend{margin-top:32px;font-size:var(--size-small)}.legend summary{cursor:pointer}.legend dl{display:grid;gap:8px;margin:12px 0 0}.legend div{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:baseline}.legend dd{margin:0;color:var(--muted)}.crumbs{font-size:var(--size-small);color:var(--muted)}.design-head{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,340px);gap:32px;margin-top:12px;align-items:start}.head-sketch{margin:0}.head-sketch .sketch{width:100%;height:auto;max-height:240px}.head-sketch figcaption{font:var(--size-caption) var(--mono);color:var(--muted);text-align:center;margin-top:6px}.subtitle{color:var(--muted);margin-top:10px}.status{display:grid;gap:10px;align-content:start;justify-items:start;font-size:var(--size-small);color:var(--muted)}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-top:32px;overflow-x:auto}.tabs a{padding:10px 0;text-decoration:none;color:var(--muted);white-space:nowrap}.tabs a[aria-current=page]{color:var(--ink);font-weight:600;box-shadow:0 2px 0 var(--ink)}.tab-body{padding-top:32px}.figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;margin:0 0 32px}.figure dt,.chart-panel figcaption{font-size:var(--size-caption);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.figure dd{margin:4px 0 0;font:var(--size-title)/1.2 var(--mono)}.figure small{display:block;font:var(--size-caption)/1.5 var(--sans);color:var(--muted)}.summary-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:24px}.charts{display:grid;gap:24px;align-content:start;min-width:0}.chart-panel{background:var(--surface);border:1px solid var(--line);padding:16px;min-width:0;margin:0}.chart-panel figcaption{margin-bottom:8px}.side{display:grid;gap:16px;align-content:start}.confidence,.next{background:var(--surface);border:1px solid var(--line);padding:20px;display:grid;gap:10px;font-size:var(--size-small)}.confidence h2:before{content:"";display:inline-block;width:8px;height:8px;margin-right:10px;background:var(--warn);vertical-align:.12em}.next a{font-weight:600}.response-chart{width:100%;height:auto;display:block}.response-chart .grid{stroke:var(--grid);stroke-width:1}.response-chart .decade{stroke:var(--line);stroke-width:1}.response-chart .tick,.response-chart .condition{fill:var(--muted);font:11px var(--mono)}.response-chart .curve{fill:none;stroke:var(--ink);stroke-width:2}.response-chart .marker{stroke:var(--warn);stroke-width:1}.response-chart .marker-label{fill:var(--warn);font:11px var(--mono)}.build-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;margin-bottom:32px}.dossier{display:grid;gap:8px;justify-items:end;margin:0}.build-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;counter-reset:step;padding:0;margin:0}.build-steps li{border:1px solid var(--line);background:var(--surface);padding:14px;font-size:var(--size-small);color:var(--muted);counter-increment:step}.build-steps li:before{content:counter(step);display:block;font:20px var(--mono);color:var(--ink)}.build-steps strong{display:block;color:var(--ink)}.build .plan svg{width:100%;height:auto;max-height:360px;background:var(--surface);border:1px solid var(--line)}.build .plan svg :is(polygon,circle,path,line,rect){stroke:var(--ink);stroke-width:1.2px;vector-effect:non-scaling-stroke}.build section{margin-top:32px}.build-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:40px;align-items:start}.build-grid>section{margin-top:0;min-width:0}.build h2{margin-bottom:12px}.downloads{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.shopping{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.shopping li{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--line);font-size:var(--size-small)}.shopping small{display:block;color:var(--muted);font-size:var(--size-caption)}.shopping .price{font-family:var(--mono);white-space:nowrap;text-align:right}.unpriced{color:var(--warn)}.total{display:flex;justify-content:space-between;gap:16px;border-top:2px solid var(--ink);padding-top:10px;margin-top:-1px}.total strong{font:var(--size-body) var(--mono);text-align:right}.note{color:var(--muted);font-size:var(--size-caption);margin-top:8px}.bom details{margin-top:24px;font-size:var(--size-small)}.bom details summary{cursor:pointer}.build table{width:100%;border-collapse:collapse;font-size:var(--size-small)}.build th,.build td{text-align:left;padding:8px;border-bottom:1px solid var(--line);vertical-align:top}.error{color:var(--warn)}.status-line{color:var(--muted)}.origin .source{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:0 0 32px}.origin .source dt{font-size:var(--size-caption);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.origin .source dd{margin:4px 0 0}.origin .design-record{font-size:var(--size-small)}.origin .design-record h4,.origin .design-record h5{font-size:var(--size-body);margin:24px 0 8px}.origin table{width:100%;border-collapse:collapse}.origin th,.origin td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}.origin svg{max-width:100%;height:auto}@media(max-width:860px){.site-header{gap:16px;flex-wrap:wrap}.site-header nav{order:3;flex-basis:100%;gap:20px}.doors,.summary-grid,.design-head{grid-template-columns:minmax(0,1fr)}.build-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.build-head,.build-grid{grid-template-columns:minmax(0,1fr)}.dossier{justify-items:start}.door{padding:20px}main{padding-top:32px}}@media print{.site-header,.site-footer,.tabs,.button{display:none}body{background:#fff;color:#000}}.design-grid.drivers .card-sketch{height:150px;background:none}.candidate-head{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;align-items:end;margin-bottom:32px}.candidate-head .figures{margin:0}.design-card.refused{color:var(--muted)}.design-card.refused .meta{font-size:var(--size-caption)}@media(max-width:860px){.candidate-head{grid-template-columns:minmax(0,1fr)}.head-sketch{max-width:220px}}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0}.chip{padding:6px 12px;border:1px solid var(--line);background:var(--surface);font-size:var(--size-small);text-decoration:none;color:var(--muted)}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip[aria-current=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.design-grid.parts .card-sketch{height:150px;background:none}.design-grid.parts .card-sketch.empty{border-bottom-style:solid}.part-head .head-sketch.empty{display:flex;align-items:center;justify-content:center;height:200px;border:1px dashed var(--line);font:var(--size-caption) var(--mono);color:var(--muted)}.part-head .lead{font-size:var(--size-body);margin-top:12px}.part .price{font:var(--size-title) var(--mono);color:var(--ink)}.part-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;margin-top:40px}.part section{margin-bottom:40px}.part h2{margin-bottom:12px}.part-figures{width:100%;border-collapse:collapse;font-size:var(--size-small)}.part-figures th{text-align:left;font-weight:400;color:var(--muted);padding:7px 12px 7px 0;border-bottom:1px solid var(--grid)}.part-figures td{text-align:right;font-family:var(--mono);padding:7px 0;border-bottom:1px solid var(--grid);white-space:nowrap}.part-notes{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px 32px;margin:0}.part-notes dt{font-size:var(--size-caption);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.part-notes dd{margin:6px 0 0;font-size:var(--size-small);line-height:1.6;max-width:var(--measure)}.offers,.documents{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.offers li,.documents li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--size-small)}.offers .price{font:var(--size-small) var(--mono)}.offers small,.documents small{grid-column:1/-1;color:var(--muted);font-size:var(--size-caption)}@media(max-width:860px){.part-body{grid-template-columns:minmax(0,1fr)}}
