/* Print view. Mirrors the PDF layout: Letter page, one inch margins, Courier 12pt,
   centered cues, a narrow dialogue column, indented stage directions. */

:root { color-scheme: light; }
* { box-sizing: border-box; }
body { margin: 0; background: #e9e6df; font-family: "Courier Prime", "Courier New", monospace; color: #111; font-size: 12pt; line-height: 1.5; }

.print-toolbar { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; padding: 12px 24px; background: #0b0b0d; color: #fff; font-family: system-ui, sans-serif; font-size: 14px; }
.print-toolbar button { background: #c9a227; border: 0; padding: 8px 16px; font-weight: 600; cursor: pointer; border-radius: 3px; font-family: inherit; }
.print-toolbar a { color: #e2c35a; }
.print-toolbar .hint { margin-left: auto; color: #a8a49b; font-size: 12px; }

.page {
  background: #fff; width: 8.5in; max-width: 100%; margin: 24px auto; padding: 1in;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

/* Title block */
.source { font-size: 9pt; color: #777; letter-spacing: 0.12em; text-transform: uppercase; margin: 0 0 20pt; }
h1 { font-size: 20pt; text-transform: uppercase; letter-spacing: 0.1em; margin: 0 0 6pt; line-height: 1.2; }
h2 { font-size: 10.5pt; text-transform: uppercase; letter-spacing: 0.14em; margin: 14pt 0 4pt; }
.meta { color: #333; margin: 0; font-size: 10.5pt; }
hr { border: 0; border-top: 0.75pt solid #999; margin: 12pt 0; }
.synopsis { font-style: italic; color: #222; margin: 0 0 8pt; font-size: 11pt; }
.chars { list-style: none; padding: 0; margin: 0; font-size: 11pt; }
.chars li { margin: 0 0 2pt; }
.setting { font-style: italic; margin: 0; font-size: 11pt; }

/* Script body. Column widths match the PDF: 4.5in dialogue, 3in cue, 1.5in direction indent. */
.script-body { margin-top: 20pt; }
.script-body p { margin: 0; }
.script-body .sd { font-style: italic; color: #333; margin: 12pt 0; padding-left: 1.5in; }
.script-body .sd + .sd { margin-top: 8pt; }
.script-body .speech { margin: 14pt 0; break-inside: avoid; page-break-inside: avoid; }
.script-body .cue { width: 3in; margin: 0 auto; text-align: center; font-weight: 700; letter-spacing: 0.08em; }
.script-body .paren { width: 3in; margin: 0 auto; text-align: center; font-style: italic; color: #333; }
.script-body .line { width: 4.5in; max-width: 100%; margin: 0 auto; }
.script-body .line + .line { margin-top: 6pt; }
.script-body .cue { break-after: avoid; page-break-after: avoid; }

.end { text-align: center; font-size: 9pt; letter-spacing: 0.3em; text-transform: uppercase; color: #666; margin: 28pt 0 0; }
footer { margin-top: 36pt; font-size: 8.5pt; color: #777; border-top: 0.75pt solid #ddd; padding-top: 8pt; text-align: center; }

@media (max-width: 700px) {
  .page { padding: 24px 20px; margin: 0; }
  .script-body .sd { padding-left: 1.5em; }
  .script-body .line, .script-body .cue, .script-body .paren { width: auto; }
}

@media print {
  body { background: #fff; font-size: 12pt; }
  .print-toolbar { display: none; }
  .page { box-shadow: none; margin: 0; padding: 0; width: auto; max-width: none; }
  @page { size: auto; margin: 1in; }
  h1, h2 { break-after: avoid; page-break-after: avoid; }
  .title-block { break-after: avoid; }
  footer { position: fixed; bottom: 0; left: 0; right: 0; border: 0; }
  a { color: inherit; text-decoration: none; }
}
