/* benchpresscalc.com - the printable training log (#pw-print) on /bench-press-program and its translations.
   Loaded with media="print" (never blocks rendering). Moved out of the page's inline program CSS;
   bump ?v= in bench-press-program.html when this changes. */
@page { size: auto; margin: 0; }
html, body { background: #fff !important; color: #16130F !important; margin: 0 !important; padding: 0 !important; min-height: 0 !important; }
body > *:not(#pw-print) { display: none !important; }
#pw-print { display: block !important; --ink: #16130F; --ink-2: #4A463F; --ink-3: #8A857B; --rule: #BDB8AD; --rule-2: #DDD9CF; --log-test: #16130F;
  font-family: var(--font-body); color: var(--ink); font-size: 9.6pt; line-height: 1.38; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
#pw-print * { box-sizing: border-box; margin: 0; padding: 0; color: inherit; }
#pw-print [data-phase="test"] { --ph: #16130F; --ph-t: #E9E7E1; }
#pw-print h1, #pw-print h2, #pw-print h3 { font-family: var(--font-heading); text-transform: uppercase; font-weight: 700; letter-spacing: .02em; line-height: 1.1; max-width: none; }
#pw-print p, #pw-print li { max-width: none; }
#pw-print .pp-page { width: 100%; height: 100vh; padding: 10mm 11mm 8mm; display: flex; flex-direction: column; overflow: hidden; background: #fff; break-after: page; page-break-after: always; break-inside: avoid; }
#pw-print .pp-page:last-child { break-after: auto; page-break-after: auto; }
#pw-print .pp-ln { display: inline-block; flex: 1 1 auto; min-width: 18mm; border-bottom: .3mm solid var(--ink); height: 4.6mm; margin-left: 2mm; }
#pw-print .pp-box { display: inline-block; width: 5.2mm; height: 5.2mm; border: .35mm solid var(--ink); border-radius: .6mm; margin: 0 1.1mm 0 0; vertical-align: middle; background: #fff; }
#pw-print .pp-box.sm { width: 3.4mm; height: 3.4mm; margin: 0 1.2mm 0 0; vertical-align: -0.5mm; }
#pw-print .pp-logo { display: block; width: auto; max-width: none; }

#pw-print .pp-run { display: flex; align-items: center; gap: 4mm; padding-bottom: 2.2mm; border-bottom: .5mm solid var(--ink); }
#pw-print .pp-run .pp-logo { height: 8.5mm; }
#pw-print .pp-run-t { font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .12em; font-size: 8pt; font-weight: 600; color: var(--ink-2); min-width: 0; }
#pw-print .pp-run-r { margin-left: auto; font-family: var(--font-heading); font-size: 8.5pt; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; text-align: right; }

#pw-print .pp-map { width: 100%; }
#pw-print .pp-map-bands { display: grid; grid-template-columns: 4fr 4fr 3fr 1fr; gap: 0 1mm; margin-bottom: .8mm; }
#pw-print .pp-map-bands span { font-family: var(--font-heading); text-transform: uppercase; font-size: 6.4pt; letter-spacing: .06em; font-weight: 600; color: var(--ink-2); border-top: 1.1mm solid var(--ph); padding-top: .6mm; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#pw-print .pp-map ol { list-style: none; display: grid; grid-template-columns: repeat(12, 1fr); gap: 1mm; }
#pw-print .pp-map li { background: var(--ph-t); border-radius: .8mm; text-align: center; font-family: var(--font-heading); font-weight: 600; font-size: 7.5pt; line-height: 4.6mm; color: var(--ink-2); }
#pw-print .pp-map li.on { background: var(--ph); color: #fff; font-weight: 700; box-shadow: 0 0 0 .35mm var(--ink); }
#pw-print .pp-map li.on[data-phase="acc"] { color: var(--ink); }
#pw-print .pp-map-lg li { display: flex; align-items: center; justify-content: space-between; padding: 1.4mm 1.6mm; line-height: 1; font-size: 11pt; color: var(--ink); }
#pw-print .pp-map-lg li .pp-box { width: 4mm; height: 4mm; margin: 0; }
#pw-print .pp-map-lg .pp-map-bands span { font-size: 7.5pt; }

#pw-print .pp-cover-top { display: flex; align-items: center; justify-content: space-between; gap: 6mm; padding-bottom: 4mm; border-bottom: .6mm solid var(--ink); }
#pw-print .pp-cover-top .pp-logo { height: 17mm; }
#pw-print .pp-cover-tag { display: flex; flex-direction: column; align-items: flex-end; gap: 1.6mm; font-size: 8.5pt; color: var(--ink-2); text-align: right; }
#pw-print .pp-stamp { font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .2em; font-weight: 700; font-size: 10pt; color: var(--ink); border: .5mm solid var(--ink); padding: 1mm 3mm; border-left: 2.4mm solid #FF5A1F; }
#pw-print .pp-cover h1 { font-size: 27pt; margin: 5mm 0 4mm; letter-spacing: .01em; }
#pw-print .pp-writeins { display: flex; gap: 6mm; margin-bottom: 4mm; }
#pw-print .pp-writeins label, #pw-print .pp-wkwrite label, #pw-print .pp-dayhead label, #pw-print .pp-stat-new { display: flex; align-items: flex-end; font-family: var(--font-heading); text-transform: uppercase; font-size: 7.4pt; letter-spacing: .06em; font-weight: 600; color: var(--ink-2); white-space: nowrap; }
#pw-print .pp-writeins label { flex: 1 1 0; min-width: 0; }
#pw-print .pp-cover h2 { font-size: 12pt; margin: 4.5mm 0 2.2mm; display: flex; align-items: center; gap: 2.5mm; }
#pw-print .pp-cover h2::after { content: ""; flex: 1; border-top: .3mm solid var(--rule); }
#pw-print .pp-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5mm; }
#pw-print .pp-stat { border: .35mm solid var(--ink); border-radius: 1.4mm; padding: 2.2mm 3mm 2.6mm; min-width: 0; }
#pw-print .pp-stat small { display: block; font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .06em; font-size: 7pt; font-weight: 600; color: var(--ink-2); }
#pw-print .pp-stat b { display: flex; align-items: flex-end; font-family: var(--font-heading); font-size: 17pt; line-height: 1.15; margin-top: 1mm; white-space: nowrap; }
#pw-print .pp-stat b i { font-style: normal; font-size: 9pt; font-weight: 600; margin-left: 1.2mm; padding-bottom: .9mm; color: var(--ink-2); }
#pw-print .pp-stat b.pp-stat-range { font-size: 13pt; white-space: normal; }
#pw-print .pp-stat-main { border-width: .6mm; }
#pw-print .pp-stat-main b { font-size: 22pt; }
#pw-print .pp-stat-write { border-style: dashed; }
#pw-print .pp-stat-write .pp-ln { margin: 0; height: 7mm; min-width: 0; border-bottom-width: .4mm; }
#pw-print .pp-stat-new { margin-top: 2mm; font-size: 6.6pt; }
#pw-print .pp-statline { margin-top: 2mm; font-size: 9pt; color: var(--ink-2); }
#pw-print .pp-blocks { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5mm; margin-top: 3mm; }
#pw-print .pp-blocks li { border-top: 1.4mm solid var(--ph); background: var(--ph-t); padding: 2mm 2.4mm 2.4mm; font-size: 8pt; line-height: 1.3; border-radius: 0 0 1mm 1mm; min-width: 0; }
#pw-print .pp-blocks b { display: block; font-family: var(--font-heading); text-transform: uppercase; font-size: 8.6pt; letter-spacing: .03em; overflow-wrap: anywhere; }
#pw-print .pp-blocks small { display: block; font-family: var(--font-heading); text-transform: uppercase; font-size: 6.8pt; letter-spacing: .06em; color: var(--ink-2); margin-bottom: .8mm; }
#pw-print .pp-expect { font-size: 9.2pt; }
#pw-print .pp-two { display: grid; grid-template-columns: 1.55fr 1fr; gap: 6mm; margin-top: 4.5mm; }
#pw-print .pp-cover h3 { font-size: 10.5pt; margin-bottom: 2mm; }
#pw-print .pp-adj { list-style: none; }
#pw-print .pp-adj li { position: relative; padding-left: 5mm; margin-bottom: 1.5mm; font-size: 8.6pt; }
#pw-print .pp-adj li::before { content: ""; position: absolute; left: .4mm; top: 1.5mm; width: 2.2mm; height: .7mm; background: #FF5A1F; }
#pw-print .pp-safety { border: .35mm solid var(--ink); border-top: 1.6mm solid #FF5A1F; border-radius: 1.2mm; padding: 3mm 3.4mm; font-size: 8.6pt; align-self: start; }

#pw-print .pp-wk { display: grid; grid-template-columns: auto minmax(0, 1fr) 50mm; gap: 5mm; align-items: center; padding: 3.4mm 0 2.8mm; }
#pw-print .pp-wkno { display: flex; flex-direction: column; align-items: center; width: 22mm; padding: 1.6mm 0 1.8mm; border: .6mm solid var(--ink); border-radius: 1.6mm; border-left: 3.2mm solid var(--ph); text-align: center; }
#pw-print .pp-wkno small { font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .1em; font-size: 6.8pt; font-weight: 600; color: var(--ink-2); line-height: 1.1; }
#pw-print .pp-wkno b { font-family: var(--font-heading); font-size: 28pt; line-height: 1; margin: .6mm 0 .8mm; }
#pw-print .pp-wkmeta { min-width: 0; }
#pw-print .pp-phase { font-family: var(--font-heading); text-transform: uppercase; font-weight: 700; font-size: 15pt; line-height: 1.05; letter-spacing: .02em; }
#pw-print .pp-blk { font-size: 8.2pt; color: var(--ink-2); margin: .4mm 0 2mm !important; }
#pw-print .pp-wkwrite { display: flex; flex-direction: column; gap: 3.4mm; }
#pw-print .pp-effort { display: flex; gap: 3mm; align-items: baseline; background: var(--ph-t); border-left: 1.4mm solid var(--ph); padding: 2mm 3mm; font-size: 8.8pt; border-radius: 0 1mm 1mm 0; }
#pw-print .pp-effort b { font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .08em; font-size: 8pt; flex: 0 0 auto; }
#pw-print .pp-cont { display: flex; align-items: center; gap: 3mm; padding: 3mm 0 0; font-family: var(--font-heading); text-transform: uppercase; font-weight: 700; font-size: 11pt; letter-spacing: .03em; }
#pw-print .pp-cont-no { display: inline-block; min-width: 9mm; text-align: center; border: .5mm solid var(--ink); border-left: 2.2mm solid var(--ph); border-radius: 1mm; padding: .6mm 1.6mm; }
#pw-print .pp-day { margin-top: 3.2mm; break-inside: avoid; }
#pw-print .pp-dayhead { display: flex; align-items: flex-end; gap: 5mm; margin-bottom: 1.2mm; }
#pw-print .pp-daytag { font-family: var(--font-heading); text-transform: uppercase; font-weight: 700; font-size: 11pt; letter-spacing: .04em; line-height: 1; padding: 1.2mm 3mm 1.2mm 2.4mm; border: .4mm solid var(--ink); border-left: 2mm solid var(--ph); border-radius: 1mm; white-space: nowrap; }
#pw-print .pp-dayhead label { flex: 0 1 52mm; min-width: 0; }
#pw-print .pp-dayhead .pp-feel { flex: 0 0 auto; margin-left: auto; align-items: center; gap: 1.6mm; }
#pw-print .pp-scale { display: inline-flex; gap: 1mm; }
#pw-print .pp-scale i { font-style: normal; width: 4.6mm; height: 4.6mm; border: .3mm solid var(--ink-2); border-radius: 50%; display: inline-grid; place-items: center; font-size: 6.8pt; color: var(--ink-2); }

#pw-print .pp-t { width: 100%; table-layout: fixed; border-collapse: collapse; font-variant-numeric: tabular-nums; }
#pw-print .pp-t .c-ex { width: 27%; } .pp-t .c-sr { width: 9.5%; } .pp-t .c-w { width: 10%; } .pp-t .c-pct { width: 6.5%; }
#pw-print .pp-t .c-pl { width: 14%; } .pp-t .c-done { width: 17.5%; } .pp-t .c-rpe { width: 5.5%; }
#pw-print .pp-t th { font-family: var(--font-heading); text-transform: uppercase; font-weight: 600; font-size: 6.6pt; letter-spacing: .04em; color: var(--ink-2); text-align: left; padding: 1mm 1.4mm; border-bottom: .45mm solid var(--ink); background: #F4F2EC; overflow-wrap: anywhere; hyphens: auto; line-height: 1.15; vertical-align: bottom; }
#pw-print .pp-t td { border-bottom: .25mm solid var(--rule); padding: 1.6mm 1.4mm; vertical-align: middle; font-size: 9pt; }
#pw-print .pp-t td + td, #pw-print .pp-t th + th { border-left: .25mm solid var(--rule-2); }
#pw-print .pp-ex { vertical-align: top !important; }
#pw-print .pp-ex b { display: block; font-size: 9.3pt; line-height: 1.2; }
#pw-print .pp-warm { display: block; font-size: 7.2pt; color: var(--ink-2); margin-top: .5mm; line-height: 1.28; }
#pw-print .pp-warm em { font-style: normal; font-weight: 700; }
#pw-print .pp-sr { font-weight: 700; overflow-wrap: anywhere; line-height: 1.2; }
#pw-print .pp-w { font-family: var(--font-heading); font-weight: 700; font-size: 10.5pt !important; white-space: nowrap; }
#pw-print .pp-pct { color: var(--ink-2); font-size: 8.2pt !important; white-space: nowrap; }
#pw-print .pp-pl { font-size: 8.2pt !important; }
#pw-print .pp-done { white-space: normal; line-height: 0; }
#pw-print .pp-done .pp-box { margin: .4mm 1mm .4mm 0; }
#pw-print .pp-acc td { background: #FAF9F5; font-size: 8pt; padding: 1.4mm 1.6mm; border-bottom: .45mm solid var(--ink); line-height: 1.6; }
#pw-print .pp-acc b { font-family: var(--font-heading); text-transform: uppercase; font-size: 7pt; letter-spacing: .08em; margin-right: 2.6mm; }
#pw-print .pp-acc span { margin-right: 3mm; white-space: nowrap; display: inline-block; }
#pw-print .pp-t tbody tr:last-child:not(.pp-acc) td { border-bottom: .45mm solid var(--ink); }
/* a long Strength Pack week: tighter rows */
#pw-print .pp-dense .pp-day { margin-top: 2.2mm; }
#pw-print .pp-dense .pp-dayhead { margin-bottom: .8mm; }
#pw-print .pp-dense .pp-daytag { font-size: 10pt; padding: 1mm 2.6mm 1mm 2mm; }
#pw-print .pp-dense .pp-t td { padding: 1mm 1.4mm; font-size: 8.6pt; }
#pw-print .pp-dense .pp-ex b { font-size: 8.8pt; }
#pw-print .pp-dense .pp-warm { font-size: 6.8pt; line-height: 1.2; }
#pw-print .pp-dense .pp-box { width: 4.4mm; height: 4.4mm; }
#pw-print .pp-dense .pp-acc td { padding: 1mm 1.6mm; line-height: 1.5; }
#pw-print .pp-dense .pp-wk { padding: 2.6mm 0 2.2mm; }
#pw-print .pp-dense .pp-effort { padding: 1.6mm 3mm; font-size: 8.4pt; }

#pw-print .pp-loghead { display: flex; align-items: center; gap: 4mm; padding: 4mm 0 2.6mm; }
#pw-print .pp-loghead h2.pp-daytag { font-size: 13pt; --ph: #FF5A1F; }
#pw-print .pp-loghead p { color: var(--ink-2); font-size: 9pt; }
#pw-print .pp-logt td { height: 11.2mm; }
#pw-print .pp-logt th:nth-child(1) { width: 11%; } .pp-logt th:nth-child(2) { width: 11%; } .pp-logt th:nth-child(3) { width: 20%; }
#pw-print .pp-wd { position: relative; }
#pw-print .pp-wd span { position: absolute; top: 1.2mm; font-size: 6.6pt; color: var(--ink-3); font-family: var(--font-heading); }
#pw-print .pp-wd span:first-child { left: 1.4mm; }
#pw-print .pp-wd span:last-child { left: 50%; border-left: .25mm solid var(--rule-2); padding-left: 1.4mm; height: 8.4mm; }
#pw-print .pp-set { position: relative; }
#pw-print .pp-set span { position: absolute; left: 50%; bottom: 1.2mm; transform: translateX(-50%); color: #B8B3A8; font-size: 7pt; }
#pw-print .pp-logt tbody tr:nth-child(4n) td { border-bottom-color: var(--ink-3); }

#pw-print .pp-notes-area { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 14mm; margin-top: 4mm; margin-bottom: 2.5mm; }
#pw-print .pp-notes-area h3 { font-size: 8pt !important; letter-spacing: .1em !important; color: var(--ink-2); margin-bottom: 1mm; }
#pw-print .pp-ruled { flex: 1 1 auto; border-top: .3mm solid var(--rule); background-image: linear-gradient(to bottom, transparent 7.2mm, var(--rule) 7.2mm, var(--rule) 7.45mm, transparent 7.45mm); background-size: 100% 7.5mm; }
#pw-print .pp-locked { font-weight: 700; font-size: 9pt; margin-bottom: 2mm; }
#pw-print .pp-foot { margin-top: auto; display: flex; justify-content: space-between; gap: 6mm; padding-top: 2mm; border-top: .3mm solid var(--ink); font-size: 7.4pt; color: var(--ink-2); }
#pw-print .pp-foot span:last-child { font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .1em; font-weight: 600; color: var(--ink); white-space: nowrap; }
