/* atom.css — Atom Builder specifics (theme + shared controls come from chem.css) */
.ab{display:block;}
.ab .chem-lab{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);}
@media (max-width:820px){.ab .chem-lab{grid-template-columns:1fr;}}

.ab-stagewrap{position:relative;background:radial-gradient(120% 120% at 50% 40%,#0c1734,#070c1c);
  border:1px solid var(--ch-line);border-radius:18px;display:flex;align-items:center;justify-content:center;
  aspect-ratio:1/1;overflow:hidden;box-shadow:inset 0 0 60px rgba(20,40,90,.5);}
.ab-canvas{display:block;}
.ab-badge{position:absolute;top:12px;left:14px;font-size:26px;font-weight:800;letter-spacing:-.5px;
  text-shadow:0 0 18px currentColor;opacity:.9;pointer-events:none;}

.ab-controls{display:flex;flex-direction:column;gap:12px;}

/* steppers */
.ab-step{display:flex;align-items:center;gap:10px;background:var(--ch-bg2);border:1px solid var(--ch-line);
  border-radius:12px;padding:9px 11px;}
.ab-dot{width:14px;height:14px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 10px currentColor;}
.ab-step.p .ab-dot{background:#ff5b5b;color:#ff5b5b;}
.ab-step.n .ab-dot{background:#9aa6c2;color:#9aa6c2;}
.ab-step.e .ab-dot{background:#4dd2ff;color:#4dd2ff;}
.ab-step-lbl{flex:1;min-width:0;line-height:1.2;}
.ab-step-lbl b{display:block;font-size:14px;color:var(--ch-ink);}
.ab-step-lbl span{font-size:11px;color:var(--ch-dim);}
.ab-pm{width:34px;height:34px;flex:0 0 auto;border-radius:9px;border:1px solid var(--ch-line);
  background:#111a38;color:#fff;font-size:20px;line-height:1;cursor:pointer;transition:.12s;}
.ab-pm:hover{background:#1a2650;border-color:rgba(140,180,255,.6);transform:translateY(-1px);}
.ab-pm:active{transform:translateY(0) scale(.95);}
.ab-count{flex:0 0 auto;min-width:38px;text-align:center;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;}

.ab-acts{display:flex;flex-wrap:wrap;gap:8px;}
.ab-acts .chem-btn{flex:1;min-width:0;font-size:12.5px;padding:8px 6px;text-align:center;}

.ab-presets-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ch-dim);margin-bottom:6px;}
.ab-chips{display:flex;flex-wrap:wrap;gap:5px;}
.ab-chips .chem-chip{padding:5px 9px;font-weight:600;min-width:30px;justify-content:center;}

/* readout below the lab */
.ab-readout{margin-top:16px;}
.ab-empty{background:var(--ch-bg2);border:1px dashed var(--ch-line);border-radius:14px;padding:20px;text-align:center;}
.ab-empty b{display:block;font-size:18px;margin-bottom:4px;}
.ab-empty span{color:var(--ch-dim);font-size:14px;}

.ab-headline{display:flex;align-items:center;gap:16px;margin-bottom:12px;flex-wrap:wrap;}
.ab-nuclide{display:inline-flex;align-items:flex-start;font-size:44px;font-weight:800;line-height:1;
  background:linear-gradient(180deg,#12203f,#0c1730);border:1px solid var(--ch-line);border-radius:14px;
  padding:12px 16px;position:relative;}
.ab-nuclide .pre{display:inline-flex;flex-direction:column;font-size:14px;font-weight:700;margin-right:4px;
  line-height:1.05;color:var(--ch-dim);align-self:center;font-variant-numeric:tabular-nums;}
.ab-nuclide .pre .a{color:#a0f060;} .ab-nuclide .pre .z{color:#ff8f8f;}
.ab-nuclide .s{color:#eaf0ff;}
.ab-nuclide .ch{font-size:18px;font-weight:700;color:#ffd43b;margin-left:2px;align-self:flex-start;}
.ab-namebox h2{margin:0;font-size:24px;display:flex;align-items:center;gap:6px;}
.ab-namebox .ab-sub{color:var(--ch-dim);font-size:14px;margin-top:2px;}
.ab-say{width:26px;height:26px;border:0;border-radius:50%;cursor:pointer;font-size:12px;
  background:rgba(120,170,255,.14);color:#cfe3ff;transition:.12s;}
.ab-say:hover{background:rgba(120,170,255,.3);transform:scale(1.1);}
.ab-isotag{display:inline-block;margin-top:7px;font-size:11px;padding:3px 9px;border-radius:20px;border:1px solid;}
.ab-isotag.common{color:#a0f060;border-color:rgba(160,240,96,.5);background:rgba(160,240,96,.08);}
.ab-isotag.other{color:#7c9cff;border-color:rgba(124,156,255,.5);background:rgba(124,156,255,.08);}
.ab-isotag.radio{color:#ffb0b0;border-color:rgba(255,120,120,.5);background:rgba(255,120,120,.1);}

.ab-stats{margin:12px 0;}
.ab-cfg{font-size:13px;color:var(--ch-dim);margin:8px 0;}
.ab-cfg code{color:#cfe3ff;background:rgba(120,170,255,.1);border-radius:6px;padding:2px 8px;font-size:13px;}
.ab-shellnote{font-size:13.5px;color:#d7e0fb;background:rgba(255,255,255,.03);border-left:3px solid var(--ch-accent2);
  border-radius:0 8px 8px 0;padding:9px 13px;}
