/* =====================================================================
 * NZ Discourse Report — September 2026 (report_2026_09.html.tmpl)
 *
 * Per-report stylesheet, scoped under .report-0926 per the pattern in
 * _report_layout.html.tmpl. The editorial draft drew every SVG mark from
 * CSS classes + custom properties (paper/ink/channel tokens, warm serif
 * type); here those same tokens are re-pointed at the Dossier system —
 * site neutrals, Inter + JetBrains Mono — so the figures read as
 * OpenBrief without touching their geometry.
 *
 * Channel colours and signal red are carried over from the July edition
 * so the series stays visually continuous. All draft classes are
 * namespaced r9-* (app.css styles .grid/.dot/.meta/.timeline globally).
 * ===================================================================== */

.report-0926 {
  --r9-paper: var(--bg-0);          /* figure ground; also the label halo */
  --r9-paper2: var(--bg-1);
  --r9-paperline: #EEF1F4;
  --r9-grid: #E1E6EA;
  --r9-rule: #C4CCD3;
  --r9-ink: #131C26;
  --r9-ink2: #46545F;
  --r9-muted: #7C8B96;
  --r9-mid: #8C99A4;
  --r9-light: #CBD3DA;
  --r9-band: rgba(19, 28, 38, 0.045);
  --r9-press: #175A66;
  --r9-comm: #8A6410;
  --r9-audio: #6A3F79;
  --r9-social: #3C6B44;
  --r9-signal: #BE2C2C;
  --r9-signal-soft: #BE2C2C12;
}

/* --- masthead: period log + display headline + dek -------------------- */
.report-0926 .r9-log {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line); border-radius: var(--r-md);
  background: var(--bg-1); margin: 0;
}
.report-0926 .r9-log div { padding: 12px 14px 14px; border-right: 1px solid var(--line); }
.report-0926 .r9-log div:last-child { border-right: 0; }
.report-0926 .r9-log dt {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--fg-3); margin: 0 0 3px;
}
.report-0926 .r9-log dd {
  margin: 0; font-family: 'JetBrains Mono', monospace;
  font-size: 12px; line-height: 1.45; color: var(--fg-1);
}
.report-0926 .report-body h2.r9-display {
  font-size: clamp(28px, 4.4vw, 42px);
  font-weight: 600; letter-spacing: -0.022em; line-height: 1.06;
  color: var(--fg-0); margin: 32px 0 0; text-wrap: balance;
}
.report-0926 .r9-display em { font-style: normal; color: var(--r9-signal); }
.report-0926 .r9-display span { display: block; color: var(--fg-2); font-weight: 500; margin-top: 4px; }
.report-0926 .report-body .r9-dek {
  font-size: 18.5px; line-height: 1.55; color: var(--fg-1); margin: 18px 0 0;
}

/* --- headline stats ----------------------------------------------------- */
.report-0926 .r9-stats {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  margin: 28px 0 8px;
}
.report-0926 .r9-stat {
  border: 1px solid var(--line); border-radius: var(--r-md);
  background: var(--bg-1); padding: 16px 16px 18px;
}
.report-0926 .r9-val {
  font-size: 28px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.05;
  color: var(--fg-0); font-feature-settings: "tnum";
}
.report-0926 .r9-val.r9-alert { color: var(--r9-signal); }
.report-0926 .r9-lab {
  display: block; margin-top: 8px;
  font-size: 12.5px; line-height: 1.45; color: var(--fg-2);
}

/* --- section eyebrows + summary list ------------------------------------- */
.report-0926 .report-body .r9-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--fg-3); margin: 52px 0 0;
  display: flex; align-items: center; gap: 12px;
}
.report-0926 .r9-eyebrow::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.report-0926 .r9-eyebrow + h2 { margin-top: 10px; }
.report-0926 .r9-findings li { margin-bottom: 12px; }
.report-0926 .r9-findings b { color: var(--fg-0); }

/* --- figures ------------------------------------------------------------- */
.report-0926 .report-body figure.r9-figure {
  margin: 28px 0; padding: 18px 20px 12px;
  border: 1px solid var(--line); border-radius: var(--r-md);
  background: var(--r9-paper);
}
.report-0926 .report-body .r9-fignum {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--fg-3); margin: 0 0 4px;
}
.report-0926 .report-body figcaption.r9-figcap {
  display: grid; grid-template-columns: 1fr auto; column-gap: 16px;
  text-align: left; margin: 0 0 12px;
}
.report-0926 .r9-figcap b,
.report-0926 .r9-figcap span { grid-column: 1; }
.report-0926 .r9-figcap b { font-size: 15.5px; font-weight: 600; color: var(--fg-0); line-height: 1.35; }
.report-0926 .r9-figcap span { font-size: 13.5px; line-height: 1.5; color: var(--fg-2); margin-top: 3px; }
.report-0926 .r9-figcap .report-chart-dl { grid-column: 2; grid-row: 1 / span 2; align-self: start; }

.report-0926 .r9-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 6px 0; }
.report-0926 .r9-scroll svg { display: block; min-width: 640px; width: 100%; height: auto; }

.report-0926 .r9-legend {
  display: flex; flex-wrap: wrap; gap: 6px 18px;
  font-family: 'JetBrains Mono', monospace; font-size: 11.5px;
  color: var(--fg-2); margin: 4px 0 2px;
}
.report-0926 .r9-legend b { color: var(--fg-0); font-weight: 600; }
.report-0926 .r9-sw { display: inline-block; width: 11px; height: 11px; border-radius: 2px; vertical-align: -1px; margin-right: 6px; }
.report-0926 .r9-lk { display: inline-block; width: 18px; height: 0; border-top: 2px solid; vertical-align: 3px; margin-right: 6px; }

.report-0926 .report-body .r9-chartnote {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; line-height: 1.5; color: var(--fg-3); margin: 4px 0 8px;
}
.report-0926 .r9-events {
  list-style: none; padding: 10px 0 0; margin: 8px 0 6px;
  border-top: 1px solid var(--line);
}
.report-0926 .report-body .r9-events li {
  display: grid; grid-template-columns: 76px 1fr; column-gap: 4px;
  font-size: 14px; line-height: 1.5; color: var(--fg-2); margin: 0 0 5px;
}
.report-0926 .r9-events b {
  font-family: 'JetBrains Mono', monospace; font-size: 11.5px; font-weight: 600;
  color: var(--fg-0); padding-top: 2px;
}

/* "Show the data" disclosure */
.report-0926 details.r9-data { margin: 8px 0 4px; border-top: 1px solid var(--line); padding-top: 8px; }
.report-0926 details.r9-data summary {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: 0.06em; color: var(--accent); cursor: pointer;
}
.report-0926 .r9-tablewrap { overflow-x: auto; }
.report-0926 .r9-figure table, .report-0926 table.r9-timeline {
  width: 100%; border-collapse: collapse; margin: 10px 0 6px;
  font-size: 13px; font-feature-settings: "tnum";
}
.report-0926 .r9-figure th {
  text-align: left; font-weight: 600;
  font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--fg-3); border-bottom: 1px solid var(--line-strong);
  padding: 0 10px 6px 0;
}
.report-0926 .r9-figure td {
  padding: 5px 10px 5px 0; border-bottom: 1px solid var(--line); color: var(--fg-1);
}

/* policy timeline (finding 2) */
.report-0926 table.r9-timeline { margin: 14px 0 22px; font-size: 14.5px; }
.report-0926 .r9-timeline td {
  padding: 10px 14px 10px 0; border-bottom: 1px solid var(--line);
  vertical-align: top; color: var(--fg-1); line-height: 1.5;
}
.report-0926 .r9-timeline tr:first-child td { border-top: 1px solid var(--line-strong); }
.report-0926 .r9-timeline tr:last-child td { border-bottom: 1px solid var(--line-strong); }
.report-0926 .r9-timeline td:first-child {
  white-space: nowrap; font-family: 'JetBrains Mono', monospace;
  font-size: 11.5px; color: var(--fg-3); padding-top: 12px;
}
.report-0926 .r9-timeline b { color: var(--fg-0); }

/* --- "Why it matters" callouts + reception ledger ------------------------ */
.report-0926 .r9-why {
  border-left: 3px solid var(--r9-signal);
  background: var(--r9-signal-soft);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  padding: 18px 22px; margin: 26px 0;
}
.report-0926 .r9-why .r9-k {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--r9-signal); display: block; margin-bottom: 8px;
}
.report-0926 .report-body .r9-why p { font-size: 15.5px; line-height: 1.62; margin: 0; }

.report-0926 .r9-ledger {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0;
}
.report-0926 .r9-ledger > div {
  border: 1px solid var(--line); border-radius: var(--r-md);
  background: var(--bg-1); padding: 18px 20px;
}
.report-0926 .r9-ledger h4 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--fg-3); margin: 0 0 10px; font-weight: 600;
}
.report-0926 .report-body .r9-ledger ul { margin: 0; padding-left: 18px; }
.report-0926 .report-body .r9-ledger li { font-size: 14.5px; line-height: 1.55; }

/* --- methodology panel --------------------------------------------------- */
.report-0926 .r9-method {
  border: 1px solid var(--line); border-radius: var(--r-lg);
  background: var(--bg-1); padding: 30px 34px 14px; margin: 56px 0 0;
}
.report-0926 .r9-method .r9-eyebrow { margin-top: 0; }
.report-0926 .report-body .r9-method p { font-size: 14.5px; line-height: 1.65; }

/* --- tooltip --------------------------------------------------------------- */
.report-0926 .r9-tt {
  position: fixed; left: 0; top: 0; z-index: 50; pointer-events: none;
  background: var(--r9-ink); color: #fff;
  font: 11.5px/1.45 'JetBrains Mono', monospace;
  padding: 6px 9px; border-radius: var(--r-sm); max-width: 300px;
  opacity: 0; transition: opacity 0.08s;
}
.report-0926 .r9-tt.on { opacity: 1; }

/* --- SVG marks: the draft's token classes, re-pointed ---------------------- */
.report-0926 svg text { fill: var(--r9-ink2); font-family: 'Inter', system-ui, sans-serif; }
.report-0926 .r9-tick { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; fill: var(--r9-muted); }
.report-0926 .r9-axislabel { font-family: 'JetBrains Mono', monospace; font-size: 10px; fill: var(--r9-muted); }
.report-0926 .r9-month { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: 0.12em; fill: var(--r9-ink2); font-weight: 600; }
.report-0926 .r9-annot,
.report-0926 .r9-flagtext { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; fill: var(--r9-ink2); }
.report-0926 .r9-flagtext { fill: var(--r9-signal); font-weight: 600; }
.report-0926 .r9-endlabel,
.report-0926 .r9-rowlabel { font-size: 13px; font-weight: 600; fill: var(--r9-ink); }
.report-0926 .r9-colhead,
.report-0926 .r9-group { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; fill: var(--r9-muted); }
.report-0926 .r9-value {
  font-family: 'JetBrains Mono', monospace; font-size: 11.5px; font-weight: 600; fill: var(--r9-ink);
  paint-order: stroke; stroke: var(--r9-paper); stroke-width: 3px; stroke-linejoin: round;
}
.report-0926 .r9-annot, .report-0926 .r9-flagtext, .report-0926 .r9-endlabel {
  paint-order: stroke; stroke: var(--r9-paper); stroke-width: 3px; stroke-linejoin: round;
}
.report-0926 .r9-inbar { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; font-weight: 600; }
.report-0926 .r9-inbar-dark { fill: #fff; }
.report-0926 .r9-inbar-light { fill: var(--r9-ink); }
.report-0926 .r9-paper { stroke: var(--r9-paperline); stroke-width: 1; }
.report-0926 .r9-grid { stroke: var(--r9-grid); stroke-width: 1; }
.report-0926 .r9-axis { stroke: var(--r9-rule); stroke-width: 1; }
.report-0926 .r9-divider { stroke: var(--r9-ink); stroke-width: 1; }
.report-0926 .r9-band { fill: var(--r9-band); }
.report-0926 .r9-leader { stroke: var(--r9-muted); stroke-width: 1; }
.report-0926 .r9-flag { stroke: var(--r9-signal); stroke-width: 1; stroke-dasharray: 3 3; }
.report-0926 .r9-baseline { stroke: var(--r9-ink); stroke-width: 1; stroke-dasharray: 4 3; }
.report-0926 .r9-stem { stroke: var(--r9-grid); stroke-width: 2; }
.report-0926 .r9-line { fill: none; stroke-width: 2.25; stroke-linejoin: round; stroke-linecap: round; }
.report-0926 .r9-spike { stroke-width: 2; stroke-linecap: round; opacity: 0.9; }
.report-0926 .r9-dot { stroke: var(--r9-paper); stroke-width: 2; }
.report-0926 .r9-c-press { fill: var(--r9-press); }
.report-0926 .r9-c-comm { fill: var(--r9-comm); }
.report-0926 .r9-c-audio { fill: var(--r9-audio); }
.report-0926 .r9-c-signal { fill: var(--r9-signal); }
.report-0926 .r9-c-ink { fill: var(--r9-ink); }
.report-0926 .r9-c-mid { fill: var(--r9-mid); }
.report-0926 .r9-c-light { fill: var(--r9-light); }
.report-0926 .r9-s-press { stroke: var(--r9-press); }
.report-0926 .r9-s-comm { stroke: var(--r9-comm); }
.report-0926 .r9-s-audio { stroke: var(--r9-audio); }
.report-0926 .r9-s-signal { stroke: var(--r9-signal); }
.report-0926 .r9-s-ink { stroke: var(--r9-ink); }
.report-0926 .r9-s-mid { stroke: var(--r9-mid); }
.report-0926 .r9-s-light { stroke: var(--r9-light); }
.report-0926 i.r9-s-ink { border-color: var(--r9-ink); }
.report-0926 i.r9-s-mid { border-color: var(--r9-mid); }
.report-0926 i.r9-c-press { background: var(--r9-press); }
.report-0926 i.r9-c-comm { background: var(--r9-comm); }
.report-0926 i.r9-c-signal { background: var(--r9-signal); }
.report-0926 i.r9-c-ink { background: var(--r9-ink); }
.report-0926 i.r9-c-mid { background: var(--r9-mid); }
.report-0926 i.r9-c-light { background: var(--r9-light); }
.report-0926 .r9-partial { opacity: 0.45; }
.report-0926 .r9-zero { fill: none; stroke: var(--r9-signal); stroke-width: 2; }
.report-0926 .r9-zerotext { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 600; fill: var(--r9-signal); }
.report-0926 .r9-yes { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; fill: var(--r9-ink2); }
.report-0926 .r9-no { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; font-weight: 600; fill: var(--r9-signal); }
.report-0926 .r9-hit { fill: transparent; }
.report-0926 [data-tip] { cursor: default; outline: none; }
.report-0926 [data-tip]:hover, .report-0926 [data-tip]:focus { opacity: 0.75; }
.report-0926 .r9-hit:hover, .report-0926 .r9-hit:focus { fill: var(--r9-band); opacity: 1; }
@media (forced-colors: active) { .report-0926 .r9-dot, .report-0926 .r9-spike { forced-color-adjust: auto; } }

/* --- responsive ----------------------------------------------------------- */
@media (max-width: 720px) {
  .report-0926 .r9-log, .report-0926 .r9-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-0926 .r9-log div:nth-child(2) { border-right: 0; }
  .report-0926 .r9-log div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .report-0926 .r9-ledger { grid-template-columns: 1fr; }
  .report-0926 .report-body figure.r9-figure { padding: 16px 14px 10px; }
  .report-0926 .report-body figcaption.r9-figcap { grid-template-columns: 1fr; }
  .report-0926 .r9-figcap .report-chart-dl { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 10px; }
  .report-0926 .r9-scroll::after {
    content: "Scroll chart \2192"; display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--fg-3); padding-top: 6px;
  }
  .report-0926 .r9-method { padding: 24px 18px 8px; }
}

/* --- print: inherits the shared report print rules; the inline SVGs scale
   via their viewBox, so only the scroller and disclosures need care. */
@media print {
  .report-0926 .r9-scroll { overflow: visible; }
  .report-0926 .r9-scroll svg { min-width: 0; }
  .report-0926 .r9-scroll::after { content: none; }
  .report-0926 details.r9-data, .report-0926 .r9-tt { display: none; }
  .report-0926 .r9-figure, .report-0926 .r9-stat, .report-0926 .r9-why,
  .report-0926 .r9-ledger > div, .report-0926 .r9-timeline { break-inside: avoid; }
  .report-0926 .r9-figure, .report-0926 .r9-why, .report-0926 .r9-stat {
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
}
