/* one-shot-orchestra-evolution-cleanup.css — extracted from inline <style> blocks. Generated by scripts/h1-extract.mjs */
/* ============================================================
   ORCLN-* — animations for one-shot-orchestra-evolution-cleanup
   Namespace: .orcln-*. Single style block per house rules.
   ============================================================ */

.orcln-scene { border: 1px solid var(--border); background: var(--bg-terminal); margin: 32px 0; position: relative; overflow: hidden; }
.orcln-scene::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 50% 45%, rgba(0,255,65,0.04), transparent 70%); pointer-events: none; }
.orcln-caption { text-align: center; font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 2px; padding: 14px 0 18px; }

/* --- A. Pipeline + variant rain (post-TLDR replacement) --- */
.orcln-pipeline .orcln-pipe-frame { position: relative; padding: 16px 18px 4px; }
.orcln-pipeline svg { width: 100%; height: auto; overflow: visible; }
.orcln-pipeline svg.orcln-pipe-h { display: block; }
.orcln-pipeline svg.orcln-pipe-v { display: none; }
.orcln-variant rect { fill: #001a08; stroke: #2a4a3a; stroke-width: 0.9; }
.orcln-variant text.label { font-family: 'JetBrains Mono', monospace; font-size: 8.5px; fill: #b8ffc4; }
.orcln-variant text.tag { font-family: 'JetBrains Mono', monospace; font-size: 7px; font-weight: 800; fill: transparent; opacity: 0; letter-spacing: 0.6px; }
.orcln-variant.keep rect { stroke: #00FF41; }
.orcln-variant.keep text.tag { fill: #00FF41; }
.orcln-variant.drop rect { stroke: #aa6a00; }
.orcln-variant.drop text.tag { fill: #ffaa00; }
.orcln-stage-circle { fill: #001a08; stroke: #2a4a3a; stroke-width: 1.6; transition: stroke 0.35s, filter 0.35s; }
.orcln-stage.is-active .orcln-stage-circle { stroke: #00FF41; filter: drop-shadow(0 0 8px rgba(0,255,65,0.55)); }
.orcln-stage-line { stroke: #2a4a3a; stroke-width: 1.5; stroke-dasharray: 5 4; transition: stroke 0.35s; }
.orcln-stage.is-active .orcln-stage-line { stroke: #00FF41; }
.orcln-stage-label { font-family: 'JetBrains Mono', monospace; font-size: 10px; fill: #6a8a6a; font-weight: 700; transition: fill 0.35s; }
.orcln-stage.is-active .orcln-stage-label { fill: #00FF41; }
.orcln-stage-num { font-family: 'JetBrains Mono', monospace; font-size: 9.5px; fill: #b8ffc4; font-weight: 600; }
.orcln-stage-cap { font-family: 'JetBrains Mono', monospace; font-size: 8.5px; fill: #7da482; }
.orcln-capsule { fill: #001a08; stroke: #00FF41; stroke-width: 2; opacity: 0; }
.orcln-capsule.frosted { stroke: #b8d8ff; filter: drop-shadow(0 0 10px rgba(180,216,255,0.45)); }
.orcln-capsule-text { font-family: 'JetBrains Mono', monospace; font-size: 11px; fill: #00FF41; font-weight: 800; opacity: 0; }
.orcln-capsule.frosted ~ .orcln-capsule-text, .orcln-pipeline .orcln-capsule-text.frosted { fill: #d4ecff; }
.orcln-ship-stamp { font-family: 'JetBrains Mono', monospace; font-size: 18px; fill: #00FF41; font-weight: 800; opacity: 0; }
.orcln-ship-tick path { stroke: #00FF41; stroke-width: 3; fill: none; opacity: 0; stroke-linecap: round; stroke-linejoin: round; }
.orcln-pipeline .stage-cloud-label { font-family: 'JetBrains Mono', monospace; font-size: 9.5px; fill: #6a8a6a; letter-spacing: 1px; text-transform: uppercase; }

/* --- B. Conductor pattern explainer --- */
.orcln-conductor { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 20px 20px 14px; align-items: stretch; }
.orcln-cond-stage { position: relative; height: 280px; }
.orcln-cond-stage svg { width: 100%; height: 100%; display: block; }
.orcln-cond-core { fill: #001a08; stroke: #00FF41; stroke-width: 2; filter: drop-shadow(0 0 10px rgba(0,255,65,0.45)); }
.orcln-cond-core-label { fill: #00FF41; font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 800; text-anchor: middle; }
.orcln-cond-core-sub { fill: #b8ffc4; font-family: 'JetBrains Mono', monospace; font-size: 8px; text-anchor: middle; opacity: 0.7; }
.orcln-cond-orbit { fill: none; stroke: #1f3a26; stroke-width: 1; stroke-dasharray: 2 4; }
.orcln-cond-worker rect { fill: #001a08; stroke: #2a4a3a; stroke-width: 1.5; transition: stroke 0.4s, filter 0.4s, opacity 0.4s; }
.orcln-cond-worker text.label { fill: #b8ffc4; font-family: 'JetBrains Mono', monospace; font-size: 9px; text-anchor: middle; font-weight: 700; transition: fill 0.4s; }
.orcln-cond-worker text.id { fill: #6a8a6a; font-family: 'JetBrains Mono', monospace; font-size: 7.5px; text-anchor: middle; }
.orcln-cond-worker.is-active rect { stroke: #00FF41; filter: drop-shadow(0 0 6px rgba(0,255,65,0.55)); }
.orcln-cond-worker.is-active text.label { fill: #00FF41; }
.orcln-cond-worker.is-done rect { stroke: #4a4a4a; opacity: 0.35; }
.orcln-cond-worker.is-done text { opacity: 0.35; }
.orcln-cond-link { stroke: #2a4a3a; stroke-width: 1; stroke-dasharray: 3 4; opacity: 0.45; transition: stroke 0.4s, opacity 0.4s; }
.orcln-cond-link.is-active { stroke: #00FF41; opacity: 0.85; animation: orclnDashflow 1.2s linear infinite; }
@keyframes orclnDashflow { to { stroke-dashoffset: -14; } }

.orcln-cond-files { background: #000; border: 1px solid var(--border); padding: 14px 16px; font-family: 'JetBrains Mono', monospace; font-size: 11px; color: #b8ffc4; height: 280px; overflow: hidden; display: flex; flex-direction: column; }
.orcln-cond-files-title { font-size: 10px; color: var(--green); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 10px; padding-bottom: 8px; border-bottom: 1px solid var(--border); flex-shrink: 0; }
.orcln-cond-files-list { display: flex; flex-direction: column; gap: 4px; overflow: hidden; }
.orcln-cond-file-row { display: grid; grid-template-columns: 16px auto 1fr; gap: 6px; align-items: baseline; opacity: 0; transform: translateY(2px); transition: opacity 0.35s, transform 0.35s; line-height: 1.45; min-height: 16px; }
.orcln-cond-file-row.is-visible { opacity: 1; transform: translateY(0); }
.orcln-cond-file-row .arrow { color: var(--green); font-weight: 800; }
.orcln-cond-file-row .who { color: #6a8a6a; }
.orcln-cond-file-row .path { color: #b8ffc4; word-break: break-all; }
.orcln-cond-file-row.write .arrow::before { content: '✎'; }
.orcln-cond-file-row.read .arrow::before { content: '←'; color: #00FF41; }
.orcln-cond-file-row.read .path { color: #c8ffd0; }
.orcln-cond-file-row.kill .arrow::before { content: '✕'; color: #ff7a7a; }
.orcln-cond-file-row.kill .path { color: #ffb0b0; text-decoration: line-through; opacity: 0.85; }

/* --- C. Result.json contract --- */
.orcln-contract { display: grid; grid-template-columns: 1.05fr 1fr; gap: 16px; padding: 0; align-items: stretch; margin: 28px 0; }
.orcln-contract.orcln-scene { padding: 18px; }
.orcln-json { background: #000; border: 1px solid var(--border); padding: 14px 16px; font-family: 'JetBrains Mono', monospace; font-size: 12.5px; line-height: 1.7; color: #b8ffc4; position: relative; }
.orcln-json-title { font-size: 10px; color: var(--green); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 10px; padding-bottom: 8px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; }
.orcln-json pre { margin: 0; white-space: pre-wrap; font-family: inherit; font-size: inherit; line-height: inherit; color: inherit; background: none; border: 0; padding: 0; }
.orcln-json .k { color: #ffd07a; cursor: help; position: relative; border-bottom: 1px dashed transparent; transition: border-bottom-color 0.2s, color 0.2s; outline: none; }
.orcln-json .k:hover, .orcln-json .k:focus-visible { border-bottom-color: #ffd07a; color: #ffe6a8; }
.orcln-json .s { color: #b8ffc4; }
.orcln-json .n { color: #00FF41; }
.orcln-json .p { color: #6a8a6a; }
.orcln-json .tip { position: absolute; left: 0; top: calc(100% + 4px); background: #000; border: 1px solid var(--green); padding: 8px 10px; font-size: 11px; color: #b8ffc4; line-height: 1.5; min-width: 240px; max-width: 300px; z-index: 30; opacity: 0; pointer-events: none; transition: opacity 0.2s; box-shadow: 0 4px 16px rgba(0,255,65,0.15); white-space: normal; font-family: 'JetBrains Mono', monospace; }
.orcln-json .tip code { color: var(--green); background: rgba(0,255,65,0.08); padding: 1px 4px; border: 0; }
.orcln-json .k:hover .tip, .orcln-json .k:focus-visible .tip { opacity: 1; pointer-events: auto; }
.orcln-json.is-rm .tip { position: static; opacity: 1; pointer-events: auto; display: block; margin: 4px 0 6px; max-width: none; box-shadow: none; }

.orcln-runner { background: #000; border: 1px solid var(--border); padding: 0; font-family: 'JetBrains Mono', monospace; font-size: 11.5px; color: #b8ffc4; min-height: 280px; display: flex; flex-direction: column; }
.orcln-runner-bar { display: flex; align-items: center; gap: 6px; background: linear-gradient(180deg, rgba(0,255,65,0.15), rgba(0,255,65,0.04)); border-bottom: 1px solid var(--border); padding: 8px 12px; }
.orcln-runner-bar .dot { width: 8px; height: 8px; border-radius: 50%; background: #00FF41; box-shadow: 0 0 6px #00FF41; }
.orcln-runner-bar .dot.r { background: #ff5555; box-shadow: 0 0 6px #ff5555; }
.orcln-runner-bar .dot.y { background: #ffaa00; box-shadow: 0 0 6px #ffaa00; }
.orcln-runner-bar .title { font-size: 10px; color: #c0ffc0; margin-left: 10px; letter-spacing: 1px; }
.orcln-runner-bar .orcln-run-btn { margin-left: auto; }
.orcln-run-btn { background: var(--green); color: #000; border: 0; font-family: 'JetBrains Mono', monospace; font-size: 10px; font-weight: 800; padding: 6px 12px; text-transform: uppercase; letter-spacing: 1.5px; cursor: pointer; transition: background 0.2s, transform 0.15s; min-height: 28px; min-width: 58px; }
.orcln-run-btn:hover { background: #00cc33; }
.orcln-run-btn:active { transform: scale(0.96); }
.orcln-run-btn:disabled { background: #1a3a1a; color: #6a8a6a; cursor: not-allowed; }
.orcln-runner-body { padding: 12px 14px 14px; flex: 1; line-height: 1.65; overflow: hidden; }
.orcln-runner-line { padding: 1px 0; opacity: 1; transform: none; transition: opacity 0.25s, transform 0.25s; }
.orcln-runner-line.is-pending { opacity: 0; transform: translateY(3px); }
.orcln-runner-line .pmt { color: var(--green); font-weight: 700; margin-right: 8px; min-width: 14px; display: inline-block; }
.orcln-runner-line .pmt.sys { color: #6a8a6a; }
.orcln-runner-line .pmt.ok { color: #00FF41; }
.orcln-runner-line .pmt.usr { color: #b8ffc4; }
.orcln-runner-line .pmt.err { color: #ff7a7a; }

/* --- D. Evolution scorecard --- */
.orcln-scorecard { padding: 24px 24px 22px; margin: 28px 0; }
.orcln-score-title { font-size: 10px; color: var(--green); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 16px; }
.orcln-score-row { display: grid; grid-template-columns: 168px 1fr 60px 96px; align-items: center; gap: 12px; margin-bottom: 9px; font-size: 12px; position: relative; }
.orcln-score-row .label { color: var(--text-dim); text-transform: uppercase; letter-spacing: 1px; font-size: 11px; cursor: help; transition: color 0.2s; outline: none; }
.orcln-score-row:hover .label, .orcln-score-row:focus-within .label { color: var(--green); }
.orcln-score-row .track { background: #0a0a0a; border: 1px solid var(--border); height: 22px; position: relative; overflow: hidden; }
.orcln-score-row .bar { height: 100%; background: linear-gradient(90deg, #003311, #00FF41); position: relative; box-shadow: inset 0 0 10px rgba(0,255,65,0.45); width: 0; transition: width 1.4s cubic-bezier(.2,.8,.2,1); }
.orcln-score-row.is-filled .bar { width: var(--w); }
.orcln-score-row.amber .bar { background: linear-gradient(90deg, #332200, #ffaa00); box-shadow: inset 0 0 10px rgba(255,170,0,0.45); }
.orcln-score-row.amber .label { color: #ffbb33; }
.orcln-score-row.amber:hover .label, .orcln-score-row.amber:focus-within .label { color: #ffcc66; }
.orcln-score-row .num { color: var(--green); font-weight: 700; font-family: 'JetBrains Mono', monospace; font-size: 12px; text-align: right; }
.orcln-score-row.amber .num { color: #ffbb33; }
.orcln-score-row .badge { font-family: 'JetBrains Mono', monospace; font-size: 9px; color: #ffaa00; opacity: 0; transition: opacity 0.5s 1s; text-align: left; font-weight: 800; letter-spacing: 1.2px; }
.orcln-score-row.amber.is-filled .badge { opacity: 1; }
.orcln-score-row .tip { position: absolute; left: 168px; bottom: calc(100% + 6px); background: #000; border: 1px solid var(--border); padding: 8px 10px; font-size: 11px; color: #b8ffc4; line-height: 1.5; max-width: 320px; min-width: 240px; opacity: 0; pointer-events: none; transition: opacity 0.2s; z-index: 12; font-family: 'JetBrains Mono', monospace; }
.orcln-score-row:hover .tip, .orcln-score-row:focus-within .tip { opacity: 1; pointer-events: auto; }
.orcln-score-row .tip strong { color: var(--green); }
.orcln-score-row.amber .tip { border-color: #aa6a00; }
.orcln-score-row.amber .tip strong { color: #ffbb33; }
.orcln-score-divider { border: 0; border-top: 1px solid var(--border); margin: 14px 0 12px; }
.orcln-score-row.composite { margin-top: 4px; }
.orcln-score-row.composite .label { color: var(--green); font-weight: 700; font-size: 12px; }
.orcln-score-row.composite .bar { background: linear-gradient(90deg, #00aa33, #00FF41); box-shadow: inset 0 0 14px rgba(0,255,65,0.55), 0 0 14px rgba(0,255,65,0.22); }
.orcln-score-row.composite .num { color: var(--green); font-size: 14px; }
.orcln-score-published-banner { margin-top: 16px; padding: 10px 14px; border: 1px dashed #aa6a00; background: rgba(255,170,0,0.05); color: #ffbb33; font-size: 11px; line-height: 1.55; opacity: 0; transition: opacity 0.6s 1.4s; }
.orcln-scorecard.is-filled .orcln-score-published-banner { opacity: 1; }
.orcln-score-published-banner strong { color: #ffbb33; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; margin-right: 4px; }

/* --- Reduced motion: render end states --- */
@media (prefers-reduced-motion: reduce) {
  .orcln-cond-link.is-active { animation: none !important; }
  .orcln-score-row .bar { transition: none !important; }
  .orcln-score-published-banner { transition: none !important; opacity: 1 !important; }
}

/* --- Mobile (<= 600px) --- */
@media (max-width: 600px) {
  .orcln-pipeline svg.orcln-pipe-h { display: none; }
  .orcln-pipeline svg.orcln-pipe-v { display: block; }
  .orcln-conductor { grid-template-columns: 1fr; gap: 12px; padding: 16px; }
  .orcln-cond-stage { height: 240px; }
  .orcln-cond-files { height: auto; min-height: 180px; max-height: 240px; }
  .orcln-contract { grid-template-columns: 1fr; }
  .orcln-contract.orcln-scene { padding: 14px; gap: 12px; }
  .orcln-json { font-size: 11.5px; padding: 12px 12px; }
  .orcln-runner { min-height: 220px; }
  .orcln-runner-body { font-size: 11px; }
  .orcln-scorecard { padding: 18px 14px 16px; }
  .orcln-score-row { grid-template-columns: 100px 1fr 46px; grid-template-rows: auto auto; gap: 6px; row-gap: 2px; font-size: 11px; }
  .orcln-score-row .label { font-size: 10px; letter-spacing: 0.4px; }
  .orcln-score-row .badge { grid-column: 1 / -1; font-size: 9px; padding-left: 0; padding-top: 2px; }
  .orcln-score-row.amber .num { color: #ffbb33; }
  .orcln-score-row .tip { left: 0; max-width: calc(100% - 12px); min-width: 0; }
  .orcln-cond-files-title { font-size: 9px; }
}
