/* Helicopter page: coach button, print choice, and print styles (2026-09-26, 10:26 PM).
   Print: US Letter portrait, black on white, serif editorial type. Interactive-only chrome is hidden;
   inputs print as filled-in values; transcripts print open. body.print-pick (set by print-choice.js) prints only the picked parts. */

/* ---------- screen ---------- */
.coach-start { margin: 0 0 1.4rem; padding: 1rem 1.1rem; background: var(--accent-tint); border: 1px solid var(--rule); border-left: 6px solid var(--accent-bright); border-radius: 6px; }
.coach-start-intro { margin: 0 0 0.75rem !important; font-weight: 600; font-size: 1.02rem; }
.coach-start-btn { font-size: 1.05rem; }
.coach-start-sub { margin: 0.6rem 0 0 !important; font-size: 0.92rem; color: var(--muted); }
.print-choice { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.8rem; margin: 1rem 0 0; }
.print-choice[hidden] { display: none; }
.print-choice-note { font-size: 0.88rem; color: var(--muted); }
.print-dialog { margin: auto; inset: 0; width: min(34rem, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); padding: 1.2rem 1.3rem; border: 1px solid var(--rule); border-radius: 8px; background: var(--card, #fffdf8); color: var(--text); }
.print-dialog::backdrop { background: rgba(31, 27, 23, 0.45); }
.print-dialog h2 { font-family: var(--font-head); font-size: 1.25rem; margin: 0 0 0.8rem; }
.print-dialog fieldset { border: 0; padding: 0; margin: 0 0 0.9rem; display: grid; gap: 0.5rem; }
.print-dialog legend { font-weight: 700; font-size: 0.85rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); margin-bottom: 0.4rem; }
.print-dialog label { display: flex; gap: 0.55rem; align-items: flex-start; font-size: 0.97rem; line-height: 1.35; cursor: pointer; }
.print-dialog input { margin-top: 0.2rem; accent-color: var(--accent); flex: 0 0 auto; }
.print-dialog label small { display: block; font-size: 0.85rem; color: var(--muted); }
.print-picks { padding-left: 1.6rem !important; }
.print-picks:disabled { opacity: 0.5; }
.print-hint { font-size: 0.88rem; color: var(--muted); margin: 0 0 0.9rem !important; }
.print-actions { display: flex; gap: 0.6rem; flex-wrap: wrap; }
.print-go { background: var(--accent); color: #fff; border-color: var(--accent); }
.print-go:hover { background: #8a3212; color: #fff; }
.print-go:disabled { opacity: 0.5; cursor: not-allowed; }

/* ---------- print ---------- */
@media print {
  @page { size: letter portrait; margin: 0.5in 0.6in 0.55in; }
  html, body { background: #fff !important; }
  body { color: #111; font-family: Georgia, Cambria, "Times New Roman", "Liberation Serif", "DejaVu Serif", serif; font-size: 10.5pt; line-height: 1.45; }
  main, main * { font-family: Georgia, Cambria, "Times New Roman", "Liberation Serif", "DejaVu Serif", serif !important; box-shadow: none !important; }
  .wrap, main, main article { max-width: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
  main a { color: inherit !important; text-decoration: none !important; }

  /* interactive-only chrome */
  .site-header, .site-footer, .nav-toggle, .skip-link, dialog, .print-choice, main audio, main button, .altitude-actions, .calc-actions, .calc-use,
  .coach-start, .post-cta, .picture-cue, .stop-done, .stop-progress, .next-module, .lesson-visual figcaption a, .transcript > summary, .audio-soon, .unit-checkin { display: none !important; }
  main details > summary { list-style: none; }
  main details > summary::-webkit-details-marker { display: none; }
  main input::placeholder { color: transparent; }

  /* type */
  .post-header { margin: 0 0 12pt; padding: 0 0 8pt; border-bottom: 1.5pt solid #111; }
  .post-kicker, .step-tag, .stop-kicker { font-size: 8pt !important; letter-spacing: 0.12em; text-transform: uppercase; color: #444 !important; font-weight: 400 !important; margin: 0 0 3pt !important; }
  .post-title { font-size: 22pt !important; line-height: 1.15; font-weight: 700; margin: 0 0 4pt !important; color: #111; }
  .post-dek { font-size: 11pt !important; font-style: italic; color: #333 !important; margin: 0 !important; }
  main h2 { font-size: 15pt !important; font-weight: 700; margin: 12pt 0 5pt !important; color: #111; }
  main h3, main h4 { font-size: 12.5pt !important; font-weight: 700; margin: 10pt 0 4pt !important; color: #111; }
  main h2, main h3, main h4, main h5, .step-tag, .stop-kicker, .lesson-audio-title { break-after: avoid; page-break-after: avoid; }
  main p { orphans: 3; widows: 3; max-width: none !important; color: #111; }

  /* sections */
  .unit-step, .unit-step.altitude { margin: 14pt 0 0 !important; padding: 10pt 0 0 !important; border: 0 !important; border-top: 0.75pt solid #999 !important; }
  .lesson-visual { break-inside: avoid; margin: 0 0 10pt !important; }
  .lesson-visual img { width: 100%; max-height: 6.4in; object-fit: contain; border: 0.5pt solid #999 !important; border-radius: 0 !important; }
  .lesson-visual figcaption { font-size: 8.5pt; font-style: italic; color: #444 !important; margin-top: 3pt; }
  .lesson-audio { margin: 0 0 8pt !important; padding: 0 !important; border: 0 !important; background: none !important; }
  .lesson-audio-title { font-size: 12.5pt !important; font-weight: 700; margin: 10pt 0 3pt !important; }
  .lesson-audio-title span { font-size: 9.5pt !important; font-weight: 400; font-style: italic; color: #444 !important; }
  .transcript { border: 0 !important; background: none !important; margin: 0 !important; }
  .transcript-body { padding: 0 !important; }
  .transcript-body::before { content: "Transcript"; display: block; font-size: 8pt; letter-spacing: 0.12em; text-transform: uppercase; color: #444; margin: 2pt 0 4pt; }
  .read-along { font-size: 10.5pt !important; }
  .read-along p { margin: 0 0 6pt !important; }
  .handoff-line { font-size: 11.5pt !important; font-style: italic; border-left: 2pt solid #111 !important; padding-left: 8pt !important; margin: 0 0 8pt !important; }
  .altitude-check, .ra-do { background: none !important; padding: 0 !important; margin: 0 0 5pt !important; }
  .stop-overview, .lesson-try { background: none !important; border: 0.75pt solid #999 !important; border-radius: 0 !important; padding: 7pt 9pt !important; margin: 0 0 9pt !important; break-inside: avoid; }
  .stop-overview a { color: inherit !important; }
  .stop-nudge { font-style: italic; }
  .stop-card { background: none !important; border: 0.75pt solid #999 !important; border-left: 3pt solid #111 !important; border-radius: 0 !important; padding: 7pt 10pt !important; margin: 0 0 9pt !important; max-width: none !important; break-inside: avoid; }
  .stop-card p { font-size: 10.5pt !important; }

  /* calculator, in place */
  main .numbers-calc { max-width: none !important; margin: 10pt 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font-size: 10pt; }
  body:not(.print-pick) main .numbers-calc { break-before: page; }
  main .numbers-calc h4 { font-size: 15pt !important; margin: 2pt 0 4pt !important; }
  main .numbers-calc .calc-h { font-size: 13pt !important; margin: 12pt 0 5pt !important; padding: 6pt 0 0 !important; border-top: 1.25pt solid #111 !important; break-after: avoid; }
  main .numbers-calc .calc-part:first-of-type .calc-h { margin-top: 8pt !important; }
  main .numbers-calc .calc-h small, main .numbers-calc label small, main .numbers-calc .calc-sub small { font-size: 8pt !important; color: #444 !important; font-style: italic; }
  main .calc-note { font-size: 9pt !important; font-style: italic; color: #333 !important; margin: 0 0 5pt !important; }
  main .calc-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 4pt 10pt !important; margin: 0 0 6pt !important; }
  main .numbers-calc label { font-size: 8.5pt !important; font-weight: 700; gap: 1pt !important; break-inside: avoid; }
  main .numbers-calc input, main .numbers-calc select { font-size: 10.5pt !important; font-weight: 400; border: 0 !important; border-bottom: 0.75pt solid #777 !important; border-radius: 0 !important; padding: 1pt 0 !important; background: none !important; -webkit-appearance: none; appearance: none; color: #111; }
  main .numbers-calc input[type="checkbox"], main .numbers-calc input[type="radio"] { -webkit-appearance: auto; appearance: auto; border: 0 !important; width: 10pt; height: 10pt; }
  main .calc-check { font-size: 9pt !important; margin: 0 0 4pt !important; }
  main .calc-mode { font-size: 9.5pt !important; margin: 0 0 4pt !important; }
  main .calc-toggle { border: 0; padding: 0; margin: 0 0 5pt; display: flex; gap: 12pt; font-size: 9pt; }
  main .calc-toggle legend { font-weight: 700; font-size: 8.5pt; }
  main .calc-sub { margin: 6pt 0 3pt !important; font-size: 10pt; }
  main .calc-steps { margin: 4pt 0 7pt 14pt !important; gap: 1.5pt !important; font-size: 10pt; line-height: 1.4; }
  main .calc-steps li { break-inside: avoid; }
  main .calc-dl { grid-template-columns: repeat(4, 1fr) !important; gap: 4pt !important; margin: 0 0 7pt !important; break-inside: avoid; }
  main .calc-dl div { background: none !important; border: 0.75pt solid #999; border-radius: 0 !important; padding: 3pt 5pt !important; break-inside: avoid; }
  main .calc-dl dt { font-size: 7.5pt !important; color: #444 !important; text-transform: uppercase; letter-spacing: 0.05em; }
  main .calc-dl dt small { text-transform: none; letter-spacing: 0; }
  main .calc-dl dd { font-size: 11pt !important; font-weight: 700; color: #111; }
  main .calc-verdict, main .calc-bottom, main .calc-line { background: none !important; color: #111 !important; }
  main .calc-verdict { border: 0.75pt solid #111; border-radius: 0 !important; padding: 4pt 7pt !important; font-size: 10pt; break-inside: avoid; }
  main .calc-verdict.is-short { border-left: 3pt solid #111; }
  main .calc-scroll { overflow: visible !important; }
  main .calc-table { font-size: 9pt !important; margin: 0 0 5pt !important; break-inside: avoid; }
  main .calc-table th, main .calc-table td { padding: 2pt 4pt !important; border-bottom: 0.5pt solid #999 !important; }
  main .calc-table thead th { font-size: 7.5pt !important; color: #444 !important; }
  main .calc-ratio { display: inline; margin-left: 4pt; font-size: 7.5pt; }
  main .calc-more { border: 0 !important; background: none !important; padding: 0 !important; margin: 4pt 0 !important; }
  main .calc-more > summary { font-weight: 700; font-size: 10pt; margin: 0 0 3pt; }

  /* print choice: calculator only, or picked sections */
  body.print-pick .post-dek { display: none !important; }
  body.print-pick:not(.print-picture) main [data-print="picture"],
  body.print-pick:not(.print-listen) main [data-print="listen"],
  body.print-pick:not(.print-worksheet) main [data-print="worksheet"],
  body.print-pick:not(.print-stops) main [data-print="stops"],
  body.print-pick:not(.print-lifeline) main [data-print-part="lifeline"],
  body.print-pick:not(.print-activity) main [data-print-part="activity"],
  body.print-pick:not(.print-week) main [data-print-part="week"],
  body.print-pick:not(.print-lifeline):not(.print-activity):not(.print-week) main [data-print-calc] { display: none !important; }
  body.print-pick:not(.print-stops) main .coach-step { border-top: 0 !important; margin-top: 0 !important; padding-top: 0 !important; }
  body.print-pick:not(.print-stops) main .numbers-calc .stop-kicker { display: none !important; }

  /* override the screen's !important font rules on cards and kickers */
  main .stop-card p, main .stop-card strong, main .stop-overview p, main .stop-overview li { font-family: Georgia, Cambria, "Times New Roman", "Liberation Serif", "DejaVu Serif", serif !important; font-size: 10.5pt !important; }
  main .stop-card .stop-kicker, main .numbers-calc .stop-kicker, main .step-tag { font: 400 8pt Georgia, Cambria, "Times New Roman", "Liberation Serif", "DejaVu Serif", serif !important; letter-spacing: 0.12em; text-transform: uppercase; color: #444 !important; margin: 0 0 3pt !important; }
  main *:focus, main *:focus-visible { outline: none !important; }
  main .altitude, main .unit-step { background: none !important; border-radius: 0 !important; }
  main .calc-cycle { font-size: 9.5pt !important; border-left: 2pt solid #999 !important; padding: 3pt 8pt !important; margin: 0 0 6pt !important; break-inside: avoid; }
  main .calc-bottom { font-size: 12pt !important; margin: 6pt 0 4pt !important; break-after: avoid; }
  /* each calculator part starts a fresh page when the part before it is printed too */
  body:not(.print-pick) main [data-print-part="activity"], body:not(.print-pick) main [data-print-part="week"],
  body.print-lifeline main [data-print-part="activity"], body.print-activity main [data-print-part="week"],
  body.print-lifeline:not(.print-activity) main [data-print-part="week"] { break-before: page; }
  main .calc-part > .calc-h:first-child { margin-top: 0 !important; }
  main .calc-big td { padding: 1pt 4pt !important; }

  main .numbers-calc label small, main .numbers-calc .calc-h small, main .numbers-calc .calc-sub small { font-size: 7.5pt !important; line-height: 1.25; }
  main .calc-steps { font-size: 9.5pt !important; }
  main .calc-grid { gap: 3pt 10pt !important; margin: 0 0 4pt !important; }
  main .calc-dl { margin: 0 0 5pt !important; }
  main .calc-dl dd { font-size: 10.5pt !important; }

  main .calc-big input { padding: 0 !important; font-size: 9.5pt !important; }
  main .calc-dl div { padding: 2pt 5pt !important; }
  main .calc-verdict { padding: 3pt 6pt !important; }
  main .calc-cycle { margin-bottom: 0 !important; }
}
