:root{--bg:#0c1924;--panel:#132735;--cream:#f6f0e2;--muted:#b7c5cc;--gold:#f4c954;--red:#d7443f;--line:#2b4250}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--cream);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}button,input{font:inherit}button,a.button{border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--cream);padding:10px 16px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px}button:hover,a.button:hover{border-color:var(--gold)}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.button.primary{background:var(--gold);color:#14232d;border-color:var(--gold);font-weight:700}.stripe{height:6px;background:linear-gradient(90deg,var(--red) 0 33%,var(--gold) 33% 66%,#226ca7 66%)}header{background:#0c1924f5;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.bar{max-width:1240px;margin:auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font-weight:850;letter-spacing:.12em;font-size:15px}.brand span{color:var(--gold)}nav{display:flex;gap:23px;font-size:13px}nav a{text-decoration:none;color:var(--muted)}nav a:hover,nav a[aria-current]{color:var(--gold)}main{max-width:1240px;margin:auto;padding:0 28px}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:0 0 15px}h1{font-size:clamp(42px,6vw,78px);line-height:1.06;letter-spacing:-.045em;margin:0 0 22px}h1 em{font-style:normal;color:var(--gold)}h2{font-size:clamp(29px,4vw,42px);line-height:1.2;letter-spacing:-.03em;margin:0 0 16px}h3{font-size:23px;line-height:1.3;margin:0 0 9px}p{margin:0 0 18px}.lead{font-size:18px;color:var(--muted);max-width:570px}.hero{display:grid;grid-template-columns: .85fr 1.15fr;gap:48px;padding:72px 0 42px;align-items:center}.hero figure{margin:0;transform:rotate(-1deg);border:1px solid #64717a;border-radius:12px;overflow:hidden;background:var(--cream);box-shadow:0 30px 70px #0005}.hero figcaption{background:var(--panel);padding:12px 18px;font-size:12px;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.original{display:block;width:100%;height:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;gap:16px}.stats strong{display:block;font-size:30px;line-height:1.2}.stats span{font-size:12px;letter-spacing:.07em;color:var(--muted)}section{padding:65px 0;border-bottom:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:26px}.section-title p{color:var(--muted);max-width:420px;margin:0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.photo-card{margin:0;overflow:hidden;border-radius:8px;background:var(--panel);border:1px solid var(--line)}.photo-card figcaption{padding:18px 22px}.photo-card figcaption strong{display:block;font-size:19px;margin-bottom:5px}.photo-card figcaption span{color:var(--muted);font-size:14px}.note{border-left:3px solid var(--gold);background:#f4c9540c;padding:19px 23px;margin:26px 0 0;font-size:14px;color:var(--muted)}.note strong{color:var(--cream)}.reference{display:grid;grid-template-columns:240px 1fr;gap:30px;align-items:center;margin-top:35px}.reference img{width:100%;border-radius:8px;max-height:280px;object-fit:cover;object-position:center 43%}.reference p{color:var(--muted)}.reference h3{margin-top:5px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;margin:24px 0}table{border-collapse:collapse;width:100%;font-size:14px;min-width:560px}th{text-align:left;background:var(--panel);color:var(--gold);padding:13px 18px}td{padding:13px 18px;border-top:1px solid var(--line);vertical-align:top}td:first-child{font-weight:650}td:last-child{color:var(--muted)}.drawing{width:100%;display:block;border-radius:8px}details{border:1px solid var(--line);border-radius:8px;margin-top:18px;overflow:hidden}summary{cursor:pointer;padding:17px 21px;font-weight:700;background:var(--panel)}details .inside{padding:22px}.materials{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.material{padding:18px 0;border-bottom:1px solid var(--line)}.material h3{font-size:17px}.material p{font-size:14px;color:var(--muted);margin:0}.tools{font-size:14px;background:var(--panel);padding:24px;border-radius:8px;margin-top:26px;color:var(--muted)}.tools strong{color:var(--cream)}.progress{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:var(--panel);padding:18px 22px;border-radius:8px;margin:22px 0 35px}.progress progress{flex:1;min-width:100px;accent-color:var(--gold);height:12px}.progress span{font-size:14px}.progress button{font-size:12px;padding:7px 12px}.step{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:40px 0;border-top:1px solid var(--line);align-items:start}.step-num{font-size:12px;font-weight:800;letter-spacing:.17em;color:var(--gold);margin-bottom:10px}.step .sub{color:var(--muted);font-size:14px}.step ol{padding-left:22px;font-size:14px}.step li{padding-left:5px;margin-bottom:13px}.step figure{margin:0;position:sticky;top:115px}.step figcaption{font-size:12px;color:var(--muted);padding:10px 0}.complete{display:flex;align-items:center;gap:10px;background:var(--panel);padding:13px 16px;border-radius:6px;font-size:14px;cursor:pointer}.complete input{width:18px;height:18px;accent-color:var(--gold)}.check{border-left:3px solid #5f9c84;padding:13px 18px;color:var(--muted);font-size:13px;margin:17px 0 0}.blueprint{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:8px}.blueprint figcaption{padding:18px 22px;background:var(--panel);font-size:13px;color:var(--muted)}.host{display:grid;grid-template-columns:1fr 1fr;gap:35px}.host ol{padding-left:22px}.host li{margin-bottom:16px;font-size:14px}.host aside{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.host aside p{font-size:14px;color:var(--muted)}code{background:#ffffff0e;border-radius:4px;padding:3px 6px;font-size:13px}.footer{padding:35px 0 55px;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:20px}.full-link{color:var(--gold);font-size:13px}.print-only{display:none}.source-defs{position:absolute;width:0;height:0;overflow:hidden}dialog{background:var(--bg);color:var(--cream);border:1px solid var(--line);width:min(1100px,96vw);max-height:94vh;padding:20px;border-radius:10px}dialog::backdrop{background:#000c}dialog button{margin-bottom:14px}.image-button{padding:0;display:block;border:0;width:100%;background:transparent;cursor:zoom-in}.image-button:hover{outline:2px solid var(--gold)}
/* Parts page + shared additions */
.concept-crop{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px;margin:0 0 12px;background:var(--cream)}
.page-head{padding:60px 0 30px}.page-head .lead{max-width:720px}.disclosure{font-size:13px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin:0 0 24px}.disclosure a{color:var(--gold)}.toc{display:flex;flex-wrap:wrap;gap:8px 14px;padding:0;margin:0 0 10px;list-style:none;font-size:13px}.toc a{color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:5px 12px}.toc a:hover{color:var(--gold);border-color:var(--gold)}.parts h2{font-size:clamp(24px,3vw,32px)}.parts section{padding:40px 0}.parts td a{color:var(--gold)}.parts .id{font-weight:400;color:var(--muted);font-size:12px;margin-left:6px}.badge{display:inline-block;background:#5f9c84;color:#0c1924;font-size:11px;font-weight:700;border-radius:4px;padding:1px 7px;margin-left:6px;vertical-align:middle}.local{color:var(--muted)}.footer a{color:var(--gold);text-decoration:none}.footer-note{padding:0 0 40px;color:var(--muted);font-size:12px;max-width:720px}.shop{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}.shop aside{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.shop aside p{font-size:14px;color:var(--muted)}.shop ul{padding-left:22px;font-size:14px}.shop li{margin-bottom:12px}
@media(max-width:850px){nav{gap:13px}.hero{grid-template-columns:1fr;padding-top:45px;gap:30px}.hero figure{transform:none}.section-title{display:block}.section-title p{margin-top:15px}.step{grid-template-columns:1fr}.step figure{position:static;grid-row:2}.reference{grid-template-columns:170px 1fr}.host,.shop{grid-template-columns:1fr}}
@media(max-width:580px){.bar{padding:14px 18px;flex-wrap:wrap;gap:12px}nav{width:100%;justify-content:space-between;font-size:12px}main{padding:0 18px}.pair,.materials{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats strong{font-size:26px}section{padding:45px 0}.reference{grid-template-columns:1fr}.reference img{max-height:310px;object-position:center 48%}.footer{display:block}.step{gap:20px}.progress{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{html{scroll-padding-top:0}body{background:white;color:#182b38;font-size:10pt}header,.actions,.progress,.image-button+button,dialog,.host,.footer,.complete,.full-link,.toc{display:none!important}main{padding:0;max-width:none}.hero{padding-top:0;grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:34pt}.lead,.section-title p,.photo-card figcaption span,.note,.reference p,td:last-child,.step .sub,.step figcaption,.check,.material p,.tools,.blueprint figcaption,.disclosure{color:#394c55}.eyebrow,.step-num{color:#755515}.hero figure{transform:none;box-shadow:none}.photo-card,details,.tools,.hero figcaption,.blueprint figcaption,.note,.disclosure,.shop aside{background:white;color:#243b47}.stats{padding:12px 0}.stats span{color:#445}section{padding:28px 0}.step{gap:22px;padding:20px 0;grid-template-columns:1.1fr 1fr;break-inside:avoid}.step figure{position:static}.step ol{font-size:9pt}.drawing{border:1px solid #aaa}h2{font-size:23pt}h3{font-size:15pt}th{background:#eee;color:#273c45}td,th{padding:7px;font-size:9pt}details{display:block}.print-only{display:block}#shop{display:none}.reference{grid-template-columns:150px 1fr}.note{margin-top:16px}.image-button{display:block!important}a{text-decoration:none}.parts td a{color:#182b38}.blueprint{break-inside:avoid}#concept,.materials{break-inside:avoid}}
