/* Scoped to the four public scaling comparisons. */
#scaling-views { scroll-margin-top: 138px; }
.sc-heading { margin-bottom: 2rem; }
.sc-heading p { max-width: 77ch; }
.sc-jump { display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; margin:1.4rem 0; }
.sc-controls { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; padding:1rem 0; }
.sc-controls select { border:1px solid #b5acbf; border-radius:.4rem; padding:.6rem .8rem; background:white; color:#39265c; font:inherit; }
.sc-controls label { font-weight:700; }
.sc-count, .sc-note { font-size:.85rem; color:#5e5868; }
.sc-card { background:white; border:1px solid #e4dfe8; border-radius:1rem; margin:0 0 2rem; padding:2rem; scroll-margin-top:145px; }
.sc-card .graphic-kicker { margin:0 0 .65rem; }
.sc-card h3 { font-size:1.6rem; line-height:1.25; max-width:34ch; margin:0 0 .8rem; }
.sc-card .sc-intro { max-width:85ch; font-size:.95rem; margin:0 0 1.2rem; }
.sc-scroll { overflow-x:auto; overscroll-behaviour-x:contain; border:1px solid #e4dfe8; border-radius:.6rem; }
.sc-scroll:focus-visible, #scaling-views button:focus-visible, #scaling-views a:focus-visible, .sc-dialog button:focus-visible { outline:3px solid #12867f; outline-offset:3px; }
.sc-journeys { min-width:980px; }
.sc-journey-row { display:grid; grid-template-columns:1.12fr repeat(3,1fr); gap:0; border-bottom:1px solid #e7e3eb; }
.sc-journey-row:last-child { border:0; }
.sc-journey-heading { font-size:.73rem; font-weight:700; color:#5e5868; background:#f5f2f7; }
.sc-journey-heading>div { padding:1rem; }
.sc-program-button { border:0; background:#faf9fc; text-align:left; cursor:pointer; color:#39265c; font:inherit; padding:1rem; }
.sc-program-label strong { display:block; font-size:.85rem; line-height:1.4; }
.sc-program-label small { display:block; font-size:.69rem; color:#5e5868; margin:.3rem 0; line-height:1.35; font-weight:400; }
.sc-strength { display:inline-block; font-size:.64rem; line-height:1.4; border:1px solid #d7d0df; border-radius:1rem; padding:.15rem .5rem; color:#5e5868; background:white; font-weight:600; }
.sc-strong { border-color:#39265c; color:#39265c; }
.sc-event { position:relative; display:flex; flex-direction:column; gap:.3rem; border:0; border-left:1px solid #e7e3eb; border-top:4px solid #b6a8cc; background:white; color:#39265c; text-align:left; font:inherit; padding:.9rem 1rem; cursor:pointer; }
.sc-event-event { border-top-color:#15837d; }
.sc-event-unknown { border-top:4px dotted #c4becb; background:#fbfafc; }
.sc-event-adverse { border-top-color:#a94448; background:#fff4f3; }
.sc-stage { font-size:.66rem; text-transform:uppercase; letter-spacing:.04em; color:#5e5868; }
.sc-event-date { font-size:.8rem; }
.sc-event-text { font-size:.73rem; line-height:1.45; color:#5e5868; }
.sc-event:hover,.sc-program-button:hover { background:#f3f9f8; }
.sc-legend { display:flex; flex-wrap:wrap; gap:.7rem 1.5rem; font-size:.76rem; margin:1rem 0; color:#5e5868; }
.sc-key { display:inline-flex; align-items:center; gap:.45rem; }
.sc-key-line { width:1.2rem; border-top:4px solid #15837d; }
.sc-key-by { border-color:#b6a8cc; }
.sc-key-unknown { border-top:4px dotted #c4becb; }
.sc-method { font-size:.82rem; color:#5e5868; margin-top:1rem; line-height:1.65; }
.sc-method summary { font-weight:700; color:#39265c; cursor:pointer; }
.sc-method p { max-width:90ch; }
.sc-reach-grid { display:grid; grid-template-columns:190px repeat(3,1fr); min-width:900px; }
.sc-axis-label,.sc-reach-corner { padding:1rem; font-size:.75rem; line-height:1.45; font-weight:700; color:#5e5868; background:#f5f2f7; border-bottom:1px solid #dfd8e6; }
.sc-reach-corner { font-size:.65rem; font-weight:400; }
.sc-reach-cell { min-height:96px; padding:.8rem; display:flex; flex-direction:column; justify-content:center; gap:.55rem; border-left:1px solid #dfd8e6; border-bottom:1px solid #dfd8e6; background:#fdfcfe; }
.sc-reach-point { display:flex; align-items:flex-start; text-align:left; gap:.55rem; border:0; color:#39265c; background:transparent; font:inherit; font-size:.73rem; cursor:pointer; padding:.3rem; }
.sc-reach-point:hover { background:#eee8f5; border-radius:.3rem; }
.sc-point-dot { flex:0 0 .7rem; height:.7rem; border-radius:50%; background:#937eae; margin-top:.15rem; }
.sc-dot-strong { background:#39265c; box-shadow:0 0 0 2px white,0 0 0 3px #39265c; }
.sc-empty { color:#b3aabd; text-align:center; }
.sc-family-axis,.sc-family-row { display:grid; grid-template-columns:230px 1fr 145px; gap:1.1rem; align-items:center; }
.sc-family-axis { font-size:.7rem; color:#5e5868; padding:.6rem 0; border-bottom:1px solid #e4dfe8; min-width:800px; }
.sc-family-row { padding:1rem 0; border-bottom:1px solid #e4dfe8; min-width:800px; }
.sc-family-label strong { display:block; font-size:.86rem; }
.sc-family-label small { font-size:.7rem; color:#5e5868; line-height:1.4; display:block; margin-top:.3rem; }
.sc-family-bars { display:flex; flex-direction:column; gap:.3rem; }
.sc-bar-track { background:repeating-linear-gradient(to right,#f3f0f6 0,#f3f0f6 calc(11.111% - 1px),#e0d9e8 calc(11.111% - 1px),#e0d9e8 11.111%); border-radius:.2rem; }
.sc-bar { height:25px; min-width:0; display:flex; align-items:center; border-radius:.2rem; }
.sc-bar span { font-size:.66rem; white-space:nowrap; padding:0 .5rem; }
.sc-bar-records { background:#d4c8e3; color:#39265c; }
.sc-bar-adopters { background:#39265c; color:white; }
.sc-family-open { border:0; background:transparent; color:#39265c; font:inherit; font-size:.73rem; font-weight:700; padding:.5rem; text-align:left; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.sc-family-wrap { padding:0 1rem; }
.sc-matrix { min-width:960px; width:100%; border-collapse:collapse; table-layout:fixed; margin:0; }
.sc-matrix th:first-child { width:220px; text-align:left; }
.sc-matrix th { padding:.9rem .6rem; background:#f6f3f8; font-size:.71rem; font-weight:600; line-height:1.4; text-align:center; }
.sc-matrix td { padding:.4rem; border-left:1px solid #e5deec; text-align:center; }
.sc-matrix tr { border-bottom:1px solid #e5deec; }
.sc-status { display:block; width:100%; min-height:50px; border:1px solid transparent; border-radius:.25rem; font:inherit; font-size:.94rem; font-weight:700; cursor:pointer; }
.sc-status-reported { background:#deeeec; color:#176c66; }
.sc-status-measured { background:#39265c; color:white; }
.sc-status-estimate { background:#fbefd5; color:#7a5913; }
.sc-status-unknown { background:#f1eef4; color:#746b7f; }
.sc-status-adverse { background:#f7dfe1; color:#922e36; }
.sc-legend .sc-status { width:1.6rem; min-height:1.6rem; line-height:1.6rem; font-size:.7rem; }
.sc-dialog { width:min(720px,calc(100vw - 36px)); max-height:85vh; padding:1.5rem 2rem; color:#39265c; border:1px solid #d6cce1; border-radius:.8rem; font-family:inherit; box-shadow:0 20px 80px #1e102d44; }
.sc-dialog::backdrop { background:#20142a88; }
.sc-dialog-close { position:sticky; top:0; float:right; z-index:1; border:1px solid #b6a9c6; background:white; border-radius:2rem; padding:.5rem 1rem; color:#39265c; font:inherit; font-size:.8rem; cursor:pointer; }
.sc-dialog h2 { font-size:1.45rem; padding-right:5rem; margin:1rem 0; }
.sc-dialog h3 { font-size:1rem; margin-bottom:.5rem; }
.sc-dialog p,.sc-dialog li { font-size:.86rem; line-height:1.6; }
.sc-dialog-meta,.sc-source-basis { color:#5e5868; font-size:.74rem!important; }
.sc-source-basis { display:block; margin:.2rem 0 .8rem; }
.sc-milestone-list { padding-left:1.2rem; }
.sc-milestone-list p { margin:.3rem 0 1rem; }
.sc-family-detail { border-top:1px solid #ddd6e5; margin-top:1.5rem; padding-top:.6rem; }
.sc-source-list { padding-left:1.2rem; }
.sc-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; }
@media(max-width:700px) { .sc-card { padding:1.25rem 1rem; border-radius:.65rem; } .sc-card h3 { font-size:1.35rem; } .sc-card .sc-intro { font-size:.85rem; } .sc-controls { gap:.6rem; } .sc-count { width:100%; } .sc-dialog { padding:1rem; } .sc-dialog h2 { padding-right:0; clear:both; } }
@media print { .sc-scroll { overflow:visible; } .sc-card { break-inside:avoid; } .sc-controls,.sc-family-open,.sc-jump { display:none; } }
@media(max-width:1050px) {
  .sc-program-button { position:sticky; left:0; z-index:1; box-shadow:2px 0 3px #39265c0b; }
  .sc-matrix tbody th { position:sticky; left:0; z-index:1; box-shadow:2px 0 3px #39265c0b; }
}

.sc-bar-lane { display:grid; grid-template-columns:1fr 125px; align-items:center; gap:.6rem; }
.sc-bar-count { font-size:.65rem; color:#5e5868; white-space:nowrap; }
.sc-source-origin { color:#76628e!important; font-size:.64rem!important; }
@media(max-width:700px) {
  .sc-journey-row { grid-template-columns:160px repeat(3,1fr); }
  .sc-program-button { padding:.7rem; }
  .sc-matrix th:first-child { width:160px; }
}
.sc-point-text strong { display:block; font-size:.73rem; font-weight:600; line-height:1.4; }
.sc-point-text small { display:block; font-size:.66rem; line-height:1.4; color:#5e5868; margin-top:.2rem; }
.sc-point-text .sc-follow-date { color:#76628e; }
