/* compare-print.css — the printed Compare schools page (js/compare-print.js).
   #cps-sheet only shows while body.compare-printing is set; the map composer's print rules
   (style.css section 7) hide it otherwise. Fixed black-and-white colors, never the theme tokens,
   so dark mode cannot reach the paper; marks differ by shape (filled dot, dashed state line). */

.cd-head-acts { display: flex; flex-wrap: wrap; gap: 8px; }
#cd-print { min-height: 32px; }

#cps-sheet { display: none; }

/* On screen the sheet is laid out off-screen only while printing, so it can be measured (fit to one page). */
body.compare-printing > #cps-sheet {
  display: block; position: fixed; left: -20000px; top: 0; visibility: hidden;
}

#cps-sheet {
  width: 10.2in; box-sizing: border-box; background: #fff; color: #000;
  font-family: var(--font, Inter, system-ui, sans-serif); font-size: 8pt; line-height: 1.3;
  color-scheme: light;
  /* local tokens: minicharts.css and style.css read these */
  --mc-accent: #000; --mc-ink: #000; --mc-ctx: #333; --mc-track: #D6D6D6; --mc-surface: #fff;
  --text: #000; --ink: #000; --muted: #333; --border: #9A9A9A; --bg: #EFEFEF; --track: #D6D6D6;
}
#cps-sheet h1 { margin: 0; font-size: 17pt; line-height: 1.15; color: #000; }
#cps-sheet h2 { margin: 0 0 3pt; font-size: 10pt; color: #000; }
.cps-sub { margin: 2pt 0 0; font-size: 8pt; color: #333; }
.cps-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14pt;
  padding-bottom: 5pt; border-bottom: 1.5pt solid #000; margin-bottom: 7pt; }
.cps-schools { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, auto)); gap: 2pt 14pt; font-size: 8.5pt; font-weight: 700; }
.cps-schools li { display: flex; align-items: center; gap: 5pt; min-width: 0; }
#cps-sheet .mc-letter { width: 15pt; height: 15pt; font-size: 7.5pt; border: 1.2pt solid #000; color: #000; border-radius: 3pt; background: #fff; }

.cps-body { display: grid; grid-template-columns: minmax(0, 1fr) 3.55in; gap: 12pt; align-items: start; }
.cps-table { width: 100%; border-collapse: collapse; font-size: 7.6pt; min-width: 0 !important; }
.cps-table th, .cps-table td { padding: 2.2pt 4pt; border-bottom: .6pt solid #9A9A9A; text-align: left; vertical-align: top; color: #000; }
.cps-table th[scope=row] { font-weight: 600; color: #000; width: 1.45in; }
.cps-table tr:first-child th { vertical-align: bottom; border-bottom: 1pt solid #000; }
.cps-table .cd-school { font-size: 8pt; font-weight: 700; color: #000; }
.cps-table .cd-school { display: flex; align-items: flex-start; gap: 4pt; }
.cps-table .cd-school .mc-letter { vertical-align: 0; margin: 0; }
.cps-table .cd-group th { background: #EFEFEF; font-size: 6.8pt; text-transform: uppercase; letter-spacing: .4pt; font-weight: 700; padding: 1.6pt 4pt; }
.cps-table .cd-val { font-weight: 700; font-variant-numeric: tabular-nums; }
.cps-table .cd-state { color: #333; font-style: italic; font-size: inherit; width: .55in; }
.cps-table .cd-na { color: #333; }
.cps-small { margin: 4pt 0 0; font-size: 7pt; color: #333; }

.cps-dps { display: flex; flex-direction: column; gap: 5pt; }
#cps-sheet .mc-dp { padding: 4pt 6pt; border: .6pt solid #9A9A9A; border-radius: 4pt; background: #fff; break-inside: avoid; }
#cps-sheet .mc-dp-title { font-size: 8pt; margin-bottom: 1pt; }
#cps-sheet .mc-dp-row, #cps-sheet .mc-dp-axis { grid-template-columns: 17pt minmax(0, 1fr) 2.6em; gap: 4pt; font-size: 7.5pt; }
#cps-sheet .mc-dp-text { display: none; }            /* the letters A–D are named at the top */
#cps-sheet .mc-dp-axis { font-size: 6.5pt; margin-top: 0; color: #333; }
#cps-sheet p.mc-dp-ref { margin-top: 1pt; font-size: 6.8pt; color: #333; }
#cps-sheet p.mc-dp-say { margin-top: 1pt; font-size: 7.3pt; color: #000; }
#cps-sheet .mc-dot { fill: #000; stroke: #fff; stroke-width: 1.5; }
#cps-sheet .mc-tick { stroke: #000; stroke-width: 1.4; stroke-dasharray: 2.5 1.5; stroke-linecap: butt; }
#cps-sheet .mc-track { fill: #D6D6D6; }
#cps-sheet .mc-na { color: #333; }

.cps-foot { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12pt; align-items: end;
  margin-top: 7pt; padding-top: 5pt; border-top: .8pt solid #000; }
.cps-foot p { margin: 0; }
.cps-whole { font-size: 8pt; font-weight: 600; color: #000; }
.cps-src { margin-top: 3pt !important; font-size: 6.8pt; color: #333; }
.cps-link { display: flex; align-items: center; gap: 6pt; font-size: 7pt; color: #000; max-width: 2.6in; }
.cps-qr { width: .95in; height: .95in; flex: none; }
.cps-url { font-weight: 700; overflow-wrap: anywhere; }

@media print {
  @page compareprint { size: landscape; margin: .4in; }
  body.compare-printing > *:not(#cps-sheet) { display: none !important; }
  body.compare-printing > #cps-sheet {
    display: block !important; position: static !important; visibility: visible !important; page: compareprint;
  }
  body.compare-printing #cps-sheet, body.compare-printing #cps-sheet * {
    -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important;
  }
}
