
:root{
  /* Layout: a drawing set. Title block, then sheets in one column, then the tick lists. */
  --paper:#edf0ee; --card:#ffffff; --ink:#1b2126; --ink-2:#4f5b63; --rule:#c8d0cc; --rule-2:#e1e6e3;
  --chalk:#1d64a8; --hivis:#c94a0c; --done:#2f7d4f;
  --pine:#f0d9ab; --pine-2:#dbb676; --pine-edge:#8b6930;
  --concrete:#d5d8d6; --rock-bg:#e4dfd5; --rock:#9f988b; --soil:#9a8466; --soil-bg:#ebe4d8;
  --steel:#3d5d79; --film:#7a49c2; --sheet:#3a4246; --ins:#f4cbc5; --ins-l:#d98f86; --glass:#cfe3f3;
  --display:"Barlow Condensed","Arial Narrow",sans-serif;
  --body:"Barlow","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --paper:#0f1316; --card:#161c20; --ink:#e2e7e9; --ink-2:#a2adb4; --rule:#2c353a; --rule-2:#20282d;
  --chalk:#6fb3ef; --hivis:#ff8240; --done:#5cc58a;
  --pine:#5f4a2b; --pine-2:#7a5d33; --pine-edge:#d8b57c;
  --concrete:#384044; --rock-bg:#3a3833; --rock:#7d766b; --soil:#7b6a52; --soil-bg:#2a2620;
  --steel:#9dbbd6; --film:#b996f5; --sheet:#b7c0c5; --ins:#5a3733; --ins-l:#b9776e; --glass:#23415a;
  color-scheme:dark } }
:root[data-theme="dark"]{
  --paper:#0f1316; --card:#161c20; --ink:#e2e7e9; --ink-2:#a2adb4; --rule:#2c353a; --rule-2:#20282d;
  --chalk:#6fb3ef; --hivis:#ff8240; --done:#5cc58a;
  --pine:#5f4a2b; --pine-2:#7a5d33; --pine-edge:#d8b57c;
  --concrete:#384044; --rock-bg:#3a3833; --rock:#7d766b; --soil:#7b6a52; --soil-bg:#2a2620;
  --steel:#9dbbd6; --film:#b996f5; --sheet:#b7c0c5; --ins:#5a3733; --ins-l:#b9776e; --glass:#23415a;
  color-scheme:dark }
.dwgwrap{overflow-x:auto;padding:8px 8px 0}
.dwg text{font-family:var(--display);font-weight:600;fill:var(--ink)}
.dwg .lbl{letter-spacing:.04em}
.dwg .dimt{font-family:var(--mono);font-weight:500;fill:var(--chalk)}
.dwg .note{font-family:var(--body);font-weight:400;fill:var(--ink-2)}
.dwg .tag{font-family:var(--mono);font-weight:600;fill:var(--chalk)}
.dwg .hvt{fill:var(--hivis);letter-spacing:.04em}
.dwg .geart{fill:var(--chalk);letter-spacing:.04em}
.dwg .halo{stroke:var(--card);paint-order:stroke fill;stroke-linejoin:round}
.dwg .o{fill:none;stroke:var(--ink)}
.dwg .thin{fill:none;stroke:var(--ink)}
.dwg .hid{fill:none;stroke:var(--ink-2)}
.dwg .pine{fill:var(--pine);stroke:var(--pine-edge)}
.dwg .pine2{fill:var(--pine-2);stroke:var(--pine-edge)}
.dwg .conc{fill:var(--concrete);stroke:var(--ink)}
.dwg .rockbg{fill:var(--rock-bg)} .dwg .rockd{fill:var(--rock)} .dwg .rockp{stroke:none}
.dwg .soilbg{fill:var(--soil-bg)} .dwg .soill{stroke:var(--soil);fill:none} .dwg .soilp{stroke:none}
.dwg .steel{fill:none;stroke:var(--steel)} .dwg .steelf{fill:var(--steel)} .dwg .steelo{fill:none;stroke:var(--steel)}
.dwg .meshl{fill:none;stroke:var(--steel);opacity:.55} .dwg .meshbg{stroke:none}
.dwg .trench{fill:none;stroke:var(--steel);opacity:.55}
.dwg .film{fill:none;stroke:var(--film)}
.dwg .sheetf{fill:var(--sheet)} .dwg .cap{fill:none;stroke:var(--sheet)} .dwg .gut{fill:none;stroke:var(--sheet)}
.dwg .gutp{fill:none;stroke:var(--sheet)}
.dwg .ply{fill:var(--pine-2);stroke:var(--pine-edge)}
.dwg .insbg{fill:var(--ins)} .dwg .insl{fill:none;stroke:var(--ins-l)} .dwg .insp{stroke:none}
.dwg .dim{fill:none;stroke:var(--chalk)}
.dwg .lead{fill:none;stroke:var(--ink-2)} .dwg .leaddot{fill:var(--ink-2)}
.dwg .tagc{fill:var(--card);stroke:var(--chalk)}
.dwg .hv{fill:none;stroke:var(--hivis)} .dwg .ro{fill:none;stroke:var(--hivis)} .dwg .cut{fill:none;stroke:var(--hivis)}
.dwg .gear{fill:none;stroke:var(--chalk)}
.dwg .bar{stroke:var(--ink)} .dwg .barp{fill:var(--ink)}
.dwg .wall{fill:var(--pine-2);stroke:var(--pine-edge)} .dwg .glass{fill:var(--glass);stroke:var(--ink)}
.dwg .fence{stroke:var(--ink)} .dwg .string{stroke:var(--chalk)}
.dwg .house{fill:var(--rule-2);stroke:var(--ink)}
.dwg .anchor{fill:var(--card);stroke:var(--hivis)} .dwg .anchorx{stroke:var(--hivis)}
.dwg .power{fill:var(--card);stroke:var(--hivis)}
.dwg .chair{fill:var(--ink-2);stroke:var(--ink-2)}
.dwg .dpc{fill:var(--ink)} .dwg .wrap{stroke:var(--film)} .dwg .brk{stroke:var(--ink-2)}
.dwg .batt{fill:var(--pine-2);stroke:var(--pine-edge);opacity:.92} .dwg .nogd{fill:var(--pine);stroke:var(--pine-edge)}
.dwg .arrow{stroke:var(--chalk)} .dwg .arrowh{fill:var(--chalk)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.6 var(--body)}
a{color:var(--chalk)}
a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--chalk);outline-offset:2px}
.top{background:var(--card);border-bottom:2px solid var(--ink)}
@media (min-width:700px){.top{position:sticky;top:0;z-index:5}}
.top .in{max-width:1000px;margin:0 auto;padding:10px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px}
.brand{font:700 24px/1 var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:6px 0}
.top nav{display:flex;flex-wrap:wrap;gap:0 16px}
.top nav a{font:600 16px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);text-decoration:none;padding:8px 0 6px;border-bottom:3px solid transparent}
.top nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--chalk)}
main{max-width:1000px;margin:0 auto;padding:28px 16px 64px;display:flex;flex-direction:column;gap:32px}
section{display:flex;flex-direction:column;gap:14px}
h1{font:700 clamp(40px,9vw,66px)/1 var(--display);text-transform:uppercase;letter-spacing:.01em;margin:0;text-wrap:balance}
h2{font:700 30px/1.1 var(--display);text-transform:uppercase;letter-spacing:.02em;margin:0;text-wrap:balance}
h3{font:700 22px/1.15 var(--display);text-transform:uppercase;letter-spacing:.03em;margin:0}
p{margin:0;max-width:68ch}
ul,ol{margin:0;padding-left:22px;display:grid;gap:6px}
li{max-width:70ch}
.lede{font-size:20px;color:var(--ink-2)}
.muted{color:var(--ink-2)}
.small{font-size:15px}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:0}
.facts div{background:var(--card);border:1px solid var(--rule);padding:12px 14px}
.facts dt{font:600 13px/1.2 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.facts dd{margin:4px 0 0;font:600 17px/1.35 var(--mono);font-variant-numeric:tabular-nums}
.box{background:var(--card);border:1px solid var(--rule);padding:16px 20px;display:flex;flex-direction:column;gap:10px}
.box.warn{border:2px solid var(--hivis)}
.box.warn h2,.box.warn h3{color:var(--hivis)}
.links{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.links a{display:block;background:var(--card);border:1px solid var(--rule);padding:14px 16px;text-decoration:none;color:var(--ink);height:100%}
.links a strong{display:block;font:700 20px/1.1 var(--display);text-transform:uppercase;letter-spacing:.03em;color:var(--chalk)}
.links a span{font-size:15px;color:var(--ink-2)}
.toc{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;padding:0}
.toc a{font:600 15px/1.4 var(--display);letter-spacing:.06em;text-transform:uppercase}
figure.sheet{margin:0;background:var(--card);border:1px solid var(--rule);display:flex;flex-direction:column;scroll-margin-top:110px}
figure.sheet header{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:12px 16px;border-bottom:1px solid var(--rule)}
.code{font:600 15px/1 var(--mono);color:var(--chalk)}
.dtitle{font:700 22px/1.15 var(--display);text-transform:uppercase;letter-spacing:.03em}
.full{margin-left:auto;font:600 14px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}
.dwg{display:block;width:100%;height:auto}
.dwgbox{padding:8px}
figure.sheet ol,figure.sheet .after{padding:12px 16px 16px 40px;font-size:16px}
figure.sheet .after{padding-left:16px}
figure.sheet ol li::marker{font:600 15px var(--mono);color:var(--chalk)}
table{width:100%;border-collapse:collapse;background:var(--card);font-size:16px}
caption{text-align:left;font:700 22px/1.2 var(--display);text-transform:uppercase;letter-spacing:.03em;padding:6px 0 10px}
caption .num{font-size:15px;color:var(--ink-2);text-transform:none;letter-spacing:0;margin-left:6px}
th{font:600 13px/1.2 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);text-align:left;padding:9px 10px;border-bottom:2px solid var(--ink)}
td{padding:9px 10px;border-bottom:1px solid var(--rule);vertical-align:top}
td.r,th.r{text-align:right}
td .note{display:block;font-size:14px;color:var(--ink-2)}
tfoot td{font-weight:600;border-top:2px solid var(--ink);border-bottom:0}
tr.is-done td{color:var(--ink-2)}
@media (max-width:680px){
  table.stack thead{display:none}
  table.stack,table.stack tbody,table.stack tfoot,table.stack caption{display:block}
  table.stack tr{display:block;padding:10px 12px;border-bottom:1px solid var(--rule)}
  table.stack td{display:flex;justify-content:space-between;gap:14px;border:0;padding:3px 0;text-align:right}
  table.stack td::before{content:attr(data-label);font:600 13px/1.6 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);text-align:left;flex:none}
  table.stack td.main{display:block;text-align:left;font-weight:600;padding-bottom:4px}
  table.stack td.main::before{content:none}
  table.stack td.main .note{font-weight:400}
}
input[type=checkbox]{appearance:none;-webkit-appearance:none;width:24px;height:24px;margin:0;border:2px solid var(--ink);border-radius:3px;background:var(--card);cursor:pointer;flex:none;vertical-align:middle}
input[type=checkbox]:checked{background:var(--done) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/17px no-repeat;border-color:var(--done)}
.stage{background:var(--card);border:1px solid var(--rule)}
.stage header{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:12px 16px;border-bottom:1px solid var(--rule)}
.when{font:500 15px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.count{margin-left:auto;font:500 15px/1 var(--mono);color:var(--ink-2)}
.stage.complete .count{color:var(--done)}
ul.steps{list-style:none;padding:6px 0;gap:0}
ul.steps li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;padding:9px 16px;align-items:start;max-width:none}
ul.steps label{cursor:pointer}
ul.steps li.is-done label{color:var(--ink-2);text-decoration:line-through;text-decoration-color:var(--rule)}
ul.steps li.hold{background:color-mix(in srgb,var(--hivis) 8%,var(--card))}
.badge{display:inline-block;font:700 12px/1.6 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--hivis);border:1.5px solid var(--hivis);padding:0 6px;border-radius:3px;margin-right:4px}
details{background:var(--card);border:1px solid var(--rule);padding:12px 16px}
summary{cursor:pointer;font:600 17px/1.3 var(--display);letter-spacing:.06em;text-transform:uppercase}
details ul{list-style:none;padding:0;margin-top:10px;font-size:15px}
footer{max-width:1000px;margin:0 auto;padding:16px 16px 40px;border-top:2px solid var(--ink);font-size:14px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:4px 18px}
