/* Reports: shared look, charts and the print / "Save as PDF" layout (inc/rr-report-print.php, inc/rr-report-charts.php;
   report-kit.js builds the same markup for the free tool reports).
   Type: the site's own Fraunces (titles, section headings) and DM Sans (everything else, all numbers).
   Colour: navy carries data, one grey carries context, gold is the brand accent; green / amber / red only mean
   pass / warning / fail and always sit next to an icon or a word. A white-label brand sets --rrp-a / --rrp-g. */

@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(../fonts/dm-sans-latin-standard-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(../fonts/dm-sans-latin-ext-standard-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/fraunces-latin-standard-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--rr-sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;--rr-serif:'Fraunces',Georgia,'Times New Roman',serif}

/* ── chart tokens (light); dark contexts override them (app.css, report-kit.js) ── */
.rrc{--rc-ink:#16213A;--rc-muted:#5B6474;--rc-grid:#E3E7EE;--rc-track:#E4E9F2;--rc-accent:#1A3A6B;--rc-ctx:#A3ABB8;--rc-tint:#EEF2F8;
  --rc-good:#1E8A4C;--rc-warn:#E8A317;--rc-bad:#C93838;--rc-surface:#fff;
  font-family:var(--rr-sans);color:var(--rc-ink);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rrc svg{display:block;width:100%;height:auto;overflow:visible}
.rrc text{font-family:var(--rr-sans);fill:var(--rc-muted);font-size:12px}
.rrc-note{font-size:12.5px;line-height:1.5;color:var(--rc-muted);margin:6px 0 0}
.rrc-grid,.rrc-tick{stroke:var(--rc-grid);stroke-width:1}
.rrc-frame{fill:none;stroke:var(--rc-grid);stroke-width:1}

/* score on a scale: the one bold element of every report */
.rrc-scale{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;margin:4px 0 6px}
.rrc-hero b{display:block;font:650 64px/0.9 var(--rr-sans);letter-spacing:-.03em;color:var(--rc-accent)}
.rrc-hero span{display:block;font-size:13px;color:var(--rc-muted);margin-top:6px}
.rrc-hero em{display:block;font-style:normal;font-weight:700;font-size:15px;color:var(--rc-ink);margin-top:2px}
.rrc-track{fill:var(--rc-track)}.rrc-fill{fill:var(--rc-accent)}
.rrc-mark{fill:var(--rc-accent);stroke:var(--rc-surface);stroke-width:3}
.rrc-avg{stroke:var(--rc-ink);stroke-width:2}.rrc .rrc-avg-t{font-size:12px;font-weight:600;fill:var(--rc-ink)}
.rrc .rrc-band{font-size:12px;fill:var(--rc-muted)}

/* horizontal bars */
.rrc-bars{display:grid;gap:9px}
.rrc-row{display:grid;grid-template-columns:minmax(120px,34%) 1fr 64px;gap:12px;align-items:center;font-size:13.5px}
.rrc-l{color:var(--rc-ink);line-height:1.3}.rrc-l small{color:var(--rc-muted);font-size:12px}
.rrc-bar{height:10px;background:var(--rc-tint);border-radius:0 4px 4px 0;overflow:hidden}
.rrc-bar i{display:block;height:100%;background:var(--rc-accent);border-radius:0 4px 4px 0}
.rrc-v{font-weight:700;font-variant-numeric:tabular-nums;color:var(--rc-ink);white-space:nowrap}.rrc-v small{font-weight:500;color:var(--rc-muted)}
.rrc-rank .rrc-bar i{background:var(--rc-ctx)}.rrc-rank .you .rrc-bar i{background:var(--rc-accent)}.rrc-rank .you .rrc-l{font-weight:700}

/* one whole split into parts */
.rrc-segs{display:flex;gap:2px;height:28px}
.rrc-seg{display:flex;align-items:center;padding:0 8px;border-radius:4px;font-size:12.5px;font-weight:700;color:#fff;min-width:4px}
.rrc-seg.s-good{background:var(--rc-good)}.rrc-seg.s-warn{background:var(--rc-warn);color:#1b1404}.rrc-seg.s-bad{background:var(--rc-bad)}.rrc-seg.s-ctx{background:var(--rc-ctx);color:#16213A}
.rrc-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 0;font-size:13px;color:var(--rc-ink)}
.rrc-key i{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;margin-right:6px;font-style:normal;font-size:11px;font-weight:800;color:#fff;vertical-align:-3px}
.rrc-key.s-good i{background:var(--rc-good)}.rrc-key.s-warn i{background:var(--rc-warn);color:#1b1404}.rrc-key.s-bad i{background:var(--rc-bad)}.rrc-key.s-ctx i{background:var(--rc-ctx)}
.rrc-key.k-you i,.rrc-key.k-them i{width:10px;height:10px;border-radius:50%;background:var(--rc-accent);vertical-align:0}.rrc-key.k-them i{background:var(--rc-ctx)}

/* impact × effort */
.rrc-matrix-wrap{max-width:620px;margin:4px 0 14px}
.rrc-q1{fill:var(--rc-tint)}
.rrc .rrc-qt{font-size:12.5px;font-weight:600;fill:var(--rc-muted)}
.rrc .rrc-ax{font-size:12px;fill:var(--rc-muted)}.rrc .rrc-axt{font-weight:600;fill:var(--rc-ink)}
.rrc-dot circle{fill:var(--rc-accent);stroke:var(--rc-surface);stroke-width:2}
.rrc .rrc-dot text{fill:#fff;font-size:11.5px;font-weight:700}

/* dot plot */
.rrc-lane{stroke:var(--rc-grid);stroke-width:1}
.rrc .rrc-rl{font-size:13px;fill:var(--rc-ink)}
.rrc-them{fill:var(--rc-ctx);stroke:var(--rc-surface);stroke-width:2}
.rrc-you{fill:var(--rc-accent);stroke:var(--rc-surface);stroke-width:2}
.rrc .rrc-yl{font-size:12px;font-weight:700;fill:var(--rc-ink)}

/* question × assistant grid */
.rrc-grid-t{width:100%;border-collapse:collapse;font-size:13px}
.rrc-grid-t th{font-weight:600;font-size:12.5px;color:var(--rc-muted);text-align:center;padding:0 6px 8px;text-transform:none;letter-spacing:0}
.rrc-grid-t th:first-child{text-align:left}
.rrc-grid-t td{border-top:1px solid var(--rc-grid);padding:8px 6px;text-align:center;vertical-align:middle}
.rrc-grid-t td:first-child{text-align:left;color:var(--rc-ink)}
.rrc-pip{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;box-sizing:border-box}
.rrc-pip.y{background:var(--rc-accent);color:#fff}.rrc-pip.n{border:2px solid var(--rc-ctx)}.rrc-pip.x{color:var(--rc-muted)}
.rrc-pip.c{box-shadow:0 0 0 2px var(--rc-surface),0 0 0 4px #D4820A}
.rrc-grid-t .rrc-self{font-size:12px;color:var(--rc-muted)}

/* ── print-only blocks: cover and next step ── */
.rrp-print{display:none}
.rrp-cover,.rrp-next,.rrp-fix{--rrp-a:#1A3A6B;--rrp-g:#D4820A}
.rrp-cover,.rrp-next{font-family:var(--rr-sans);-webkit-print-color-adjust:exact;print-color-adjust:exact;box-sizing:border-box}
.rrp-cover *,.rrp-next *{box-sizing:border-box}

.rrp-cover{background:#fff;color:#16213A;border-top:8px solid var(--rrp-a);padding:18px 2px 20px;margin:0 0 22px;text-align:left;position:relative}
.rrp-cover:after{content:"";position:absolute;left:0;bottom:0;width:72px;height:3px;background:var(--rrp-g)}
.rrp-cover-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 26px}
.rrp-logo{display:block;max-height:60px;max-width:210px;width:auto;height:auto}
.rrp-name{font-size:19px;font-weight:800;color:var(--rrp-a)}
.rrp-stamp{font-size:13px;color:#5B6474;text-align:right;line-height:1.4}
.rrp-title{font:600 34px/1.1 var(--rr-serif);font-variation-settings:'opsz' 72;color:var(--rrp-a);margin:0 0 8px;letter-spacing:-.015em;overflow-wrap:anywhere}
.rrp-for{font-size:15px;line-height:1.5;color:#2A3448;margin:0}
.rrp-for a{color:var(--rrp-a);font-weight:700}
.rrp-by{font-size:13px;color:#5B6474;margin:4px 0 0}
.rrp-verdict{display:flex;gap:16px;align-items:baseline;margin:18px 0 0}
.rrp-score{font:650 34px/1 var(--rr-sans);letter-spacing:-.02em;color:var(--rrp-a);white-space:nowrap}
.rrp-score small{font:500 13px/1 var(--rr-sans);color:#5B6474;margin-left:4px;letter-spacing:0}
.rrp-verdict span{font-size:15px;line-height:1.45;color:#16213A}
.rrp-top3{margin:12px 0 0;padding:0 0 0 20px}
.rrp-top3 li{font-size:14px;line-height:1.45;margin:0 0 4px;color:#16213A}
.rrp-links{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 0}
.rrp-btn{display:inline-block;padding:7px 14px;border-radius:6px;font-size:13px;font-weight:700;line-height:1.3;text-decoration:none!important;background:var(--rrp-a);color:#fff!important;border:1.5px solid var(--rrp-a)}
.rrp-btn.o{background:#fff;color:var(--rrp-a)!important}
.rrp-btn.g{background:var(--rrp-g);border-color:var(--rrp-g);color:#1a1206!important}
.rrp-btn.w{background:transparent;border-color:rgba(255,255,255,.75);color:#fff!important}

.rrp-next{background:var(--rrp-a);color:#fff;border-radius:10px;padding:24px 26px;margin:22px 0 0;break-inside:avoid;page-break-inside:avoid;position:relative;overflow:hidden}
.rrp-next:before{content:"";position:absolute;left:26px;top:0;width:56px;height:4px;background:var(--rrp-g)}
.rrp-next h2{font:600 23px/1.2 var(--rr-serif);color:#fff;margin:4px 0 8px;letter-spacing:-.01em}
.rrp-next p{margin:0;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.9)}
.rrp-next .rrp-contact{margin:16px 0 0;font-size:13.5px;color:#fff;line-height:1.7}
.rrp-next .rrp-contact a{color:#fff;text-decoration:underline;margin-right:14px}
.rrp-next .rrp-fine{font-size:12px;color:rgba(255,255,255,.72);margin:10px 0 0}

/* the tool that fixes a step: on screen and on paper */
.rrp-fix{display:inline-block;margin:6px 0 0;font-size:13px;font-weight:700;color:var(--rrp-a)!important;text-decoration:underline;text-underline-offset:2px}

@media print{
  @page{size:A4;margin:13mm 12mm 17mm;
    @bottom-left{content:"";font:7.5pt 'DM Sans',-apple-system,'Segoe UI',Arial,sans-serif;color:#5B6474;vertical-align:top;padding-top:4mm}
    @bottom-right{content:counter(page) " of " counter(pages);font:7.5pt 'DM Sans',-apple-system,'Segoe UI',Arial,sans-serif;color:#5B6474;vertical-align:top;padding-top:4mm}}
  :root,html{color-scheme:light!important;background:#fff!important}
  /* closed sections print open (Chrome 131+ hides them through ::details-content) */
  details::details-content{content-visibility:visible!important;display:block!important;height:auto!important}
  .rrp-print{display:block}
  .rrp-noprint,.noprint,.no-print{display:none!important}
  .rrp-cover{margin-top:0}
  .rrp-next{border-radius:6px}
  .rrp-fix{color:var(--rrp-a)!important}
  /* charts always print in the light tokens */
  .rrc{--rc-ink:#16213A!important;--rc-muted:#5B6474!important;--rc-grid:#E3E7EE!important;--rc-track:#E4E9F2!important;--rc-accent:#1A3A6B!important;--rc-ctx:#A3ABB8!important;--rc-tint:#EEF2F8!important;--rc-surface:#fff!important;--rc-good:#1E8A4C!important;--rc-warn:#E8A317!important;--rc-bad:#C93838!important}
  .rrc-scale,.rrc-matrix-wrap,.rrc-dotplot-wrap,.rrc-split,.rrc-row{break-inside:avoid}
}
@media (max-width:560px){.rrc-scale{grid-template-columns:1fr;gap:10px}.rrc-hero b{font-size:52px}.rrc-row{grid-template-columns:1fr 54px}.rrc-row .rrc-l{grid-column:1 / -1}}
