/* Nuclear Cardiology Guide - premium teaching modules.
   Every rule is scoped to #nuc so the shared pocket-guide shell is untouched. */

#nuc{
  --nuc-cyan:#2c91a8;
  --nuc-cyan-dark:#15566a;
  --nuc-cyan-tint:#e9f5f8;
  --nuc-violet:#6c4c96;
  --nuc-violet-dark:#44315f;
  --nuc-violet-tint:#f2edf8;
  --nuc-gold:#c17b16;
  --nuc-gold-dark:#80500c;
  --nuc-gold-tint:#fff3dc;
  --nuc-green:#2b7650;
  --nuc-green-tint:#edf7f1;
  --nuc-pink:#dd4b83;
  --nuc-pink-tint:#fff0f6;
  --nuc-night:#090d16;
  --nuc-night-2:#111a27;
  --nuc-night-3:#1b293a;
  --nuc-phosphor:#9cf4e8;
  --nuc-rule:var(--rule-hair,#d8d4cd);
  --nuc-soft:var(--rule-soft,#e8e4dc);
  --nuc-paper:var(--paper,#fff);
  --nuc-warm:var(--paper-warm,#faf7f2);
}

/* Raise routine reading size without changing mastheads, tabs, or folios. */
#nuc .page:not(.sheet) :is(p,li,td,dd,dt){font-size:7.1pt;line-height:1.29}
#nuc .page:not(.sheet) table.tbl td{padding:3.2px 5px;font-size:7pt;line-height:1.24}
#nuc .page:not(.sheet) table.tbl th{padding:3px 5px;font-size:6.2pt;line-height:1.15}
#nuc .page:not(.sheet) :is(.card,.flow .node,.tip,.fact,.worked,.trap){font-size:7.05pt;line-height:1.27}
#nuc .page:not(.sheet) :is(.tiny,.micro){font-size:6.55pt;line-height:1.24}
#nuc .page:not(.sheet) ul.dense.compact li{font-size:7pt;line-height:1.25}

/* Keep modules in a compact reading flow; reserve only the remaining space
   above the folio instead of stretching it between every section. */
#nuc .page:not(.sheet){justify-content:flex-start}
#nuc .page:not(.sheet) > .pfoot{margin-top:auto}

#nuc :is(.nuc-hero,.nuc-action-strip,.nuc-figure,.nuc-atlas,.nuc-atlas-card,
  .nuc-isotope-grid,.nuc-isotope,.nuc-supply,.nuc-antimatter,.nuc-cost-stack,
  .nuc-cost-card,.nuc-timeline,.nuc-case-thread,.nuc-comparison,
  .nuc-report-line,.nuc-scan-panel,.nuc-fill){min-width:0;max-width:100%}

#nuc :is(.nuc-hero,.nuc-action-strip,.nuc-figure,.nuc-atlas,.nuc-isotope-grid,
  .nuc-supply,.nuc-antimatter,.nuc-cost-stack,.nuc-timeline,.nuc-case-thread,
  .nuc-comparison,.nuc-report-line,.nuc-scan-panel){margin:6px 0}

#nuc :is(.nuc-hero,.nuc-action-strip,.nuc-figure,.nuc-atlas-card,.nuc-isotope,
  .nuc-supply,.nuc-antimatter,.nuc-cost-card,.nuc-timeline,.nuc-case-thread,
  .nuc-comparison,.nuc-report-line,.nuc-scan-panel){break-inside:avoid;page-break-inside:avoid}

#nuc :is(.nuc-hero,.nuc-action-strip,.nuc-figure,.nuc-atlas,.nuc-atlas-card,
  .nuc-isotope-grid,.nuc-isotope,.nuc-supply,.nuc-antimatter,.nuc-cost-stack,
  .nuc-cost-card,.nuc-timeline,.nuc-case-thread,.nuc-comparison,
  .nuc-report-line,.nuc-scan-panel) *{min-width:0;overflow-wrap:break-word}

/* Small editorial cue used above high-value visual modules. */
#nuc .nuc-kicker{
  display:flex;
  align-items:center;
  gap:6px;
  margin:5px 0 3px;
  color:var(--guide-red-deep,#a6201a);
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:6.9pt;
  font-weight:800;
  letter-spacing:.095em;
  line-height:1.15;
  text-transform:uppercase;
}

#nuc .nuc-kicker::before{
  content:"";
  flex:none;
  width:16px;
  height:3px;
  background:linear-gradient(90deg,var(--guide-red,#da291c),var(--nuc-pink));
}

/* Two-column lead panel: teaching premise on the left, visual on the right. */
#nuc .nuc-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1.35fr);
  overflow:hidden;
  border:1px solid var(--nuc-night);
  border-radius:3px;
  background:linear-gradient(135deg,var(--nuc-night),var(--nuc-night-2) 55%,#163344);
  color:#f7fbff;
}

#nuc .nuc-hero::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-64px;
  width:190px;
  height:190px;
  border:1px solid rgba(156,244,232,.18);
  border-radius:50%;
  box-shadow:0 0 0 22px rgba(44,145,168,.07),0 0 0 48px rgba(221,75,131,.04);
  pointer-events:none;
}

#nuc .nuc-hero > :is(.nuc-hero-copy,.hero-copy){
  position:relative;
  z-index:1;
  padding:11px 12px;
  border-right:1px solid rgba(255,255,255,.15);
  font-size:7.2pt;
  line-height:1.32;
}

#nuc .nuc-hero > :is(.nuc-hero-visual,.hero-visual){
  position:relative;
  z-index:1;
  display:grid;
  min-height:132px;
  place-items:center;
  padding:9px 10px;
  background:
    linear-gradient(rgba(156,244,232,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(156,244,232,.055) 1px,transparent 1px);
  background-size:18px 18px;
}

#nuc .nuc-hero :is(.eyebrow,.k){
  display:block;
  margin-bottom:4px;
  color:var(--nuc-phosphor);
  font:800 6.4pt/1.15 "JetBrains Mono",ui-monospace,monospace;
  letter-spacing:.095em;
  text-transform:uppercase;
}

#nuc .nuc-hero :is(h2,h3,.hero-title){margin:0 0 5px;color:#fff;font-size:13pt;line-height:1.02}
#nuc .nuc-hero :is(p,li){color:#eef8fb;font-size:7.2pt;line-height:1.32}
#nuc .nuc-hero :is(p,ul,ol){margin:4px 0}
#nuc .nuc-hero :is(ul,ol){padding-left:16px}
#nuc .nuc-hero :is(svg,img){display:block;width:100%;height:100%;max-height:176px;object-fit:contain}

/* Repeatable acquire -> validate -> interpret -> report strip. */
#nuc .nuc-action-strip{
  display:grid;
  grid-template-columns:repeat(var(--nuc-actions,4),minmax(0,1fr));
  border:1px solid var(--ink,#0b0b0c);
  background:#fff;
  counter-reset:nuc-action;
}

#nuc .nuc-action-strip > :is(.nuc-action,.action,div,li){
  position:relative;
  min-height:49px;
  padding:7px 7px 6px 30px;
  border-right:1px solid var(--nuc-rule);
  color:var(--ink-2,#2b2b2f);
  font-size:7.1pt;
  line-height:1.24;
  list-style:none;
  counter-increment:nuc-action;
}

#nuc .nuc-action-strip > :is(.nuc-action,.action,div,li):last-child{border-right:0}

#nuc .nuc-action-strip > :is(.nuc-action,.action,div,li)::before{
  content:counter(nuc-action,decimal-leading-zero);
  position:absolute;
  top:8px;
  left:7px;
  color:var(--guide-red-deep,#a6201a);
  font:800 6.8pt/1 "JetBrains Mono",ui-monospace,monospace;
}

#nuc .nuc-action-strip :is(.action-name,.k,b,strong):first-child{
  display:block;
  margin-bottom:2px;
  color:var(--ink,#0b0b0c);
  font-size:7.2pt;
  font-weight:800;
  letter-spacing:.045em;
  line-height:1.15;
  text-transform:uppercase;
}

#nuc .nuc-action-strip > :nth-child(1){box-shadow:inset 0 3px 0 var(--nuc-cyan)}
#nuc .nuc-action-strip > :nth-child(2){box-shadow:inset 0 3px 0 var(--nuc-violet)}
#nuc .nuc-action-strip > :nth-child(3){box-shadow:inset 0 3px 0 var(--nuc-gold)}
#nuc .nuc-action-strip > :nth-child(4){box-shadow:inset 0 3px 0 var(--guide-red,#da291c)}
#nuc .nuc-action-strip > :nth-child(n+5){box-shadow:inset 0 3px 0 var(--nuc-green)}

/* Licensed image / original schematic treatment with visible provenance. */
#nuc .nuc-figure{
  overflow:hidden;
  border:1px solid var(--nuc-rule);
  border-radius:3px;
  background:#fff;
}

#nuc .nuc-figure > :is(img,svg,.nuc-figure-media,.figure-media){
  display:block;
  width:100%;
  height:154px;
  padding:5px;
  object-fit:contain;
  background:linear-gradient(145deg,#090d16,#152333);
}

#nuc .nuc-figure.is-light > :is(img,svg,.nuc-figure-media,.figure-media){background:#f7f8fa}

#nuc .nuc-figure figcaption{
  padding:5px 7px 6px;
  border-top:1px solid var(--nuc-rule);
  color:var(--ink-2,#2b2b2f);
  font-size:6.65pt;
  line-height:1.24;
}

#nuc .nuc-figure :is(.nuc-attribution,.attribution){
  display:block;
  margin-top:2px;
  color:var(--ink-4,#666);
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:5.6pt;
  line-height:1.2;
}

#nuc .nuc-figure :is(.nuc-attribution,.attribution) a{color:var(--nuc-cyan-dark);text-decoration-thickness:.5px}

/* Image/schematic atlas; dark scan field above a compact interpretation. */
#nuc .nuc-atlas{
  display:grid;
  grid-template-columns:repeat(var(--nuc-atlas-cols,3),minmax(0,1fr));
  gap:6px;
}

#nuc .nuc-atlas.cols-2{--nuc-atlas-cols:2}
#nuc .nuc-atlas.cols-4{--nuc-atlas-cols:4}

#nuc .nuc-atlas-card{
  overflow:hidden;
  border:1px solid var(--nuc-rule);
  border-radius:3px;
  background:#fff;
}

#nuc .nuc-atlas-card > :is(img,svg,.atlas-image,.nuc-atlas-image){
  display:block;
  width:100%;
  height:112px;
  padding:5px;
  object-fit:contain;
  background:
    radial-gradient(circle at 50% 52%,rgba(44,145,168,.22),transparent 47%),
    linear-gradient(145deg,var(--nuc-night),var(--nuc-night-3));
}

#nuc .nuc-atlas-card.is-light > :is(img,svg,.atlas-image,.nuc-atlas-image){background:#f6f7f9}

#nuc .nuc-atlas-card > :is(.atlas-body,figcaption,.nuc-atlas-body){
  padding:6px 7px 7px;
  color:var(--ink-2,#2b2b2f);
  font-size:6.95pt;
  line-height:1.25;
}

#nuc .nuc-atlas-card :is(.atlas-title,.k,strong):first-child{
  display:block;
  margin-bottom:2px;
  color:var(--ink,#0b0b0c);
  font-size:7.35pt;
  font-weight:800;
  line-height:1.15;
}

#nuc .nuc-atlas-card :is(.atlas-takeaway,.takeaway){display:block;margin-top:3px;color:var(--nuc-cyan-dark);font-weight:800}

/* Tracer passport: origin, clock, emission, logistics, clinical job. */
#nuc .nuc-isotope-grid{
  display:grid;
  grid-template-columns:repeat(var(--nuc-isotope-cols,3),minmax(0,1fr));
  gap:6px;
}

#nuc .nuc-isotope-grid.cols-2{--nuc-isotope-cols:2}
#nuc .nuc-isotope-grid.cols-4{--nuc-isotope-cols:4}

#nuc .nuc-isotope{
  position:relative;
  overflow:hidden;
  padding:8px 8px 7px 41px;
  border:1px solid var(--nuc-rule);
  border-top:3px solid var(--nuc-cyan);
  background:linear-gradient(135deg,var(--nuc-cyan-tint),#fff 68%);
  color:var(--ink-2,#2b2b2f);
  font-size:6.9pt;
  line-height:1.23;
}

#nuc .nuc-isotope::before{
  content:attr(data-symbol);
  position:absolute;
  top:8px;
  left:7px;
  display:grid;
  width:27px;
  height:27px;
  place-items:center;
  border:1px solid var(--nuc-cyan-dark);
  border-radius:3px;
  background:#fff;
  color:var(--nuc-cyan-dark);
  font:800 7.1pt/1 "JetBrains Mono",ui-monospace,monospace;
  box-shadow:inset 0 -3px 0 var(--nuc-cyan-tint);
}

#nuc .nuc-isotope[data-family="generator"]{border-top-color:var(--nuc-green);background:linear-gradient(135deg,var(--nuc-green-tint),#fff 68%)}
#nuc .nuc-isotope[data-family="generator"]::before{border-color:var(--nuc-green);color:var(--nuc-green);box-shadow:inset 0 -3px 0 var(--nuc-green-tint)}
#nuc .nuc-isotope[data-family="cyclotron"]{border-top-color:var(--nuc-violet);background:linear-gradient(135deg,var(--nuc-violet-tint),#fff 68%)}
#nuc .nuc-isotope[data-family="cyclotron"]::before{border-color:var(--nuc-violet);color:var(--nuc-violet);box-shadow:inset 0 -3px 0 var(--nuc-violet-tint)}
#nuc .nuc-isotope[data-family="reactor"]{border-top-color:var(--nuc-gold);background:linear-gradient(135deg,var(--nuc-gold-tint),#fff 68%)}
#nuc .nuc-isotope[data-family="reactor"]::before{border-color:var(--nuc-gold);color:var(--nuc-gold-dark);box-shadow:inset 0 -3px 0 var(--nuc-gold-tint)}

#nuc .nuc-isotope > :is(b,strong):first-child{display:block;margin:0 0 3px;color:var(--ink,#0b0b0c);font-size:7.7pt;line-height:1.1}
#nuc .nuc-isotope > span{display:block;margin-top:2px}
#nuc .nuc-isotope :is(.isotope-name,.title,h3,h4){margin:0 0 3px;color:var(--ink,#0b0b0c);font-size:8.2pt;line-height:1.1}
#nuc .nuc-isotope :is(.isotope-clock,.clock){color:var(--guide-red-deep,#a6201a);font:800 6.25pt/1.2 "JetBrains Mono",ui-monospace,monospace}
#nuc .nuc-isotope :is(dl,p,ul){margin:3px 0}
#nuc .nuc-isotope dl{display:grid;grid-template-columns:auto 1fr;gap:1px 5px}
#nuc .nuc-isotope dt{color:var(--ink-4,#666);font-weight:800;text-transform:uppercase}
#nuc .nuc-isotope dd{margin:0}

/* Production and protocol supply chains. */
#nuc .nuc-supply{
  display:grid;
  grid-template-columns:repeat(var(--nuc-supply-steps,5),minmax(0,1fr));
  overflow:hidden;
  border:1px solid var(--ink,#0b0b0c);
  background:#fff;
  counter-reset:nuc-supply;
}

#nuc .nuc-supply > :is(.nuc-supply-step,.step,div,li){
  position:relative;
  min-height:68px;
  padding:25px 7px 7px;
  border-right:1px solid var(--nuc-rule);
  color:var(--ink-2,#2b2b2f);
  font-size:6.9pt;
  line-height:1.22;
  list-style:none;
  counter-increment:nuc-supply;
}

#nuc .nuc-supply > :is(.nuc-supply-step,.step,div,li):last-child{border-right:0}

#nuc .nuc-supply > :is(.nuc-supply-step,.step,div,li)::before{
  content:counter(nuc-supply,decimal-leading-zero);
  position:absolute;
  top:7px;
  left:7px;
  color:var(--nuc-cyan-dark);
  font:800 6.5pt/1 "JetBrains Mono",ui-monospace,monospace;
}

#nuc .nuc-supply > :is(.nuc-supply-step,.step,div,li):not(:last-child)::after{
  content:"";
  position:absolute;
  top:13px;
  right:-5px;
  z-index:2;
  width:8px;
  height:8px;
  border-top:2px solid var(--guide-red,#da291c);
  border-right:2px solid var(--guide-red,#da291c);
  transform:rotate(45deg);
  background:#fff;
}

#nuc .nuc-supply :is(.supply-name,.k,b,strong):first-child{display:block;margin-bottom:2px;color:var(--ink,#0b0b0c);font-size:7.3pt;line-height:1.12}
#nuc .nuc-supply :is(.clock,.half-life){display:block;margin-top:3px;color:var(--guide-red-deep,#a6201a);font:800 5.9pt/1.2 "JetBrains Mono",ui-monospace,monospace}

/* PET's central story: clinically useful antimatter, not decorative sci-fi. */
#nuc .nuc-antimatter{
  position:relative;
  display:grid;
  grid-template-columns:minmax(150px,.72fr) minmax(0,1.55fr);
  min-height:166px;
  overflow:hidden;
  border:1px solid #02040a;
  border-radius:4px;
  background:
    radial-gradient(circle at 72% 48%,rgba(221,75,131,.24),transparent 18%),
    radial-gradient(circle at 72% 48%,rgba(44,145,168,.14),transparent 42%),
    linear-gradient(135deg,#060810,#101827 65%,#182336);
  color:#f8fbff;
}

#nuc .nuc-antimatter::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(circle,#fff 0 1px,transparent 1.2px),
    radial-gradient(circle,var(--nuc-phosphor) 0 1px,transparent 1.2px);
  background-position:8px 12px,29px 31px;
  background-size:43px 43px,61px 61px;
  opacity:.11;
}

#nuc .nuc-antimatter > :is(.nuc-antimatter-copy,.copy){
  position:relative;
  z-index:1;
  padding:12px;
  border-right:1px solid rgba(255,255,255,.15);
  font-size:7.15pt;
  line-height:1.32;
}

#nuc .nuc-antimatter > :is(.nuc-antimatter-stage,.stage-visual,.visual){
  position:relative;
  z-index:1;
  display:grid;
  min-height:166px;
  place-items:center;
  padding:9px 11px;
}

#nuc .nuc-antimatter :is(h2,h3,.title){margin:0 0 5px;color:#fff;font-size:12.5pt;line-height:1.02}
#nuc .nuc-antimatter :is(.eyebrow,.k){display:block;margin-bottom:4px;color:#ff9ac1;font:800 6.2pt/1.15 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.09em;text-transform:uppercase}
#nuc .nuc-antimatter :is(p,li){color:#ecf4f9;font-size:7.15pt;line-height:1.31}
#nuc .nuc-antimatter :is(p,ul,ol){margin:4px 0}
#nuc .nuc-antimatter :is(ul,ol){padding-left:15px}
#nuc .nuc-antimatter :is(svg,img){display:block;width:100%;height:100%;max-height:194px;object-fit:contain}
#nuc .nuc-antimatter .particle{display:grid;width:34px;height:34px;place-items:center;border:2px solid var(--nuc-cyan);border-radius:50%;background:#102f3b;color:#fff;font:800 11pt/1 "JetBrains Mono",monospace;box-shadow:0 0 18px rgba(44,145,168,.65)}
#nuc .nuc-antimatter .particle--plus{border-color:var(--nuc-pink);background:#42162b;box-shadow:0 0 18px rgba(221,75,131,.7)}
#nuc .nuc-antimatter .photon{color:#ffe38d;font:800 7pt/1.2 "JetBrains Mono",monospace;text-shadow:0 0 8px rgba(255,227,141,.65)}

/* Economics as operational drivers, not uncited sticker prices. */
#nuc .nuc-cost-stack{
  display:grid;
  grid-template-columns:repeat(var(--nuc-cost-cols,5),minmax(0,1fr));
  gap:5px;
}

#nuc .nuc-cost-stack.cols-3{--nuc-cost-cols:3}
#nuc .nuc-cost-stack.cols-4{--nuc-cost-cols:4}

#nuc .nuc-cost-card{
  position:relative;
  min-height:76px;
  padding:8px 7px 7px;
  border:1px solid var(--nuc-rule);
  border-top:3px solid var(--nuc-gold);
  background:linear-gradient(180deg,var(--nuc-gold-tint),#fff 48%);
  color:var(--ink-2,#2b2b2f);
  font-size:6.75pt;
  line-height:1.23;
}

#nuc .nuc-cost-card:nth-child(even){border-top-color:var(--nuc-cyan);background:linear-gradient(180deg,var(--nuc-cyan-tint),#fff 48%)}
#nuc .nuc-cost-card > :is(b,strong):first-child{display:block;margin:0 0 3px;color:var(--ink,#0b0b0c);font-size:7.25pt;line-height:1.1}
#nuc .nuc-cost-card > span{display:block;margin-top:2px}
#nuc .nuc-cost-card :is(.cost-name,.title,h3,h4){margin:0 0 3px;color:var(--ink,#0b0b0c);font-size:7.7pt;line-height:1.1}
#nuc .nuc-cost-card :is(.cost-level,.level){display:block;margin:3px 0;color:var(--nuc-gold-dark);font:800 6.2pt/1.15 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.05em;text-transform:uppercase}
#nuc .nuc-cost-card:nth-child(even) :is(.cost-level,.level){color:var(--nuc-cyan-dark)}
#nuc .nuc-cost-card :is(.cost-note,.note){display:block;margin-top:3px;color:var(--ink-4,#666);font-size:6.2pt}

/* Horizontal acquisition or protocol timeline. */
#nuc .nuc-timeline{
  display:grid;
  grid-template-columns:repeat(var(--nuc-timeline-steps,4),minmax(0,1fr));
  padding-top:13px;
  counter-reset:nuc-time;
}

#nuc .nuc-timeline > :is(.nuc-timeline-step,.timeline-step,.step,div,li){
  position:relative;
  min-height:70px;
  padding:15px 8px 7px;
  border-top:2px solid var(--nuc-cyan);
  border-right:1px solid var(--nuc-rule);
  background:#fff;
  color:var(--ink-2,#2b2b2f);
  font-size:6.95pt;
  line-height:1.23;
  list-style:none;
  counter-increment:nuc-time;
}

#nuc .nuc-timeline > :is(.nuc-timeline-step,.timeline-step,.step,div,li):last-child{border-right:0}

#nuc .nuc-timeline > :is(.nuc-timeline-step,.timeline-step,.step,div,li)::before{
  content:counter(nuc-time);
  position:absolute;
  top:-12px;
  left:8px;
  display:grid;
  width:22px;
  height:22px;
  place-items:center;
  border:2px solid var(--nuc-cyan);
  border-radius:50%;
  background:#fff;
  color:var(--nuc-cyan-dark);
  font:800 6.6pt/1 "JetBrains Mono",ui-monospace,monospace;
}

#nuc .nuc-timeline :is(.timeline-label,.k,strong):first-child{display:block;margin-bottom:2px;color:var(--ink,#0b0b0c);font-size:7.3pt;line-height:1.12}
#nuc .nuc-timeline :is(.time,.clock){display:block;margin-top:3px;color:var(--guide-red-deep,#a6201a);font:800 5.9pt/1.2 "JetBrains Mono",ui-monospace,monospace}

/* Longitudinal worked case: one patient, sequential decisions. */
#nuc .nuc-case-thread{
  position:relative;
  padding:4px 0 4px 35px;
  border:1px solid var(--nuc-rule);
  background:linear-gradient(135deg,var(--nuc-violet-tint),#fff 62%);
  counter-reset:nuc-case;
}

#nuc .nuc-case-thread::before{
  content:"";
  position:absolute;
  top:14px;
  bottom:14px;
  left:20px;
  width:2px;
  background:linear-gradient(var(--nuc-violet),var(--nuc-cyan));
}

#nuc .nuc-case-thread > :is(.nuc-case-step,.case-step,.thread-step,div,li){
  position:relative;
  min-height:37px;
  padding:7px 8px 8px 10px;
  border-bottom:1px dashed rgba(68,49,95,.28);
  color:var(--ink-2,#2b2b2f);
  font-size:7.05pt;
  line-height:1.27;
  list-style:none;
  counter-increment:nuc-case;
}

#nuc .nuc-case-thread > :is(.nuc-case-step,.case-step,.thread-step,div,li):last-child{border-bottom:0}

#nuc .nuc-case-thread > :is(.nuc-case-step,.case-step,.thread-step,div,li)::before{
  content:counter(nuc-case);
  position:absolute;
  top:7px;
  left:-27px;
  display:grid;
  width:20px;
  height:20px;
  place-items:center;
  border:2px solid var(--nuc-violet);
  border-radius:50%;
  background:#fff;
  color:var(--nuc-violet-dark);
  font:800 6.3pt/1 "JetBrains Mono",ui-monospace,monospace;
}

#nuc .nuc-case-thread :is(.case-label,.k,strong):first-child{display:block;margin-bottom:2px;color:var(--ink,#0b0b0c);font-size:7.3pt;line-height:1.15}
#nuc .nuc-case-thread :is(.answer,.decision,.takeaway){color:var(--nuc-violet-dark);font-weight:800}

/* Paired modality, pattern, or valid/invalid comparison. */
#nuc .nuc-comparison{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:hidden;
  border:1px solid var(--ink,#0b0b0c);
  background:#fff;
}

#nuc .nuc-comparison > :is(.nuc-comparison-side,.comparison-side,.side,section,article,div){
  padding:9px 10px;
  border-right:1px solid var(--ink,#0b0b0c);
  background:linear-gradient(145deg,var(--nuc-cyan-tint),#fff 64%);
  color:var(--ink-2,#2b2b2f);
  font-size:7.05pt;
  line-height:1.28;
}

#nuc .nuc-comparison > :is(.nuc-comparison-side,.comparison-side,.side,section,article,div):last-child{
  border-right:0;
  background:linear-gradient(145deg,var(--nuc-violet-tint),#fff 64%);
}

#nuc .nuc-comparison :is(.comparison-title,.title,h3,h4){margin:0 0 4px;color:var(--ink,#0b0b0c);font-size:8.4pt;line-height:1.08}
#nuc .nuc-comparison :is(p,ul,ol){margin:3px 0}
#nuc .nuc-comparison :is(ul,ol){padding-left:15px}
#nuc .nuc-comparison :is(.verdict,.takeaway){display:block;margin-top:4px;color:var(--nuc-cyan-dark);font-weight:800}
#nuc .nuc-comparison > :is(.nuc-comparison-side,.comparison-side,.side,section,article,div):last-child :is(.verdict,.takeaway){color:var(--nuc-violet-dark)}

/* Report-ready sentence with an explicit label rail. */
#nuc .nuc-report-line{
  position:relative;
  min-height:48px;
  padding:8px 10px 8px 108px;
  border:1px solid var(--ink,#0b0b0c);
  border-left:4px solid var(--guide-red,#da291c);
  background:linear-gradient(90deg,#f7f7f8,#fff 45%);
  color:var(--ink,#0b0b0c);
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:6.85pt;
  line-height:1.32;
}

#nuc .nuc-report-line::before{
  content:"REPORT LINE";
  position:absolute;
  top:9px;
  left:9px;
  width:89px;
  color:var(--guide-red-deep,#a6201a);
  font-size:5.9pt;
  font-weight:800;
  letter-spacing:.075em;
  line-height:1.12;
  text-transform:uppercase;
}

#nuc .nuc-report-line[data-label]::before{content:attr(data-label)}

/* Scan workstation: image field plus validation readout. */
#nuc .nuc-scan-panel{
  display:grid;
  grid-template-columns:minmax(0,1.58fr) minmax(150px,.72fr);
  overflow:hidden;
  border:1px solid #02040a;
  border-radius:3px;
  background:var(--nuc-night);
  color:#f2f8fb;
}

#nuc .nuc-scan-panel > :is(.nuc-scan-view,.scan-view,.scan-image){
  position:relative;
  display:grid;
  min-height:154px;
  place-items:center;
  padding:8px;
  overflow:hidden;
  border-right:1px solid #364253;
  background:
    linear-gradient(rgba(156,244,232,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(156,244,232,.045) 1px,transparent 1px),
    radial-gradient(circle at 50% 52%,#173643,#0b1723 58%,#05080d);
  background-size:17px 17px,17px 17px,auto;
}

#nuc .nuc-scan-panel > :is(.nuc-scan-readout,.scan-readout,.readout){
  display:grid;
  align-content:start;
  gap:5px;
  padding:9px;
  background:linear-gradient(180deg,#1a2533,#101721);
  color:#dfe9ef;
  font:600 6.65pt/1.28 "JetBrains Mono",ui-monospace,monospace;
}

#nuc .nuc-scan-panel :is(img,svg){display:block;width:100%;height:100%;max-height:190px;object-fit:contain}
#nuc .nuc-scan-panel :is(.scan-title,.title,.k,strong):first-child{display:block;color:var(--nuc-phosphor);font-size:6.9pt;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
#nuc .nuc-scan-panel :is(.scan-metric,.metric){padding:4px 0;border-bottom:1px solid rgba(255,255,255,.12)}
#nuc .nuc-scan-panel :is(.scan-value,.value,.v){color:#fff;font-weight:800}
#nuc .nuc-scan-panel :is(.scan-alert,.alert){color:#ffb6ce;font-weight:800}
#nuc .nuc-scan-panel :is(.nuc-attribution,.attribution){color:#a9bac5;font-size:5.45pt;line-height:1.2}

/* Compact original CSS explainers used where a diagram carries the idea better than prose. */
#nuc .spectrum-bars{
  display:flex;
  width:94%;
  height:116px;
  align-items:flex-end;
  justify-content:center;
  gap:5px;
  padding:9px 9px 17px;
  border-bottom:1px solid rgba(156,244,232,.55);
  background:linear-gradient(90deg,rgba(221,75,131,.08),rgba(156,244,232,.05));
}
#nuc .spectrum-bars i{
  width:12%;
  height:var(--h);
  min-height:7px;
  border-radius:2px 2px 0 0;
  background:linear-gradient(#637789,#344657);
  box-shadow:0 0 7px rgba(99,119,137,.28);
}
#nuc .spectrum-bars i.peak{
  background:linear-gradient(#9cf4e8,#2c91a8);
  box-shadow:0 0 13px rgba(156,244,232,.58);
}
#nuc .inverse-square > div{display:flex;align-items:flex-end;justify-content:space-evenly;width:100%;gap:14px}
#nuc .inverse-square i{
  display:grid;
  width:var(--s);
  height:var(--s);
  place-items:center;
  border:1px solid var(--nuc-phosphor);
  border-radius:50%;
  background:radial-gradient(circle,rgba(156,244,232,.24),rgba(44,145,168,.06));
  color:#dffcf7;
  font:700 6pt/1.05 "JetBrains Mono",ui-monospace,monospace;
  box-shadow:0 0 0 6px rgba(156,244,232,.04),0 0 16px rgba(156,244,232,.18);
}
#nuc .inverse-square i strong{display:block;color:#fff;font-size:8pt}

/* Page-filling helpers keep editorial rhythm compact and predictable. */
#nuc .nuc-fill{
  display:flex;
  min-height:0;
  flex:1 1 auto;
  flex-direction:column;
}

#nuc .nuc-fill > :is(.nuc-fill-grow,.fill-grow,.nuc-atlas,.nuc-isotope-grid,.nuc-comparison){flex:1 1 auto}
#nuc .nuc-fill--spread{justify-content:space-between}
#nuc .nuc-fill--balanced{justify-content:space-evenly}
#nuc .nuc-fill--compact{gap:4px}
#nuc .nuc-fill--dense :is(p,li,td,th,dd,dt){font-size:6.9pt;line-height:1.23}
#nuc .nuc-fill--airy :is(p,li,td,th,dd,dt){font-size:7.25pt;line-height:1.33}

@media print{
  #nuc :is(.nuc-hero,.nuc-action-strip,.nuc-figure,.nuc-atlas-card,.nuc-isotope,
    .nuc-supply,.nuc-antimatter,.nuc-cost-card,.nuc-timeline,.nuc-case-thread,
    .nuc-comparison,.nuc-report-line,.nuc-scan-panel){
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
    box-shadow:none;
  }

  #nuc :is(.nuc-hero,.nuc-action-strip,.nuc-figure,.nuc-atlas,.nuc-isotope-grid,
    .nuc-supply,.nuc-antimatter,.nuc-cost-stack,.nuc-timeline,.nuc-case-thread,
    .nuc-comparison,.nuc-report-line,.nuc-scan-panel){margin-top:5px;margin-bottom:5px}

  #nuc .nuc-figure > :is(img,svg,.nuc-figure-media,.figure-media){height:146px}
  #nuc .nuc-atlas-card > :is(img,svg,.atlas-image,.nuc-atlas-image){height:106px}
  #nuc .nuc-antimatter{min-height:158px}
  #nuc .nuc-antimatter > :is(.nuc-antimatter-stage,.stage-visual,.visual){min-height:158px}
  #nuc .nuc-scan-panel > :is(.nuc-scan-view,.scan-view,.scan-image){min-height:146px}
}

@media screen and (max-width:700px){
  #nuc .page:not(.sheet){justify-content:flex-start}
  #nuc .page:not(.sheet) > .pfoot{margin-top:18px}

  #nuc :is(.nuc-hero,.nuc-action-strip,.nuc-figure,.nuc-atlas,.nuc-isotope-grid,
    .nuc-supply,.nuc-antimatter,.nuc-cost-stack,.nuc-timeline,.nuc-case-thread,
    .nuc-comparison,.nuc-report-line,.nuc-scan-panel){width:100%;max-width:100%;overflow:hidden}

  #nuc :is(.nuc-hero,.nuc-action-strip,.nuc-figure,.nuc-atlas-card,.nuc-isotope,
    .nuc-supply,.nuc-antimatter,.nuc-cost-card,.nuc-timeline,.nuc-case-thread,
    .nuc-comparison,.nuc-report-line,.nuc-scan-panel){font-size:13px;line-height:1.42}

  #nuc .nuc-kicker{font-size:11px;line-height:1.25}

  #nuc .nuc-hero{grid-template-columns:minmax(0,1fr)}
  #nuc .nuc-hero > :is(.nuc-hero-copy,.hero-copy){padding:13px;border-right:0;border-bottom:1px solid rgba(255,255,255,.15);font-size:13px}
  #nuc .nuc-hero > :is(.nuc-hero-visual,.hero-visual){min-height:190px;padding:12px}
  #nuc .nuc-hero :is(.eyebrow,.k){font-size:11px}
  #nuc .nuc-hero :is(h2,h3,.hero-title){font-size:21px}
  #nuc .nuc-hero :is(p,li){font-size:13px;line-height:1.42}

  #nuc .nuc-action-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  #nuc .nuc-action-strip > :is(.nuc-action,.action,div,li){min-height:0;padding:10px 9px 10px 35px;border-right:0;border-bottom:1px solid var(--nuc-rule);font-size:13px}
  #nuc .nuc-action-strip > :is(.nuc-action,.action,div,li):nth-child(odd){border-right:1px solid var(--nuc-rule)}
  #nuc .nuc-action-strip > :is(.nuc-action,.action,div,li)::before{top:12px;left:9px;font-size:11px}
  #nuc .nuc-action-strip :is(.action-name,.k,strong):first-child{font-size:12px}

  #nuc .nuc-figure > :is(img,svg,.nuc-figure-media,.figure-media){height:auto;min-height:190px;max-height:320px}
  #nuc .nuc-figure figcaption{padding:9px 10px;font-size:12px}
  #nuc .nuc-figure :is(.nuc-attribution,.attribution){font-size:10px}

  #nuc .nuc-atlas{grid-template-columns:minmax(0,1fr)}
  #nuc .nuc-atlas-card > :is(img,svg,.atlas-image,.nuc-atlas-image){height:auto;min-height:170px;max-height:290px}
  #nuc .nuc-atlas-card > :is(.atlas-body,figcaption,.nuc-atlas-body){padding:10px 11px;font-size:13px}
  #nuc .nuc-atlas-card :is(.atlas-title,.k,strong):first-child{font-size:14px}

  #nuc .nuc-isotope-grid{grid-template-columns:minmax(0,1fr)}
  #nuc .nuc-isotope{padding:12px 12px 11px 58px;font-size:13px}
  #nuc .nuc-isotope::before{top:12px;left:11px;width:36px;height:36px;font-size:12px}
  #nuc .nuc-isotope :is(.isotope-name,.title,h3,h4){font-size:15px}
  #nuc .nuc-isotope :is(.isotope-clock,.clock){font-size:11px}

  #nuc .nuc-supply{grid-template-columns:minmax(0,1fr)}
  #nuc .nuc-supply > :is(.nuc-supply-step,.step,div,li){min-height:0;padding:12px 12px 12px 43px;border-right:0;border-bottom:1px solid var(--nuc-rule);font-size:13px}
  #nuc .nuc-supply > :is(.nuc-supply-step,.step,div,li):last-child{border-bottom:0}
  #nuc .nuc-supply > :is(.nuc-supply-step,.step,div,li)::before{top:14px;left:12px;font-size:11px}
  #nuc .nuc-supply > :is(.nuc-supply-step,.step,div,li):not(:last-child)::after{top:auto;right:auto;bottom:-5px;left:21px;transform:rotate(135deg)}
  #nuc .nuc-supply :is(.supply-name,.k,strong):first-child{font-size:14px}
  #nuc .nuc-supply :is(.clock,.half-life){font-size:11px}

  #nuc .nuc-antimatter{grid-template-columns:minmax(0,1fr)}
  #nuc .nuc-antimatter > :is(.nuc-antimatter-copy,.copy){padding:14px;border-right:0;border-bottom:1px solid rgba(255,255,255,.15);font-size:13px}
  #nuc .nuc-antimatter > :is(.nuc-antimatter-stage,.stage-visual,.visual){min-height:220px;padding:13px}
  #nuc .nuc-antimatter :is(h2,h3,.title){font-size:21px}
  #nuc .nuc-antimatter :is(.eyebrow,.k){font-size:11px}
  #nuc .nuc-antimatter :is(p,li){font-size:13px;line-height:1.42}

  #nuc .nuc-cost-stack{grid-template-columns:minmax(0,1fr)}
  #nuc .nuc-cost-card{min-height:0;padding:11px 12px;font-size:13px}
  #nuc .nuc-cost-card :is(.cost-name,.title,h3,h4){font-size:15px}
  #nuc .nuc-cost-card :is(.cost-level,.level){font-size:11px}
  #nuc .nuc-cost-card :is(.cost-note,.note){font-size:12px}

  #nuc .nuc-timeline{display:block;padding:0 0 0 29px}
  #nuc .nuc-timeline > :is(.nuc-timeline-step,.timeline-step,.step,div,li){min-height:0;padding:10px 10px 12px 14px;border-top:0;border-right:0;border-left:2px solid var(--nuc-cyan);font-size:13px}
  #nuc .nuc-timeline > :is(.nuc-timeline-step,.timeline-step,.step,div,li)::before{top:10px;left:-12px;width:21px;height:21px;font-size:11px}
  #nuc .nuc-timeline :is(.timeline-label,.k,strong):first-child{font-size:14px}
  #nuc .nuc-timeline :is(.time,.clock){font-size:11px}

  #nuc .nuc-case-thread{padding-left:39px}
  #nuc .nuc-case-thread::before{left:23px}
  #nuc .nuc-case-thread > :is(.nuc-case-step,.case-step,.thread-step,div,li){padding:10px 9px 11px 12px;font-size:13px}
  #nuc .nuc-case-thread > :is(.nuc-case-step,.case-step,.thread-step,div,li)::before{top:10px;left:-32px;width:23px;height:23px;font-size:11px}
  #nuc .nuc-case-thread :is(.case-label,.k,strong):first-child{font-size:14px}

  #nuc .nuc-comparison{grid-template-columns:minmax(0,1fr)}
  #nuc .nuc-comparison > :is(.nuc-comparison-side,.comparison-side,.side,section,article,div){padding:12px;border-right:0;border-bottom:1px solid var(--ink,#0b0b0c);font-size:13px}
  #nuc .nuc-comparison > :is(.nuc-comparison-side,.comparison-side,.side,section,article,div):last-child{border-bottom:0}
  #nuc .nuc-comparison :is(.comparison-title,.title,h3,h4){font-size:16px}

  #nuc .nuc-report-line{padding:36px 12px 11px;border-left-width:4px;font-size:13px;line-height:1.45}
  #nuc .nuc-report-line::before{top:11px;left:12px;width:auto;font-size:11px}

  #nuc .nuc-scan-panel{grid-template-columns:minmax(0,1fr)}
  #nuc .nuc-scan-panel > :is(.nuc-scan-view,.scan-view,.scan-image){min-height:230px;border-right:0;border-bottom:1px solid #364253}
  #nuc .nuc-scan-panel > :is(.nuc-scan-readout,.scan-readout,.readout){padding:12px;font-size:12px}
  #nuc .nuc-scan-panel :is(.scan-title,.title,.k,strong):first-child{font-size:12px}
  #nuc .nuc-scan-panel :is(.nuc-attribution,.attribution){font-size:10px}

  #nuc .nuc-fill{display:block;flex:none}
  #nuc .nuc-fill--dense :is(p,li,td,th,dd,dt),
  #nuc .nuc-fill--airy :is(p,li,td,th,dd,dt){font-size:13px;line-height:1.42}
}

@media screen and (max-width:420px){
  #nuc .nuc-action-strip{grid-template-columns:minmax(0,1fr)}
  #nuc .nuc-action-strip > :is(.nuc-action,.action,div,li){border-right:0;border-bottom:1px solid var(--nuc-rule)}
  #nuc .nuc-action-strip > :is(.nuc-action,.action,div,li):nth-child(odd){border-right:0}
  #nuc .nuc-action-strip > :is(.nuc-action,.action,div,li):last-child{border-bottom:0}
  #nuc .nuc-hero > :is(.nuc-hero-visual,.hero-visual){min-height:168px}
  #nuc .nuc-antimatter > :is(.nuc-antimatter-stage,.stage-visual,.visual){min-height:190px}
  #nuc .nuc-scan-panel > :is(.nuc-scan-view,.scan-view,.scan-image){min-height:190px}
}

/* October 2026 diagnostics review: quantitative comparison and localization. */
#nuc .nuc-flow-compare{margin:6px 0}
#nuc .nuc-flow-compare svg{max-height:210px;width:100%;height:auto}
#nuc .nuc-localization-review{display:grid;grid-template-columns:0.9fr 1.1fr;gap:12px;align-items:start}
#nuc .nuc-localization-review figure{margin:0}
#nuc .nuc-localization-review img{display:block;max-width:100%;height:auto;max-height:200px;object-fit:contain;margin:auto}
#nuc .nuc-localization-review figcaption{font-size:7pt;line-height:1.25;margin:5px 0}
@media screen and (max-width:700px){#nuc .nuc-localization-review{grid-template-columns:1fr}#nuc .nuc-localization-review img{max-height:none;width:100%}#nuc .nuc-localization-review figcaption{font-size:11pt}#nuc .nuc-flow-compare svg{max-height:none}}
@media print{#nuc .nuc-mfr-highlight{display:none!important}#nuc .nuc-flow-compare svg{max-height:170px}}

#nuc .nuc-flow-compare .nuc-mfr-phone{display:none}
@media screen and (max-width:700px){#nuc .nuc-flow-compare .nuc-mfr-wide{display:none}#nuc .nuc-flow-compare .nuc-mfr-phone{display:block;max-height:none}}

/* Transparent source diagrams need a light field for their original dark labels. */
#nuc .nuc-figure > img:is([src$="tc99m-generator-ingrowth-cc-by-sa-3.svg"],[src$="parallel-hole-collimator-public-domain.svg"]),
#nuc .nuc-scan-panel img:is([src$="tc99m-generator-ingrowth-cc-by-sa-3.svg"],[src$="parallel-hole-collimator-public-domain.svg"]){background:#fff}
#nuc .nuc-scan-panel [data-image-attribution]{color:var(--nuc-phosphor);text-decoration:underline}
#nuc .nuc-atlas-card .nuc-attribution{display:block;margin-top:4px}
