/* War Box free printables (getwarbox.com/tools). Design & QA, Oct 2026.
   Self-hosted only: no external fonts, scripts or images, so it runs under the site CSP (style-src 'self').
   Flat black-on-coyote. Prints in black and white. Page box fits BOTH US Letter and A4:
   portrait sheets are 188 x 256 mm, landscape 256 x 188 mm, inside 10 mm page margins. */
@font-face{font-family:"Barlow Condensed";font-weight:700;font-style:normal;font-display:swap;src:url("/assets/fonts/BarlowCondensed-Bold.woff2") format("woff2")}
:root{--coyote:#A8865A;--coyote-light:#C9B08A;--coyote-pale:#E9DFCD;--ink:#1F1F1C;--panel:#16170F;--paper:#F4EFE6;--muted:#5C5546;--link:#6E4F26;--on-dark:#ECE6D2;
  --display:"Barlow Condensed","Arial Narrow",sans-serif;--body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Liberation Sans",sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono","DejaVu Sans Mono",monospace;--rule:#1F1F1C;--grid:#8C8577}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.45 var(--body)}
a{color:var(--link)}
:focus-visible{outline:3px solid var(--ink);outline-offset:2px}

/* ---------- screen chrome (never printed) ---------- */
.bar{position:relative;background:var(--panel);color:var(--on-dark);overflow:hidden}
.bar .camo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.bar .in{position:relative;max-width:1100px;margin:0 auto;padding:18px 20px;display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between}
.bar .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--on-dark);background:rgba(22,23,15,.92);padding:8px 14px 8px 8px;border-radius:10px}
.bar .brand img{width:40px;height:40px;border-radius:8px}
.bar .brand b{font:700 26px/1 var(--display);letter-spacing:.04em}
.bar .brand span{display:block;font:600 11px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--coyote-light)}
.bar nav{display:flex;flex-wrap:wrap;gap:8px;background:rgba(22,23,15,.92);padding:8px;border-radius:10px}
.bar nav a,.bar nav button{font:600 13px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark);text-decoration:none;border:1px solid rgba(236,230,210,.35);background:transparent;border-radius:6px;padding:10px 12px;min-height:40px;cursor:pointer}
.bar nav a[aria-current="page"]{background:var(--coyote);color:var(--ink);border-color:var(--coyote)}
.bar nav .print{background:var(--coyote-light);color:var(--ink);border-color:var(--coyote-light)}
.intro{max-width:1100px;margin:0 auto;padding:22px 20px 6px}
.intro h1{font:700 40px/1 var(--display);margin:0 0 8px}
.intro p{margin:0 0 10px;max-width:70ch}
.intro ul{margin:0 0 10px;padding-left:20px;max-width:80ch}
.intro .hint{font:600 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sheets{overflow-x:auto;padding:16px 20px 28px}
.cta{max-width:1100px;margin:0 auto 40px;padding:0 20px}
.cta div{background:var(--ink);color:var(--on-dark);border-radius:14px;padding:22px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.cta p{margin:0;max-width:62ch}
.cta strong{font:700 26px/1.05 var(--display);display:block;margin-bottom:4px;color:var(--on-dark)}
.cta a{display:inline-block;background:var(--coyote);color:var(--ink);font:700 15px/1 var(--body);text-decoration:none;padding:14px 18px;border-radius:8px}
.sitefoot{max-width:1100px;margin:0 auto;padding:0 20px 30px;font-size:13px;color:var(--muted)}

/* ---------- the sheet ---------- */
.page{width:188mm;height:256mm;margin:0 auto 10mm;background:#fff;color:var(--ink);display:flex;flex-direction:column;overflow:hidden;font:400 8.6pt/1.25 var(--body);position:relative}
.page.land{width:256mm;height:188mm}
@media screen{.page{box-shadow:0 0 0 1px rgba(31,31,28,.18),0 6px 24px rgba(31,31,28,.12);padding:0}.page>.pin{padding:0}}
.sh{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:3mm;padding-bottom:1.6mm;border-bottom:.5mm solid var(--rule);position:relative}
.sh .strip{position:absolute;left:0;right:0;bottom:-2.6mm;height:2mm;overflow:hidden}
.sh .strip img{width:100%;height:100%;object-fit:cover;display:block}
.sh .mark{width:9mm;height:9mm;display:block}
.sh .t{display:flex;flex-direction:column;gap:.4mm}
.sh .wm{font:700 9pt/1 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.sh h2{font:700 20pt/.9 var(--display);margin:0;letter-spacing:.01em;text-transform:uppercase}
.sh .meta{font:700 8pt/1.2 var(--display);letter-spacing:.08em;text-transform:uppercase;text-align:right}
.sh .meta .tag{display:inline-block;border:.35mm solid var(--ink);padding:.6mm 1.6mm;margin-bottom:1mm}
.sh .meta .ln{display:inline-block;min-width:16mm;border-bottom:.25mm solid var(--ink)}
.body{flex:1;display:flex;flex-direction:column;gap:2.6mm;padding-top:4.2mm;min-height:0}
.sf{display:flex;justify-content:space-between;align-items:center;border-top:.25mm solid var(--ink);padding-top:1.2mm;margin-top:2mm;font:700 7.5pt/1 var(--display);letter-spacing:.08em;text-transform:uppercase}
.sf .site{font-size:8.5pt;letter-spacing:.06em}
.sf .muted{color:var(--muted)}

/* section heads */
.sec{display:flex;flex-direction:column;gap:1.2mm;flex-shrink:0}
.sec>h3{font:700 10pt/1 var(--display);letter-spacing:.08em;text-transform:uppercase;margin:0;display:flex;align-items:center;gap:2mm}
.sec>h3::before{content:"";width:2.2mm;height:2.2mm;background:var(--coyote);border:.25mm solid var(--ink);flex:none}
.sec>h3 small{font:400 7pt/1 var(--body);letter-spacing:0;text-transform:none;color:var(--muted)}
.grow{flex:1}

/* field grids */
.fg{display:grid;gap:0;border-top:.25mm solid var(--grid);border-left:.25mm solid var(--grid)}
.fg.c2{grid-template-columns:repeat(2,1fr)}.fg.c3{grid-template-columns:repeat(3,1fr)}.fg.c4{grid-template-columns:repeat(4,1fr)}.fg.c5{grid-template-columns:repeat(5,1fr)}.fg.c6{grid-template-columns:repeat(6,1fr)}
.f{border-right:.25mm solid var(--grid);border-bottom:.25mm solid var(--grid);padding:.7mm 1.3mm .5mm;min-height:9.6mm;display:flex;flex-direction:column;gap:.4mm;min-width:0}
.f.s2{grid-column:span 2}.f.s3{grid-column:span 3}.f.s4{grid-column:span 4}
.f .l{font:700 6.6pt/1.05 var(--display);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.f .v{font:400 8pt/1.18 var(--body);color:var(--ink);overflow-wrap:anywhere}
.f .opts{display:flex;flex-wrap:wrap;gap:.6mm 2.6mm;font:400 7.6pt/1.2 var(--body)}
.cb{display:inline-flex;align-items:center;gap:1mm;white-space:nowrap}
.cb::before{content:"";width:2.8mm;height:2.8mm;border:.3mm solid var(--ink);flex:none;background:#fff}
.cb.on::before{background:linear-gradient(45deg,transparent 43%,var(--ink) 43%,var(--ink) 57%,transparent 57%),linear-gradient(-45deg,transparent 43%,var(--ink) 43%,var(--ink) 57%,transparent 57%),#fff}

/* tables */
table.t{width:100%;border-collapse:collapse;table-layout:fixed}
.t th{font:700 6.8pt/1.05 var(--display);letter-spacing:.06em;text-transform:uppercase;text-align:left;vertical-align:bottom;background:var(--coyote-pale);border:.25mm solid var(--ink);padding:.9mm 1.1mm}
.t td{border:.25mm solid var(--grid);padding:.3mm 1.1mm;vertical-align:middle;height:6.6mm;font:400 7.5pt/1.08 var(--body);overflow:hidden;overflow-wrap:anywhere}
.t td.n,.t th.n{text-align:right}
.t td.c,.t th.c{text-align:center}
.t td.lbl{font:700 7.6pt/1.1 var(--display);letter-spacing:.05em;text-transform:uppercase;background:#faf7f1}
.t.tall td{height:7.4mm}
.t.short td{height:5.6mm}
.t.xs td{height:5mm}
.t tr.tot td{font-weight:700;border-top:.5mm solid var(--ink);height:7mm}
.t td .sub{display:block;font:400 6.4pt/1.15 var(--body);color:var(--muted)}
.t td.ml{white-space:pre-line}

/* PACE level column */
.lv{display:flex;align-items:center;gap:1.4mm}
.lv b{font:700 15pt/1 var(--display);width:6.2mm;height:6.2mm;display:inline-flex;align-items:center;justify-content:center;border:.4mm solid var(--ink)}
.lv span{font:700 7.4pt/1 var(--display);letter-spacing:.05em;text-transform:uppercase}
.t.pace td{height:13mm;font-size:7.1pt;vertical-align:top;padding-top:.8mm}
.t.pace td.lvc{vertical-align:middle}

/* notes, tips */
.note{border:.25mm solid var(--ink);padding:1.4mm 2mm;font:400 7.4pt/1.3 var(--body)}
.note b{font-weight:700}
.note.pale{background:var(--coyote-pale);border-color:var(--coyote-pale)}
.lines{border-top:.25mm solid var(--grid)}
.lines div{border-bottom:.25mm solid var(--grid);height:6.6mm}
.cols{display:grid;gap:3mm;min-height:0}
.cols.c2{grid-template-columns:1fr 1fr}
.cols.c32{grid-template-columns:3fr 2fr}
.cols.c23{grid-template-columns:2fr 3fr}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4mm 4mm;font:400 7.3pt/1.28 var(--body)}
.why p{margin:0}
.why b{font:700 7.6pt/1 var(--display);letter-spacing:.06em;text-transform:uppercase}

/* DOPE cut-out cards */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:4mm}
.card{border:.35mm dashed var(--ink);padding:1.6mm 2mm;display:flex;flex-direction:column;gap:1mm}
.card .ch{display:flex;justify-content:space-between;font:700 7.6pt/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.card .cm{font:400 6.6pt/1.2 var(--mono)}
.card .t td{height:3.85mm;font-size:7pt;padding:0 1mm}
.card .t th{font-size:6.4pt;padding:.5mm 1mm}
.cut{font:700 6.4pt/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}
.wind{display:flex;gap:3mm;align-items:stretch}
.wind .note{flex:1}

/* ---------- print ---------- */
@page{size:auto;margin:10mm}
@page land{size:landscape;margin:10mm}
.page.land{page:land}
@media print{
  body{background:#fff}
  .bar,.intro,.cta,.sitefoot,.noprint{display:none!important}
  .sheets{padding:0;overflow:visible}
  .page{margin:0 auto;box-shadow:none;break-after:page;page-break-after:always}
  .page:last-child{break-after:auto;page-break-after:auto}
}
.stack{display:flex;flex-direction:column;gap:2.6mm;min-width:0}
.t.rp td{height:10.5mm}
.body>*{flex-shrink:0}.body>.grow{flex-shrink:1}
.grow{display:flex;flex-direction:column;min-height:14mm}
.grow>.lines{flex:1;min-height:6.6mm;background:repeating-linear-gradient(to bottom,transparent 0,transparent 6.35mm,var(--grid) 6.35mm,var(--grid) 6.6mm);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.grow>.lines div{display:none}
.t tr.tot td.totl{text-align:right;font:700 7.5pt/1 var(--display);letter-spacing:.08em;text-transform:uppercase}.t tr.tot td{font-weight:700}
.t.eq td{height:6.6mm;font-size:7.2pt;line-height:1.08}
.t.eq tr.spr td{height:6.6mm}
.t.eq td.lbl{font:700 7pt/1.05 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.fg.c8{grid-template-columns:repeat(8,1fr)}

/* /tools index */
.tlist{list-style:none;max-width:1100px;margin:0 auto;padding:10px 20px 30px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.tcard{background:#fff;border:2px solid var(--ink);border-radius:12px;padding:16px 18px}
.tcard h2{font:700 26px/1 var(--display);text-transform:uppercase;margin:0 0 8px}
.tcard p{margin:0 0 10px;font-size:15px}
.tcard .links{font-weight:600;margin:0}

/* column widths (generated by build.py) */
.w-am-lg th:nth-child(1){width:7.94%}
.w-am-lg th:nth-child(2){width:8.73%}
.w-am-lg th:nth-child(3){width:26.19%}
.w-am-lg th:nth-child(4){width:5.56%}
.w-am-lg th:nth-child(5){width:5.56%}
.w-am-lg th:nth-child(6){width:8.73%}
.w-am-lg th:nth-child(7){width:32.54%}
.w-am-lg th:nth-child(8){width:4.76%}
.w-am-oh th:nth-child(1){width:8.80%}
.w-am-oh th:nth-child(10){width:18.40%}
.w-am-oh th:nth-child(11){width:8.00%}
.w-am-oh th:nth-child(2){width:20.00%}
.w-am-oh th:nth-child(3){width:8.00%}
.w-am-oh th:nth-child(4){width:6.80%}
.w-am-oh th:nth-child(5){width:5.20%}
.w-am-oh th:nth-child(6){width:6.40%}
.w-am-oh th:nth-child(7){width:5.20%}
.w-am-oh th:nth-child(8){width:5.60%}
.w-am-oh th:nth-child(9){width:7.60%}
.w-dc th:nth-child(1){width:33.33%}
.w-dc th:nth-child(2){width:33.33%}
.w-dc th:nth-child(3){width:33.33%}
.w-dp th:nth-child(1){width:9.57%}
.w-dp th:nth-child(2){width:9.57%}
.w-dp th:nth-child(3){width:9.57%}
.w-dp th:nth-child(4){width:12.77%}
.w-dp th:nth-child(5){width:9.57%}
.w-dp th:nth-child(6){width:10.64%}
.w-dp th:nth-child(7){width:10.64%}
.w-dp th:nth-child(8){width:11.70%}
.w-dp th:nth-child(9){width:15.96%}
.w-fr-acc th:nth-child(1){width:11.70%}
.w-fr-acc th:nth-child(2){width:26.60%}
.w-fr-acc th:nth-child(3){width:12.77%}
.w-fr-acc th:nth-child(4){width:27.66%}
.w-fr-acc th:nth-child(5){width:9.57%}
.w-fr-acc th:nth-child(6){width:11.70%}
.w-fr-mt th:nth-child(1){width:11.70%}
.w-fr-mt th:nth-child(2){width:10.64%}
.w-fr-mt th:nth-child(3){width:40.43%}
.w-fr-mt th:nth-child(4){width:26.60%}
.w-fr-mt th:nth-child(5){width:10.64%}
.w-fr-rc th:nth-child(1){width:11.70%}
.w-fr-rc th:nth-child(2){width:8.51%}
.w-fr-rc th:nth-child(3){width:10.64%}
.w-fr-rc th:nth-child(4){width:26.60%}
.w-fr-rc th:nth-child(5){width:42.55%}
.w-in-1 th:nth-child(1){width:2.73%}
.w-in-1 th:nth-child(10){width:4.69%}
.w-in-1 th:nth-child(11){width:12.89%}
.w-in-1 th:nth-child(2){width:13.28%}
.w-in-1 th:nth-child(3){width:21.88%}
.w-in-1 th:nth-child(4){width:11.72%}
.w-in-1 th:nth-child(5){width:3.52%}
.w-in-1 th:nth-child(6){width:7.81%}
.w-in-1 th:nth-child(7){width:8.59%}
.w-in-1 th:nth-child(8){width:7.81%}
.w-in-1 th:nth-child(9){width:5.08%}
.w-in-2 th:nth-child(1){width:2.73%}
.w-in-2 th:nth-child(10){width:4.69%}
.w-in-2 th:nth-child(11){width:12.89%}
.w-in-2 th:nth-child(2){width:13.28%}
.w-in-2 th:nth-child(3){width:21.88%}
.w-in-2 th:nth-child(4){width:11.72%}
.w-in-2 th:nth-child(5){width:3.52%}
.w-in-2 th:nth-child(6){width:7.81%}
.w-in-2 th:nth-child(7){width:8.59%}
.w-in-2 th:nth-child(8){width:7.81%}
.w-in-2 th:nth-child(9){width:5.08%}
.w-pc th:nth-child(1){width:10.94%}
.w-pc th:nth-child(2){width:14.06%}
.w-pc th:nth-child(3){width:13.28%}
.w-pc th:nth-child(4){width:5.86%}
.w-pc th:nth-child(5){width:6.64%}
.w-pc th:nth-child(6){width:16.41%}
.w-pc th:nth-child(7){width:16.41%}
.w-pc th:nth-child(8){width:16.41%}
.w-pc-br th:nth-child(1){width:34.55%}
.w-pc-br th:nth-child(2){width:65.45%}
.w-pc-ch th:nth-child(1){width:3.52%}
.w-pc-ch th:nth-child(10){width:42.58%}
.w-pc-ch th:nth-child(2){width:7.03%}
.w-pc-ch th:nth-child(3){width:7.81%}
.w-pc-ch th:nth-child(4){width:7.81%}
.w-pc-ch th:nth-child(5){width:6.64%}
.w-pc-ch th:nth-child(6){width:9.38%}
.w-pc-ch th:nth-child(7){width:4.69%}
.w-pc-ch th:nth-child(8){width:4.69%}
.w-pc-ch th:nth-child(9){width:5.86%}
.w-pc-eq th:nth-child(1){width:10.57%}
.w-pc-eq th:nth-child(2){width:18.70%}
.w-pc-eq th:nth-child(3){width:12.20%}
.w-pc-eq th:nth-child(4){width:33.33%}
.w-pc-eq th:nth-child(5){width:25.20%}
.w-pc-ra th:nth-child(1){width:10.26%}
.w-pc-ra th:nth-child(2){width:28.21%}
.w-pc-ra th:nth-child(3){width:19.23%}
.w-pc-ra th:nth-child(4){width:19.23%}
.w-pc-ra th:nth-child(5){width:23.08%}
.w-pc-ro th:nth-child(1){width:12.82%}
.w-pc-ro th:nth-child(2){width:24.36%}
.w-pc-ro th:nth-child(3){width:21.79%}
.w-pc-ro th:nth-child(4){width:25.64%}
.w-pc-ro th:nth-child(5){width:15.38%}
