/* Paper preview styles are isolated from the working interface. */
.publication-paper {
  --pub-ink: #12282b;
  --pub-muted: #516367;
  --pub-rule: #cdd7d8;
  --pub-accent: #126958;
  width: 100%;
  max-width: 816px;
  margin: 0 auto;
  color: var(--pub-ink);
  font-family: Inter, Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  letter-spacing: normal;
}
.publication-paper, .publication-paper * { box-sizing: border-box; }
.publication-paper .publication-sheet {
  width: 100%;
  min-height: 1000px;
  display: flex;
  flex-direction: column;
  margin: 0 0 26px;
  padding: 34px 32px 26px;
  background: #fff;
  border: 1px solid #d6dfe0;
  box-shadow: 0 6px 24px rgb(12 32 35 / 8%);
  overflow: visible;
}
.publication-paper .pub-header { padding: 0 0 21px; margin: 0 0 21px; border-bottom: 3px solid var(--pub-ink); }
.publication-paper .pub-brand-row, .publication-paper .pub-title-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.publication-paper .pub-brand-row { margin-bottom: 25px; }
.publication-paper .pub-logo { display: block; width: 152px; height: 40px; object-fit: contain; }
.publication-paper .pub-demo-tag { padding: 5px 8px; color: var(--pub-muted); border: 1px solid var(--pub-rule); font-size: 9px; font-weight: 650; text-transform: uppercase; letter-spacing: .7px; white-space: nowrap; }
.publication-paper .pub-eyebrow { margin: 0 0 4px; color: var(--pub-accent); font-size: 10px; font-weight: 750; letter-spacing: 1.25px; line-height: 1.4; text-transform: uppercase; }
.publication-paper h2 { margin: 0; color: var(--pub-ink); font-size: 29px; line-height: 1.12; font-weight: 750; letter-spacing: -.9px; }
.publication-paper .pub-header-detail { color: var(--pub-muted); font-size: 10px; line-height: 1.6; text-align: right; }
.publication-paper .pub-sheet-content { flex: 1; min-width: 0; }
.publication-paper .pub-footer { display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; margin-top: 28px; padding-top: 12px; color: var(--pub-muted); border-top: 1px solid var(--pub-rule); font-size: 8px; line-height: 1.5; }
.publication-paper .pub-footer > :last-child { flex-shrink: 0; }
.publication-paper .pub-table { width: 100%; margin: 0; border-collapse: collapse; border-spacing: 0; font-size: 11px; text-align: left; line-height: 1.4; }
.publication-paper .pub-table caption { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.publication-paper .pub-table thead { display: table-header-group; }
.publication-paper .pub-table th { padding: 8px 6px; font-weight: 750; }
.publication-paper .pub-table thead th { color: var(--pub-ink); background: #edf2f1; border-top: 1px solid var(--pub-rule); border-bottom: 1px solid var(--pub-ink); font-size: 9px; letter-spacing: .3px; white-space: nowrap; }
.publication-paper .pub-table td { padding: 6px; border-bottom: 1px solid #e1e7e7; vertical-align: top; }
.publication-paper .pub-table tbody tr:nth-child(even) { background: #f8faf9; }
.publication-paper .pub-table .pub-number { width: 32px; text-align: center; font-variant-numeric: tabular-nums; font-weight: 750; }
.publication-paper .pub-center { text-align: center; }
.publication-paper .pub-nowrap { white-space: nowrap; }
.publication-paper .pub-player-name { font-weight: 600; }
.publication-paper .pub-pronunciation { color: var(--pub-muted); font-size: 10px; }
.publication-paper .pub-captain { display: inline-block; min-width: 13px; margin-left: 2px; padding: 0 2px; border: 1px solid #6a8682; border-radius: 2px; color: #18594e; font-size: 8px; font-weight: 800; line-height: 12px; text-align: center; vertical-align: 1px; }
.publication-paper .pub-roster-with-staff { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(0, 1fr); align-items: start; gap: 24px; }
.publication-paper .pub-roster-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 24px; }
.publication-paper .pub-roster-columns .pub-table { font-size: 10px; }
.publication-paper .pub-roster-columns .pub-table td, .publication-paper .pub-roster-columns .pub-table th { padding: 6px 4px; }
.publication-paper .pub-staff { padding: 16px 0 0; border-top: 3px solid var(--pub-accent); }
.publication-paper .pub-staff h3 { margin: 0; color: var(--pub-ink); font-size: 15px; line-height: 1.25; letter-spacing: -.3px; }
.publication-paper .pub-small-label { margin: 4px 0 19px; color: var(--pub-muted); font-size: 9px; }
.publication-paper .pub-staff dl { display: grid; gap: 18px; margin: 0; }
.publication-paper .pub-staff dt { margin: 0 0 3px; color: var(--pub-muted); font-size: 9px; }
.publication-paper .pub-staff dd { margin: 0; font-size: 12px; font-weight: 700; }
.publication-paper .pub-team-note { margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--pub-rule); }
.publication-paper .pub-team-note > span { font-size: 8px; font-weight: 750; letter-spacing: 1px; }
.publication-paper .pub-team-note > strong { display: block; margin-top: 8px; font-size: 24px; font-weight: 750; line-height: 1.2; letter-spacing: -.7px; }
.publication-paper .pub-team-note p { margin: 13px 0 0; color: var(--pub-muted); font-size: 10px; line-height: 1.6; }
.publication-paper .pub-staff-compact { margin-top: 25px; padding-top: 12px; }
.publication-paper .pub-staff-compact h3 { display: inline; font-size: 12px; }
.publication-paper .pub-staff-compact .pub-small-label { display: inline; margin-left: 8px; }
.publication-paper .pub-staff-compact dl { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 13px; }
.publication-paper .pub-staff-compact dd { font-size: 10px; }
.publication-paper .pub-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 15px 0 0; color: var(--pub-muted); font-size: 9px; }
.publication-paper .pub-legend .pub-captain { margin: 0; }
.publication-paper .pub-unit-banner { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 15px; padding: 11px 14px; color: #fff; background: var(--pub-ink); }
.publication-paper .pub-unit-banner strong { font-size: 12px; letter-spacing: 1.4px; }
.publication-paper .pub-unit-banner span { font-size: 10px; }
.publication-paper .pub-depth-table { table-layout: fixed; }
.publication-paper .pub-depth-table th:first-child { width: 21%; }
.publication-paper .pub-depth-table thead th { font-size: 17px; padding: 9px 10px; }
.publication-paper .pub-depth-table thead th:first-child { font-size: 10px; }
.publication-paper .pub-depth-table thead th span { margin-left: 5px; font-size: 10px; }
.publication-paper .pub-depth-table tbody th { border-bottom: 1px solid #e1e7e7; padding: 10px; }
.publication-paper .pub-depth-table tbody th strong { display: block; font-size: 13px; }
.publication-paper .pub-depth-table tbody th > span { display: block; margin-top: 2px; color: var(--pub-muted); font-size: 9px; font-weight: 400; }
.publication-paper .pub-depth-table td { padding: 10px; vertical-align: middle; }
.publication-paper .pub-depth-player { display: flex; align-items: center; gap: 10px; }
.publication-paper .pub-depth-player > div > strong { display: block; font-size: 11px; }
.publication-paper .pub-depth-player > div > span { display: block; margin-top: 3px; color: var(--pub-muted); font-size: 9px; }
.publication-paper .pub-depth-number { display: grid; width: 29px; min-width: 29px; height: 30px; place-items: center; border: 1px solid var(--pub-rule); border-radius: 3px; font-size: 14px; }
.publication-paper .pub-unassigned { color: var(--pub-muted); font-size: 10px; font-style: italic; }
.publication-paper .pub-scope-note { margin-top: 22px; padding: 12px; color: var(--pub-muted); background: #f3f6f5; border-left: 3px solid #9bb8b1; font-size: 10px; }
.publication-paper .pub-print-personnel { margin: 0 0 12px; padding: 8px 10px; color: var(--pub-accent); background: #eff4f2; font-size: 10px; font-weight: 650; }
.publication-paper .pub-script-summary { display: flex; gap: 30px; padding: 0 0 18px; color: var(--pub-muted); font-size: 10px; }
.publication-paper .pub-script-summary strong { margin-right: 3px; color: var(--pub-ink); font-size: 19px; }
.publication-paper .pub-script-table { font-size: 10px; }
.publication-paper .pub-script-table td { padding: 9px 6px; }
.publication-paper .pub-script-table .pub-period-row { background: #e9f0ee; }
.publication-paper .pub-script-table .pub-period-row th { border-top: 1px solid #c3d1cd; border-bottom: 1px solid #c3d1cd; padding: 7px 9px; color: #28564b; font-size: 10px; }
.publication-paper .pub-period-row span { font-size: 9px; font-weight: 400; }
.publication-paper .pub-script-play { width: 31%; }
.publication-paper .pub-script-play > strong { display: block; font-size: 11px; }
.publication-paper .pub-script-play > span { display: block; margin-top: 4px; color: var(--pub-muted); font-size: 9px; }
.publication-paper .pub-script-notes { width: 26%; overflow-wrap: anywhere; }
.publication-paper .pub-empty { padding: 35px 16px; color: var(--pub-muted); text-align: center; font-size: 12px; }
.publication-paper .pub-card-sheet .pub-header { margin-bottom: 18px; padding-bottom: 16px; }
.publication-paper .pub-card-sheet .pub-brand-row { margin-bottom: 17px; }
.publication-paper .pub-card-sheet .pub-footer { margin-top: 16px; }
.publication-paper .pub-card-grid { display: grid; gap: 16px; }
.publication-paper .pub-play-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #9db2ae; border-radius: 3px; break-inside: avoid; background: #fff; }
.publication-paper .pub-card-heading { display: flex; align-items: center; gap: 10px; padding: 13px; border-bottom: 1px solid #c9d6d2; background: #eff4f2; }
.publication-paper .pub-card-index { display: grid; flex-shrink: 0; width: 30px; height: 34px; place-items: center; color: #fff; background: var(--pub-ink); border-radius: 2px; font-size: 14px; font-weight: 750; }
.publication-paper .pub-card-heading > div { flex: 1; min-width: 0; }
.publication-paper .pub-card-heading p { margin: 0 0 3px; color: var(--pub-muted); font-size: 9px; }
.publication-paper .pub-card-heading h3 { margin: 0; color: var(--pub-ink); font-size: 17px; font-weight: 750; line-height: 1.2; overflow-wrap: anywhere; letter-spacing: -.3px; }
.publication-paper .pub-card-reps { color: var(--pub-ink); font-size: 17px; font-weight: 750; line-height: 1; text-align: center; }
.publication-paper .pub-card-reps small { display: block; margin-top: 4px; color: var(--pub-muted); font-size: 8px; font-weight: 400; }
.publication-paper .pub-card-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; padding: 12px 14px; font-size: 10px; }
.publication-paper .pub-card-meta b { margin-right: 4px; color: var(--pub-muted); font-size: 8px; font-weight: 500; text-transform: uppercase; }
.publication-paper .pub-card-diagram { display: grid; flex: 1; align-items: center; justify-items: stretch; min-height: 110px; margin: 0 10px; }
.publication-paper .pub-card-diagram svg { display: block; width: 100%; height: 100%; max-height: 100%; overflow: visible; }
.publication-paper .pub-diagram-empty { padding: 30px; color: var(--pub-muted); font-size: 11px; text-align: center; }
.publication-paper .pub-card-notes { margin: 10px 14px 14px; padding-top: 9px; border-top: 1px solid var(--pub-rule); }
.publication-paper .pub-card-notes > b { color: var(--pub-muted); font-size: 8px; font-weight: 500; text-transform: uppercase; letter-spacing: .4px; }
.publication-paper .pub-card-notes p { margin: 4px 0 0; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.publication-paper .pub-cards-1 { grid-template-columns: 1fr; }
.publication-paper .pub-cards-1 .pub-play-card { min-height: 715px; }
.publication-paper .pub-cards-1 .pub-card-heading { padding: 19px; }
.publication-paper .pub-cards-1 .pub-card-heading h3 { font-size: 25px; }
.publication-paper .pub-cards-1 .pub-card-heading p { font-size: 12px; }
.publication-paper .pub-cards-1 .pub-card-meta { padding: 17px 20px; font-size: 13px; }
.publication-paper .pub-cards-1 .pub-card-diagram { height: 420px; }
.publication-paper .pub-cards-2 { grid-template-columns: 1fr; }
.publication-paper .pub-cards-2 .pub-play-card { min-height: 350px; }
.publication-paper .pub-cards-2 .pub-card-diagram { height: 190px; min-height: 150px; }
.publication-paper .pub-cards-2 .pub-card-meta { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 9px 14px; gap: 8px; }
.publication-paper .pub-cards-2 .pub-card-meta b { display: block; margin-bottom: 3px; }
.publication-paper .pub-cards-2 .pub-card-notes { margin: 4px 14px 10px; }
.publication-paper .pub-cards-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.publication-paper .pub-cards-4 .pub-play-card { min-height: 350px; }
.publication-paper .pub-cards-4 .pub-card-heading { padding: 11px 9px; gap: 7px; }
.publication-paper .pub-cards-4 .pub-card-heading h3 { font-size: 15px; }
.publication-paper .pub-cards-4 .pub-card-meta { gap: 6px; padding: 10px; font-size: 9px; }
.publication-paper .pub-cards-4 .pub-card-meta b { display: block; margin-bottom: 2px; }
.publication-paper .pub-cards-4 .pub-card-diagram { height: 150px; margin: 0 6px; }
.publication-paper .pub-cards-4 .pub-card-notes { margin: 8px 10px 10px; }
.publication-paper .pub-cards-4 .pub-card-notes p { font-size: 10px; }
.publication-paper .pub-cards-8 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.publication-paper .pub-cards-8 .pub-play-card { min-height: 172px; }
.publication-paper .pub-cards-8 .pub-card-heading { gap: 6px; padding: 6px 8px; }
.publication-paper .pub-cards-8 .pub-card-index { width: 22px; height: 25px; font-size: 10px; }
.publication-paper .pub-cards-8 .pub-card-heading h3 { font-size: 11px; letter-spacing: -.1px; }
.publication-paper .pub-cards-8 .pub-card-heading p { margin-bottom: 2px; font-size: 7px; }
.publication-paper .pub-cards-8 .pub-card-reps { font-size: 12px; }
.publication-paper .pub-cards-8 .pub-card-reps small { margin-top: 2px; font-size: 6px; }
.publication-paper .pub-cards-8 .pub-card-meta { display: flex; flex-wrap: wrap; column-gap: 8px; row-gap: 2px; padding: 5px 8px 2px; font-size: 7px; }
.publication-paper .pub-cards-8 .pub-card-meta b { margin-right: 2px; font-size: 6px; }
.publication-paper .pub-cards-8 .pub-card-diagram { height: 91px; min-height: 75px; margin: 0 6px; }
.publication-paper .pub-cards-8 .pub-card-notes { display: flex; gap: 4px; margin: 3px 8px 6px; padding-top: 4px; }
.publication-paper .pub-cards-8 .pub-card-notes > b { flex-shrink: 0; font-size: 6px; line-height: 1.5; letter-spacing: 0; }
.publication-paper .pub-cards-8 .pub-card-notes p { margin: 0; font-size: 7px; line-height: 1.35; }
@media print {
  @page { size: letter portrait; margin: .3in; }
  body > *:not(#publication-print-root) { display: none !important; }
  body { margin: 0 !important; padding: 0 !important; background: #fff !important; }
  #publication-print-root, #publication-print-root[hidden] { display: block !important; position: static !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
  #publication-print-root .publication-paper { display: block !important; width: 100% !important; max-width: none; margin: 0; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  #publication-print-root .publication-sheet { width: 100%; min-height: 10.25in; margin: 0; padding: .12in .12in .05in; border: 0; box-shadow: none; break-after: page; }
  #publication-print-root .publication-sheet:last-child { break-after: auto; }
  #publication-print-root .pub-table tr, #publication-print-root .pub-staff, #publication-print-root .pub-play-card { break-inside: avoid; }
  #publication-print-root .pub-header, #publication-print-root .pub-footer { break-inside: avoid; }
  #publication-print-root .pub-header { margin-bottom: 15px; padding-bottom: 15px; }
  #publication-print-root .pub-brand-row { margin-bottom: 14px; }
  #publication-print-root .pub-logo { width: 133px; height: 35px; }
  #publication-print-root h2 { font-size: 25px; }
  #publication-print-root .pub-depth-table tbody th, #publication-print-root .pub-depth-table td { padding: 6px 10px; }
  #publication-print-root .pub-card-sheet .pub-header { margin-bottom: 14px; padding-bottom: 14px; }
  #publication-print-root .pub-card-sheet .pub-brand-row { margin-bottom: 14px; }
  #publication-print-root .pub-cards-1 .pub-play-card { min-height: 7.55in; }
  #publication-print-root .pub-cards-2 .pub-play-card { min-height: 3.65in; }
  #publication-print-root .pub-cards-4 .pub-play-card { min-height: 3.65in; }
  #publication-print-root .pub-cards-8 .pub-play-card { min-height: 1.75in; }
}
