/* srf.systems overlay patch v1 — layout & type balance.
   Loaded after the built stylesheet; the bundle itself is untouched. */

/* 1 · Hero: marry the glow to the lattice and cap it per spec (≤560px). */
.hero:before{background:none}
.instrument-wrap{max-width:560px;width:100%;justify-self:center}
.instrument-wrap:before{content:"";position:absolute;inset:-24% -24% -12%;border-radius:50%;
  background:radial-gradient(circle at 50% 44%, rgba(109,74,255,.22), rgba(109,74,255,.05) 46%, transparent 70%);
  pointer-events:none;z-index:-1}

/* 2 · Conditions scan: number + question sit together, left; controls right. */
.scan-questions fieldset{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 28px}
.scan-questions legend{display:flex;align-items:baseline;gap:14px;text-align:left;font-size:16px;line-height:1.55;flex:1 1 26rem}
.scan-questions legend span{font-size:11.5px;margin-right:0;min-width:24px}

/* 3 · Type floor: nothing informational below ~10.5px. */
.claim-ladder li p{font-size:13px;line-height:1.6}
.claim-ladder li b{font-size:17px}
.claim-ladder li>span{width:26px;height:26px;font-size:10px}
.claim-ladder>div>p:last-child{font-size:14px}
.scan-findings article p{font-size:12.5px}
.scan-findings article small{font-size:10px}
.scan-result>p,.scan-findings>p{font-size:14px}
.source-strip span,.source-strip b,.source-strip a{font-size:12.5px;letter-spacing:.06em}
.brief-output>span{font-size:10.5px}
.atlas-toolbar b{font-size:11px}

/* 4 · Instruments & brief: working controls read like working controls. */
.builders label,.brief-section label,.wide-field{font-size:12px}
.builders select,.builders input:not([type=checkbox]),.builders textarea,
.brief-section select,.brief-section input:not([type=checkbox]),.brief-section textarea,
select,textarea{font-size:15px}
.builders ::placeholder,.brief-section ::placeholder{font-size:14px}
.builders pre,.builders code,.artifact-preview,.artifact-preview *{font-size:12.5px;line-height:1.6}
.field-row{font-size:12.5px}

/* ===== v2 · Operate the turn — enactment ported from the first build, in showroom dialect ===== */
.hero-lede.lede2{margin-top:14px;font-size:17px;color:#cfc6bd}
.hero-lede.lede2 b{color:#e9ad45;font-weight:500}
.op-turn{border:1px solid #ffffff21;background:#1b1622;border-radius:4px;margin-top:70px;padding:34px max(2.5vw,22px) 26px}
.op-turn .kicker{color:#e9ad45;font:10px var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px}
.op-turn h3{font:400 clamp(26px,2.6vw,38px)/1.05 Georgia,serif;color:#f8f3ea;margin:0 0 12px}
.op-note{color:#aaa2af;font:14px/1.7 Georgia,serif;max-width:56rem;margin:0 0 22px}
.op-scen{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px}
.op-scen button{font:14px Georgia,serif;color:#e4dce8;background:#241e2d;border:1px solid #ffffff26;padding:9px 14px;cursor:pointer}
.op-scen button[aria-pressed="true"]{border-color:#e9ad45;box-shadow:0 0 0 1px #e9ad45}
.op-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}
.op-bar .op-run{background:#6d4aff;color:#fff;border:0;padding:11px 20px;font:600 13px var(--font-geist-sans),system-ui,sans-serif;cursor:pointer}
.op-bar .op-reset{background:none;color:#aaa2af;border:1px solid #ffffff26;padding:10px 16px;font:600 13px var(--font-geist-sans),system-ui,sans-serif;cursor:pointer}
.op-views{margin-left:auto;display:flex;gap:6px}
.op-views button{font:600 10.5px var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:#aaa2af;background:none;border:1px solid #ffffff26;padding:7px 12px;cursor:pointer}
.op-views button[aria-pressed="true"]{background:#e9ad45;border-color:#e9ad45;color:#17131c}
.op-rail{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:6px 0 20px}
.op-rail span{font:600 9.5px var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.1em;text-align:center;color:#6e6872;border-top:2px solid #ffffff21;padding-top:7px;transition:color .6s,border-color .6s}
.op-rail span.on{color:#e9ad45;border-color:#e9ad45}
.op-rail span.wait{color:#a08bef;border-color:#6d4aff;animation:opwait 1.1s ease-in-out infinite alternate}
@keyframes opwait{from{opacity:.5}to{opacity:1}}
.op-msg{font:15.5px Georgia,serif;color:#f8f3ea;background:#241e2d;border:1px solid #ffffff21;border-left:2px solid #6d4aff;max-width:34rem;padding:12px 16px;margin:0 0 18px}
.op-msg .who{display:block;font:600 9px var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.14em;color:#6e6872;text-transform:uppercase;margin-bottom:4px}
.op-steps{list-style:none;margin:0;padding:0}
.op-steps li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;padding:11px 0;border-top:1px dashed #ffffff1c;opacity:1;transition:opacity .55s ease,transform .55s ease}
.op-steps li:first-child{border-top:0}
.op-steps .n{font:700 11px var(--font-geist-mono),ui-monospace,monospace;color:#e9ad45;padding-top:3px}
.op-steps .q{display:block;font:600 9.5px var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.11em;text-transform:uppercase;color:#6e6872;margin-bottom:3px}
.op-steps .a{margin:0;font:14.5px/1.65 Georgia,serif;color:#d9d1de}
.op-steps .a .rec{display:block;font:12px/1.7 var(--font-geist-mono),ui-monospace,monospace;color:#c3b6f4;background:#141019;border:1px solid #ffffff1c;padding:9px 12px;white-space:pre-wrap}
.op-art{border:1px solid #e9ad45;background:#211a2b;max-width:31rem;padding:16px 18px;margin:16px 0 4px;box-shadow:0 0 40px #e9ad4517;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s}
.op-art.in{opacity:1;transform:none}
.op-art .at{font:600 9.5px var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#e9ad45}
.op-art h4{font:400 19px Georgia,serif;color:#f8f3ea;margin:6px 0 8px}
.op-art p{font:13.5px/1.6 Georgia,serif;color:#aaa2af;margin:4px 0}
.op-art .aacts{display:flex;gap:9px;margin-top:14px;flex-wrap:wrap}
.op-art .aacts button{font:600 13px var(--font-geist-sans),system-ui,sans-serif;padding:9px 16px;cursor:pointer;border:1px solid #ffffff26}
.op-art .aacts .yes{background:#e9ad45;border-color:#e9ad45;color:#17131c}
.op-art .aacts .no{background:none;color:#e4dce8}
.op-art .aacts button:disabled{opacity:.4;cursor:default}
.op-chosen{display:block;font:600 10.5px var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.08em;color:#75bb9b;margin-top:10px}
.op-label{font:italic 13px Georgia,serif;color:#8f8793;border-top:1px solid #ffffff1c;margin-top:20px;padding-top:14px}
@media(prefers-reduced-motion:reduce){.op-rail span.wait{animation:none}.op-art{transition:none;opacity:1;transform:none}}
