/* printable cheat sheets: a sheet of paper on screen, the sheet alone in print */
.sh-page{display:flex; flex-direction:column; gap:1rem}
.sh-page > *{max-width:54rem}
.sh-bar{display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:0; font:500 .92rem/1.4 var(--f-ui)}
.sheet{--sh-pad:clamp(1.2rem,4vw,2.6rem); padding:var(--sh-pad); background:var(--panel); border:1px solid var(--line); border-radius:6px; box-shadow:var(--shadow-pop); display:flex; flex-direction:column; gap:1.1rem}
.sheet-head{display:flex; flex-direction:column; gap:.3rem; padding-bottom:.9rem; border-bottom:2px solid var(--ink)}
.sheet-title{margin:0; font:400 clamp(1.8rem,4vw,2.5rem)/1.05 var(--f-head); letter-spacing:-.02em}
.sheet-sub{margin:0; font:italic 400 1.02rem/1.45 var(--f-serif); color:var(--ink-2)}
.sheet-sec{break-inside:avoid}
.sheet-sec h2{margin:0 0 .45rem; font:600 .98rem/1.3 var(--f-ui); color:var(--ink)}
.sheet-sec p,.sheet-sec li{font:400 .96rem/1.5 var(--f-serif); color:var(--ink-2)}
.sheet-sec p{margin:0 0 .4rem}
.sheet-sec ul,.sheet-sec ol{margin:0; padding-left:1.2rem; display:flex; flex-direction:column; gap:.25rem}
.sheet-sec .code{margin:.3rem 0 0; font-size:.82rem; white-space:pre-wrap}
.sheet-table{width:100%; border-collapse:collapse; font:400 .9rem/1.4 var(--f-ui)}
.sheet-table th,.sheet-table td{text-align:left; vertical-align:top; padding:.4rem .5rem .4rem 0; border-bottom:1px solid var(--line-2)}
.sheet-table th{font-weight:600; color:var(--ink)}
.sheet-table td{color:var(--ink-2)}
.sheet-foot{margin-top:auto; padding-top:.7rem; border-top:1px solid var(--line); font:400 .8rem/1.3 var(--f-mono); color:var(--ink-3)}
.sh-list{list-style:none; margin:0; padding:0; border-top:2px solid var(--ink); max-width:46rem}
.sh-list li{border-bottom:1px solid var(--line-2)}
.sh-list a{display:flex; flex-direction:column; gap:.15rem; padding:.9rem 0; color:inherit; text-decoration:none}
.sh-list b{font:600 1.05rem/1.3 var(--f-ui)}
.sh-list span{font:400 .98rem/1.5 var(--f-serif); color:var(--ink-2)}
@media (max-width:40rem){ .sheet-table{font-size:.84rem} }

@media print{
  @page{margin:12mm}
  body *{visibility:hidden}
  .sheet,.sheet *{visibility:visible}
  .sheet{--ink:#111; --ink-2:#2b2b2b; --ink-3:#555; --line:#bbb; --line-2:#ddd; --panel:#fff; --bg-2:#f3f3f3;
    position:absolute; left:0; top:0; width:100%; padding:0; border:0; box-shadow:none; background:#fff; color:#111; gap:.7rem}
  .sheet-title{font-size:22pt}
  .sheet-sec p,.sheet-sec li{font-size:9.5pt; line-height:1.4}
  .sheet-table{font-size:9pt}
  .sheet .code{font-size:8pt; background:#f3f3f3; color:#111; border:1px solid #ddd}
  .sheet a{color:#111; text-decoration:none}
}
.sh-bar a{display:inline-flex; align-items:center; min-height:2.4rem}
