/* registry.difflocked.com — shared stylesheet, copied to /assets/site.css by
   scripts/build-registry.cjs. "Modernist" system: Archivo, light ground, one
   red accent, zero radius, visible 1px rules. Tokens first, then the shared
   chrome, the faceted-filter components, the collection and maker cards, the
   history pages, and finally the vehicle detail pages (still on their older
   structure until their redesign lands). */
:root{
  --color-bg:#f3f2f2;--color-surface:#eae9e9;--color-text:#201e1d;--color-accent:#ec3013;
  --color-divider:color-mix(in srgb,#201e1d 40%,transparent);
  --color-neutral-100:#f8f4f4;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-neutral-400:#bab6b6;--color-neutral-500:#9b9797;--color-neutral-600:#7d7979;--color-neutral-700:#605d5d;--color-neutral-800:#444141;--color-neutral-900:#2d2b2b;
  --color-accent-100:#fff2ef;--color-accent-200:#ffe0d9;--color-accent-300:#ffc4b8;--color-accent-400:#ff9783;--color-accent-500:#ff563c;--color-accent-600:#dd2b0f;--color-accent-700:#ae1800;--color-accent-800:#7c1405;--color-accent-900:#4d170e;
  --font-heading:"Archivo",system-ui,sans-serif;--font-body:"Archivo",system-ui,sans-serif;
  --shadow-sm:0 1px 2px color-mix(in srgb,#2d2b2b 14%,transparent);--shadow-md:0 3px 10px color-mix(in srgb,#2d2b2b 16%,transparent);
  --pad:clamp(14px,3.2vw,32px);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:14px;line-height:1.5}
.page{min-height:100vh;display:flex;flex-direction:column}
.page>main,.page>.shell{flex:1}
a{color:var(--color-accent-700);text-decoration:none}
a:hover{color:var(--color-accent)}
img{max-width:100%}
button{font-family:inherit;color:inherit}
:focus{outline:none}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:800;line-height:1.1;letter-spacing:-.02em;margin:0}
p{margin:0}
.sp{flex:1}
.muted{color:var(--color-neutral-700)}
.small{font-size:11px}
.kicker{margin:0 0 10px;font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--color-accent-700);text-transform:uppercase}
.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--color-neutral-700);text-transform:uppercase}
.btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-heading);font-weight:800;font-size:14px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:8px 14px;cursor:pointer;text-decoration:none}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-600);color:var(--color-bg)}
.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent);color:var(--color-text)}
.btn-ghost{color:var(--color-accent);padding-inline:4px}.btn-ghost:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}
.input{min-height:34px;padding:6px 10px;font:inherit;font-size:13px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:0}
.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}
.input:focus-visible{border-color:var(--color-accent);outline-offset:0}
.tag{display:inline-flex;align-items:center;font-size:10px;letter-spacing:.06em;padding:3px 8px;font-weight:700;text-transform:uppercase}
.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent-700)}
.tag-neutral{border:1px solid var(--color-neutral-400);color:var(--color-neutral-700)}

/* ── header / footer ──────────────────────────────────────────────── */
header.site{position:sticky;top:0;z-index:40;background:var(--color-bg);border-bottom:1px solid var(--color-neutral-400);display:flex;align-items:stretch}
header.site .brand{padding:14px 20px;border-right:1px solid var(--color-neutral-300);display:flex;flex-direction:column;justify-content:center;min-width:190px;color:var(--color-text)}
header.site .brand span{font-family:var(--font-heading);font-weight:800;font-size:18px;letter-spacing:-.02em;line-height:1}
header.site .brand small{font-size:10px;letter-spacing:.18em;color:var(--color-neutral-700);margin-top:3px}
header.site nav{display:flex;align-items:stretch}
header.site nav a{display:flex;align-items:center;padding:0 20px;font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--color-neutral-700)}
header.site nav a:hover{color:var(--color-accent)}
header.site nav a[aria-current=page]{color:var(--color-text);box-shadow:inset 0 -2px 0 var(--color-accent)}
header.site .hmeta{display:flex;align-items:center;padding:0 20px;font-size:11px;letter-spacing:.12em;color:var(--color-neutral-700);white-space:nowrap}
footer.site{border-top:1px solid var(--color-neutral-400);padding:18px var(--pad) 30px;display:flex;gap:14px;flex-wrap:wrap;font-size:10px;letter-spacing:.14em;color:var(--color-neutral-700)}
footer.site b{color:var(--color-text)}
footer.site a{color:var(--color-accent-700);font-weight:700}
.crumbs{display:flex;align-items:center;gap:8px;padding:9px var(--pad);border-bottom:1px solid var(--color-neutral-300);font-size:11px;letter-spacing:.08em;color:var(--color-neutral-700)}
.crumbs a{color:var(--color-accent-700)}
.crumbs .cur{color:var(--color-text);font-weight:700}

/* ── page hero ────────────────────────────────────────────────────── */
.hero{padding:30px var(--pad) 24px;border-bottom:1px solid var(--color-neutral-300)}
.hero h1{font-size:46px;line-height:1;letter-spacing:-.03em}
.hero h1 em,.mast h1 em{font-style:italic;color:var(--color-accent)}
.hero .lede{margin:12px 0 0;max-width:62ch;font-size:14px;line-height:1.5;color:var(--color-neutral-800);text-wrap:pretty}
.hero .lede.wide{max-width:74ch;font-size:15px;line-height:1.55}
.stats{display:flex;border:1px solid var(--color-neutral-400);margin-top:22px}
.stats span{flex:1;padding:10px 14px;border-right:1px solid var(--color-neutral-300)}
.stats span:last-child{border-right:0}
.stats b{display:block;font-family:var(--font-heading);font-weight:800;font-size:26px;line-height:1}
.stats small{display:block;font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--color-neutral-600);margin-top:3px}
.notice{margin:0;padding:10px var(--pad);border-bottom:1px solid var(--color-neutral-300);background:var(--color-accent-100);font-size:12px;line-height:1.5}

/* ── faceted filter bar ───────────────────────────────────────────── */
.fbar{position:sticky;z-index:30;background:var(--color-bg);border-bottom:1px solid var(--color-neutral-400)}
.frow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px var(--pad)}
.fq{flex:1 1 200px;min-width:0;max-width:320px}
.fmenu{position:relative}
.fbtn{display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid var(--color-neutral-400);cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.1em;background:var(--color-bg);color:var(--color-text)}
.fbtn .caret{font-size:9px;line-height:1}
.fmenu.on .fbtn{background:var(--color-accent-100);color:var(--color-accent-700);border-color:var(--color-accent-400)}
.fmenu.open .fbtn{box-shadow:var(--shadow-sm)}
.fbadge{font-weight:700;color:var(--color-accent-700)}
.fbadge:empty{display:none}
.fpop{position:absolute;top:calc(100% + 4px);left:0;z-index:50;width:300px;max-height:60vh;overflow-y:auto;background:var(--color-bg);border:1px solid var(--color-neutral-400);box-shadow:var(--shadow-md);padding:10px}
.fsearch{width:100%;font-size:12px;padding:6px 8px;margin-bottom:8px;min-height:30px}
.fopts{display:flex;flex-direction:column;gap:1px}
.fopt{display:flex;align-items:stretch}
.fopt:hover{background:var(--color-neutral-200)}
.fopt.sub{padding-left:10px}
.fopt.zero{opacity:.4}
.fcaret{width:16px;flex:none;background:none;border:0;padding:0;font-size:10px;line-height:1;color:var(--color-accent);cursor:pointer}
.fcaret:empty{cursor:default}
.ftoggle{display:flex;align-items:center;gap:9px;flex:1;min-width:0;background:none;border:0;padding:5px 4px;cursor:pointer;text-align:left}
.ftoggle .box{width:13px;height:13px;flex:none;border:1.5px solid var(--color-neutral-600)}
.fopt.on .ftoggle .box{background:var(--color-accent);border-color:var(--color-accent);box-shadow:inset 0 0 0 2px var(--color-bg)}
.ftoggle .lab{flex:1;font-size:13px;line-height:1.25;color:var(--color-neutral-800)}
.fopt[data-has-children] .ftoggle .lab{font-weight:700;color:var(--color-text)}
.fopt.on .ftoggle .lab{font-weight:800;color:var(--color-text)}
.ftoggle .n{font-size:11px;color:var(--color-neutral-600);font-variant-numeric:tabular-nums}
.fmore{margin-top:6px;padding:4px;font-size:11px;letter-spacing:.1em}
.fclear{padding:6px 8px;font-size:11px;letter-spacing:.1em;color:var(--color-accent-700)}
.fchips{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow-x:auto;height:33px;padding:0 var(--pad) 10px}
.fnone{font-size:11px;letter-spacing:.06em;color:var(--color-neutral-600);white-space:nowrap}
.fchip{display:inline-flex;align-items:center;gap:8px;flex:none;white-space:nowrap;border:1px solid var(--color-accent-400);background:var(--color-accent-100);color:var(--color-accent-700);font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 8px;cursor:pointer}
.fchip:hover{background:var(--color-accent-200)}
.fchip .g{color:var(--color-neutral-700);font-weight:600;text-transform:uppercase}
.fchip .x{font-size:13px;line-height:1}
.fres{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px var(--pad);border-top:1px solid var(--color-neutral-200)}
.fcount{font-size:13px;font-weight:700}
.fres label{font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--color-neutral-700)}
.fres select.input{font-size:13px;padding:6px 8px;width:auto;min-width:190px}
.fviews{display:flex;border:1px solid var(--color-neutral-400)}
.fviews button{display:flex;align-items:center;gap:6px;padding:6px 10px;border:0;border-left:1px solid var(--color-neutral-300);cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.1em;background:transparent;color:var(--color-neutral-800)}
.fviews button:first-child{border-left:0}
.fviews button span:first-child{font-size:12px;line-height:1}
.fviews button[aria-pressed=true]{background:var(--color-accent);color:#fff}
.frail{display:none;align-items:center;gap:8px;padding:7px 11px;border:1px solid var(--color-neutral-400);background:var(--color-bg);color:var(--color-text);cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.1em}
.fbackdrop{position:fixed;inset:0;z-index:25}

/* ── shell: rail + results ────────────────────────────────────────── */
.shell{display:grid;grid-template-columns:262px minmax(0,1fr);align-items:start}
.rail{position:sticky;overflow-y:auto;border-right:1px solid var(--color-neutral-300);padding-bottom:40px}
.fgroup{border-bottom:1px solid var(--color-neutral-200)}
.fhead{width:100%;display:flex;align-items:center;gap:8px;background:none;border:0;padding:14px 16px 10px 14px;cursor:pointer;text-align:left}
.fhead .caret{font-size:11px;width:10px;color:var(--color-accent);font-weight:700}
.fhead .ttl{flex:1;font-size:11px;letter-spacing:.14em;font-weight:700}
.fbody{padding:0 14px 14px}
.fgroup[data-open=false] .fbody{display:none}
.results{min-width:0;padding:24px var(--pad) 64px clamp(14px,3.2vw,24px)}
.none{border:1px solid var(--color-neutral-300);padding:40px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.none h3{font-size:22px}
.none p{font-size:14px;color:var(--color-neutral-800)}

/* ── collection cards ─────────────────────────────────────────────── */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.card{border:1px solid var(--color-neutral-300);background:var(--color-surface);display:flex;flex-direction:column;min-width:0;transition:border-color .15s}
.card:hover{border-color:var(--color-accent)}
.ctop{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--color-neutral-300);font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--color-neutral-600)}
.ctop .kind{color:var(--color-neutral-800)}
.card.base .ctop .kind{color:var(--color-accent-700)}
.ctop .kind,.ctop .yrs{flex:none;white-space:nowrap}.ctop .vcount{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cimg{display:flex;align-items:center;justify-content:center;background:var(--color-neutral-200);aspect-ratio:16/10;overflow:hidden}
.cimg img{width:100%;height:100%;object-fit:contain}
.vthumbs{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid var(--color-neutral-200);background:var(--color-neutral-100);list-style:none;margin:0}
.vthumbs a{display:block;width:52px;height:34px;border:1px solid var(--color-neutral-300);background:var(--color-bg)}
.vthumbs a:hover,.vthumbs a:focus-visible{border-color:var(--color-accent)}
.vthumbs img{width:100%;height:100%;object-fit:contain}
.vthumbs .more{font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--color-neutral-600)}
.cbody{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.cbody h3{font-size:19px;line-height:1.1}
.cbody h3 a{color:inherit}
.cbody h3 a:hover{color:var(--color-accent-700)}
.cline{font-size:12px;letter-spacing:.08em;font-weight:700;color:var(--color-accent-700)}
.cblurb{font-size:13px;line-height:1.5;color:var(--color-neutral-800);text-wrap:pretty}
.ctags{display:flex;flex-wrap:wrap;gap:6px;padding-top:4px;margin-top:auto;align-items:center}
.palette{display:inline-flex;gap:3px;margin-left:auto}
.palette i{width:12px;height:12px;border:1px solid color-mix(in srgb,var(--color-text) 20%,transparent)}
.cmeta,.cmaker,.corigin{display:none;font-size:12px;color:var(--color-neutral-700)}
/* compact: image beside text */
.grid.compact{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.grid.compact .card{display:grid;grid-template-columns:116px minmax(0,1fr);grid-template-rows:auto 1fr}
.grid.compact .ctop{grid-column:2;border-bottom:0;padding:10px 12px 0}
.grid.compact .ctop .yrs,.grid.compact .ctop .vcount{display:none}
.grid.compact .cimg{grid-column:1;grid-row:1/span 2;aspect-ratio:auto;border-right:1px solid var(--color-neutral-300)}
.grid.compact .vthumbs,.grid.compact .cline,.grid.compact .ctags{display:none}
.grid.compact .cbody{grid-column:2;padding:4px 12px 10px;gap:4px}
.grid.compact .cbody h3{font-size:15px;line-height:1.15}
.grid.compact .cblurb{font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.grid.compact .cmeta{display:block}
/* small tiles */
.grid.small{grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:6px}
.grid.small .ctop,.grid.small .vthumbs,.grid.small .cline,.grid.small .cblurb,.grid.small .ctags{display:none}
.grid.small .cimg{aspect-ratio:3/2;padding:6px;border-bottom:1px solid var(--color-neutral-300)}
.grid.small .cbody{padding:6px 7px 7px;gap:1px}
.grid.small .cbody h3{font-size:11px;line-height:1.15}
.grid.small .cmeta{display:block;font-size:10px;line-height:1.3;font-variant-numeric:tabular-nums}
/* list rows */
.grid.list{grid-template-columns:1fr;gap:0;border:1px solid var(--color-neutral-300);background:var(--color-surface)}
.grid.list::before{content:"";display:grid;grid-template-columns:56px 28% 13% 13% 1fr 13%}
.lhead{display:none;grid-template-columns:56px 28% 13% 13% 1fr 13%;gap:12px;padding:9px 14px;border-bottom:1px solid var(--color-neutral-400);font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--color-neutral-700)}
.grid.list .lhead{display:grid}
.grid.list .card{display:grid;grid-template-columns:56px 28% 13% 13% 1fr 13%;gap:12px;padding:8px 14px;border:0;border-bottom:1px solid var(--color-neutral-200);align-items:center;font-size:13px}
.grid.list .card:hover{background:var(--color-accent-100)}
.grid.list .ctop,.grid.list .vthumbs,.grid.list .cblurb,.grid.list .ctags,.grid.list .cmeta{display:none}
.grid.list .cimg{width:56px;height:34px;aspect-ratio:auto;border:1px solid var(--color-neutral-300)}
.grid.list .cbody{display:contents}
.grid.list .cbody h3{font-size:13px;font-weight:700;font-family:var(--font-body);letter-spacing:0;order:1}
.grid.list .cline{order:2;font-weight:400;letter-spacing:0;font-size:13px;color:var(--color-neutral-800)}
.grid.list .cyears{display:block;order:3;font-size:13px;color:var(--color-neutral-800);font-variant-numeric:tabular-nums}
.grid.list .cmaker{display:block;order:4;font-size:13px;color:var(--color-neutral-800)}
.grid.list .corigin{display:block;order:5;font-size:13px;color:var(--color-neutral-800)}
.cyears{display:none}
.scrollx{min-width:0}

/* ── maker cards ──────────────────────────────────────────────────── */
.grid.makers{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.mthumbs{display:flex;background:var(--color-neutral-200);border-bottom:1px solid var(--color-neutral-300)}
.mthumbs span{flex:1;min-width:0;aspect-ratio:4/3;display:block}
.mthumbs span+span{border-left:1px solid var(--color-neutral-300)}
.mthumbs img{width:100%;height:100%;object-fit:contain}
.card.maker .cbody h3{font-size:18px;line-height:1.15;text-wrap:pretty}
.card.maker .cbody h3 a{color:inherit}
.mfoot{display:flex;align-items:center;gap:8px;padding-top:6px;border-top:1px solid var(--color-neutral-200);margin-top:auto}
.mfoot b{font-family:var(--font-heading);font-weight:800;font-size:22px;line-height:1}
.mfoot small{font-size:11px;letter-spacing:.1em;font-weight:700;color:var(--color-neutral-600)}
.grid.makers.compact{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.grid.makers.compact .card{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center}
.grid.makers.compact .ctop,.grid.makers.compact .cmeta,.grid.makers.compact .mfoot small{display:none}
.grid.makers.compact .mthumbs{grid-row:1;border-bottom:0;border-right:1px solid var(--color-neutral-300);align-self:stretch;align-items:center}
.grid.makers.compact .mthumbs span+span{display:none}
.grid.makers.compact .mthumbs span{aspect-ratio:auto}
.grid.makers.compact .cbody{padding:9px 11px;gap:2px}
.grid.makers.compact .cbody h3{font-size:13px;line-height:1.2;font-family:var(--font-body);font-weight:700;letter-spacing:0}
.grid.makers.compact .mrole{display:block;font-size:11px;color:var(--color-neutral-700)}
.grid.makers.compact .mfoot{border:0;padding:0 11px 0 0;margin:0}
.grid.makers.compact .mfoot b{font-size:17px}
.mrole,.mcountry{display:none}
.grid.makers.list{grid-template-columns:1fr;gap:0;border:1px solid var(--color-neutral-300);background:var(--color-surface)}
.grid.makers .lhead,.grid.makers.list .card{grid-template-columns:1fr 18% 18% 10%}
.grid.makers.list .card{display:grid;gap:12px;padding:9px 14px;border:0;border-bottom:1px solid var(--color-neutral-200);align-items:baseline;font-size:13px}
.grid.makers.list .card:hover{background:var(--color-accent-100)}
.grid.makers.list .ctop,.grid.makers.list .mthumbs,.grid.makers.list .cmeta,.grid.makers.list .mfoot small{display:none}
.grid.makers.list .cbody{display:contents}
.grid.makers.list .cbody h3{font-size:13px;font-weight:700;font-family:var(--font-body);letter-spacing:0;order:1}
.grid.makers.list .mrole{display:block;order:2;color:var(--color-neutral-800)}
.grid.makers.list .mcountry{display:block;order:3;color:var(--color-neutral-800)}
.grid.makers.list .mfoot{display:contents}
.grid.makers.list .mfoot b{order:4;font-family:var(--font-body);font-weight:400;font-size:13px;color:var(--color-neutral-800);font-variant-numeric:tabular-nums}

/* ── two-column masthead (maker & history detail pages) ───────────── */
.mast{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);border-bottom:1px solid var(--color-neutral-400)}
.mast>div{padding:32px var(--pad) 28px;border-right:1px solid var(--color-neutral-300)}
.mast h1{font-size:50px;line-height:.98;letter-spacing:-.035em}
.mast .lede{margin:14px 0 0;max-width:60ch;font-size:15px;line-height:1.55;color:var(--color-neutral-800);text-wrap:pretty}
.mast .lede a{color:var(--color-accent-700)}
.mast .mfig{display:flex;align-items:center;justify-content:center;background:var(--color-neutral-200);padding:20px;min-height:220px}
.mast .mfig img{width:100%;max-height:300px;object-fit:contain}
.mast .mfig.photo img{max-height:360px;object-fit:cover;height:100%}
.mast .mfig figcaption{display:none}
.mast .mgrid{display:grid;grid-template-columns:repeat(2,1fr);background:var(--color-neutral-200);align-content:center;padding:14px;gap:8px}
.mast .mgrid span{background:var(--color-bg);border:1px solid var(--color-neutral-300);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
.mast .mgrid img{width:100%;height:100%;object-fit:contain}
.mast .ctags{padding-top:14px;margin-top:0}

/* ── detail shell: chapter/fact rail + main ───────────────────────── */
.dshell{display:grid;grid-template-columns:268px minmax(0,1fr);align-items:start}
.dshell.rev{grid-template-columns:minmax(0,1fr) 300px}
.drail{position:sticky;top:55px;max-height:calc(100vh - 55px);overflow-y:auto;border-right:1px solid var(--color-neutral-300);padding:18px 0 40px}
.dshell.rev .drail{border-right:0;border-left:1px solid var(--color-neutral-300)}
.drail .eyebrow{margin:0 0 12px;padding:0 18px}
.dmain{min-width:0}
.dsec{border-bottom:1px solid var(--color-neutral-400);padding:26px var(--pad) 30px clamp(14px,3.2vw,28px)}
.dsec h2{font-size:30px;line-height:1;letter-spacing:-.03em;border-bottom:2px solid var(--color-text);padding-bottom:10px;margin-bottom:16px}
.dsec h2 .muted{font-size:14px;letter-spacing:0;font-weight:700;margin-left:10px}
.dsec h3{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-neutral-700);margin:18px 0 8px}
.prose{display:flex;flex-direction:column;gap:14px;max-width:78ch}
.prose p{font-size:15px;line-height:1.6;text-wrap:pretty}
.prose a{color:var(--color-accent-700);border-bottom:1px solid var(--color-accent-300)}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}
.two.top{padding:26px var(--pad) 24px clamp(14px,3.2vw,28px);border-bottom:1px solid var(--color-neutral-300)}
.two.top p{font-size:15px;line-height:1.6;text-wrap:pretty}
.figs{display:flex;flex-direction:column;gap:16px}
.figs figure{margin:0;border:1px solid var(--color-neutral-400);background:var(--color-surface)}
.figs figure>span,.figs figure>a{display:block;background:var(--color-neutral-200)}
.figs img{display:block;width:100%;object-fit:cover;aspect-ratio:4/3}
.figs figcaption{padding:9px 11px;border-top:1px solid var(--color-neutral-300);font-size:12px;line-height:1.45;color:var(--color-neutral-800)}
.figs figcaption b{color:var(--color-text)}
.figs figcaption .credit{display:block;margin-top:4px;font-size:10px;letter-spacing:.06em;color:var(--color-neutral-600)}
.figs figcaption .credit a{color:inherit}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.gallery figure{margin:0;border:1px solid var(--color-neutral-400);background:var(--color-surface)}
.gallery img{display:block;width:100%}
.gallery figcaption{padding:9px 11px;border-top:1px solid var(--color-neutral-300);font-size:12px;line-height:1.45;color:var(--color-neutral-800)}
.gallery .credit{display:block;margin-top:4px;font-size:10px;letter-spacing:.06em;color:var(--color-neutral-600)}
.gallery .credit a{color:inherit}
/* vehicle tiles and rows */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.tiles a{border:1px solid var(--color-neutral-400);background:var(--color-surface);display:flex;flex-direction:column;color:var(--color-text)}
.tiles a:hover{border-color:var(--color-accent);color:var(--color-accent-700)}
.tiles a>span:first-child{display:block;background:var(--color-neutral-200);aspect-ratio:4/3;border-bottom:1px solid var(--color-neutral-300)}
.tiles img{width:100%;height:100%;object-fit:contain}
.tiles .tb{padding:8px 9px 10px;display:flex;flex-direction:column;gap:2px}
.tiles .tn{font-size:12px;font-weight:700;line-height:1.25}
.tiles .tm{font-size:11px;color:var(--color-neutral-700);font-variant-numeric:tabular-nums}
.rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.rows a{border:1px solid var(--color-neutral-300);background:var(--color-surface);display:flex;align-items:stretch;color:var(--color-text)}
.rows a:hover{border-color:var(--color-accent);color:var(--color-accent-700)}
.rows a>span:first-child{width:62px;flex:none;background:var(--color-neutral-200);border-right:1px solid var(--color-neutral-300);display:flex;align-items:center}
.rows img{width:100%;object-fit:contain}
.rows .tb{padding:7px 9px;display:flex;flex-direction:column;gap:2px;min-width:0}
.rows .tn{font-size:12px;font-weight:700;line-height:1.25}
.rows .tm{font-size:11px;color:var(--color-neutral-700);font-variant-numeric:tabular-nums}
.mcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.mcards a{border:1px solid var(--color-neutral-400);background:var(--color-surface);padding:11px 13px;display:flex;flex-direction:column;gap:3px;color:var(--color-text)}
.mcards a:hover{border-color:var(--color-accent);color:var(--color-accent-700)}
.mcards b{font-size:13px;line-height:1.25}
.mcards span{font-size:11px;color:var(--color-neutral-700)}
.sechead{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;border-bottom:2px solid var(--color-text);padding-bottom:10px;margin-bottom:16px}
.sechead h2{border:0;padding:0;margin:0}
.sechead .muted{font-size:11px}
/* fact table (maker infobox) */
.facts{border-collapse:collapse;width:100%;font-size:12px}
.facts th{text-align:left;vertical-align:top;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-neutral-700);font-weight:700;padding:9px 8px 9px 18px;width:38%}
.facts td{vertical-align:top;padding:9px 18px 9px 0;line-height:1.55}
.facts tr+tr th,.facts tr+tr td{border-top:1px solid var(--color-neutral-300)}
.facts a{color:var(--color-accent-700)}
.awaiting{border:1px dashed var(--color-accent-400);padding:14px 16px;font-size:12px;color:var(--color-accent-800);background:var(--color-accent-100);margin-top:16px}
.links{list-style:none;padding:0;margin:0}
.links li{border-bottom:1px solid var(--color-neutral-300);padding:9px 0;font-size:13px;line-height:1.6}
.links a{color:var(--color-accent-700)}
.readnext{padding:22px var(--pad) 40px clamp(14px,3.2vw,28px);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.updated{padding:0 var(--pad) 24px clamp(14px,3.2vw,28px);font-size:11px;color:var(--color-neutral-600)}

/* ── history: index ───────────────────────────────────────────────── */
.chart{padding:22px var(--pad) 18px;border-bottom:1px solid var(--color-neutral-300)}
.chart .eyebrow{margin-bottom:14px}
.chartrows{display:flex;flex-direction:column;gap:9px}
.chartrow{display:grid;grid-template-columns:132px minmax(0,1fr) 58px;gap:14px;align-items:center;color:var(--color-text)}
a.chartrow:hover{color:var(--color-accent-700)}
.chartrow .t{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.track{position:relative;display:block;height:20px;border-left:1px solid var(--color-neutral-400);border-right:1px solid var(--color-neutral-400)}
.track::before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:var(--color-neutral-300)}
.track i{position:absolute;top:4px;height:11px;background:var(--color-accent);opacity:.85}
.chartrow .c{font-size:12px;font-variant-numeric:tabular-nums;color:var(--color-neutral-700);text-align:right}
.axis{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;color:var(--color-neutral-600);border-top:1px solid var(--color-neutral-300);padding-top:4px;font-variant-numeric:tabular-nums}
.axis.r{justify-content:flex-end}
.hsubjects{padding:26px var(--pad) 64px;display:flex;flex-direction:column;gap:22px}
.hsub{border:1px solid var(--color-neutral-400);background:var(--color-surface);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.hsub>div{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;border-right:1px solid var(--color-neutral-300)}
.hsub .meta{display:flex;align-items:baseline;gap:12px;font-size:10px;letter-spacing:.14em;font-weight:700}
.hsub .meta .a{color:var(--color-accent-700)}
.hsub .meta .b{color:var(--color-neutral-600)}
.hsub h2{font-size:30px;line-height:1;letter-spacing:-.03em}
.hsub h2 a{color:inherit}
.hsub h2 a:hover{color:var(--color-accent-700)}
.hsub p{font-size:14px;line-height:1.55;color:var(--color-neutral-800);text-wrap:pretty}
.hsub .grow{flex:1;min-height:8px}
.hsub .strip{display:flex;border-top:1px solid var(--color-neutral-300)}
.hsub .strip span{flex:1;min-width:0;aspect-ratio:4/3;background:var(--color-neutral-200)}
.hsub .strip span+span{border-left:1px solid var(--color-neutral-300)}
.hsub .strip img{width:100%;height:100%;object-fit:contain}
.hsub .read{align-self:flex-start;font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--color-accent-700);border-bottom:2px solid var(--color-accent);padding-bottom:2px}
.hsub .read:hover{color:var(--color-accent)}
.chap{margin:0;padding:20px 22px 22px;list-style:none;display:flex;flex-direction:column}
.chap li{display:grid;grid-template-columns:22px 1fr;gap:12px}
.chap .spine{position:relative;display:block}
.chap .spine::before{content:"";position:absolute;left:5px;top:12px;bottom:-2px;width:1px;background:var(--color-neutral-400)}
.chap li:last-child .spine::before{display:none}
.chap .spine::after{content:"";position:absolute;left:1px;top:5px;width:9px;height:9px;background:var(--color-accent)}
.chap a{display:block;padding-bottom:13px;color:var(--color-text)}
.chap a:hover{color:var(--color-accent-700)}
.chap .y{display:block;font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--color-neutral-600);font-variant-numeric:tabular-nums}
.chap .h{display:block;font-size:14px;font-weight:700;line-height:1.3}

/* ── history: section page ────────────────────────────────────────── */
.toc{margin:0;padding:0 18px;list-style:none}
.toc li{display:grid;grid-template-columns:20px 1fr;gap:10px}
.toc .spine{position:relative;display:block}
.toc .spine::before{content:"";position:absolute;left:4px;top:10px;bottom:-4px;width:1px;background:var(--color-neutral-400)}
.toc li:last-child .spine::before{display:none}
.toc .spine::after{content:"";position:absolute;left:0;top:4px;width:9px;height:9px;background:var(--color-bg);border:1.5px solid var(--color-neutral-500)}
.toc li.on .spine::after{background:var(--color-accent);border-color:var(--color-accent)}
.toc a{display:block;padding-bottom:14px;color:var(--color-text)}
.toc a:hover{color:var(--color-accent-700)}
.toc .y{display:block;font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--color-neutral-600);font-variant-numeric:tabular-nums}
.toc .h{display:block;font-size:13px;line-height:1.3;font-weight:600}
.toc li.on .h{font-weight:800;color:var(--color-accent-700)}
.raillinks{margin:6px 18px 0;border-top:1px solid var(--color-neutral-300);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.raillinks a{font-size:11px;letter-spacing:.12em;font-weight:700}
.bars{padding:18px var(--pad) 18px clamp(14px,3.2vw,28px);border-bottom:1px solid var(--color-neutral-400)}
.bars .eyebrow{margin-bottom:12px}
.barrows{display:flex;flex-direction:column;gap:5px}
.barrow{display:grid;grid-template-columns:26px minmax(0,250px) minmax(0,1fr) 92px;gap:12px;align-items:center;color:var(--color-text)}
a.barrow:hover{color:var(--color-accent-700)}
.barrow .n{font-size:11px;font-weight:800;color:var(--color-accent);font-variant-numeric:tabular-nums}
.barrow .l{font-size:12px;line-height:1.25;font-weight:600}
.barrow .track{height:14px}
.barrow .track::before{top:6px}
.barrow .track i{top:1px;height:12px;opacity:1}
.barrow .y{font-size:11px;color:var(--color-neutral-700);text-align:right;font-variant-numeric:tabular-nums}
.era{scroll-margin-top:70px}
.erahead{display:flex;align-items:baseline;gap:14px;border-bottom:2px solid var(--color-text);padding-bottom:10px}
.erahead .num{font-family:var(--font-heading);font-weight:800;font-size:30px;line-height:1;color:var(--color-accent)}
.erahead .ttl{flex:1;min-width:0}
.erahead .y{display:block;font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--color-neutral-700);font-variant-numeric:tabular-nums}
.erahead h2{margin:2px 0 0;border:0;padding:0;font-size:30px;line-height:1.02}
.erahead .cnt{font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--color-neutral-600);white-space:nowrap}
.era .two{padding-top:16px}
.erav{margin-top:20px}
.erav .eyebrow{margin-bottom:8px}

/* ── working lists (todo/review/manufacturers) ────────────────────── */
.plain{padding:26px var(--pad) 48px;max-width:1200px}
.plain h1{font-size:40px;letter-spacing:-.03em;margin:8px 0 12px}
.plain h1 em{font-style:italic;color:var(--color-accent)}
.plain .lede{max-width:78ch;font-size:15px;line-height:1.55;color:var(--color-neutral-800)}
.plain section{margin-top:30px}
.plain h2{font-size:24px;border-bottom:2px solid var(--color-text);padding-bottom:8px;margin-bottom:12px}
.plain h2 .muted{font-size:13px;margin-left:8px}
.plain p{font-size:13px;line-height:1.6;margin-bottom:10px;max-width:80ch}
.plain code{font-size:12px;background:var(--color-neutral-200);padding:1px 4px}
.tablewrap{overflow-x:auto}
.tablewrap table,.makerblock table{border-collapse:collapse;width:100%;font-size:12px}
.tablewrap th,.makerblock th{text-align:left;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-neutral-700);border-bottom:2px solid var(--color-divider);padding:8px 10px 8px 0;vertical-align:top}
.tablewrap td,.makerblock td{border-bottom:1px solid var(--color-neutral-300);padding:9px 10px 9px 0;vertical-align:top;line-height:1.55}
.tablewrap tbody tr:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}
.chip{display:inline-block;border:1px solid var(--color-neutral-400);padding:3px 8px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.chip.other{border-style:dashed;color:var(--color-neutral-700)}
.makerblock{border-top:1px solid var(--color-neutral-300);padding:16px 0 4px}
.makerblock h3{font-size:18px;text-transform:none;letter-spacing:-.02em;margin:0}
.makerblock h3 a{color:inherit}
.makerblock th{width:150px;white-space:nowrap;border-bottom:1px solid var(--color-neutral-300)}
.variant{padding:2px 0;font-size:11px;line-height:1.5}

/* ── vehicle pages ────────────────────────────────────────────────── */
.vmast{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.vmast>div:first-child{padding:30px var(--pad) 26px}
.vmast .ctags{padding:0 0 12px;margin:0}
.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}
.vmast h1{font-size:46px;line-height:.98;letter-spacing:-.035em}
.vmast .lede{max-width:58ch}
.vmast .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.mfig.render{flex-direction:column;gap:0;padding:18px 18px 12px;justify-content:space-between}
.mfig.render img{max-height:320px}
.anglebar{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.anglebtn{border:1px solid var(--color-neutral-400);background:var(--color-bg);color:var(--color-neutral-800);font-size:10px;letter-spacing:.1em;font-weight:700;padding:5px 9px;cursor:pointer}
.anglebtn:hover{border-color:var(--color-accent)}
.anglebtn[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}
.facts-strip{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--color-neutral-400)}
.facts-strip>span{flex:1 1 150px;padding:12px clamp(14px,2vw,20px);border-right:1px solid var(--color-neutral-300)}
.facts-strip .k{display:block;font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--color-neutral-600)}
.facts-strip .v{display:block;font-size:15px;font-weight:700;margin-top:4px;line-height:1.2}
.vshell{grid-template-columns:minmax(0,1fr) 320px}
.vsec{padding:26px var(--pad) 28px;border-bottom:1px solid var(--color-neutral-300)}
.vsec h2{font-size:26px;letter-spacing:-.025em;padding-bottom:9px;margin-bottom:14px}
.vsec .sechead{margin-bottom:14px}
.vsec .sechead a{font-size:11px;letter-spacing:.12em;font-weight:700}
.vsec .two{gap:24px}
.vsec .prose{max-width:none;gap:13px}
.callout{padding:11px 13px;border-left:3px solid var(--color-accent);background:var(--color-accent-100);font-size:13px;line-height:1.5;color:var(--color-accent-700)}
.specgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 30px}
.specgrid>div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px solid var(--color-neutral-300)}
.specgrid .k{font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--color-neutral-700);line-height:1.5}
.specgrid .v{font-size:13px;line-height:1.45}
.specgrid .v a{color:var(--color-accent-700)}
.specgrid .builder-note{margin-top:3px;color:var(--color-neutral-700);font-size:12px}
.disclaimer{font-size:11px;color:var(--color-neutral-700);line-height:1.6;margin-top:12px}
.vopts{margin-top:14px}
.vopts .eyebrow{margin-bottom:8px}
.vopts .eyebrow .muted{text-transform:none;letter-spacing:0;font-weight:400}
ul.vstrip,ul.swatches{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.variant-chip,.swatch-pick,.swatch-static{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--color-neutral-400);background:var(--color-surface);padding:5px 11px 5px 6px;font:12px var(--font-body);color:var(--color-text);cursor:pointer;font-weight:600}
.swatch-static{cursor:default}
.variant-chip img{width:52px;height:38px;object-fit:contain}
.swatch-pick i,.swatch-static i{flex:none;width:16px;height:16px;border:1px solid color-mix(in srgb,var(--color-text) 25%,transparent)}
.variant-chip:hover,.swatch-pick:hover{border-color:var(--color-accent);color:var(--color-text)}
.variant-chip[aria-pressed=true],.swatch-pick[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent-100);color:var(--color-accent-700);font-weight:800}
.rgallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.rgallery figure{margin:0;border:1px solid var(--color-neutral-400);background:var(--color-surface)}
.rgallery figure>button,.rgallery figure>a{display:block;width:100%;background:var(--color-neutral-200);aspect-ratio:4/3;border:0;padding:0;cursor:pointer;overflow:hidden}
.rgallery figure>button img,.rgallery figure>a img{width:100%;height:100%;object-fit:contain;display:block}
.rgallery figure.photo>a img{object-fit:cover}
.rgallery figure.angle[aria-pressed=true]{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}
.rgallery figcaption{padding:8px 10px;border-top:1px solid var(--color-neutral-300);font-size:11px;line-height:1.4;color:var(--color-neutral-800)}
.rgallery figcaption b{color:var(--color-text)}
.rgallery figcaption .credit{display:block;margin-top:3px;font-size:10px;letter-spacing:.06em;color:var(--color-neutral-600)}
.rgallery figcaption .credit a{color:inherit}
.srcs{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.srcs li{display:grid;grid-template-columns:26px minmax(0,1fr) 110px;gap:12px;padding:10px 0;border-bottom:1px solid var(--color-neutral-200);align-items:baseline}
.srcs .n{font-size:11px;font-weight:800;color:var(--color-accent);font-variant-numeric:tabular-nums}
.srcs .t{font-size:13px;line-height:1.45;min-width:0;overflow-wrap:anywhere}
.srcs .t a{color:var(--color-accent-700)}
.srcs .m{display:block;font-size:11px;color:var(--color-neutral-700);margin-top:2px}
.srcs .kind{font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--color-neutral-600);text-align:right}
.srcs details summary{cursor:pointer;font-weight:600}
.srcs details p{font-size:12px;line-height:1.5;color:var(--color-neutral-800);margin-top:6px}
.rows.wide{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.rows.wide a>span:first-child{width:74px}
.vrail{padding:20px 18px 40px;display:flex;flex-direction:column;gap:18px}
.vrail .eyebrow{margin:0 0 8px;padding:0}
.toclinks{display:flex;flex-direction:column}
.toclinks a{padding:5px 0;font-size:13px;border-bottom:1px solid var(--color-neutral-200);color:var(--color-accent-700)}
.toclinks a:last-child{border-bottom:0}
.rcard{border:1px solid var(--color-neutral-400);padding:13px}
.rcard.help{background:var(--color-surface)}
.rcard .rlink{display:block;font-family:var(--font-heading);font-weight:800;font-size:17px;line-height:1.15;color:var(--color-text)}
.rcard .rlink.small{font-family:var(--font-body);font-size:13px;font-weight:700;line-height:1.3;color:var(--color-accent-700);padding:2px 0}
.rcard a.rlink:hover{color:var(--color-accent-700)}
.rcard .rsub{margin:5px 0 0;font-size:12px;color:var(--color-neutral-700)}
.rcard .rnote{margin:9px 0 0;font-size:12px;line-height:1.5;color:var(--color-neutral-800)}
.rcard .btn{margin-top:10px;width:100%;justify-content:flex-start}
.rrule{border:0;border-top:1px solid var(--color-neutral-300);margin:10px 0}
.credit a{color:inherit}
.notfound{padding:80px var(--pad)}
.notfound h1{font-size:46px;margin:10px 0 14px}
.notfound h1 em{font-style:italic;color:var(--color-accent)}

/* ── responsive ───────────────────────────────────────────────────── */
.only-sm{display:none}
@media (max-width:860px){
  header.site{position:static;flex-direction:column;align-items:stretch}
  header.site .brand{min-width:0;border-right:0;flex-direction:row;align-items:baseline;gap:9px;padding:9px 14px;border-bottom:1px solid var(--color-neutral-300)}
  header.site .brand small{margin-top:0}
  header.site nav{overflow-x:auto;-webkit-overflow-scrolling:touch}
  header.site nav a{flex:none;white-space:nowrap;padding:0 14px;height:42px;font-size:10px;letter-spacing:.1em}
  header.site .hmeta{display:none}
  .hero h1{font-size:32px;line-height:1.02}
  .fbar{position:static!important}
  .frail{display:flex}
  .shell{grid-template-columns:minmax(0,1fr)}
  .rail{position:static!important;max-height:none!important;overflow:visible;border-right:0;border-bottom:1px solid var(--color-neutral-400)}
  .rail[data-open=false]{display:none}
  .grid.list,.grid.makers.list{overflow-x:auto}
  .grid.list>*{min-width:680px}
  .mast,.two,.hsub,.dshell,.dshell.rev{grid-template-columns:minmax(0,1fr)}
  .mast>div,.hsub>div{border-right:0;border-bottom:1px solid var(--color-neutral-300)}
  .mast h1{font-size:34px}
  .stats{flex-wrap:wrap}
  .stats span{flex:1 0 40%}
  .drail{position:static;max-height:none;border-right:0;border-left:0!important;border-bottom:1px solid var(--color-neutral-400)}
  .dshell.rev .drail{order:2}
  .barrow{grid-template-columns:22px minmax(0,1fr);gap:3px 8px;padding-bottom:5px}
  .barrow .track{grid-column:2}
  .barrow .y{grid-column:2;text-align:left}
  .chartrow{grid-template-columns:90px minmax(0,1fr) 44px}
  .vmast,.vshell{grid-template-columns:minmax(0,1fr)}
  .vmast h1{font-size:34px}
  .specgrid{grid-template-columns:minmax(0,1fr)}
  .srcs li{grid-template-columns:22px minmax(0,1fr)}
  .srcs .kind{grid-column:2;text-align:left}
  .vrail{border-left:0}
  footer.site{flex-direction:column;gap:6px}
}
.grid.makers.list .mcountry-inline{display:none}
/* aspect-ratio boxes must clip, or a tall render grows them past the ratio */
.tiles a>span:first-child,.rows a>span:first-child,.mthumbs span,.hsub .strip span,.mast .mgrid span,.cimg{overflow:hidden}
.tiles img,.rows img,.mthumbs img,.hsub .strip img,.cimg img,.vthumbs img,.figs img{display:block}

/* ── account slot & sign-in dialog ────────────────────────────────── */
header.site .acct{display:flex;align-items:stretch;border-left:1px solid var(--color-neutral-300)}
header.site .acct:empty{display:none}
header.site .acct a,header.site .acct button{display:flex;align-items:center;padding:0 16px;font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--color-text);background:none;border:0;cursor:pointer;white-space:nowrap}
header.site .acct .who{color:var(--color-accent-700);border-right:1px solid var(--color-neutral-300)}
header.site .acct button:hover,header.site .acct a:hover{color:var(--color-accent)}
.authdlg{border:1px solid var(--color-neutral-400);padding:0;background:var(--color-bg);color:var(--color-text);width:min(440px,calc(100vw - 28px));box-shadow:var(--shadow-md)}
.authdlg::backdrop{background:color-mix(in srgb,var(--color-neutral-900) 45%,transparent)}
.authform{display:flex;flex-direction:column;gap:12px;padding:0 22px 22px}
.authform .tabs{display:flex;align-items:stretch;margin:0 -22px 6px;border-bottom:1px solid var(--color-neutral-400)}
.authform .tabs button{background:none;border:0;padding:13px 16px;font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--color-neutral-700);cursor:pointer}
.authform .tabs button.on{color:var(--color-text);box-shadow:inset 0 -2px 0 var(--color-accent)}
.authform .tabs .x{font-size:18px;padding:0 16px}
.authform h2{font-size:28px;letter-spacing:-.03em}
.authform h2 em{font-style:italic;color:var(--color-accent)}
.authform .why{font-size:13px;line-height:1.5;color:var(--color-neutral-800)}
.authform label{display:block;font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--color-neutral-700)}
.authform label .input{display:block;margin-top:5px}
.authform label span{font-weight:400;letter-spacing:.08em}
.authform .input{width:100%}
.authform .err{font-size:12px;color:var(--color-accent-700);min-height:1em}
.authform .actions{display:flex;gap:8px;flex-wrap:wrap}

/* ── builds: listing, profile, build view ─────────────────────────── */
.bhero{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}
.bhero>div{flex:1;min-width:260px}
.bbar{position:sticky;z-index:30;background:var(--color-bg);border-bottom:1px solid var(--color-neutral-400)}
.bbar .frow{gap:8px}
.chipbtn{display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid var(--color-neutral-400);cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.1em;background:var(--color-bg);color:var(--color-text)}
.chipbtn span:last-child{font-variant-numeric:tabular-nums;color:var(--color-neutral-600)}
.chipbtn.on{background:var(--color-accent);border-color:var(--color-accent);color:#fff}
.chipbtn.on span:last-child{color:rgba(255,255,255,.8)}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;padding:22px var(--pad) 56px}
.bcard{border:1px solid var(--color-neutral-400);background:var(--color-surface);display:flex;flex-direction:column}
.bcard .shot{display:block;background:var(--color-neutral-200);aspect-ratio:16/10;border-bottom:1px solid var(--color-neutral-300);padding:10px;overflow:hidden}
.bcard .shot img,.bcard .shot canvas{width:100%;height:100%;object-fit:contain;display:block}
.bcard .shot .noshot{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--color-neutral-600)}
.bcard .body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;flex:1}
.bcard .line{display:flex;align-items:baseline;gap:8px;font-size:10px;letter-spacing:.12em;font-weight:700}
.bcard .line .lin{color:var(--color-accent-700)}
.bcard .line .age{margin-left:auto;font-weight:400;letter-spacing:.1em;color:var(--color-neutral-600)}
.bcard .line .vis{margin-left:auto;letter-spacing:.1em;color:var(--color-neutral-600)}
.bcard .line .vis.unlisted{color:var(--color-accent-700)}
.bcard h3{font-size:18px;line-height:1.15;text-wrap:pretty}
.bcard h3 a{color:inherit}
.bcard h3 a:hover{color:var(--color-accent-700)}
.bcard .blurb{font-size:12.5px;line-height:1.45;color:var(--color-neutral-800);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bcard .tags{display:flex;flex-wrap:wrap;gap:5px}
.bcard .tags span{display:inline-flex;border:1px solid var(--color-neutral-300);font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 6px;color:var(--color-neutral-800)}
.bcard .foot{display:flex;align-items:center;gap:9px;padding-top:9px;border-top:1px solid var(--color-neutral-300);margin-top:auto;font-size:11px;color:var(--color-neutral-700);font-variant-numeric:tabular-nums}
.bcard .foot .by{flex:1;min-width:0;font-size:12px;font-weight:700;color:var(--color-text)}
.bcard .foot .by:hover{color:var(--color-accent-700)}
.avatar{display:flex;align-items:center;justify-content:center;flex:none;background:var(--color-text);color:var(--color-bg);font-family:var(--font-heading);font-weight:800;letter-spacing:.04em}
.avatar.s{width:26px;height:26px;font-size:10px}
.avatar.m{width:40px;height:40px;font-size:14px}
.avatar.l{width:94px;height:94px;font-size:34px;letter-spacing:-.02em}
.bempty{margin:22px var(--pad);border:1px solid var(--color-neutral-400);padding:36px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.bempty h3{font-size:22px}
.bempty p{font-size:14px;color:var(--color-neutral-800)}
.bmore{display:flex;justify-content:center;padding:0 var(--pad) 40px}
.bstatus{padding:22px var(--pad);font-size:13px;color:var(--color-neutral-700)}
/* profile */
.pmast{display:grid;grid-template-columns:minmax(0,1fr) 300px;border-bottom:1px solid var(--color-neutral-400)}
.pmast>div:first-child{padding:28px var(--pad) 24px;border-right:1px solid var(--color-neutral-300);display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.pmast .who{flex:1;min-width:240px}
.pmast h1{font-size:40px;line-height:1;letter-spacing:-.03em}
.pmast .handle{margin:8px 0 0;font-size:13px;letter-spacing:.04em;color:var(--color-neutral-700)}
.pmast .bio{margin:12px 0 0;max-width:60ch;font-size:14.5px;line-height:1.58;color:var(--color-neutral-800);text-wrap:pretty}
.pmast .bio textarea{width:100%;min-height:90px;font:inherit;font-size:13px;resize:vertical}
.pmast .badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.pmast .badges span{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--color-neutral-400);padding:4px 8px;font-size:11px;font-weight:700}
.pmast .badges span b{color:var(--color-accent)}
.pmast .side{padding:22px clamp(14px,3.2vw,22px);display:flex;flex-direction:column;gap:12px}
.pmast .side .btns{display:flex;gap:7px;flex-wrap:wrap}
.pmast .side .btns .btn{flex:1 1 120px}
.pstats{border:1px solid var(--color-neutral-400)}
.pstats span{display:flex;align-items:baseline;gap:10px;padding:9px 12px;border-bottom:1px solid var(--color-neutral-200)}
.pstats span:last-child{border-bottom:0}
.pstats .k{flex:1;font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--color-neutral-700)}
.pstats .v{font-family:var(--font-heading);font-weight:800;font-size:17px;font-variant-numeric:tabular-nums}
.ptabs{position:sticky;z-index:30;background:var(--color-bg);border-bottom:1px solid var(--color-neutral-400);display:flex;align-items:center;flex-wrap:wrap;padding:0 var(--pad)}
.ptabs .tab{display:flex;align-items:center;gap:8px;padding:13px 16px;border:0;background:none;font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--color-neutral-700);cursor:pointer}
.ptabs .tab.on{color:var(--color-text);box-shadow:inset 0 -2px 0 var(--color-accent)}
.ptabs .tab span{font-variant-numeric:tabular-nums;color:var(--color-neutral-600)}
.ptabs .btn{padding:5px 9px;font-size:11px;letter-spacing:.1em}
/* build view */
.vshell2{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start}
.bstage{position:sticky;top:55px;max-height:calc(100vh - 55px);overflow-y:auto;border-right:1px solid var(--color-neutral-400)}
.bstage .canvasbox{background:var(--color-neutral-200);padding:0;display:flex;align-items:center;justify-content:center;min-height:280px;border-bottom:1px solid var(--color-neutral-400);position:relative}
.bstage canvas{width:100%;height:360px;display:block;touch-action:none;cursor:grab}
.bstage .hint{position:absolute;right:12px;bottom:10px;font-size:10px;letter-spacing:.12em;color:var(--color-neutral-600)}
.bstage .views{display:flex;border-bottom:1px solid var(--color-neutral-400)}
.bstage .views button{flex:1;padding:9px 10px;border:0;border-right:1px solid var(--color-neutral-300);cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.1em;background:var(--color-bg);color:var(--color-neutral-800)}
.bstage .views button:last-child{border-right:0}
.bstage .views button.on{background:var(--color-accent);color:#fff}
.bstage .stats2{display:flex;flex-wrap:wrap}
.bstage .stats2 span{flex:1 1 120px;padding:11px 14px;border-right:1px solid var(--color-neutral-300);border-bottom:1px solid var(--color-neutral-300)}
.bstage .stats2 b{display:block;font-family:var(--font-heading);font-weight:800;font-size:22px;line-height:1}
.bstage .stats2 small{display:block;font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--color-neutral-600);margin-top:3px}
.bstage .owner{padding:16px clamp(14px,2.4vw,20px) 24px;display:flex;flex-direction:column;gap:12px}
.ownercard{display:flex;align-items:center;gap:11px;border:1px solid var(--color-neutral-400);padding:11px 13px}
.ownercard .n{flex:1;min-width:0}
.ownercard .n a{display:block;font-size:14px;font-weight:800;color:var(--color-text)}
.ownercard .n a:hover{color:var(--color-accent-700)}
.ownercard .n span{display:block;font-size:11px;color:var(--color-neutral-700);margin-top:2px}
.bstage .btns{display:flex;gap:7px;flex-wrap:wrap}
.bstage .btns .btn{flex:1 1 140px}
.bstage .note{font-size:11px;line-height:1.5;color:var(--color-neutral-700)}
.bmain{min-width:0}
.bhead{padding:26px clamp(14px,3.2vw,30px) 22px;border-bottom:1px solid var(--color-neutral-400)}
.bhead .ctags{padding:0 0 11px;margin:0}
.bhead h1{font-size:42px;line-height:1;letter-spacing:-.035em}
.bhead .lede{margin:12px 0 0;max-width:62ch;font-size:15px;line-height:1.58;color:var(--color-neutral-800);text-wrap:pretty}
.bhead .meta{margin:12px 0 0;font-size:12px;letter-spacing:.06em;color:var(--color-neutral-600)}
.fitout{border-bottom:1px solid var(--color-neutral-400)}
.fitout .fhd{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px clamp(14px,3.2vw,30px);background:var(--color-surface);border-bottom:1px solid var(--color-neutral-300)}
.fitout .fhd .eyebrow{margin:0}
.fitout .fhd span:last-child{font-size:12px;color:var(--color-neutral-800)}
.fitout .area{display:grid;grid-template-columns:200px minmax(0,1fr);gap:14px;padding:13px clamp(14px,3.2vw,30px);border-bottom:1px solid var(--color-neutral-200)}
.fitout .area .t{display:block;font-size:11px;letter-spacing:.12em;font-weight:700}
.fitout .area .c{display:block;font-size:11px;color:var(--color-neutral-600);margin-top:3px}
.fitout .items{display:flex;flex-wrap:wrap;gap:6px}
.fitout .items span{display:inline-flex;flex-direction:column;gap:1px;border:1px solid var(--color-neutral-400);background:var(--color-surface);padding:5px 9px}
.fitout .items span b{font-size:12px;font-weight:700;line-height:1.2}
.fitout .items span small{font-size:10px;color:var(--color-neutral-600)}
.fitout .items .std{border:0;background:none;font-size:12px;color:var(--color-neutral-600);align-self:center;padding:0}
.bsec{padding:22px clamp(14px,3.2vw,30px) 24px;border-bottom:1px solid var(--color-neutral-400)}
.bsec h2{font-size:22px;letter-spacing:-.02em;margin-bottom:12px}
.bsec .notes{display:flex;flex-direction:column;gap:10px;border-left:3px solid var(--color-accent);padding-left:14px}
.bsec .notes p{font-size:14px;line-height:1.6;text-wrap:pretty}
.bsec .shd{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.bsec .shd h2{margin:0}
.bsec .shd a{font-size:11px;letter-spacing:.12em;font-weight:700}
.moregrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.moregrid a{border:1px solid var(--color-neutral-400);background:var(--color-surface);display:flex;flex-direction:column;color:var(--color-text)}
.moregrid a:hover{border-color:var(--color-accent);color:var(--color-accent-700)}
.moregrid a>span:first-child{display:block;background:var(--color-neutral-200);aspect-ratio:3/2;border-bottom:1px solid var(--color-neutral-300);padding:7px;overflow:hidden}
.moregrid img{width:100%;height:100%;object-fit:contain;display:block}
.moregrid .tb{padding:8px 9px 10px;display:flex;flex-direction:column;gap:2px}
.moregrid .tn{font-size:12px;font-weight:700;line-height:1.25}
.moregrid .tm{font-size:11px;color:var(--color-neutral-700)}
.ownerbar{display:flex;gap:8px;flex-wrap:wrap;padding:12px clamp(14px,3.2vw,30px);border-bottom:1px solid var(--color-neutral-300);background:var(--color-accent-100);align-items:center;font-size:12px}
.ownerbar .btn{padding:5px 10px;font-size:12px}
@media (max-width:860px){
  header.site .acct{border-left:0;border-top:1px solid var(--color-neutral-300);justify-content:flex-end}
  .pmast,.vshell2{grid-template-columns:minmax(0,1fr)}
  .pmast>div:first-child{border-right:0;border-bottom:1px solid var(--color-neutral-300)}
  .bstage{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--color-neutral-400)}
  .bstage canvas{height:260px}
  .fitout .area{grid-template-columns:minmax(0,1fr);gap:6px}
  .bhead h1{font-size:32px}
}

/* ── favourites star ──────────────────────────────────────────────── */
.fav{background:none;border:0;padding:0 2px;cursor:pointer;color:var(--color-neutral-600);font-size:15px;line-height:1;letter-spacing:0}
.fav .on{display:none;color:var(--color-accent)}
.fav[aria-pressed=true] .off{display:none}
.fav[aria-pressed=true] .on{display:inline}
.fav:hover{color:var(--color-accent)}
.btn.fav{border:1px solid var(--color-divider);padding:8px 14px;font-size:14px;font-family:var(--font-heading);font-weight:800;color:var(--color-text)}
.btn.fav[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent-700);background:var(--color-accent-100)}
.ctop .fav{margin-left:4px}
.authform .forgot{margin:-4px 0 0;font-size:12px}
.linkish{background:none;border:0;padding:0;color:var(--color-accent-700);cursor:pointer;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.authform .why.ok{color:var(--color-accent-700);font-weight:600}

/* ── corrections form & admin review ──────────────────────────────── */
.corrdlg{width:min(720px,calc(100vw - 28px));max-height:calc(100vh - 40px);overflow:auto}
.corrhead{display:flex;align-items:center;padding:14px 22px 0}
.corrhead h2{font-size:28px;letter-spacing:-.03em;flex:1}
.corrhead h2 em,.plain h1 em{font-style:italic;color:var(--color-accent)}
.corrhead .x{background:none;border:0;font-size:22px;cursor:pointer;padding:4px 8px}
.corrform{display:flex;flex-direction:column;gap:12px;padding:12px 22px 22px}
.corrform.inline{padding:0;margin-top:18px;border:1px solid var(--color-neutral-400);padding:18px 20px 20px;background:var(--color-surface)}
.corrform .assoc{border:1px solid var(--color-neutral-400);padding:10px 13px;display:flex;flex-direction:column;gap:3px;background:var(--color-accent-100)}
.corrform .assoc .vname{font-family:var(--font-heading);font-weight:800;font-size:16px}
.corrform .assoc .vmeta{font-size:12px;color:var(--color-neutral-700)}
.corrform .assoc .linkish{align-self:flex-start;margin-top:4px}
.corrform .why{font-size:13px;line-height:1.5;color:var(--color-neutral-800)}
.corrform .why.ok{color:var(--color-accent-700);font-weight:600;font-size:14px}
.corrform .cf{display:block;font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--color-neutral-700)}
.corrform .cf em{font-style:normal;font-weight:400;letter-spacing:.08em}
.corrform .cf .input{display:block;width:100%;margin-top:5px;font-size:13px}
.corrform .more summary{cursor:pointer;font-size:11px;letter-spacing:.14em;font-weight:700;padding:6px 0}
.corrform .more summary span{font-weight:400;letter-spacing:0;text-transform:none;color:var(--color-neutral-700)}
.corrform .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px 14px;margin-top:8px}
.corrform .grid .cf:nth-child(n+9){grid-column:1/-1}
.corrform .err{font-size:12px;color:var(--color-accent-700);min-height:1em}
.corrform .actions{display:flex;gap:8px;flex-wrap:wrap}
.alist{display:flex;flex-direction:column;gap:10px}
.arow{border:1px solid var(--color-neutral-400);background:var(--color-surface);padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.arow.status-high{border-color:var(--color-accent)}
.arow.status-fixed,.arow.status-ignored{opacity:.7}
.arow .ahead{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.arow .subj{font-size:15px}
.arow .subj a{color:var(--color-text)}
.arow .meta{font-size:11px;color:var(--color-neutral-700)}
.arow .msg{font-size:14px;line-height:1.5;white-space:pre-wrap}
.arow details summary{cursor:pointer;font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--color-neutral-700)}
.adl{margin:8px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:6px 18px}
.adl div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;font-size:12px;line-height:1.45;border-bottom:1px solid var(--color-neutral-300);padding:4px 0}
.adl dt{font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--color-neutral-700)}
.adl dd{margin:0;overflow-wrap:anywhere}
.aact{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding-top:6px;border-top:1px solid var(--color-neutral-300)}
.aact .btn{padding:5px 9px;font-size:12px}
.aact .note{flex:1 1 200px;min-height:30px;font-size:12px}
.status-high .st{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}
.discdlg{width:min(560px,calc(100vw - 28px))}
.discdlg .authform{padding-top:18px}
.discdlg h2{font-size:30px;letter-spacing:-.03em}
.discdlg .why{font-size:14px}
.discdlg .linkish{font-size:14px}
