/* Agency Security Scorecard — scoped port of bengston engine/web/css (base primitives + scorecard.css)
   and brands/seismic/tokens.css. Every selector is under .sd-scorecard; edit here, bengston is no longer the source. */
.sd-scorecard {

  --seismic-navy:   #0C2340;
  --seismic-gold:   #E0A526;
  --seismic-teal:   #165C7D;
  --seismic-coral:  #FF6F61;
  --seismic-gray:   #BBBCBC;
  --seismic-slate:  #8A9BB5;
  --seismic-panel:  #0E2A4A;

  --ground:         var(--seismic-navy);
  --surface:        var(--seismic-panel);
  --surface-deep:   #081A31;
  --surface-hover:  #103257;
  --surface-active: #0D2743;

  --fg:             #FFFFFF;
  --fg-soft:        var(--seismic-gray);
  --fg-muted:       var(--seismic-slate);
  --fg-list:        rgba(255, 255, 255, 0.75);

  --accent:         var(--seismic-gold);
  --accent-warm:    var(--seismic-coral);
  --accent-cool:    #4A9BC2;
  --accent-cool-deep: var(--seismic-teal);
  --on-accent:      var(--seismic-navy);

  --accent-ghost:   rgba(224, 165, 38, 0.3);
  --warm-ghost:     rgba(255, 111, 97, 0.3);
  --num-ghost:      rgba(255, 255, 255, 0.25);

  --border:         rgba(255, 255, 255, 0.1);
  --rule:           rgba(12, 35, 64, 0.14);
  --rule-reverse:   rgba(255, 255, 255, 0.14);
  --scrim:          rgba(6, 17, 33, 0.86);
  --paper:          #FFFFFF;
  --ink:            var(--seismic-navy);
  --ink-muted:      #55657E;
  --ink-faint:      #8493A8;
  --logo-primary:   #215772;
  --logo-word:      #1E243C;

  --surface-raised: #123457;
  --surface-sunk:   #0A1E36;
  --border-soft:    rgba(255, 255, 255, 0.05);
  --border-hover:   rgba(255, 255, 255, 0.28);
  --accent-on-paper: #A87A12;
  --ground-veil:  rgba(12, 35, 64, 0.82);
  --surface-veil: rgba(8, 26, 49, 0.92);
  --accent-glow:  rgba(224, 165, 38, 0.13);
  --cool-ghost:   rgba(74, 155, 194, 0.35);
  --placeholder:  rgba(138, 155, 181, 0.65);
  --placeholder-on-dark: rgba(255, 255, 255, 0.45);
  --shadow-md:    0 24px 48px rgba(0, 0, 0, 0.4);
  --shadow-lg:    0 40px 80px rgba(0, 0, 0, 0.5), 0 8px 24px rgba(0, 0, 0, 0.4);
  --accent-print: #8A6A18;
  --rule-strong:  rgba(12, 35, 64, 0.2);
  --rule-box:     rgba(12, 35, 64, 0.35);
  --nav-pad-y:        28px;
  --nav-pad-x:        48px;
  --nav-gap:          8px;
  --nav-logo-h:       30px;
  --nav-link-font:    var(--font-label);
  --nav-link-size:    0.65rem;
  --nav-link-weight:  var(--w-regular);
  --nav-link-color:   var(--fg-muted);
  --nav-link-track:   0.08em;
  --nav-link-case:    uppercase;
  --nav-link-pad:     8px 14px;
  --nav-cta-size:     0.75rem;
  --nav-cta-track:    0.04em;
  --nav-cta-color:    var(--fg-muted);
  --nav-dot-color:    var(--fg);
  --nav-bg:           rgba(12, 35, 64, 0.92);

  --font-body:      'Space Grotesk', system-ui, sans-serif;
  --font-display:   'Space Grotesk', system-ui, sans-serif;
  --font-label:     'Space Mono', ui-monospace, monospace;
  --font-mono:      'Space Mono', ui-monospace, monospace;

  --w-light:     300;
  --w-regular:   400;
  --w-medium:    500;
  --w-semibold:  600;
  --w-bold:      700;
  --w-display:   700;
  --t-hero:      clamp(2.9rem, 6.2vw, 5.5rem);
  --t-section:   clamp(2rem, 3.5vw, 3rem);
  --t-block:     clamp(1.6rem, 2.6vw, 2.2rem);
  --t-card:      1.15rem;
  --t-lead:      1.15rem;
  --t-body:      1rem;
  --t-small:     0.875rem;
  --t-label:     0.65rem;
  --pt-cover:     76pt;
  --pt-divider:   44pt;
  --pt-title:     30pt;
  --pt-stat:      30pt;
  --pt-h2:        19pt;
  --pt-quote:     19pt;
  --pt-h3:        15pt;
  --pt-lead:    13pt;
  --pt-body:    9.6pt;
  --pt-small:   8.6pt;
  --pt-eyebrow:   7.2pt;
  --pt-micro:     6.6pt;
  --lh-cover:    0.92;
  --lh-display:  1.05;
  --lh-title:    1.06;
  --lh-quote:    1.36;
  --lh-lead:     1.5;
  --lh-body:     1.62;
  --tr-cover:        -0.03em;
  --tr-display:      -0.025em;
  --tr-tight:        -0.01em;
  --tr-body:         0;
  --tr-label:        0.16em;
  --tr-label-sm:     0.1em;
  --tr-label-wide:   0.2em;
  --tr-label-xwide:  4px;

  --s-2:    2px;
  --s-4:    4px;
  --s-6:    6px;
  --s-8:    8px;
  --s-12:  12px;
  --s-16:  16px;
  --s-20:  20px;
  --s-24:  24px;
  --s-32:  32px;
  --s-48:  48px;
  --s-64:  64px;
  --s-80:  80px;
  --sec-y:       clamp(80px, 11vw, 140px);
  --sec-y-lg:    clamp(96px, 13vw, 160px);
  --sec-x:       clamp(24px, 5vw, 48px);
  --card-pad:    48px 32px;
  --maxw:        1280px;
  --measure:     62ch;
  --block:       26pt;
  --block-lg:    38pt;
  --block-xl:    54pt;
  --card-pad-p:  17pt;

  --page-w:      8.5in;
  --page-h:      11in;
  --m-top:       0.72in;
  --m-bottom:    0.68in;
  --m-side:      0.62in;
  --cols:        12;
  --gutter:      0.16in;
  --baseline:    11.5pt;

  --radius:      0;
  --radius-md:   0;
  --radius-lg:   0;
  --radius-pill: 0;
  --radius-dot:  50%;
  --hair:        0.5pt;
  --rule-w:      1px;
  --quote-w:     3px;

  --ease:        cubic-bezier(0.22, 0.61, 0.36, 1);

  --dot-ratio:   0.577;
  --logo-ar:     4.1488;
  --mark-ar:     1.0686;
  --stroke:      1.35;
}.sd-scorecard .sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.sd-scorecard .wrap { max-width: var(--maxw); margin: 0 auto; }
.sd-scorecard .eyebrow {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--font-label);
  font-size: var(--t-label);
  font-weight: var(--w-regular);
  letter-spacing: var(--tr-label-xwide);
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 var(--s-24);
}
.sd-scorecard .eyebrow::before {
  content: '';
  flex: 0 0 40px;
  width: 40px;
  height: 1px;
  background: var(--accent);
}
.sd-scorecard .eyebrow--plain::before { display: none; }
.sd-scorecard .eyebrow--accent-cool-deep { color: var(--accent-cool); }
.sd-scorecard .eyebrow--accent-cool-deep::before { background: var(--accent-cool); }
.sd-scorecard .meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--s-16);
  font-family: var(--font-label);
  font-size: var(--t-label);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--fg-muted);
  margin: 0;
  padding: 0;
  list-style: none;
}
.sd-scorecard .meta li { display: flex; align-items: center; gap: var(--s-16); }
.sd-scorecard .meta li + li::before {
  content: '';
  width: 4px; height: 4px;
  background: var(--accent);
  border-radius: 50%;
  flex: 0 0 4px;
}
.sd-scorecard .btn {
  display: inline-flex;
  align-items: center;
  gap: var(--s-12);
  padding: 20px 32px;
  background: var(--accent);
  color: var(--ground);
  font-family: var(--font-label);
  font-size: 0.75rem;
  font-weight: var(--w-bold);
  letter-spacing: var(--tr-label);
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid var(--accent);
  border-radius: var(--radius);
  transition: background 0.2s var(--ease), color 0.2s var(--ease), transform 0.2s var(--ease);
}
.sd-scorecard .btn:hover {
  background: transparent;
  color: var(--accent);
  transform: translateY(-2px);
}
.sd-scorecard .btn:hover .btn__arrow { transform: translateX(4px); }

.sd-scorecard .btn--ghost {
  background: transparent;
  color: var(--fg);
  border-color: var(--border);
}
.sd-scorecard .btn--ghost:hover { background: transparent; color: var(--accent); border-color: var(--accent); }

.sd-scorecard .btn--block { width: 100%; justify-content: center; }
.sd-scorecard .lead {
  font-size: var(--t-lead);
  font-weight: var(--w-light);
  line-height: var(--lh-lead);
  color: var(--fg-soft);
  max-width: 550px;
}

@media (prefers-reduced-motion: reduce) {
  .sd-scorecard .btn:hover { transform: none; }
}

.sd-scorecard .scorebar {
  position: sticky;
  top: 76px;
  z-index: 50;
  padding: var(--s-16) var(--sec-x);
  background: var(--surface-veil);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.sd-scorecard .scorebar__inner {
  display: flex;
  align-items: center;
  gap: clamp(16px, 3vw, 40px);
}

.sd-scorecard .scorebar__score { display: flex; align-items: baseline; gap: var(--s-12); flex: 0 0 auto; }

.sd-scorecard .scorebar__value {
  font-family: var(--font-label);
  font-size: 1.6rem;
  font-weight: var(--w-bold);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--fg);
}

.sd-scorecard .scorebar__max { font-size: 0.9rem; color: var(--fg-muted); }

.sd-scorecard .scorebar__band {
  font-family: var(--font-label);
  font-size: var(--t-label);
  letter-spacing: var(--tr-label);
  text-transform: uppercase;
  color: var(--fg-muted);
  white-space: nowrap;
}

.sd-scorecard .scorebar[data-band="strong"]    { --band: var(--accent); }

.sd-scorecard .scorebar[data-band="reasonable"]{ --band: var(--accent-cool); }

.sd-scorecard .scorebar[data-band="exposed"]   { --band: var(--accent); }

.sd-scorecard .scorebar[data-band="critical"]  { --band: var(--accent-warm); }

.sd-scorecard .scorebar[data-band="unscored"]  { --band: var(--fg-muted); }

.sd-scorecard .scorebar[data-band="strong"]     .scorebar__band { color: var(--accent); }

.sd-scorecard .scorebar[data-band="reasonable"] .scorebar__band { color: var(--accent-cool); }

.sd-scorecard .scorebar[data-band="exposed"]    .scorebar__band { color: var(--accent); }

.sd-scorecard .scorebar[data-band="critical"]   .scorebar__band { color: var(--accent-warm); }

.sd-scorecard .scorebar__progress { flex: 1 1 auto; min-width: 0; }

.sd-scorecard .scorebar__track {
  height: 4px;
  background: var(--border);
  overflow: hidden;
}

.sd-scorecard .scorebar__fill {
  height: 100%;
  width: 0;
  background: var(--band, var(--fg-muted));
  transition: width 0.3s var(--ease), background 0.3s var(--ease);
}

.sd-scorecard .scorebar__count {
  margin: var(--s-8) 0 0;
  font-family: var(--font-label);
  font-size: var(--t-label);
  letter-spacing: var(--tr-label);
  text-transform: uppercase;
  color: var(--fg-muted);
}

.sd-scorecard .scorebar__actions { display: flex; gap: var(--s-8); flex: 0 0 auto; }

.sd-scorecard .btn--sm { padding: 12px 18px; font-size: var(--t-label); }

@media (max-width: 860px) {
  .sd-scorecard .scorebar { top: 68px; }
  .sd-scorecard .scorebar__inner { flex-wrap: wrap; gap: var(--s-16); }
  .sd-scorecard .scorebar__progress { order: 3; flex-basis: 100%; }
  .sd-scorecard .scorebar__actions { margin-left: auto; }
}

.sd-scorecard .sc-main { padding: clamp(48px, 6vw, 80px) var(--sec-x) clamp(64px, 8vw, 112px); }

.sd-scorecard .sc-group { margin-bottom: clamp(48px, 6vw, 80px); }

.sd-scorecard .sc-group__head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--s-8) var(--s-24);
  align-items: end;
  padding-bottom: var(--s-16);
  border-bottom: 1px solid var(--border);
  margin-bottom: var(--s-24);
}

.sd-scorecard .sc-group__id { display: flex; align-items: baseline; gap: var(--s-16); }

.sd-scorecard .sc-group__num {
  font-family: var(--font-label);
  font-size: var(--t-label);
  letter-spacing: var(--tr-label);
  color: var(--accent-ghost);
}

.sd-scorecard .sc-group__title {
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  letter-spacing: var(--tr-display);
}

.sd-scorecard .sc-group__note {
  grid-column: 1;
  margin: 0;
  font-size: var(--t-small);
  line-height: 1.6;
  max-width: 62ch;
}

.sd-scorecard .sc-group__score {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  font-family: var(--font-label);
  font-size: 1.1rem;
  font-weight: var(--w-bold);
  letter-spacing: var(--tr-tight);
  color: var(--fg-muted);
  white-space: nowrap;
}

.sd-scorecard .sc-group__score[data-complete] { color: var(--fg); }

.sd-scorecard .sc-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2); }

.sd-scorecard .sc-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--s-24);
  align-items: center;
  padding: var(--s-24) var(--s-32);
  background: var(--surface);
  transition: background 0.2s var(--ease);
}

.sd-scorecard .sc-row:hover { background: var(--surface-hover); }

.sd-scorecard .sc-row[data-answered] { background: var(--surface-active); }

.sd-scorecard .sc-row__control { display: flex; gap: var(--s-20); min-width: 0; }

.sd-scorecard .sc-row__num {
  flex: 0 0 auto;
  padding-top: 0.25em;
  font-family: var(--font-label);
  font-size: var(--t-label);
  letter-spacing: var(--tr-label);
  color: var(--num-ghost);
}

.sd-scorecard .sc-row__control h3 {
  font-size: 1rem;
  font-weight: var(--w-semibold);
  letter-spacing: var(--tr-tight);
  margin-bottom: var(--s-4);
}

.sd-scorecard .sc-row__control p {
  margin: 0;
  font-size: var(--t-small);
  line-height: 1.6;
  color: var(--fg-muted);
  max-width: 58ch;
}

.sd-scorecard .sc-row { border-left: var(--quote-w) solid transparent; }

.sd-scorecard .sc-row[data-leverage="high"]         { border-left-color: var(--accent-warm); }

.sd-scorecard .sc-row[data-leverage="foundational"] { border-left-color: var(--accent); }

.sd-scorecard .sc-row[data-leverage="med"]          { border-left-color: var(--accent-cool-deep); }

.sd-scorecard .sc-row__status {
  display: flex;
  gap: var(--s-2);
  border: 0;
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
}

.sd-scorecard .sc-row__status label {
  position: relative;
  display: block;
  cursor: pointer;
}

.sd-scorecard .sc-row__status input {
  position: absolute;
  opacity: 0;
  width: 100%; height: 100%;
  margin: 0;
  cursor: pointer;
}

.sd-scorecard .sc-row__status span {
  display: block;
  min-width: 74px;
  padding: 11px 14px;
  text-align: center;
  font-family: var(--font-label);
  font-size: var(--t-label);
  letter-spacing: var(--tr-label);
  text-transform: uppercase;
  color: var(--fg-muted);
  background: var(--surface);
  border: 1px solid var(--border);
  transition: background 0.15s var(--ease), color 0.15s var(--ease), border-color 0.15s var(--ease);
}

.sd-scorecard .sc-row__status label:hover span { color: var(--fg); border-color: var(--border-hover); }

.sd-scorecard .sc-row__status input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }

.sd-scorecard .sc-row__status input:checked + span { color: var(--ground); font-weight: var(--w-bold); }

.sd-scorecard .sc-row__status label:nth-of-type(1) input:checked + span { background: var(--accent);      border-color: var(--accent); }

.sd-scorecard .sc-row__status label:nth-of-type(2) input:checked + span { background: var(--accent-cool); border-color: var(--accent-cool); }

.sd-scorecard .sc-row__status label:nth-of-type(3) input:checked + span { background: var(--accent-warm);       border-color: var(--accent-warm); }

@media (max-width: 720px) {
  .sd-scorecard .sc-row { grid-template-columns: 1fr; gap: var(--s-20); padding: var(--s-20); }
  .sd-scorecard .sc-row__status { width: 100%; }
  .sd-scorecard .sc-row__status label { flex: 1 1 0; }
  .sd-scorecard .sc-row__status span { min-width: 0; }
}

.sd-scorecard .sc-results {
  scroll-margin-top: 160px;
  padding: clamp(32px, 5vw, 56px);
  background: var(--surface-deep);
  border-top: var(--quote-w) solid var(--band, var(--fg-muted));
}

.sd-scorecard .sc-results[data-state="empty"] .sc-results__full { display: none; }

.sd-scorecard .sc-results[data-state="scored"] .sc-results__empty { display: none; }

.sd-scorecard .sc-results__prompt {
  margin: 0;
  font-size: var(--t-lead);
  font-weight: var(--w-light);
  line-height: var(--lh-lead);
  color: var(--fg-muted);
  max-width: 60ch;
}

.sd-scorecard .sc-results__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--s-32);
  flex-wrap: wrap;
  margin-bottom: var(--s-48);
}

.sd-scorecard .sc-results__verdictbox { max-width: 60ch; }

.sd-scorecard .sc-results__band {
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: var(--tr-display);
  color: var(--band, var(--fg));
  margin-bottom: var(--s-16);
}

.sd-scorecard .sc-results__verdict {
  margin: 0;
  font-size: var(--t-lead);
  font-weight: var(--w-light);
  line-height: var(--lh-lead);
  color: var(--fg);
}

.sd-scorecard .sc-results__figure { text-align: right; flex: 0 0 auto; }

.sd-scorecard .sc-results__score {
  display: block;
  font-family: var(--font-label);
  font-size: clamp(3rem, 7vw, 5rem);
  font-weight: var(--w-bold);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--fg);
}

.sd-scorecard .sc-results__of {
  font-family: var(--font-label);
  font-size: var(--t-label);
  letter-spacing: var(--tr-label);
  text-transform: uppercase;
  color: var(--fg-muted);
}

.sd-scorecard .sc-sub {
  font-family: var(--font-label);
  font-size: var(--t-label);
  font-weight: var(--w-regular);
  letter-spacing: var(--tr-label-wide);
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: var(--s-20);
}

.sd-scorecard .sc-hint {
  margin: calc(var(--s-20) * -1 + var(--s-4)) 0 var(--s-24);
  font-size: var(--t-small);
  color: var(--fg-muted);
  max-width: 62ch;
}

.sd-scorecard .sc-bars { list-style: none; margin: 0 0 var(--s-48); padding: 0; display: grid; gap: var(--s-16); }

.sd-scorecard .sc-bar { display: grid; grid-template-columns: 190px 1fr 56px; gap: var(--s-16); align-items: center; }

.sd-scorecard .sc-bar__label {
  font-family: var(--font-label);
  font-size: var(--t-label);
  letter-spacing: var(--tr-label);
  text-transform: uppercase;
  color: var(--fg-soft);
}

.sd-scorecard .sc-bar__track { display: block; height: 8px; background: var(--border); }

.sd-scorecard .sc-bar__fill  { display: block; height: 100%; background: var(--accent); transition: width 0.4s var(--ease); }

.sd-scorecard .sc-bar__val {
  font-family: var(--font-label);
  font-size: var(--t-small);
  text-align: right;
  color: var(--fg);
}

@media (max-width: 620px) {
  .sd-scorecard .sc-bar { grid-template-columns: 1fr 56px; }
  .sd-scorecard .sc-bar__label { grid-column: 1 / -1; }
}

.sd-scorecard .sc-gaps { list-style: none; margin: 0 0 var(--s-48); padding: 0; counter-reset: gap; display: grid; gap: var(--s-2); }

.sd-scorecard .sc-gap {
  counter-increment: gap;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--s-20);
  align-items: center;
  padding: var(--s-20) var(--s-24);
  background: var(--surface);
}

.sd-scorecard .sc-gap::before {
  content: counter(gap, decimal-leading-zero);
  font-family: var(--font-label);
  font-size: var(--t-label);
  letter-spacing: var(--tr-label);
  color: var(--num-ghost);
}

.sd-scorecard .sc-gap__name { font-weight: var(--w-semibold); color: var(--fg); }

.sd-scorecard .sc-gap__why { display: block; margin-top: var(--s-4); font-size: var(--t-small); color: var(--fg-muted); }

.sd-scorecard .sc-gap__tag {
  font-family: var(--font-label);
  font-size: 0.6rem;
  letter-spacing: var(--tr-label);
  text-transform: uppercase;
  padding: 5px 10px;
  white-space: nowrap;
  border: 1px solid currentColor;
}

.sd-scorecard .sc-gap__tag[data-leverage="high"]         { color: var(--accent-warm); }

.sd-scorecard .sc-gap__tag[data-leverage="foundational"] { color: var(--accent); }

.sd-scorecard .sc-gap__tag[data-leverage="med"]          { color: var(--accent-cool); }

.sd-scorecard .sc-gap__tag[data-status="partial"]        { opacity: 0.75; }

@media (max-width: 620px) {
  .sd-scorecard .sc-gap { grid-template-columns: auto 1fr; }
  .sd-scorecard .sc-gap__tag { grid-column: 2; justify-self: start; }
}

.sd-scorecard .sc-results__actions { display: flex; gap: var(--s-16); flex-wrap: wrap; }

/* Print gate: until the form is submitted, printing shows only this note (see resource-gate.js). */
.sd-scorecard .sc-print-locked { display: none; }

@media print {
  .sd-scorecard[data-locked] > :not(.sc-print-locked) { display: none !important; }
  .sd-scorecard[data-locked] .sc-print-locked { display: block !important; margin: 0; font-size: 12pt; color: var(--ink) !important; }
}

/* Next step: the guide CTA, inside the results so it only appears once they're scored. */
.sd-scorecard .sc-next {
  margin-top: var(--s-48);
  padding: var(--s-32);
  background: var(--surface);
  border-left: var(--quote-w) solid var(--accent);
}

.sd-scorecard .sc-next__title {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  font-weight: var(--w-semibold);
  line-height: 1.2;
  color: var(--fg);
  margin: var(--s-16) 0 var(--s-12);
}

.sd-scorecard .sc-next__body {
  color: var(--fg-soft);
  line-height: 1.6;
  max-width: 62ch;
  margin: 0 0 var(--s-24);
}

.sd-scorecard .sc-bandnote {
  margin: var(--s-32) 0 0;
  font-size: 0.75rem;
  line-height: 1.6;
  color: var(--fg-muted);
  max-width: 70ch;
}

.sd-scorecard .sc-toast {
  position: fixed;
  left: 50%;
  bottom: 32px;
  transform: translate(-50%, 16px);
  z-index: 90;
  padding: 14px 24px;
  background: var(--accent);
  color: var(--ground);
  font-family: var(--font-label);
  font-size: var(--t-label);
  letter-spacing: var(--tr-label);
  text-transform: uppercase;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s var(--ease), transform 0.2s var(--ease), visibility 0.2s;
}

.sd-scorecard .sc-toast.is-visible { opacity: 1; visibility: visible; transform: translate(-50%, 0); }

@media print {
  @page { size: letter; margin: 0.6in; }

  .sd-scorecard .nav, .sd-scorecard .scorebar, .sd-scorecard .footer, .sd-scorecard .sc-toast, .sd-scorecard .sc-results__actions, .sd-scorecard .sc-next { display: none !important; }

  .sd-scorecard { background: var(--paper) !important; color: var(--ink) !important; font-size: 10pt; }

  .sd-scorecard h1, .sd-scorecard h2, .sd-scorecard h3, .sd-scorecard .sc-results__band, .sd-scorecard .sc-results__score, .sd-scorecard .sc-gap__name, .sd-scorecard .sc-bar__val, .sd-scorecard .sc-group__score { color: var(--ink) !important; }
  .sd-scorecard .sc-row__control p, .sd-scorecard .sc-gap__why, .sd-scorecard .sc-hint, .sd-scorecard .sc-bandnote { color: var(--ink-muted) !important; }

  .sd-scorecard .sc-main { padding: 0; }
  .sd-scorecard .wrap { max-width: none; }

  .sd-scorecard .sc-group { margin-bottom: 16pt; break-inside: avoid; }
  .sd-scorecard .sc-group__head { border-bottom: 1px solid var(--rule-strong); }

  .sd-scorecard .sc-list { gap: 0; }
  .sd-scorecard .sc-row {
    background: var(--paper) !important;
    border-left: 0;
    border-bottom: 1px solid var(--rule);
    padding: 7pt 0;
    break-inside: avoid;
  }
  .sd-scorecard .sc-row__status span {
    background: var(--paper) !important;
    color: var(--ink-muted) !important;
    border: 1px solid var(--rule-box) !important;
    min-width: 46px;
    padding: 4pt 6pt;
  }
  .sd-scorecard .sc-row__status input:checked + span {
    background: var(--ink) !important;
    color: var(--paper) !important;
    border-color: var(--ink) !important;
  }

  .sd-scorecard .sc-results { background: var(--paper) !important; padding: 14pt 0 0; border-top: 1pt solid var(--ink); break-before: page; }
  .sd-scorecard .sc-bar__track { background: var(--rule); }
  .sd-scorecard .sc-bar__fill  { background: var(--ink); }
  .sd-scorecard .sc-gap { background: var(--paper) !important; border-bottom: 1px solid var(--rule); padding: 6pt 0; }
  .sd-scorecard .eyebrow, .sd-scorecard .sc-sub { color: var(--accent-print) !important; }
  .sd-scorecard .eyebrow::before { background: var(--accent-print) !important; }
}
