:root{--ink:#1f2933;--muted:#52606d;--accent:#2e5478;--bg:#fbfaf7;--card:#fff;--line:#e4e1d9}
*{box-sizing:border-box}
body{margin:0;font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--accent)}
header.site{border-bottom:1px solid var(--line);background:var(--card)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}
.brand{font-weight:700;font-size:1.15rem;text-decoration:none;color:var(--ink)}
.brand span{color:var(--muted);font-weight:400}
nav a{margin-left:1rem;text-decoration:none}
.wrap{max-width:760px;margin:0 auto;padding:1rem 1.25rem}
h1{line-height:1.25;font-size:1.9rem;margin:.5rem 0}
h2{margin-top:2rem;font-size:1.3rem}
.meta{color:var(--muted);font-size:.9rem}
.tldr{background:#eef3f8;border-left:4px solid var(--accent);padding:.75rem 1rem;border-radius:4px}
.checklist{list-style:none;padding-left:0}
.checklist li{padding:.35rem 0 .35rem 2rem;position:relative;border-bottom:1px dashed var(--line)}
.checklist li::before{content:"☐";position:absolute;left:.25rem;font-size:1.1rem}
.sources li{margin-bottom:.4rem;font-size:.95rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1rem 1.25rem;margin:1rem 0}
.signup{background:var(--card);border:2px solid var(--accent);border-radius:6px;padding:1rem 1.25rem;margin:2rem 0}
.signup h2{margin-top:0}
.signup input[type=email]{width:100%;max-width:340px;padding:.55rem;font-size:1rem;border:1px solid #9aa5b1;border-radius:4px}
.signup button{padding:.55rem 1.1rem;font-size:1rem;background:var(--accent);color:#fff;border:0;border-radius:4px;cursor:pointer}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.small{font-size:.85rem;color:var(--muted)}
footer.site{border-top:1px solid var(--line);margin-top:3rem;color:var(--muted);font-size:.9rem}
@media print{header.site,footer.site,.signup,nav{display:none}}
/* calendar */
.sub{font-weight:400;color:var(--muted);font-size:.7em}
.note{background:#f4f1ea;padding:.5rem .75rem;border-radius:4px}
.box{font-size:1.15rem;margin-right:.25rem}
.cal-page .checklist li{padding-left:.25rem}
.cal-page .checklist li::before{content:none}
.cite{font-size:.8em;text-decoration:none;vertical-align:super}
.guide-link{font-size:.85em;white-space:nowrap}
.printbtn{padding:.5rem 1rem;font-size:1rem;background:var(--accent);color:#fff;border:0;border-radius:4px;cursor:pointer}
.toolbar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.cal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.cal-list{list-style:none;padding:0}.cal-list li{padding:.3rem 0;border-bottom:1px dashed var(--line)}
.print-line{display:none}
@media print{
  @page{size:letter;margin:.5in}
  body{background:#fff;color:#000;font-size:11pt;line-height:1.35}
  header.site,footer.site,.signup,nav,.noprint,.printbtn,.guide-link{display:none!important}
  .wrap{max-width:none;padding:0}
  a{color:#000;text-decoration:none}
  .note,.tldr{background:#fff;border:1px solid #000}
  h1{font-size:17pt;margin:0 0 .3rem}h2{font-size:12.5pt;margin:.7rem 0 .2rem}
  .checklist,.print-list{break-inside:avoid;page-break-inside:avoid}
  .checklist li{border-bottom:1px solid #999;padding:.25rem 0;break-inside:avoid}
  .box{font-size:14pt}
  .sources{font-size:7.5pt;columns:2;column-gap:.3in;margin:0;padding-left:1.4em}.sources li{margin-bottom:0;break-inside:avoid}.src-h{font-size:9pt;margin-top:.5rem}
  .print-line{display:block;margin-top:.6rem}
  .cal-page{break-after:page}
  .season h2{break-after:avoid}
}
/* sub-checklists, how-to fixes, appliance record */
.subcheck{list-style:none;padding-left:1.6rem;margin:.25rem 0 0}
.subcheck li{border-bottom:0!important;padding:.1rem 0!important;font-size:.95em}
.fix{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:.5rem 1.1rem;margin:1rem 0}
.fix h2{margin-top:.5rem}.fixno{display:inline-block;background:var(--accent);color:#fff;border-radius:4px;padding:0 .4rem;font-size:.85em;margin-right:.3rem}
.steps li{margin-bottom:.3rem}.pro{background:#fdf3e7;border-left:4px solid #c27c2c;padding:.4rem .7rem;border-radius:4px}
.vids{margin-top:.2rem}.vids-h{margin-bottom:0}
.toc{columns:2;column-gap:2rem;font-size:.95rem}
table.form{width:100%;border-collapse:collapse;margin:.5rem 0 1rem;font-size:.9rem;background:var(--card)}
table.form th,table.form td{border:1px solid #9aa5b1;padding:.3rem .4rem;text-align:left;vertical-align:top}
table.form th{background:#eef3f8}table.form td{height:2rem}
@media print{
  .record table.form{font-size:9pt;break-inside:auto}.record table.form td{height:.3in}.record table.form tr{break-inside:avoid}
  .record h2{break-before:auto;break-after:avoid}
  .fix{border:1px solid #999;break-inside:avoid;padding:.2rem .6rem;margin:.4rem 0}.pro{background:#fff;border-left:3px solid #000}
  .howto .toc{display:none}.fixno{background:#fff;color:#000;border:1px solid #000}
  .subcheck li{padding:.05rem 0!important}
}
@media print{
  .cal-page .note{display:none}
  .subcheck{columns:2;column-gap:.3in;margin-top:.1rem}
  .cal-page .checklist li{padding:.18rem 0}
  .cal-page .meta{margin:0}
  .sources{font-size:7pt}
}
@media print{.cal-page{font-size:10.5pt}.cal-page h2{margin:.5rem 0 .15rem}.print-line{margin-top:.4rem}}
@media print{.sources{padding-left:2.2em}}
