/* calm.css — second pass on the main flow (02 Probe, 03 Test, 04 Trust, Sources): plainer and quieter.
   Fewer boxes and rules, more white space, 17–18 px reading text at 1.6, sans for words and mono only for numbers
   and coordinates, bigger numbers, at most two accent colours per section (the Test statuses keep their own
   colours because they carry meaning). Loaded last. Palette: tokens.css only. */
body{font-size:17px;line-height:1.6}

/* ---------- shared: titles, lead lines, small labels ---------- */
.probe .pb-title,#test-title,.trust-title{font:300 clamp(32px,3.4vw,54px)/1.14 var(--serif-display);letter-spacing:-.012em;max-width:22ch;text-wrap:balance;margin:0 0 14px;color:var(--text)}
.probe .pb-lead,#test-lead,.trust-lead,.section-heading p.lead{font:400 clamp(17px,1.45vw,20px)/1.6 var(--sans);color:var(--muted);max-width:62ch;margin:0}
.probe .pb-label,.micro-label,.trust .micro-label,.req-head .micro-label,.label-right{font:600 15px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}
.label-rust,.trust-cannot .micro-label,.cannot-box h3{color:var(--rust)}
.probe .block-head{margin-bottom:12px}

/* section rhythm */
.probe{padding-top:clamp(64px,8vw,120px);padding-bottom:clamp(40px,5vw,80px)}
.coverage-section{padding-top:clamp(64px,8vw,120px);padding-bottom:clamp(40px,5vw,80px)}
.trust{padding-top:clamp(64px,8vw,120px)}
.sources-section{padding-top:clamp(56px,7vw,100px)}

/* ---------- 02 Probe: one frame (the map), everything else is plain text with hairlines ---------- */
.probe .intro{margin-bottom:clamp(28px,3vw,44px);align-items:flex-end}
.probe .block{background:none;border:0;border-radius:0;padding:0}
.probe .block-map{padding:0}
.probe .map{border-radius:10px}
.probe .col{gap:clamp(28px,3vw,44px)}
.probe .grid{gap:clamp(28px,4vw,64px)}
.probe .block-counter,.probe .block-profile,.probe .block-clicks{border-top:1px solid var(--line);padding-top:24px}
.probe .map-notes{margin:20px 0 0;padding-top:0;border-top:0}
.probe .map-hint,.probe .time-now,.probe .readout-point,.probe .notes li,.probe .counter-note,.probe .chart-title,.probe .chart-cap,.probe .dem .dem-meta,.probe .click-where,.probe .switch-label,.probe .time-sub,.probe .click-vals{font-family:var(--sans)}
.probe .map-hint{font-size:17px;color:var(--text)}
.probe .time-now,.probe .time-sub{font-size:15px;color:var(--muted)}
.probe .time-year{font:600 17px/1.1 var(--sans)}
.probe .notes li{font-size:16px;color:var(--muted)}
.probe .notes b{color:var(--text);font-weight:600}
.probe .note-main{border-left-width:2px;font-size:17px}
.probe .switch{background:none;border-color:var(--line);padding:6px 16px 6px 8px}
.probe .switch-label{font-size:15px;color:var(--muted)}
.probe .switch[aria-checked="true"] .switch-label{color:var(--text)}
.probe .readout-point{font-size:16px;color:var(--muted);margin-bottom:8px}
.probe .dem{padding:14px 0}
.probe .dem dt{font:600 17px/1.3 var(--sans)}
.probe .dem .dem-meta{font-size:15px;color:var(--muted)}
.probe .dem dd{font-size:clamp(34px,3.2vw,46px);letter-spacing:-.02em}
.probe .dem-hero dd{font-size:clamp(60px,6vw,92px)}
.probe .dem-hero dd small{font-size:24px}
.probe .coords{border-top:1px solid var(--line);margin-top:4px}
.probe .coords dt{font:400 14px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}
.probe .coords dd{font:400 18px/1.4 var(--mono)}
.probe .counter{font:400 clamp(20px,1.9vw,26px)/1.3 var(--mono);margin-top:8px}
.probe .counter-note{font-size:16px;color:var(--muted)}
.probe .chart-title{font-size:16px}
.probe .chart-cap{font-size:15px;color:var(--muted)}
.probe .click-vals{font-size:16px}
.probe .click-vals b,.probe .click-n{font-family:var(--mono)}
.probe .click-where{font-size:16px}
.probe .link-btn{font:400 15px/1 var(--sans)}
.probe .line-name{font-family:var(--sans);letter-spacing:0;font-weight:600}
/* control = white, not a third accent colour */
.probe .line-strip.is-ctrl::before{border-left-color:var(--text);border-left-width:3px}
.probe .line-name.is-ctrl{color:var(--text);border-color:var(--na)}
.probe .pt-click.is-ctrl,.probe .click-n.is-ctrl{border-color:var(--text);color:var(--text)}
.probe .counter-ctrl{color:var(--text)}
.probe .chart .series-ctrl{stroke:var(--text)}
.probe .pb-foot p{font-size:14px}
/* the one box: what we cannot say */
.probe .block-cannot,.cannot-box,.trust-cannot{border:1px solid color-mix(in srgb,var(--rust) 55%,transparent);border-radius:12px;background:color-mix(in srgb,var(--rust) 6%,var(--surface));padding:20px 24px}
.probe .block-cannot p,.cannot-box p{margin:8px 0 0;font-size:17px;line-height:1.6;color:var(--text)}
.cannot-box h3{margin:0;display:flex;align-items:center;gap:8px;font:600 15px/1.3 var(--sans)}
.cannot-box .mark{display:inline-grid;place-items:center;width:18px;height:18px;border:1.5px solid var(--rust);border-radius:50%;font:600 12px/1 var(--mono)}
.trust-cannot ul{font-size:17px;line-height:1.6}

/* ---------- 03 Test ---------- */
.coverage-section .section-heading{margin-bottom:clamp(24px,3vw,40px);align-items:flex-end}
.coverage-section .section-heading>div:first-child{max-width:62ch}
.status-key{font:400 14px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted);gap:6px 18px}
.status-key b{font-weight:400}
.test-grid{gap:clamp(24px,4vw,56px);margin-bottom:clamp(28px,3vw,44px)}
.req-list{gap:0;border-top:1px solid var(--line)}
.req-item{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;padding:14px 8px 14px 14px;font-size:17px;line-height:1.4}
.req-item:hover{background:color-mix(in srgb,var(--surface) 70%,transparent)}
.req-item[aria-pressed="true"]{background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:inset 3px 0 0 var(--text);border-color:var(--line)}
.req-status{font:400 14px/1.3 var(--sans);letter-spacing:0}
.req-head{border:0;background:none;padding:0 0 12px}
.req-head h3{font:300 clamp(26px,2.4vw,36px)/1.2 var(--serif-display);margin:6px 0 8px}
.req-head .req-status{font-size:15px}
.facility-inline{border-radius:8px}
.facility-inline small{font:600 14px/1.3 var(--sans);letter-spacing:0;text-transform:none}
.cand-grid{gap:12px}
.cand-card{border:0;border-left:4px solid var(--na);border-radius:6px;padding:14px 16px;background:color-mix(in srgb,var(--surface) 80%,transparent)}
.cand-card[data-status="covered"]{border-left-color:var(--sage);background:color-mix(in srgb,var(--sage) 8%,var(--surface))}
.cand-card[data-status="partial"]{border-left-color:var(--ochre);background:color-mix(in srgb,var(--ochre) 8%,var(--surface))}
.cand-card[data-status="insufficient_data"]{border-left-color:var(--rust);background:color-mix(in srgb,var(--rust) 8%,var(--surface))}
.cand-card[data-status="not_applicable"],.cand-card[data-status="unknown"]{border-left-color:var(--na)}
.cand-card .status-chip,.status-chip{font-family:var(--sans);font-size:14px;border:0;background:none;padding:0;letter-spacing:0}
.matrix-detail{border:0;border-top:1px solid var(--line);background:none;padding:20px 0 0;border-radius:0}
.detail-top{font:300 clamp(22px,2vw,30px)/1.25 var(--serif-display)}
.detail-confidence,.detail-reason{font-size:17px}
.evidence-card{background:none;border-left-width:2px}
.evidence-card p,.evidence-card small{font-size:16px}
.table-details{border-top:1px solid var(--line);margin-top:8px}
.table-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px;font:400 18px/1.4 var(--sans);min-height:44px}
.table-details>summary::-webkit-details-marker{display:none}
.table-details>summary:after{content:"+";font:300 28px/1 var(--sans);color:var(--text)}
.table-details[open]>summary:after{content:"−"}
.table-details>summary:hover{color:var(--text)}
.table-details .matrix-shell{border:0;background:none}
.table-details .physics-section{margin-top:32px}
.table-details .physics-heading h3{font:300 clamp(22px,2vw,30px)/1.25 var(--serif-display);max-width:34ch}
.table-details .physics-heading .micro-label{display:none}
.table-details .physics-heading p{font-size:17px}
#coverage-table thead th{font-family:var(--sans)}
.facility-row small{font:600 14px/1.3 var(--sans);letter-spacing:0;text-transform:none}
.facility-row p{font-size:16px}

/* ---------- 04 Trust ---------- */
.trust-title{margin-bottom:12px}
.trust-lead{margin-bottom:28px}
.trust-place{gap:8px;margin-bottom:clamp(24px,3vw,40px)}
.trust-chip{border-color:var(--line);background:none;font-size:17px}
.trust-chip[aria-checked="true"]{border-color:var(--text);background:none;box-shadow:inset 0 0 0 1px var(--text)}
.trust-grid{gap:clamp(28px,4vw,64px)}
.trust-card{background:none;border:0;border-radius:0;padding:0}
.trust-side{gap:clamp(24px,3vw,40px)}
.trust-side .trust-card{border-left:1px solid var(--line);padding-left:clamp(20px,2.4vw,36px)}
.trust-place-name{font:300 clamp(24px,2.2vw,32px)/1.25 var(--serif-display);margin:6px 0 16px}
.trust-note{font-size:16px;line-height:1.6;color:var(--muted)}
#trust-table th{font:600 14px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}
#trust-table td{font-size:16px;line-height:1.5}
#trust-table td:last-child{font-family:var(--mono)}
#models-table th{font:600 14px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted);text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid var(--line)}
#models-table td{padding:10px 10px 10px 0;border-bottom:1px solid var(--line);font-size:16px}
#models-table{width:100%;min-width:0;border-collapse:collapse}
.expert-models{padding:clamp(28px,4vw,56px) var(--hero-pad) 0}
.expert-models h3{font:300 clamp(22px,2vw,30px)/1.25 var(--serif-display);margin:0 0 8px}
.expert-models p{font-size:16px;color:var(--muted);max-width:68ch;margin:0 0 16px}
.trust-floors{gap:18px}
.floor-name{font-size:17px}
.floor-value{font-size:clamp(34px,3.2vw,46px)}
.trust-floors small{font:400 14px/1.4 var(--sans);letter-spacing:0}
.trust-status-label{font:300 clamp(22px,2vw,28px)/1.3 var(--serif-display);margin:6px 0 8px}
#trust-status p{font-size:17px}
.trust-cannot{margin-top:clamp(8px,1vw,16px)}
.trust-cannot .mark{border-color:var(--rust)}
.trust-cannot .micro-label{font-size:15px}

/* ---------- sources, quieter ---------- */
.sources-section .section-heading p{font-size:17px;max-width:62ch}
.source-card{border:0;border-bottom:1px solid var(--line);background:none}
.source-card summary strong{font-size:16px;font-weight:600}
.source-number{font-family:var(--mono);color:var(--muted)}
.sources-list{gap:0 40px}

@media(max-width:1000px){.trust-side .trust-card{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:20px}}
@media(max-width:760px){
  .probe .dem-hero dd{font-size:56px}
  .probe .dem dd{font-size:34px}
  .probe .pb-title,#test-title,.trust-title{font-size:clamp(30px,8.4vw,36px)}
}
#trust-table th,#trust-table td,#models-table th,#models-table td{border-left:0;border-right:0}
#trust-table th{background:none}
.detail-evidence-title{font:600 15px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}

/* the folded source list: its toggle is only needed on a phone */
.sources-all>summary{display:none;list-style:none;cursor:pointer;align-items:center;justify-content:space-between;gap:16px;padding:16px 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:400 18px/1.4 var(--sans);min-height:44px}
.sources-all>summary::-webkit-details-marker{display:none}
.sources-all>summary:after{content:"+";font:300 28px/1 var(--sans)}
.sources-all[open]>summary:after{content:"−"}

/* ---------- phone: shorter main flow (same text and data, less air, rows instead of stacks) ---------- */
@media(max-width:760px){
  .probe,.coverage-section,.trust{padding-top:44px;padding-bottom:12px}
  .sources-section{padding-top:36px}
  .probe .intro{margin-bottom:20px}
  .probe .grid,.probe .col{gap:22px}
  .probe .block-counter,.probe .block-profile,.probe .block-clicks{padding-top:16px}
  .probe .dem{padding:10px 0}
  .probe .dem-hero dd{font-size:52px}
  .probe .map-notes{margin-top:12px}
  .probe .block-cannot,.cannot-box,.trust-cannot{padding:16px 18px}
  .probe .pb-foot{margin-top:16px}
  .coverage-section .section-heading{margin-bottom:18px}
  .status-key{display:none}
  /* requirements: one swipeable row instead of twelve stacked rows */
  .test-grid{gap:18px;margin-bottom:20px}
  .req-list{flex-direction:row;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;border-top:0;padding:0 0 10px}
  .req-item{flex:0 0 min(70vw,250px);scroll-snap-align:start;min-height:88px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;justify-content:space-between}
  .req-item[aria-pressed="true"]{box-shadow:none;border-color:var(--text);background:none}
  .req-head h3{font-size:26px}
  .cand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .cand-card{padding:10px 12px;gap:4px;font-size:16px}
  .matrix-detail{padding-top:14px}
  .table-details>summary{padding:14px 4px}
  /* trust: places in one row, sources as compact two-column rows */
  .trust-lead{margin-bottom:18px}
  .trust-place{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px;margin-bottom:20px}
  .trust-chip{flex:none;white-space:nowrap;scroll-snap-align:start}
  .trust-grid{gap:22px}
  .trust-place-name{margin-bottom:8px}
  #trust-table tr{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px;padding:10px 0}
  #trust-table td,#trust-table td.t-source{display:block;text-align:left;padding:0}
  #trust-table td.t-source,#trust-table td:nth-child(2){grid-column:1 / -1}
  #trust-table td:nth-child(2):before{display:none}
  #trust-table td:before{display:block;max-width:none;margin-bottom:1px;font:400 13px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}
  #trust-table td.t-source:before{display:none}
  .trust-side{gap:18px}
  .trust-side .trust-card{padding-top:16px}
  .trust-floors{gap:12px}
  .trust-cannot{margin-top:0}
  .trust-cannot ul{gap:8px;font-size:16px}
  /* sources: the list folds behind one toggle */
  .sources-all>summary{display:flex}
  .sources-section .section-heading{margin-bottom:14px}
  .source-card summary{padding:12px 4px}
  footer{padding:24px var(--hero-pad) 28px;gap:12px}
}

/* hero: only the title, the button and the data-source row; the globe source label stays out of the way */
.hero .globe-source{display:none!important}
.expert-notes{display:grid;gap:12px;margin:0 0 clamp(28px,5vh,48px)}
.expert-notes h3{margin:0}
.expert-notes p,.expert-notes li{margin:0;font:400 16px/1.6 var(--sans);color:var(--text);max-width:68ch}
.expert-notes .pb-label{margin:14px 0 0}
.expert-notes ul{margin:0;padding-left:20px}
.probe-method{margin:20px 0 0;border-top:1px solid var(--line)}
.probe-method>summary{cursor:pointer;padding:14px 0;font:400 16px/1.4 var(--sans);color:var(--muted)}
.probe-method .pm-body{display:grid;gap:10px;padding-bottom:14px}
