/* Neurohaven ADHD Reform Radar — v052
   Premium native integration of the user-supplied radar concept.
   All dimensions are rem-based so v041's QHD/4K root scaling remains intact. */

.reform-radar-section {
  position: relative;
  padding-block: clamp(2.25rem, 5vw, 4.5rem) clamp(3.25rem, 7vw, 6.5rem);
  overflow: clip;
}

.reform-radar-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(42rem 30rem at 77% 9%, rgba(52,215,238,.13), transparent 67%),
    radial-gradient(34rem 26rem at 16% 32%, rgba(139,156,255,.09), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.012), transparent 34%);
  opacity: .95;
}

.reform-radar-section .section-shell { position: relative; z-index: 1; }

.reform-radar-hero {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(31rem, 1.18fr);
  gap: clamp(2rem, 4vw, 4.5rem);
  align-items: center;
  padding: clamp(1.5rem, 3vw, 2.75rem);
  border: .0625rem solid rgba(52,215,238,.17);
  border-radius: 1.75rem;
  background:
    linear-gradient(135deg, rgba(52,215,238,.055), rgba(139,156,255,.025) 44%, transparent 72%),
    rgba(4,10,24,.58);
  box-shadow: 0 1.8rem 5rem rgba(0,0,0,.28), inset 0 0 0 .0625rem rgba(255,255,255,.025);
  overflow: hidden;
}

[data-theme="light"] .reform-radar-hero {
  background:
    linear-gradient(135deg, rgba(15,182,212,.08), rgba(139,156,255,.035) 44%, transparent 72%),
    rgba(255,255,255,.72);
  border-color: rgba(15,182,212,.2);
  box-shadow: 0 1.4rem 3.8rem rgba(35,60,110,.12), inset 0 0 0 .0625rem rgba(255,255,255,.6);
}

.reform-radar-intro h2 {
  max-width: 12ch;
  font-size: clamp(2.35rem, 4.2vw, 4.2rem);
  letter-spacing: -.045em;
  background: linear-gradient(120deg, var(--ink), var(--accent) 62%, var(--accent-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.reform-radar-intro__lead {
  max-width: 38rem;
  margin: 1.25rem 0 0;
  color: var(--ink-dim);
  font-size: clamp(1.05rem, 1.7vw, 1.25rem);
  line-height: 1.7;
}

.reform-radar-snapshot {
  display: flex;
  align-items: flex-start;
  gap: .8rem;
  max-width: 38rem;
  margin-top: 1.5rem;
  padding: 1rem 1.1rem;
  border: .0625rem solid rgba(52,215,238,.16);
  border-radius: 1rem;
  background: rgba(52,215,238,.045);
}
.reform-radar-snapshot strong,
.reform-radar-snapshot span { display: block; }
.reform-radar-snapshot strong { color: var(--accent); font-family: var(--font-mono); font-size: .74rem; letter-spacing: .09em; text-transform: uppercase; }
.reform-radar-snapshot span { margin-top: .25rem; color: var(--muted); font-size: .86rem; line-height: 1.55; }
.reform-radar-live-dot { flex: 0 0 auto; width: .55rem; height: .55rem; margin-top: .22rem; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 .3rem rgba(52,215,238,.08), 0 0 1.1rem rgba(52,215,238,.75); }

.reform-radar-filter,
.reform-document-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
.reform-filter-chip {
  appearance: none;
  min-height: 2.35rem;
  padding: .55rem .78rem;
  border: .0625rem solid var(--line-strong);
  border-radius: 999rem;
  background: rgba(255,255,255,.035);
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: .67rem;
  letter-spacing: .045em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .2s, background .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.reform-filter-chip:hover { color: var(--ink); border-color: rgba(52,215,238,.5); transform: translateY(-.08rem); }
.reform-filter-chip.is-active,
.reform-filter-chip[aria-pressed="true"] { color: #06121b; background: linear-gradient(120deg, var(--accent), var(--accent-2)); border-color: transparent; box-shadow: 0 .45rem 1.35rem rgba(52,215,238,.18); }
.reform-filter-chip:focus-visible { outline: .13rem solid var(--accent); outline-offset: .15rem; }

.reform-radar-key { margin: 1rem 0 0; color: var(--muted); font-family: var(--font-mono); font-size: .68rem; letter-spacing: .025em; }
.reform-radar-key span { color: var(--accent-2); }

.reform-radar-console {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(20rem, 1fr) minmax(15rem, .62fr);
  align-items: center;
  gap: 1rem;
}

.reform-radar-plot {
  position: relative;
  width: min(100%, 34rem);
  aspect-ratio: 1;
  margin-inline: auto;
  border: .0625rem solid rgba(52,215,238,.24);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(52,215,238,.08), transparent 16%),
    radial-gradient(circle at 50% 50%, rgba(10,23,48,.88), rgba(4,9,22,.98) 69%, rgba(2,7,18,1));
  box-shadow:
    inset 0 0 4.5rem rgba(52,215,238,.07),
    0 0 0 .45rem rgba(52,215,238,.015),
    0 2rem 5rem rgba(0,0,0,.4);
  overflow: hidden;
  isolation: isolate;
}
[data-theme="light"] .reform-radar-plot {
  background:
    radial-gradient(circle at 50% 50%, rgba(15,182,212,.11), transparent 16%),
    radial-gradient(circle at 50% 50%, rgba(249,252,255,.98), rgba(230,240,250,.98) 70%, rgba(220,234,247,1));
  box-shadow: inset 0 0 4rem rgba(15,182,212,.09), 0 1.4rem 3.5rem rgba(35,60,110,.14);
}

.reform-radar-grid,
.reform-radar-grid .ring,
.reform-radar-grid .axis { position: absolute; pointer-events: none; }
.reform-radar-grid { inset: 0; }
.reform-radar-grid .ring { left: 50%; top: 50%; border: .0625rem solid rgba(52,215,238,.16); border-radius: 50%; transform: translate(-50%, -50%); }
.reform-radar-grid .ring-1 { width: 24%; height: 24%; }
.reform-radar-grid .ring-2 { width: 44%; height: 44%; }
.reform-radar-grid .ring-3 { width: 66%; height: 66%; }
.reform-radar-grid .ring-4 { width: 88%; height: 88%; border-color: rgba(52,215,238,.22); }
.reform-radar-grid .axis { background: rgba(52,215,238,.13); }
.reform-radar-grid .axis-x { left: 5%; right: 5%; top: 50%; height: .0625rem; }
.reform-radar-grid .axis-y { top: 5%; bottom: 5%; left: 50%; width: .0625rem; }
.reform-radar-grid::before,
.reform-radar-grid::after { content: ""; position: absolute; inset: 8%; border-radius: 50%; pointer-events: none; }
.reform-radar-grid::before { background: conic-gradient(from -90deg, rgba(52,215,238,.018), transparent 18%, rgba(139,156,255,.026) 31%, transparent 46%, rgba(127,230,208,.02) 62%, transparent 77%, rgba(255,178,122,.018)); }
.reform-radar-grid::after { border: .0625rem dashed rgba(255,255,255,.055); }

/* v052 — preloader-style scan sweep. CSS keyframes remain as a no-JS fallback;
   JavaScript also drives the parent transform continuously so browser/OS motion
   preferences or global animation rules cannot accidentally freeze the sweep. */
.reform-radar-sweep {
  position: absolute;
  z-index: 2;
  inset: 0;
  border-radius: 50%;
  transform-origin: 50% 50%;
  pointer-events: none;
  animation: reform-radar-sweep 8s linear infinite;
  opacity: .86;
  will-change: transform;
}

/* Broad trailing cone: intentionally soft and low-contrast so it passes behind
   the interactive blips rather than competing with them. */
.reform-radar-sweep::before {
  content: "";
  position: absolute;
  inset: 2.5%;
  border-radius: 50%;
  background:
    conic-gradient(
      from 0deg at 50% 50%,
      transparent 0deg,
      transparent 302deg,
      rgba(167,241,250,.018) 309deg,
      rgba(128,225,239,.05) 320deg,
      rgba(104,214,231,.11) 333deg,
      rgba(82,202,222,.21) 345deg,
      rgba(185,245,252,.34) 357deg,
      rgba(210,250,255,.38) 360deg
    );
  -webkit-mask: radial-gradient(circle at 50% 50%, transparent 0 7%, #000 13% 94%, transparent 100%);
  mask: radial-gradient(circle at 50% 50%, transparent 0 7%, #000 13% 94%, transparent 100%);
  filter: blur(.18rem);
  mix-blend-mode: screen;
}

/* Bright leading edge, matching the narrow rotating line in the Neurohaven
   preload radar. It fades toward the rim rather than ending abruptly. */
.reform-radar-sweep::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 47.5%;
  height: .075rem;
  transform: translateY(-50%);
  transform-origin: 0 50%;
  border-radius: 999rem;
  background: linear-gradient(90deg,
    rgba(205,249,255,.72) 0%,
    rgba(151,235,247,.66) 34%,
    rgba(82,202,222,.42) 72%,
    rgba(82,202,222,0) 100%);
  box-shadow:
    0 0 .28rem rgba(173,242,250,.55),
    0 0 .72rem rgba(82,202,222,.22);
  opacity: .82;
}

[data-theme="light"] .reform-radar-sweep {
  opacity: .58;
}
[data-theme="light"] .reform-radar-sweep::before {
  mix-blend-mode: multiply;
  filter: blur(.12rem);
}
[data-theme="light"] .reform-radar-sweep::after {
  background: linear-gradient(90deg,
    rgba(4,115,137,.58) 0%,
    rgba(15,164,191,.48) 42%,
    rgba(15,164,191,.24) 76%,
    rgba(15,164,191,0) 100%);
  box-shadow: 0 0 .5rem rgba(15,164,191,.18);
}

@keyframes reform-radar-sweep { to { transform: rotate(360deg); } }

.reform-ring-label {
  position: absolute;
  z-index: 1;
  color: rgba(147,164,203,.52);
  font-family: var(--font-mono);
  font-size: .54rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  pointer-events: none;
}
.label-2024 { left: 51%; top: 44%; }
.label-2025a { left: 51%; top: 34%; }
.label-2025b { left: 51%; top: 23%; }
.label-2026 { left: 51%; top: 12%; color: rgba(52,215,238,.66); }

.reform-radar-centre {
  position: absolute;
  z-index: 6;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 4.8rem; height: 4.8rem;
  border: .0625rem solid rgba(52,215,238,.42);
  border-radius: 50%;
  background: rgba(4,10,24,.9);
  box-shadow: 0 0 2.2rem rgba(52,215,238,.16), inset 0 0 1.5rem rgba(52,215,238,.05);
  color: var(--accent);
  font-family: var(--font-mono);
  line-height: 1;
}
.reform-radar-centre span { font-size: .78rem; letter-spacing: .12em; font-weight: 700; }
.reform-radar-centre small { margin-top: -.8rem; color: var(--muted); font-size: .46rem; letter-spacing: .15em; }
[data-theme="light"] .reform-radar-centre { background: rgba(250,253,255,.96); }

.reform-radar-blip {
  position: absolute;
  z-index: 7;
  left: var(--blip-x); top: var(--blip-y);
  width: 1.15rem; height: 1.15rem;
  transform: translate(-50%, -50%);
  border: 0;
  border-radius: 50%;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.reform-radar-blip::before { content: ""; position: absolute; inset: -.3rem; border-radius: 50%; border: .0625rem solid transparent; transition: border-color .2s, transform .2s, background .2s; }
.reform-radar-blip > span { position: absolute; left: 50%; top: 50%; width: .46rem; height: .46rem; transform: translate(-50%, -50%); border-radius: 50%; background: var(--accent-2); box-shadow: 0 0 .7rem rgba(127,230,208,.8); transition: transform .18s, box-shadow .18s, opacity .2s; }
.reform-radar-blip.status-page-reported > span { background: var(--accent); box-shadow: 0 0 .7rem rgba(52,215,238,.85); }
.reform-radar-blip.status-analysis > span { background: var(--accent-3); box-shadow: 0 0 .7rem rgba(139,156,255,.85); }
.reform-radar-blip.status-expected > span,
.reform-radar-blip.status-roadmap > span,
.reform-radar-blip.status-target > span { background: var(--ember); box-shadow: 0 0 .7rem rgba(255,178,122,.8); }
.reform-radar-blip.status-superseded > span { background: #ff6d8f; box-shadow: 0 0 .7rem rgba(255,109,143,.85); }
.reform-radar-blip:hover > span,
.reform-radar-blip:focus-visible > span,
.reform-radar-blip.is-selected > span { transform: translate(-50%, -50%) scale(1.75); box-shadow: 0 0 1.2rem currentColor; }
.reform-radar-blip.is-selected::before { border-color: rgba(52,215,238,.58); background: rgba(52,215,238,.08); transform: scale(1.28); }
.reform-radar-blip:focus-visible { outline: .12rem solid var(--ink); outline-offset: .08rem; }
.reform-radar-blip.is-filtered { opacity: .13; pointer-events: none; }

.reform-radar-detail {
  position: relative;
  min-height: 16rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.35rem;
  border: .0625rem solid var(--line);
  border-radius: 1.15rem;
  background: rgba(255,255,255,.025);
  overflow: hidden;
}
.reform-radar-detail::before { content: ""; position: absolute; width: 9rem; height: 9rem; right: -4.5rem; top: -4.5rem; border-radius: 50%; background: rgba(52,215,238,.08); filter: blur(.2rem); }
.reform-radar-detail__meta { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; color: var(--muted); font-family: var(--font-mono); font-size: .68rem; }
.reform-radar-detail h3 { position: relative; margin-top: .9rem; font-size: clamp(1.15rem, 1.7vw, 1.45rem); line-height: 1.2; }
.reform-radar-detail p { position: relative; margin: .85rem 0 0; color: var(--muted); font-size: .88rem; line-height: 1.58; }
.reform-radar-detail.is-changing { animation: reform-detail-in .24s ease both; }
@keyframes reform-detail-in { from { opacity: .35; transform: translateY(.25rem); } to { opacity: 1; transform: none; } }

.reform-status { display: inline-flex; align-items: center; gap: .35rem; width: max-content; padding: .28rem .48rem; border-radius: 999rem; border: .0625rem solid currentColor; font-family: var(--font-mono); font-size: .58rem; letter-spacing: .045em; text-transform: uppercase; line-height: 1; }
.reform-status::before { content: ""; width: .35rem; height: .35rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 .5rem currentColor; }
.reform-status.status-confirmed { color: var(--accent-2); }
.reform-status.status-page-reported { color: var(--accent); }
.reform-status.status-analysis { color: var(--accent-3); }
.reform-status.status-expected,
.reform-status.status-roadmap,
.reform-status.status-target { color: var(--ember); }
.reform-status.status-superseded { color: #ff6d8f; }

.reform-signal-strip,
.reform-latest,
.reform-timeline,
.reform-reports,
.reform-sources { margin-top: clamp(2.25rem, 5vw, 4.5rem); }

.reform-section-title { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.15rem; }
.reform-section-title h3 { flex: 0 0 auto; font-family: var(--font-mono); font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.reform-section-title__pulse { width: .48rem; height: .48rem; border-radius: 50%; background: var(--accent); box-shadow: 0 0 .85rem var(--accent); }
.reform-section-title__rule { flex: 1; height: .0625rem; background: linear-gradient(90deg, rgba(52,215,238,.26), transparent); }

.reform-signal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.reform-signal-card { position: relative; padding: 1.2rem 1.25rem; min-height: 11rem; border: .0625rem solid var(--line); border-radius: 1.15rem; background: linear-gradient(145deg, rgba(255,255,255,.038), rgba(255,255,255,.018)); overflow: hidden; }
.reform-signal-card::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: .12rem; background: linear-gradient(90deg, transparent, rgba(52,215,238,.7), transparent); opacity: .55; }
.reform-signal-card > span { display: block; color: var(--muted); font-family: var(--font-mono); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.reform-signal-card > strong { display: block; margin-top: .55rem; color: var(--ink); font-family: var(--font-mono); font-size: clamp(1.7rem, 2.7vw, 2.7rem); letter-spacing: -.045em; }
.reform-signal-card p { margin: .15rem 0 .85rem; color: var(--ink-dim); font-size: .86rem; }
.reform-signal-card a { display: inline-flex; margin-top: auto; color: var(--accent); font-family: var(--font-mono); font-size: .61rem; line-height: 1.45; }

.reform-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.5rem; }
.reform-section-head h3 { font-size: clamp(1.75rem, 3vw, 2.6rem); }
.reform-section-head > p { max-width: 35rem; margin: 0; color: var(--muted); font-size: .9rem; }
.reform-section-head .eyebrow { margin-bottom: .6rem; }

.reform-latest-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }

.reform-document-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  color: var(--ink);
  border: .0625rem solid var(--line);
  border-radius: 1.2rem;
  background: rgba(255,255,255,.028);
  overflow: hidden;
  transition: transform .23s ease, border-color .23s ease, box-shadow .23s ease, background .23s ease;
}
a.reform-document-card:hover { transform: translateY(-.22rem); border-color: rgba(52,215,238,.42); box-shadow: 0 1.15rem 2.8rem rgba(0,0,0,.22), 0 0 2rem rgba(52,215,238,.07); background: rgba(52,215,238,.04); }
a.reform-document-card:focus-visible { outline: .14rem solid var(--accent); outline-offset: .15rem; }
.reform-document-card__visual { position: relative; display: block; width: 100%; aspect-ratio: 1.5 / 1; overflow: hidden; background: linear-gradient(145deg, rgba(52,215,238,.08), rgba(139,156,255,.08)); }
.reform-document-card__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 42%, rgba(3,8,18,.78)); }
.reform-document-card__visual img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
a.reform-document-card:hover .reform-document-card__visual img { transform: scale(1.035); }
.reform-document-card__placeholder { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(52,215,238,.45); font-family: var(--font-mono); font-size: 2.6rem; }
.reform-document-card__type { position: absolute; z-index: 2; left: .8rem; top: .8rem; padding: .28rem .48rem; border: .0625rem solid rgba(52,215,238,.28); border-radius: 999rem; background: rgba(5,10,23,.78); backdrop-filter: blur(.6rem); color: var(--accent); font-family: var(--font-mono); font-size: .55rem; letter-spacing: .08em; text-transform: uppercase; }
.reform-document-card__body { display: flex; flex: 1; flex-direction: column; padding: 1rem 1.05rem 1.1rem; }
.reform-document-card__meta { color: var(--muted); font-family: var(--font-mono); font-size: .62rem; line-height: 1.4; }
.reform-document-card__body strong { margin-top: .55rem; color: var(--ink); font-family: var(--font-display); font-size: 1.02rem; line-height: 1.25; }
.reform-document-card__description { margin-top: .55rem; color: var(--muted); font-size: .79rem; line-height: 1.48; }
.reform-document-card__cta { margin-top: auto; padding-top: .9rem; color: var(--accent); font-family: var(--font-mono); font-size: .65rem; font-weight: 700; letter-spacing: .035em; }
.reform-document-card--featured .reform-document-card__visual { aspect-ratio: 1.55 / 1; }
.reform-document-card--featured .reform-document-card__body strong { font-size: 1.08rem; }

.reform-section-head--timeline { align-items: center; }
.reform-timeline-actions { display: flex; gap: .45rem; }
.reform-timeline-actions button { appearance: none; width: 2.6rem; height: 2.6rem; border: .0625rem solid var(--line-strong); border-radius: .8rem; background: var(--panel); color: var(--ink); font-size: 1.05rem; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.reform-timeline-actions button:hover { border-color: var(--accent); color: var(--accent); background: rgba(52,215,238,.06); }
.reform-timeline-actions button:focus-visible { outline: .13rem solid var(--accent); outline-offset: .12rem; }

.reform-timeline-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(18rem, 23rem);
  gap: .9rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgba(52,215,238,.38) rgba(255,255,255,.04);
  padding: .25rem .15rem .85rem;
}
.reform-timeline-rail::-webkit-scrollbar { height: .5rem; }
.reform-timeline-rail::-webkit-scrollbar-track { background: rgba(255,255,255,.035); border-radius: 999rem; }
.reform-timeline-rail::-webkit-scrollbar-thumb { background: rgba(52,215,238,.32); border-radius: 999rem; }
.reform-timeline-event { position: relative; scroll-snap-align: center; display: flex; flex-direction: column; min-height: 20rem; padding: 1rem; border: .0625rem solid var(--line); border-radius: 1rem; background: rgba(255,255,255,.026); transition: border-color .22s, background .22s, box-shadow .22s, opacity .2s; }
.reform-timeline-event::before { content: ""; position: absolute; left: 1rem; top: 0; width: 2.2rem; height: .12rem; background: var(--accent-2); box-shadow: 0 0 .8rem rgba(127,230,208,.35); }
.reform-timeline-event.is-selected { border-color: rgba(52,215,238,.47); background: rgba(52,215,238,.045); box-shadow: 0 1rem 2.5rem rgba(0,0,0,.16), inset 0 0 2.2rem rgba(52,215,238,.025); }
.reform-timeline-event.is-filtered { opacity: .18; display: none; }
.reform-timeline-event__select { appearance: none; display: flex; flex: 1; flex-direction: column; align-items: flex-start; width: 100%; padding: 0; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; }
.reform-timeline-event__select:focus-visible { outline: .12rem solid var(--accent); outline-offset: .35rem; border-radius: .4rem; }
.reform-timeline-event__date { margin-bottom: .65rem; color: var(--accent); font-family: var(--font-mono); font-size: .67rem; letter-spacing: .06em; text-transform: uppercase; }
.reform-timeline-event .reform-status { margin-bottom: .8rem; }
.reform-timeline-event__select strong { color: var(--ink); font-size: 1.02rem; line-height: 1.28; }
.reform-timeline-event__category { margin-top: .5rem; color: var(--muted); font-family: var(--font-mono); font-size: .58rem; letter-spacing: .05em; text-transform: uppercase; }
.reform-timeline-event__summary { margin-top: .9rem; color: var(--muted); font-size: .8rem; line-height: 1.52; }
.reform-timeline-event__links { display: flex; flex-wrap: wrap; gap: .45rem .65rem; margin-top: 1rem; padding-top: .8rem; border-top: .0625rem solid var(--line); }
.reform-timeline-event__links a { color: var(--accent); font-family: var(--font-mono); font-size: .61rem; }
.reform-timeline-event__note { margin: .65rem 0 0; padding: .65rem .7rem; border-radius: .6rem; background: rgba(255,178,122,.055); color: var(--muted); font-size: .7rem; line-height: 1.42; }

.reform-document-filters { margin: -1rem 0 1.15rem; }
.reform-document-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .85rem; }
.reform-document-grid .reform-document-card__visual { aspect-ratio: .92 / 1; }
.reform-document-grid .reform-document-card__body { padding: .85rem; }
.reform-document-grid .reform-document-card__description { display: none; }
.reform-document-card.is-filtered { display: none; }
.reform-reports__foot { display: flex; justify-content: center; margin-top: 1.5rem; }

.reform-sources { border: .0625rem solid var(--line); border-radius: 1.2rem; background: rgba(255,255,255,.025); overflow: hidden; }
.reform-sources > summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.15rem 1.25rem; cursor: pointer; user-select: none; }
.reform-sources > summary::-webkit-details-marker { display: none; }
.reform-sources > summary::after { content: "+"; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; flex: 0 0 auto; border: .0625rem solid var(--line-strong); border-radius: .7rem; color: var(--accent); font-family: var(--font-mono); font-size: 1.2rem; transition: transform .2s; }
.reform-sources[open] > summary::after { transform: rotate(45deg); }
.reform-sources > summary span:first-child { display: flex; flex-direction: column; }
.reform-sources > summary small { color: var(--accent); font-family: var(--font-mono); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.reform-sources > summary strong { margin-top: .2rem; color: var(--ink); font-family: var(--font-display); font-size: 1.2rem; }
.reform-sources__count { margin-left: auto; color: var(--muted); font-family: var(--font-mono); font-size: .7rem; }
.reform-sources__body { padding: 0 1.25rem 1.35rem; border-top: .0625rem solid var(--line); }
.reform-source-search { display: grid; grid-template-columns: auto minmax(12rem, 28rem); justify-content: end; align-items: center; gap: .8rem; padding: 1rem 0 1.2rem; }
.reform-source-search span { color: var(--muted); font-family: var(--font-mono); font-size: .65rem; text-transform: uppercase; letter-spacing: .07em; }
.reform-source-search input { width: 100%; min-height: 2.75rem; padding: .65rem .85rem; border: .0625rem solid var(--line-strong); border-radius: .75rem; background: rgba(4,10,24,.62); color: var(--ink); font: inherit; font-size: .82rem; outline: none; transition: border-color .2s, box-shadow .2s; }
.reform-source-search input:focus { border-color: var(--accent); box-shadow: 0 0 0 .18rem rgba(52,215,238,.1); }
[data-theme="light"] .reform-source-search input { background: rgba(255,255,255,.88); }
.reform-source-group + .reform-source-group { margin-top: 1.5rem; }
.reform-source-group h4 { margin: 0 0 .7rem; color: var(--accent); font-family: var(--font-mono); font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.reform-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.reform-source-card { display: flex; flex-direction: column; min-height: 10rem; padding: .9rem; border: .0625rem solid var(--line); border-radius: .85rem; background: rgba(255,255,255,.018); }
.reform-source-card[hidden] { display: none !important; }
.reform-source-card__top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; color: var(--muted); font-family: var(--font-mono); font-size: .55rem; text-transform: uppercase; letter-spacing: .05em; }
.reform-source-card__top span { color: var(--accent-2); }
.reform-source-card strong { margin-top: .55rem; color: var(--ink); font-size: .88rem; line-height: 1.3; }
.reform-source-card p { margin: .45rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.46; }
.reform-source-card__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: .5rem; margin-top: auto; padding-top: .75rem; }
.reform-source-card__foot span { color: var(--muted); font-family: var(--font-mono); font-size: .56rem; }
.reform-source-card__foot a { font-family: var(--font-mono); font-size: .59rem; }
.reform-source-empty { margin: 1rem 0 0; text-align: center; color: var(--muted); }

@media (max-width: 84rem) {
  .reform-radar-hero { grid-template-columns: minmax(0, .75fr) minmax(28rem, 1.25fr); }
  .reform-radar-console { grid-template-columns: minmax(20rem, 1fr); }
  .reform-radar-detail { min-height: auto; }
  .reform-document-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 68rem) {
  .reform-radar-hero { grid-template-columns: 1fr; }
  .reform-radar-intro h2 { max-width: none; }
  .reform-radar-console { grid-template-columns: minmax(0, 1fr) minmax(14rem, .62fr); }
  .reform-signal-grid,
  .reform-latest-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .reform-document-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 52rem) {
  .reform-radar-section { padding-top: 1.5rem; }
  .reform-radar-hero { padding: 1.15rem; border-radius: 1.2rem; }
  .reform-radar-console { grid-template-columns: 1fr; }
  .reform-radar-plot { width: min(100%, 31rem); }
  .reform-signal-grid,
  .reform-latest-grid { grid-template-columns: 1fr; }
  .reform-section-head { align-items: flex-start; flex-direction: column; }
  .reform-section-head--timeline { flex-direction: row; align-items: center; }
  .reform-document-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reform-source-search { grid-template-columns: 1fr; justify-content: stretch; }
  .reform-source-grid { grid-template-columns: 1fr; }
}

@media (max-width: 36rem) {
  .reform-radar-filter,
  .reform-document-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .35rem; scrollbar-width: none; }
  .reform-radar-filter::-webkit-scrollbar,
  .reform-document-filters::-webkit-scrollbar { display: none; }
  .reform-filter-chip { flex: 0 0 auto; }
  .reform-radar-plot { width: 100%; }
  .reform-radar-detail { padding: 1rem; }
  .reform-timeline-rail { grid-auto-columns: minmax(16.5rem, 85vw); }
  .reform-document-grid { grid-template-columns: 1fr; }
  .reform-document-grid .reform-document-card { display: grid; grid-template-columns: 7.6rem minmax(0, 1fr); }
  .reform-document-grid .reform-document-card__visual { aspect-ratio: auto; min-height: 9.2rem; }
  .reform-sources > summary { align-items: flex-start; }
  .reform-sources__count { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  /* Keep the radar sweep rotating: it is the core radar-state cue requested for
     this component. Other decorative transitions remain reduced below. */
  .reform-radar-sweep { opacity: .42; }
  .reform-radar-sweep::before { filter: none; }
  .reform-radar-sweep::after { box-shadow: none; opacity: .62; }
  .reform-radar-live-dot { box-shadow: none; }
  .reform-document-card,
  .reform-document-card__visual img,
  .reform-radar-blip > span { transition: none; }
}

/* v136 — compose the live ADHD Reform Radar over its dedicated hero image.
   The radar remains in its original data-reform-radar root so all v052
   interaction continues to operate; only its first panel is pulled into the
   visual hero canvas. */
.page-hero--reform-monitor {
  min-height: clamp(47rem, 88vh, 61rem);
  align-items: flex-start;
  padding-top: clamp(4.75rem, 7vw, 7.5rem);
  padding-bottom: clamp(17rem, 24vw, 23rem);
}

.page-hero--reform-monitor > .section-shell {
  position: relative;
  z-index: 3;
  width: 100%;
}

.page-hero--reform-monitor .breadcrumb {
  margin-bottom: clamp(.8rem, 1.4vw, 1.2rem);
}

.page-hero--reform-monitor h1 {
  max-width: 18ch;
  text-shadow: 0 .2rem 1.6rem rgba(0,0,0,.82);
}

.page-hero--reform-monitor .page-hero-copy {
  max-width: 54rem;
  text-shadow: 0 .12rem 1rem rgba(0,0,0,.88);
}

/* Pull only the beginning of the live radar section up across the hero.
   Because the radar card retains its normal layout height, the following
   signal/timeline/report content naturally resumes below the hero instead of
   becoming absolutely positioned or detached from document flow. */
.page-hero--reform-monitor + .reform-radar-section {
  position: relative;
  z-index: 4;
  margin-top: -30rem;
  padding-top: 0;
  overflow: visible;
}

.page-hero--reform-monitor + .reform-radar-section::before {
  top: 30rem;
}

.page-hero--reform-monitor + .reform-radar-section .reform-radar-hero {
  border-color: rgba(185,238,248,.23);
  background:
    linear-gradient(135deg, rgba(52,215,238,.07), rgba(139,156,255,.025) 45%, transparent 75%),
    rgba(3,8,18,.70);
  box-shadow:
    0 2rem 5rem rgba(0,0,0,.42),
    inset 0 0 0 .0625rem rgba(255,255,255,.035);
  backdrop-filter: blur(.7rem) saturate(116%);
  -webkit-backdrop-filter: blur(.7rem) saturate(116%);
}

/* Keep the content after the radar hero visually separated from the image
   overlay. This avoids the evidence strip looking as though it is still part
   of the hero photograph. */
.page-hero--reform-monitor + .reform-radar-section .reform-signal-strip {
  margin-top: clamp(3.5rem, 6vw, 5.5rem);
}

[data-theme="light"] .page-hero--reform-monitor + .reform-radar-section .reform-radar-hero {
  background:
    linear-gradient(135deg, rgba(15,182,212,.075), rgba(139,156,255,.03) 45%, transparent 75%),
    rgba(248,252,255,.88);
  border-color: rgba(15,145,174,.25);
  box-shadow: 0 1.7rem 4.2rem rgba(24,44,78,.22), inset 0 0 0 .0625rem rgba(255,255,255,.72);
}

@media (max-width: 75rem) {
  .page-hero--reform-monitor {
    min-height: clamp(46rem, 92vh, 58rem);
    padding-bottom: clamp(14rem, 21vw, 19rem);
  }
  .page-hero--reform-monitor + .reform-radar-section {
    margin-top: -24rem;
  }
  .page-hero--reform-monitor + .reform-radar-section::before {
    top: 24rem;
  }
}

@media (max-width: 61.25rem) {
  .page-hero--reform-monitor {
    min-height: 43rem;
    padding-top: clamp(4.5rem, 9vw, 6rem);
    padding-bottom: 11rem;
  }
  .page-hero--reform-monitor + .reform-radar-section {
    margin-top: -12rem;
  }
  .page-hero--reform-monitor + .reform-radar-section::before {
    top: 12rem;
  }
  .page-hero--reform-monitor + .reform-radar-section .reform-radar-hero {
    backdrop-filter: blur(.5rem) saturate(112%);
    -webkit-backdrop-filter: blur(.5rem) saturate(112%);
  }
}

@media (max-width: 40rem) {
  .page-hero--reform-monitor {
    min-height: 40rem;
    padding-bottom: 8rem;
  }
  .page-hero--reform-monitor + .reform-radar-section {
    margin-top: -7rem;
  }
  .page-hero--reform-monitor + .reform-radar-section::before {
    top: 7rem;
  }
}

/* v195: the article hero title itself (not only the Knowledge card) must stay
   on one line when there is practical tablet/desktop width. Remove the old
   character-width cap and scale the heading to the shell instead of clipping. */
@media (min-width: 47.51rem) {
  .page-hero--reform-monitor h1 {
    max-width: none;
    width: max-content;
    white-space: nowrap;
    font-size: clamp(2.15rem, 4.35vw, 4.15rem);
    letter-spacing: -.032em;
  }
}

@media (max-width: 47.5rem) {
  .page-hero--reform-monitor h1 {
    max-width: 18ch;
    width: auto;
    white-space: normal;
  }
}

