/* small-craft-rowboat-design.css
   Print-friendly stylesheet for US Letter with 1-inch margins.
   Goals: constrain content inside print margins; wrap long URLs; black-on-white.
*/

* { box-sizing: border-box; }
html, body { padding: 0; margin: 0; }
body {
  color: #000;
  background: #fff;
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.38;
}

.page {
  max-width: 980px;
  margin: 0 auto;
  padding: 28px 22px 34px;
}

/* Headings */
h1 { font-size: 1.9rem; margin: 0.2rem 0 0.4rem; }
h2 {
  font-size: 1.25rem;
  margin: 1.1rem 0 0.4rem;
  padding-top: 0.25rem;
  border-top: 1px solid #000;
}
h3 { font-size: 1.05rem; margin: 0.85rem 0 0.25rem; }
p { margin: 0.35rem 0; }

/* Header */
.doc-header .kicker { font-size: 0.95rem; letter-spacing: 0.02em; }
.subtitle { margin-top: 0.1rem; font-size: 1.05rem; }
.meta {
  margin-top: 0.65rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid #000;
}
.meta div { margin: 0.2rem 0; }

/* TOC */
.toc {
  margin-top: 1.0rem;
  padding: 0.6rem 0.75rem;
  border: 1px solid #000;
}
.toc h2 { border-top: none; padding-top: 0; margin-top: 0; }
.toc ol { margin: 0.35rem 0 0.2rem 1.25rem; }
.toc li { margin: 0.15rem 0; }

/* Links: show full URL text inline; wrap anywhere to prevent margin overflow */
a {
  color: #000;
  text-decoration: underline;
  text-decoration-thickness: from-font;
  text-underline-offset: 0.12em;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Lists */
ul, ol { margin: 0.35rem 0 0.35rem 1.25rem; }
li { margin: 0.2rem 0; }
.checklist li { margin: 0.28rem 0; }

/* Callouts */
.callout {
  border: 1px solid #000;
  padding: 0.55rem 0.7rem;
  margin: 0.6rem 0;
}

/* Footnotes */
.fn a {
  text-decoration: none;
  border: 1px solid #000;
  padding: 0 0.22em;
  margin-left: 0.1em;
  font-size: 0.85em;
  line-height: 1;
  display: inline-block;
  transform: translateY(-0.08em);
}
.footnotes { margin-top: 1.1rem; }
.footnotes ol { margin-left: 1.2rem; }
.footnotes li { margin: 0.45rem 0; }
.fn-back {
  margin-left: 0.35rem;
  text-decoration: none;
  border: 1px solid #000;
  padding: 0 0.35em;
  font-size: 0.9em;
}

/* Footer */
.doc-footer {
  margin-top: 1.2rem;
  border-top: 1px solid #000;
  padding-top: 0.6rem;
  font-size: 0.95rem;
}

/* Print constraints */
@page { size: Letter; margin: 1in; }

@media print {
  body { background: #fff; }

  /* Constrain printable content to text block inside 1-inch margins */
  .page {
    max-width: 6.5in;  /* 8.5in - 2in margins */
    margin: 0;
    padding: 0;
  }

  /* Avoid awkward breaks */
  h2, h3 { page-break-after: avoid; break-after: avoid-page; }
  ul, ol, .callout { page-break-inside: avoid; break-inside: avoid; }
  .toc { page-break-inside: avoid; break-inside: avoid; }

  /* Hide “Back” links in print */
  .fn-back { display: none; }

  /* Start notes on a new page */
  .footnotes { page-break-before: always; break-before: page; }
}
