/*
 * /print/<product>: one product's whole docs as one document.
 *
 * The layout is the print rules of the approved design (p6-merged.html, from
 * the Manual proposal), which the design kept inside @media print because its
 * print document was hidden on screen. Here the document is a page of its own,
 * so the same rules also apply on screen, inside a sheet that only exists on
 * screen (the last block). docs.css loads first for the type, badges, tables and
 * notes the chapters share with the pages.
 *
 * The book is a brand document, so it wears Blaze (marketing/brand/README.md),
 * whatever the screens' palette is: docs.css's tokens are overridden below, and
 * its headlines are Archivo ExtraCondensed Black in capitals.
 */
@page{size:auto;margin:16mm 15mm 18mm;
  @bottom-left{content:"FFL Monkey Docs";font:7.5pt "JetBrains Mono",monospace;color:#5b5752}
  @bottom-right{content:counter(page);font:7.5pt "JetBrains Mono",monospace;color:#5b5752}}
@page :first{margin:0;@bottom-left{content:none}@bottom-right{content:none}}
body.printdoc{--navy:#121110;--night:#121110;--night2:#2a2826;--tan:#ff5f15;--tanInk:#b83a06;--tanLit:#ff5f15;--tanSoft:#f2eee6;--cream:#faf8f3;--raised:#f2eee6;--stone:#bdb6aa;--text:#121110;--dim:#5b5752;--nightText:#f2eee6;--r:0px;font-size:11pt;font-weight:500;line-height:1.35}
#print{display:block;color:var(--text);font-family:var(--sans)}
#print .print-only{display:block}
#print .cover{position:relative;background:#ff5f15;color:#121110;overflow:hidden;height:100vh;break-after:page;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:flex;flex-direction:column}
#print .cover-in{position:relative;z-index:1;display:block;padding:22mm 18mm 0;flex:1}
#print .cover-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:24px;border-bottom:2px solid #121110}
#print .cover-top img{height:48px;width:auto;display:block}
#print .cover-top .ref{font:700 12px/1.4 var(--mono);color:#121110;text-align:right}
#print .cover-main{padding:48px 0 44px;min-width:0}
#print .kicker{font:700 12px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#121110;margin:0}
#print .cover h1{font-weight:900;font-stretch:62%;font-size:92pt;letter-spacing:-.003em;line-height:.86;text-transform:uppercase;margin:22px 0 26px}
#print .edition{font:700 12px/1.5 var(--mono);color:#121110;display:flex;flex-wrap:wrap;gap:4px 0;margin:0;padding:0;list-style:none}
#print .edition li{margin:0}
#print .edition li+li::before{content:"/";color:#121110;margin:0 12px}
#print .edition b{color:#121110;font-weight:700}
#print .cover .lede{font-size:13pt;font-weight:500;line-height:1.35;color:#121110;max-width:620px;margin:22px 0 0}
#print .cover-print{display:block;position:absolute;z-index:1;left:18mm;right:18mm;bottom:16mm;font:700 8pt/1.5 "JetBrains Mono",monospace;color:#bdb6aa}
#print .cover-print img{display:block;height:20px;width:auto;margin:0 0 10px}
#print .cover::after{content:"";position:absolute;left:0;right:0;bottom:0;height:27%;background:#121110;clip-path:polygon(0 22%,100% 0,100% 100%,0 100%)}
#print .contents{break-after:page}
#print .contents h2{font:700 13px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#b83a06;margin:0 0 8px}
#print .contents ol{list-style:none;margin:0;padding:0;columns:2;column-gap:32px}
#print .contents li{break-inside:avoid;display:flex;gap:10px;padding:3px 0;border-bottom:1px solid var(--border);font-size:10pt;margin:0}
#print .contents li.ph{font:600 10.5px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);border:0;padding-top:12px}
#print .contents li span{font:600 12px/1.6 var(--mono);color:var(--tanInk);min-width:22px}
#print .guide-tip{font:500 9pt/1.6 var(--mono);color:var(--dim);margin:14px 0 0}
#print .part{break-before:page;margin-top:0;background:#121110;color:#f2eee6;position:relative;overflow:hidden;padding:34px;clip-path:polygon(30px 0,100% 0,100% calc(100% - 30px),calc(100% - 30px) 100%,0 100%,0 30px);-webkit-print-color-adjust:exact;print-color-adjust:exact}
#print .part>*{position:relative}
#print .part .pn{font:700 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#ff5f15;margin:0}
#print .part h2{font:900 62pt/.86 var(--sans);font-stretch:62%;letter-spacing:-.003em;text-transform:uppercase;margin:12px 0 14px}
#print .part p{color:#f2eee6;margin:0;max-width:560px;font-size:16px}
#print .part ol{list-style:none;margin:18px 0 0;padding:14px 0 0;border-top:1px solid #bdb6aa;display:flex;flex-wrap:wrap;gap:6px 22px}
#print .part li{font:700 12.5px/1.4 var(--mono);color:#bdb6aa;margin:0}
#print .part li b{color:#ff5f15;font-weight:700;margin-right:6px}
#print .part + .chapter{break-before:avoid;margin-top:28pt}
#print .chapter{display:flow-root;border-top:4px solid var(--tan);margin-top:30pt;padding-top:14pt;break-before:auto}
#print .ch-top{break-inside:avoid}
#print .ch-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px;align-items:start;margin-bottom:22px;break-after:avoid}
#print .ch-num{font-family:var(--mono);color:var(--tanInk);min-width:76px}
#print .ch-num span{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;line-height:1.2}
#print .ch-num b{display:block;font-family:var(--sans);font-size:44pt;line-height:.86;font-weight:900;font-stretch:62%;letter-spacing:-.003em;margin-top:4px}
#print .ch-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font:600 11.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin:2px 0 10px}
#print .ch-head h2{font-weight:900;font-stretch:62%;font-size:32pt;letter-spacing:-.003em;line-height:.86;text-transform:uppercase;margin:0;color:#121110}
#print .lead{font-size:12.5pt;line-height:1.55;color:#121110;margin:0 0 18px}
#print .lead code{font-family:var(--mono);font-size:.84em;background:var(--raised);border:1px solid var(--border);padding:0 4px;border-radius:3px}
#print .ep-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:0 0 12px;padding:9px 10px;background:var(--raised);border:1px solid var(--border);border-radius:3px;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
#print .ep-line code{font:600 15pt/1.3 var(--mono);color:var(--text)}
#print .ep-line .m{width:auto;padding:5px 8px 4px}
#print .epfacts{margin:0 0 14px}
#print .wrap{max-width:none;padding:0;line-height:1.35}
#print .wrap .facts{margin:0 0 6pt;break-inside:avoid}
#print .sec{padding:14pt 0 6pt}
#print .sec>h2{font-weight:900;font-stretch:62%;font-size:19pt;letter-spacing:0;line-height:.95;text-transform:uppercase;break-after:avoid;display:flex;gap:10px;align-items:baseline}
#print .sec>h2::before{display:none}
#print .sec>h2 code{text-transform:none}
#print *{border-radius:0!important}
#print .reticle{display:none}
#print .m-PUT{border-color:#121110}
#print .sec>h2 .n{font:600 11pt/1 var(--mono);color:var(--tanInk);letter-spacing:0;min-width:2.7em;flex:none}
#print .sec>h3{font-size:12.5pt;break-after:avoid}
#print .note,#print .third,#print .tbl tr,#print .code,#print .keystrip,#print .rcard,#print .checklist li,#print .crumbs,#print .resp li{break-inside:avoid}
#print .note{-webkit-print-color-adjust:exact;print-color-adjust:exact}
#print .tbl{font-size:9.5pt}
#print .keystrip{-webkit-print-color-adjust:exact;print-color-adjust:exact}
#print .rcard{padding:10pt 12pt;margin:0}
#print .cards3{gap:8pt}
#print .miniflow span.b{background:#fff}
#print .m,#print .sc,#print .crumbs li:last-child span,#print .stepno,#print .scope.w{-webkit-print-color-adjust:exact;print-color-adjust:exact}
#print a{color:var(--text);text-decoration:none}
#print .wrap a[href^="http"]::after{content:" (" attr(href) ")";font:8pt "JetBrains Mono",monospace;color:#5b5752;overflow-wrap:anywhere}
#print .pcode{margin:6pt 0 4pt}
#print .pcode-k{font:600 9pt/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tanInk);margin:0 0 6pt}
#print .code{margin:0 0 10pt;background:#fff;border:1px solid #bdb6aa;border-radius:3px;color:#121110;min-width:0}
#print .code-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#f2eee6;padding:4pt 8pt;border-radius:3px 3px 0 0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
#print .code-h .lbl{font:600 11px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#b83a06}
#print .code-h .st{font:600 12px/1 var(--mono);color:#121110;border:1px solid #bdb6aa;border-radius:3px;padding:4px 6px}
#print .code-h .ecode{font:600 11px/1 var(--mono);color:#121110}
#print .code pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;overflow:visible;font:8.6pt/1.55 var(--mono);color:#121110;padding:7pt 9pt}
#print .code .hdrs{padding:6pt 9pt 0;font:8.6pt/1.55 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:#5b5752}
#print .code .hdrs b{color:#b83a06;font-weight:600}
#print .code .nobody{padding:7pt 9pt;font:8.6pt var(--mono);color:#5b5752}
#print .code .tk-k,#print .code .tk-w{color:#121110}
#print .code .tk-w{font-weight:700}
#print .code .tk-s,#print .code .tk-ph{color:#b83a06;background:none}
#print .code .tk-n,#print .code .tk-l{color:#2a2826}
#print .code .tk-c,#print .code .tk-f{color:#5b5752}
#print .code .tk-key{text-decoration:underline dotted;text-decoration-color:#b83a06}
#print .pfields{width:100%;border-collapse:collapse;font-size:9.5pt}
#print .pfields th{text-align:left;font:600 8pt/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#5b5752;padding:5pt 12pt 5pt 9pt;border-bottom:1px solid #e3ddd2;white-space:nowrap;vertical-align:top;width:1%}
#print .pfields td{font:8.6pt/1.5 var(--mono);padding:5pt 9pt 5pt 0;border-bottom:1px solid #e3ddd2;white-space:pre-wrap;overflow-wrap:anywhere}
#print .pfields tr:last-child th,#print .pfields tr:last-child td{border-bottom:0}
#print .pcode .fine{margin:0 0 8pt}
#print .endnote{margin-top:36pt;padding-top:12pt;border-top:4px solid var(--tan);font:500 9pt/1.6 var(--mono);color:var(--dim);break-inside:avoid}

/* ===== on screen only: the document as a sheet, with a way back ===== */
@media screen{
  body.printdoc{background:var(--raised)}
  .print-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 24px;background:var(--cream);border-bottom:4px solid var(--tan);font-size:15px}
  .print-bar .btn{min-height:36px}
  .print-bar a.back{font-weight:600}
  #print{max-width:210mm;margin:24px auto 64px;padding:16mm 15mm 18mm;background:#fff;border:1px solid var(--border);border-radius:var(--r)}
  #print .cover{height:auto;aspect-ratio:210/297;margin:-16mm -15mm 16mm}
  #print .contents{padding-bottom:16mm;border-bottom:1px dashed var(--stone);margin-bottom:16mm}
  #print .part{margin-top:22mm}
}
@media screen and (max-width:640px){
  .print-bar{padding:10px 16px}
  #print{margin:0;border:0;border-radius:0;padding:24px 16px}
  #print .cover{aspect-ratio:auto;margin:-24px -16px 24px}
  #print .cover-in{padding:24px 20px 150px}
  #print .cover-top{flex-wrap:wrap}
  #print .cover-top img{height:36px}
  #print .cover-top .ref{text-align:left}
  #print .cover h1{font-size:56pt}
  #print .cover-print{left:20px;right:20px;bottom:20px}
  #print .contents ol{columns:1}
  #print .ch-head{grid-template-columns:minmax(0,1fr);gap:8px}
  #print .part{padding:22px}
  #print .part h2{font-size:44pt}
}
@media print{
  html,body{background:#fff!important}
  .print-bar{display:none!important}
}
