/* Shapes carry set membership, probability mass and branching structure. */
table { width: auto; max-width: 100%; table-layout: auto; }
th, td { text-align: left; vertical-align: top; }
.table-wrap { max-width: 100%; overflow-x: auto; margin: 12px 0 16px; }
.table-wrap > table { margin: 0; }
.note-section > .table-wrap { max-width: var(--reading); }
.reference-table td:first-child { width: auto; padding-right: 24px; }
.reference-table td:last-child { width: auto; }
.numeric-table :is(td,th):not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
.frequency-table :is(td,th):not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
.frequency-table thead th { max-width: 105px; vertical-align: bottom; }
.frequency-table th:first-child { min-width: 105px; }
.geometric-figure { padding-top: 12px; }
.figure-heading { font: 700 18px/1.4 var(--sans); margin: 0 0 12px; }
.geometry { display: block; width: 100%; max-width: 430px; height: auto; overflow: visible; color: var(--ink); }
.geometry .outline { fill: none; stroke: currentColor; stroke-width: 1.5; }
.geometry .hatch { stroke: currentColor; stroke-width: 1; opacity: .42; fill: none; }
.geometry .dot { fill: currentColor; opacity: .35; }
.geometry .event-boundary { fill: none; stroke: currentColor; stroke-width: 1.7; }
.geometry .information-boundary { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-dasharray: 6 4; }
.geometry .axis { fill: none; stroke: currentColor; stroke-width: 1; }
.geometry .interval { fill: none; stroke: currentColor; stroke-width: 4; }
.geometry .endpoint { fill: currentColor; }
.geometry .open-endpoint { fill: var(--paper); stroke: currentColor; stroke-width: 1.5; }
.geometry .outcome-marker { fill: var(--paper); stroke: currentColor; stroke-width: .8; }
.geometry .tree-branch { stroke: currentColor; stroke-width: 1.7; fill: none; }
.geometry .conditional-piece { fill: currentColor; opacity: .12; }
.diagram-label { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; gap: 4px; white-space: nowrap; font: 18px/1.2 var(--sans); color: var(--ink); }
.diagram-label .katex { font-size: 1em; }
.diagram-label.region-number { font-size: 17px; }
.diagram-label.piece-label { font-size: 16px; }
.diagram-label.leaf-number { font-size: 24px; font-weight: 700; }
.geometry .diagram-words { font: 17px var(--sans); fill: currentColor; }
.diagram-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; max-width: 760px; }
.diagram-panel-title { font: 700 16px/1.4 var(--sans); margin: 0 0 7px; }
.diagram-panel-note, .diagram-lead { font: 16px/1.5 var(--sans); margin: 4px 0 9px; }
.diagram-panel-note .katex { font-size: 1em; }
.area-model { max-width: 430px; margin: 10px 0 3px; }
.source-note { border-top: 1px solid var(--rule); margin-top: 22px; padding-top: 4px; font: 15px/1.5 var(--sans); }
.source-note summary { font-size: 15px; }
.source-note p { margin: 10px 0; }
@media screen and (max-width:650px) {
  .diagram-pair { grid-template-columns: 1fr; gap: 18px; }
  .geometry { max-width: 400px; }
  .geometry .diagram-words { font-size: 21px; }
  .diagram-label { font-size: 22px; }
  .diagram-label.region-number { font-size: 18px; }
  .diagram-label.piece-label { font-size: 18px; }
  .figure-heading { font-size: 17px; }
  .frequency-table th:first-child { min-width: 82px; }
  .frequency-table thead th { max-width: 75px; }
  .table-wrap { margin: 12px 0 15px; }
  .reference-table td:first-child { padding-right: 0; }
}
@media print {
  .table-wrap { overflow: visible; margin: 7pt 0 10pt; }
  .table-wrap > table { max-width: 100%; }
  .geometric-figure { break-inside: avoid; margin: 10pt 0 12pt; padding-top: 7pt; }
  .figure-heading { font-size: 10pt; margin: 0 0 5pt; }
  .geometry { max-width: 280pt; }
  .diagram-pair { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12pt; }
  .diagram-panel-title { font-size: 9pt; }
  .diagram-panel-note, .diagram-lead { font-size: 9pt; }
  .source-note { font-size: 9pt; }
  .source-note summary { display: none; }
  .source-note p { margin: 5pt 0; }
}

.chapter-subtitle { font: 16px/1.5 var(--sans); color: var(--muted); margin: 9px 0 0; }
@media print { .chapter-subtitle { font-size: 9pt; } }

.diagram-label:is(.region-number,.piece-label,.boundary-label) > .katex { background: var(--paper); padding: 0 3px; }
:is([data-lab=regions],[data-lab=independence]) .mass-key.event-a { background: repeating-linear-gradient(135deg,var(--ink) 0 1px,var(--paper) 1px 5px); }
:is([data-lab=regions],[data-lab=independence]) .mass-key.event-b { background: repeating-linear-gradient(0deg,var(--ink) 0 1px,var(--paper) 1px 5px); }
:is([data-lab=regions],[data-lab=independence]) .mass-key.overlap { background: repeating-linear-gradient(135deg,transparent 0 3px,var(--ink) 3px 4px,transparent 4px 7px),repeating-linear-gradient(45deg,var(--paper) 0 3px,var(--ink) 3px 4px,var(--paper) 4px 7px); }

@media screen and (max-width:650px) { .geometric-figure figcaption { font-size: 16px; } }

@media print { #reference { break-before: page; break-inside: avoid; } .notes-end { display: block !important; border: 0; margin-top: 10pt; padding-top: 0; max-width: none; } .source-note { margin-top: 0; } .sidenote:before { content: ''; } }

@media print { #p3-exercises .exercise, #p3-exercises .solution, #p3-exercises .solution > p { font-size: 11.5pt; line-height: 1.32; } #p3-exercises .exercise h3 { margin: 8pt 0 3pt; } #p3-exercises .exercise p { margin-bottom: 6pt; } #p3-exercises .derivation li { margin-bottom: 3.5pt; } }

@media print { .reference-table :is(td,th) { font: 10pt/1.35 var(--sans); } .reference-table .katex { font-size: 1em; } .reference-table small { display: block; margin-top: 3pt; font: 8.5pt/1.4 var(--sans); } }
