:root{color-scheme:dark;--bg: #08101c;--panel: #0c1524;--panel-strong: #101b2e;--line: #21324f;--line-soft: rgba(112, 144, 199, .18);--text: #e7eefb;--muted: #7f90af;--accent: #1cb3ff;--accent-2: #ff9f2a;--danger: #ff6c6c;--ok: #45d483;--info: #1cb3ff;--ink-strong: #eef5ff;--chip-bg: #132138;--overlay-bg: rgba(10, 18, 31, .9);--overlay-border: rgba(86, 124, 188, .26);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-pill: 999px}*{box-sizing:border-box}body{margin:0;font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif;background:var(--bg);color:var(--text);padding-top:74px}body.modal-open{overflow:hidden}.app-shell{width:100%;margin:0;padding:0}.app-header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:linear-gradient(180deg,#08101c,#091120);color:var(--ink-strong);border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-family:IBM Plex Mono,ui-monospace,monospace}h1,h2,h3,p{margin-top:0}h1{margin:0;font-size:1.25rem;line-height:1;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.intro,.summary-text,.context-list,.event-list,.legend,label,select,button{font-size:.98rem;line-height:1.45}.controls{border:1px solid var(--line);background:#101b2e8c}.controls,.panel{border-radius:var(--radius-md)}.controls{padding:0;display:block;background:transparent;border:0}.header-actions{display:flex;align-items:center;gap:16px}.scenario-picker{display:grid;grid-template-columns:auto minmax(320px,1fr) auto;gap:8px;align-items:stretch}.icon-button{width:48px;min-width:48px;padding:0;border:1px solid var(--line);background:#0f1829;color:var(--ink-strong);font-size:1.35rem;line-height:1;cursor:pointer;border-radius:var(--radius-sm);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.source-link{color:var(--accent);text-decoration:underline;text-underline-offset:.18em;font-size:.88rem;font-weight:600;white-space:nowrap}.control-link{color:var(--accent);text-align:center;text-decoration:underline;text-underline-offset:.18em;font-size:.82rem}.control-link.inline{color:var(--text);text-align:left}select,button{width:100%;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--line)}select{background:#0f1a2c;color:var(--ink-strong)}button{background:var(--accent-2);color:#10161f;font-weight:700;cursor:pointer}.summary-note small,.timeline-section small,.inspector-block small{display:block;margin-bottom:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.mini-chip{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:999px;font-size:.85rem;color:var(--text);background:#ffffff08}.mini-chip.active{border-color:#ffc50173;color:var(--accent-2)}.mini-chip.muted{color:var(--muted)}.app-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:0;align-items:stretch;height:calc(100vh - 74px);overflow:hidden}.panel{padding:24px 22px;border:0;border-top:1px solid var(--line);border-right:1px solid var(--line);background:linear-gradient(180deg,#0b1422,#0b1320);min-height:0;height:100%;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.graph-panel{border-right:0;padding:0;display:flex;overflow:hidden;background:#11131a}.commands-modal[hidden]{display:none}.commands-modal{position:fixed;inset:0;z-index:30}.commands-backdrop{position:absolute;inset:0;background:#02050a99}.commands-dialog{position:relative;z-index:1;width:min(720px,calc(100vw - 48px));margin:48px auto;padding:24px;background:#0d1728;border:1px solid var(--line);box-shadow:0 28px 70px #00000070;border-radius:var(--radius-lg)}.onboarding-dialog{width:min(760px,calc(100vw - 48px))}.commands-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--line)}.commands-dialog-head h2{margin:0}.commands-close{width:auto;padding:10px 14px;background:transparent;color:var(--text);border:1px solid var(--line)}.onboarding-copy{display:grid;gap:12px}.onboarding-copy code{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.92rem;background:#132138;border:1px solid var(--line);padding:2px 6px;color:var(--accent)}.onboarding-list{margin:0;padding-left:20px}.onboarding-list li+li{margin-top:6px}.onboarding-actions{margin-top:20px;display:flex;justify-content:flex-end}.onboarding-actions button{width:auto;min-width:220px}.panel-head{margin-bottom:18px;padding-bottom:0;border-bottom:0}.panel-head.compact{margin-bottom:12px;padding-bottom:10px}.panel-copy{margin:6px 0 0;color:var(--muted)}.step-focus-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.step-focus-row label{margin:0}.step-focus-row select{width:auto;min-width:240px;background:#101a2c;color:var(--ink-strong)}.scenario-facts{margin-bottom:18px}.command-intro{margin-bottom:0}.timeline-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-pill);border:1px solid var(--line);color:var(--muted);font-size:.76rem;background:#132138b3}.pill.accepted{border-color:#1cb3ff;background:#1cb3ff29;color:#9bddff}.pill.rejected,.proposal-reject{color:var(--danger)}.reason-list,.event-list{padding-left:18px;color:var(--muted)}.reason-list li+li{margin-top:6px}.output-preview{margin-bottom:0}.fact-grid{display:none}.command-card,.transform-card,.final-output-card,.inspector-block{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong)}.command-card,.transform-card,.final-output-card{box-shadow:inset 0 1px #1cb3ff0f}.command-card small{display:block;margin-bottom:6px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-family:IBM Plex Mono,ui-monospace,monospace}.command-stack{display:grid;gap:12px}.command-card{padding:12px 14px}.command-card pre,.transform-box pre,#final-output{margin:0;white-space:pre-wrap;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.82rem;line-height:1.5}.command-card code{color:var(--accent)}.transform-panel{display:grid;gap:14px}.transform-card{padding:14px}.workflow-overview{border-color:#1cb3ff3d;background:linear-gradient(180deg,#0f1b2f,#0d1728)}.transform-card.is-focused{border-color:var(--accent);box-shadow:inset 0 0 0 1px #1cb3ff2e}.transform-card h3{margin-bottom:8px}.phase-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.phase-chip{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid var(--line);background:var(--chip-bg);color:var(--muted);font-size:.72rem;font-family:IBM Plex Mono,ui-monospace,monospace;letter-spacing:.04em;border-radius:var(--radius-pill)}.phase-chip.is-running{border-color:#ff9f2a;background:#ff9f2a2e;color:#ffd39a}.phase-chip.is-complete{border-color:#45d483;background:#45d48329;color:#b7f4ce}.phase-chip.is-skipped{border-color:#314868;background:#132138b3;color:#6f84a6;opacity:.78}.execution-log{list-style:none;padding:0;margin:0;display:grid;gap:8px}.execution-log-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:8px 10px;border:1px solid var(--line-soft);background:#0d1728;color:var(--text);border-radius:var(--radius-sm)}.execution-log-status{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:2px 8px;border:1px solid var(--line);font-size:.68rem;font-family:IBM Plex Mono,ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#132138;border-radius:var(--radius-pill)}.execution-log-status.is-running{border-color:#ff9f2a;background:#ff9f2a2e;color:#ffd39a}.execution-log-status.is-completed{border-color:#45d483;background:#45d48329;color:#b7f4ce}.execution-log-status.is-skipped{border-color:#314868;background:#132138b3;color:#6f84a6}.transform-boxes{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;margin-top:12px}.transform-box{padding:12px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:#0d1728}.transform-box small{display:block;margin-bottom:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-family:IBM Plex Mono,ui-monospace,monospace}.transform-arrow{display:grid;place-items:center;font-size:1.4rem;color:var(--accent)}.timeline-section{margin-top:12px}.final-output-card{padding:14px}.graph-stage{position:relative;flex:1;width:100%;min-height:100%;height:100%;border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(circle at 20% 15%,rgba(28,179,255,.12),transparent 28%),radial-gradient(circle at 78% 18%,rgba(255,159,42,.08),transparent 22%),linear-gradient(180deg,#08101c,#0b1320)}.graph-scene{position:absolute;inset:0;transition:transform .42s ease}.graph-overlay{position:absolute;z-index:2;background:#0c1524e6;border:1px solid var(--overlay-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-md)}.graph-overlay-top-left{top:12px;left:12px;width:min(360px,calc(100% - 24px));padding:12px 14px}.graph-overlay-top-left h2{margin-bottom:6px;font-size:1.05rem;color:var(--ink-strong)}.graph-overlay-top-left .panel-copy{margin:0;font-size:.88rem;line-height:1.35}.graph-overlay-top-right{top:12px;right:12px;width:min(250px,calc(100% - 24px))}.graph-overlay-bottom-right{right:12px;bottom:12px;padding:10px 12px}.graph-legend-title{margin-bottom:6px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.66rem}.graph-legend-items{display:flex;flex-wrap:wrap;gap:8px 12px}.graph-legend-item{display:inline-flex;align-items:center;gap:8px;font-size:.8rem}.graph-legend-swatch{width:12px;height:12px;border:2px solid transparent;background:#fff;border-radius:4px}.graph-legend-swatch.is-idle{border-color:#4e6383;background:#1d2a40}.graph-legend-swatch.is-running{border-color:#ff9f2a;background:#ff9f2a2e}.graph-legend-swatch.is-complete{border-color:#45d483;background:#45d48329}.graph-edge{position:absolute;height:2px;transform-origin:left center;background:#6257ff24;transition:background-color .24s ease,box-shadow .24s ease,opacity .24s ease}.graph-edge.complete{background:#6257ff59}.graph-edge.active{background:#6257ff6b}.graph-edge.is-current{background:#6257ffd1;box-shadow:0 0 10px #6257ff2e;animation:edgePulse 1.1s ease-in-out infinite}.graph-edge.workflow-edge{height:3px;background:#6257ff38;z-index:2}.graph-edge.workflow-edge.complete{background:#6257ff9e}.graph-edge.workflow-edge.active{background:#6257ffd6}.graph-edge.workflow-edge.is-current{background:#6257ff;box-shadow:0 0 16px #6257ff47}.graph-node{position:absolute;width:108px;min-height:48px;padding:8px 12px;border-radius:999px;border:1px solid rgba(98,87,255,.18);background:#ffffffeb;box-shadow:0 12px 28px #6257ff14;text-align:center;transition:border-color .24s ease,color .24s ease,box-shadow .24s ease,opacity .24s ease,filter .24s ease}.graph-node.goal,.graph-node.result{width:116px}.graph-support,.graph-support-start{width:92px;min-height:92px;padding:18px 12px;border-radius:999px}.graph-support strong,.graph-support-start strong{display:block;max-width:8ch;margin:0 auto}.graph-workflow{width:118px;min-height:54px}.graph-secondary{width:112px;opacity:.72}.graph-node.active{border-color:var(--accent);color:var(--accent)}.graph-node.is-current{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 8px #6257ff24,0 18px 34px #6257ff2e;filter:brightness(1.04);animation:nodePulse 1.1s ease-in-out infinite}.graph-node.is-proposed-rejected{box-shadow:0 0 0 8px #f07d7d2e}.graph-node.complete{border-color:#79d38db3;color:var(--ok)}.graph-node.rejected{border-color:#e96d6dcc;color:var(--danger);box-shadow:0 0 0 1px #f07d7d2e,0 16px 30px #f07d7d24}.graph-node.inactive{opacity:.4}.graph-node.candidate{border-color:#6257ff1f;color:#111111db}@keyframes nodePulse{0%,to{box-shadow:0 0 0 1px #6257ff24,0 0 14px #6257ff14,0 18px 34px #6257ff1f;filter:brightness(1.02)}50%{box-shadow:0 0 0 1px #6257ff38,0 0 24px #6257ff29,0 18px 34px #6257ff2e;filter:brightness(1.08)}}@keyframes edgePulse{0%,to{opacity:.72}50%{opacity:1}}.graph-node small{display:block;color:#11111175;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.graph-inspector{display:grid;grid-template-columns:1fr;gap:8px;margin-top:0}.inspector-block{padding:10px 12px;background:transparent;border:0}.path-list,.inspector-list{margin:0;padding-left:0;list-style:none}.path-list li,.inspector-list li{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:10px;align-items:start}.inspector-list li{grid-template-columns:1fr}.graph-inspector .summary-text{margin-bottom:0;font-size:.9rem;line-height:1.35;color:var(--text)}.counter{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#6257ff1f;color:var(--accent);font-size:.82rem;font-weight:700}.grid-events{display:grid;gap:8px;padding-left:0;list-style:none}.grid-events li{display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px;padding:9px 10px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:#ffffff05}#final-output{color:var(--text)}@media(max-width:1220px){body{padding-top:128px}.app-layout{grid-template-columns:1fr;height:auto;overflow:visible}.graph-inspector{grid-template-columns:1fr}.graph-stage{min-height:520px;height:520px}.graph-scene{inset:0}.graph-overlay-top-left,.graph-overlay-top-right{width:calc(100% - 24px)}.graph-overlay-top-right{top:auto;bottom:62px;right:12px}.graph-overlay-top-left{left:12px}.graph-overlay-bottom-right{right:12px;bottom:12px}}@media(max-width:960px){.app-shell{padding:0}body{padding-top:178px}.summary-grid{grid-template-columns:1fr}.app-header{align-items:stretch;flex-direction:column}.scenario-picker{grid-template-columns:1fr auto auto}.grid-events li{grid-template-columns:1fr}.graph-stage{min-height:420px;height:420px}.graph-scene{inset:0}.graph-overlay-top-left{width:calc(100% - 20px);left:10px;top:10px}.graph-overlay-top-right{width:calc(100% - 20px);right:10px;bottom:60px}.graph-overlay-bottom-right{right:10px;bottom:10px}.transform-boxes{grid-template-columns:1fr}.transform-arrow{transform:rotate(90deg)}.panel{border-right:0;border-bottom:1px solid var(--line);height:auto;overflow:visible}.commands-dialog{width:calc(100vw - 24px);margin:12px auto;padding:16px}.step-focus-row{align-items:stretch}.step-focus-row select{width:100%;min-width:0}}@media(max-width:640px){body{padding-top:226px}.scenario-picker{grid-template-columns:1fr auto}.scenario-picker select{grid-column:1 / -1}}
