/* World challenges page. Builds on styles.css (tokens, header, results masthead):
   typography first, one accent, depth only behind the masthead. Reading sizes
   as on the topic pages (D56, T35): page title 40px at most on desktop and
   30px on phones, section titles below it, body text 15-17px. */
.ch-main{padding-top:56px;padding-bottom:96px}
.ch-masthead .results-running{margin-bottom:32px}
.ch-title-main{font-size:clamp(28px,2.8vw,40px);line-height:1.15;letter-spacing:-.015em;max-width:24ch}
.ch-masthead .results-lede{margin-top:16px;max-width:46em;font-size:16px;line-height:1.7}
.ch-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:32px;border-top:1px solid var(--ink-muted);max-width:1080px}
.ch-summary div{display:flex;flex-direction:column;gap:6px;padding:14px 20px 16px 0;border-right:1px solid var(--rule)}
.ch-summary div+div{padding-left:20px}
.ch-summary div:last-child{border-right:0}
.ch-summary dd{font-family:var(--mono);font-size:28px;line-height:1;font-weight:400;letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums}
.ch-summary dd[data-state="loading"],.ch-summary dd[data-state="unavailable"]{font-size:15px;line-height:1.85;letter-spacing:0;color:var(--ink-faint);font-weight:400}
.ch-summary dt{font-size:13px;color:var(--ink-muted)}

.ch-list{margin-top:64px}
.ch-bar{justify-content:space-between}
.ch-tier{margin-top:64px}
.ch-tier-head{display:grid;grid-template-columns:7rem minmax(0,1fr);column-gap:24px;padding-bottom:24px}
.ch-tier-index{grid-row:span 2;font-size:12px;letter-spacing:.2em;color:var(--amber);padding-top:.55em}
.ch-tier-title{font-size:clamp(22px,2vw,28px);line-height:1.2;font-weight:600;letter-spacing:-.01em}
.ch-tier-lede{margin-top:10px;max-width:46em;font-size:15.5px;line-height:1.7;color:var(--ink-muted)}

.ch{border-top:1px solid var(--rule-strong);padding:40px 0 48px}
.ch-head{display:grid;grid-template-columns:7rem minmax(0,1fr) minmax(0,15rem);column-gap:24px;align-items:start}
.ch-head:has(.ch-emblem){grid-template-columns:auto 6rem minmax(0,1fr) minmax(0,15rem)}
.ch-emblem{display:block;width:44px}.ch-emblem svg{display:block;width:100%;height:auto}
.ch-emblem[data-kind="scaffold"]{width:40px}.ch-emblem[data-kind="star"]{width:52px;margin-top:-6px}
.ch-id{font-size:clamp(20px,1.8vw,26px);line-height:1.2;font-weight:300;letter-spacing:0;color:var(--amber)}
.ch-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px}
.ch-title{font-size:clamp(20px,1.7vw,24px);line-height:1.3;font-weight:600;letter-spacing:-.01em;max-width:30em;overflow-wrap:anywhere}
.ch-official{display:grid;gap:4px;border-top:1px solid var(--rule-strong);padding-top:10px;font-size:12px}
.ch-label{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.ch-status{font-size:16px;line-height:1.4;font-weight:600;color:var(--ink)}
.ch-official a{color:var(--ink-muted);overflow-wrap:anywhere}

.ch-body{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:56px;padding:24px 0 0 calc(7rem + 24px)}
.ch-read{min-width:0;max-width:46em}
.ch-plain{font-size:16.5px;line-height:1.75;color:var(--ink)}
.ch-part{margin-top:30px}
.ch-part h4{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);padding-bottom:10px;border-bottom:1px solid var(--rule);margin:0 0 14px}
.ch-best{display:grid;gap:12px}
.ch-best li{position:relative;padding-left:2.2rem;font-size:15px;line-height:1.7;color:var(--ink-muted)}
.ch-best li::before{content:"—";position:absolute;left:0;color:var(--ink-faint)}
.ch-progress,.ch-expect{font-size:15px;line-height:1.7;color:var(--ink-muted)}
.ch-baseline{margin-top:12px;font-size:12.5px;line-height:1.6;color:var(--ink-faint)}

.ch-table{width:100%;margin-top:22px;border-collapse:collapse;font-size:13.5px}
.ch-table thead th{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);text-align:left;padding:0 12px 8px 0;border-bottom:1px solid var(--rule-strong)}
.ch-table tbody th,.ch-table td{padding:9px 12px 9px 0;border-bottom:1px solid var(--rule);text-align:left;vertical-align:middle}
.ch-table tbody th{font-weight:500;color:var(--ink);white-space:nowrap}
.ch-range{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.ch-note{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--amber)}
.ch-note-proven,.ch-note-muted{color:var(--ink-muted)}
.ch-table td:not(.ch-strip){color:var(--ink-muted)}
.ch-strip{width:30%;padding-right:0}
.ch-strip-svg{display:block;width:100%;height:10px}
.ch-cand{fill:none;stroke:var(--ink-muted);stroke-width:.6;vector-effect:non-scaling-stroke}
.ch-known{fill:var(--ink-muted)}
.ch-gap{fill:none;stroke:var(--amber);stroke-width:1;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}

.ch-sources{margin-top:34px;border-top:1px solid var(--rule)}
.ch-sources summary{display:flex;align-items:center;gap:10px;min-height:44px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);list-style:none}
.ch-sources summary::-webkit-details-marker{display:none}
.ch-sources summary::before{content:"+";display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid var(--rule-strong);font-size:12px;letter-spacing:0}
.ch-sources[open] summary::before{content:"−"}
.ch-sources summary:hover{color:var(--ink)}
.ch-source-list{display:grid;gap:8px;padding:6px 0 4px;font-size:13.5px}
.ch-source-list a{color:var(--ink-muted);overflow-wrap:anywhere}
.ch-checked{margin-left:6px;font-size:11px;color:var(--ink-faint);white-space:nowrap}

.ch-world{align-self:start;position:sticky;top:24px;border:1px solid var(--rule-strong);background:var(--bg-sunk);padding:18px 20px 20px}
.ch-world[data-state="published"]{border-left:3px solid var(--amber)}
.ch-world[data-state="unpublished"]{border-style:dashed}
.ch-world-label{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.ch-world-state{margin-top:12px;font-size:18px;line-height:1.3;font-weight:600;letter-spacing:-.005em;color:var(--ink)}
.ch-world[data-state="loading"] .ch-world-state{font-size:15px;font-weight:400;color:var(--ink-faint)}
.ch-world[data-state="unpublished"] .ch-world-state,.ch-world[data-state="unavailable"] .ch-world-state{color:var(--ink-muted)}
.ch-world-text{margin-top:8px;font-size:13px;line-height:1.6;color:var(--ink-muted);overflow-wrap:anywhere}
.ch-world-text:empty,.ch-world-titles:empty{display:none}
.ch-world-titles{margin-top:10px;display:grid;gap:4px;font-size:13px;color:var(--ink)}
.ch-world-titles li{padding-left:12px;border-left:1px solid var(--rule-strong)}
.ch-world-titles a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}
.ch-world-titles a:hover{text-decoration-color:var(--amber)}
.ch-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;border-top:1px solid var(--rule)}
.ch-metrics div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:2px;padding:10px 0;border-bottom:1px solid var(--rule)}
.ch-metrics dt{font-size:11px;line-height:1.4;color:var(--ink-faint)}
.ch-metrics dd{font-family:var(--mono);font-size:20px;line-height:1.2;font-weight:400;color:var(--ink);font-variant-numeric:tabular-nums}
.ch-verifier{display:grid;gap:4px;margin-top:16px;padding-top:12px;border-top:1px solid var(--rule);font-size:12.5px;line-height:1.6;color:var(--ink-muted)}
.ch-verifier strong{justify-self:start;font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:1px 6px;border:1px dashed var(--amber);color:var(--amber)}
.ch-verifier[data-verifier="none"] strong{border-color:var(--rule-strong);color:var(--ink-muted)}

.ch-deferred{margin-top:72px;border-top:1px solid var(--rule-strong);padding-top:20px;max-width:880px}
.ch-deferred h2{font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}
.ch-deferred ul:first-of-type{display:grid;gap:10px;margin-top:14px}
.ch-deferred li{font-size:14px;line-height:1.7;color:var(--ink-muted)}
.ch-deferred .ch-source-list{margin-top:14px}

/* verification details: how the page reads the world, folded (D56, T35) */
.ch-verify{margin-top:40px;max-width:880px;border-top:1px solid var(--rule)}
.ch-verify summary{display:flex;align-items:center;gap:10px;min-height:44px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);list-style:none;cursor:pointer}
.ch-verify summary::-webkit-details-marker{display:none}
.ch-verify summary::before{content:"+";display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid var(--rule-strong);font-size:12px;font-weight:400;letter-spacing:0}
.ch-verify[open] summary::before{content:"−"}
.ch-verify summary:hover{color:var(--ink)}
.ch-verify-body{display:grid;gap:10px;padding:4px 0 8px 28px;font-size:13.5px;line-height:1.7;color:var(--ink-muted)}
.ch-verify-list{display:grid;gap:4px;font-size:12.5px;overflow-wrap:anywhere}
.ch-verify-list a{color:var(--ink-muted)}
.ch-verify-code{font-size:12.5px;color:var(--ink);overflow-wrap:anywhere}
.ch-verify-note{font-size:12px;color:var(--ink-faint)}

@media (max-width:1080px){
  .ch-masthead .results-running{flex-direction:column;gap:4px}
  .ch-body{grid-template-columns:minmax(0,1fr);gap:28px;padding-left:0}
  .ch-world{position:static;order:-1}
  .ch-head,.ch-head:has(.ch-emblem){grid-template-columns:minmax(0,1fr)}
  .ch-emblem{width:32px!important;margin:0 0 8px}
  .ch-id{font-size:20px;margin-bottom:8px}
  .ch-official{margin-top:18px;max-width:28rem}
  .ch-tier-head{grid-template-columns:minmax(0,1fr)}
  .ch-tier-index{grid-row:auto;padding:0 0 8px}
}
@media (max-width:760px){
  .ch-main{padding-top:32px;padding-bottom:72px}
  .ch-title-main{font-size:clamp(24px,7vw,30px)}
  .ch-masthead .results-lede{font-size:15px}
  .ch-summary dd{font-size:24px}
  .ch-list{margin-top:48px}
  .ch-tier{margin-top:48px}
  .ch-tier-title{font-size:22px}
  .ch-title{font-size:19px}
  .ch{padding:32px 0 40px}
  .ch-verify-body{padding-left:0}
}
@media (max-width:720px){
  .ch-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ch-summary div,.ch-summary div+div{padding:14px 12px 14px 0;border-right:0;border-bottom:1px solid var(--rule)}
  .ch-summary div:nth-child(2n){padding-left:12px;border-left:1px solid var(--rule)}
  .ch-plain{font-size:16px}
  .ch-table{font-size:12.5px}
  .ch-strip{width:24%}
  .ch-table td,.ch-table tbody th{padding-right:8px}
}
