:root{color-scheme:light;--bg-1: #f4f7fb;--bg-2: #e9eff7;--surface: rgba(255, 255, 255, .9);--surface-strong: #ffffff;--text: #12233a;--text-soft: #50627c;--brand: #1f4f8f;--brand-strong: #173d70;--brand-soft: rgba(31, 79, 143, .1);--line: rgba(18, 35, 58, .14);--danger: #b8402f;font-family:IBM Plex Sans,Segoe UI,Helvetica Neue,Arial,sans-serif;background:radial-gradient(circle at top left,rgba(31,79,143,.14),transparent 28%),radial-gradient(circle at top right,rgba(23,61,112,.12),transparent 30%),linear-gradient(180deg,var(--bg-1),var(--bg-2));color:var(--text)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:transparent}button,textarea,input,select{font:inherit}#root{min-height:100vh}.page-shell{position:relative;min-height:100vh;overflow-x:hidden}.page-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(18,35,58,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(18,35,58,.035) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.85),transparent 90%);mask-image:linear-gradient(180deg,rgba(0,0,0,.85),transparent 90%);pointer-events:none}.app-shell{position:relative;width:min(1420px,calc(100% - 32px));margin:0 auto;padding:18px 0 28px}.top-toolbar{position:sticky;top:10px;z-index:40;display:flex;gap:8px;margin-bottom:14px;padding:8px;border:1px solid var(--line);border-radius:16px;background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px #12233a1a;align-items:center;flex-wrap:wrap}.top-toolbar-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;border:1px solid transparent;color:var(--text-soft);text-decoration:none;font-size:.92rem;font-weight:600;line-height:1;transition:.18s ease}.top-toolbar-link:hover{border-color:var(--line);background:#ffffffb3;color:var(--text)}.top-toolbar-link.is-active{border-color:#1f4f8f70;background:#1f4f8f24;color:var(--brand-strong)}.top-toolbar-link-history{margin-left:auto;border-color:#15745359;background:#1574531a;color:#0d5c41}.top-toolbar-link-history:hover{border-color:#15745380;background:#1574532e;color:#0a4a34}.top-toolbar-link-history.is-active{border-color:#15745385;background:#1574533d;color:#083f2d}.top-toolbar-link.is-disabled{opacity:.45;pointer-events:none;cursor:default}.top-toolbar-inline-group{gap:6px;padding:7px 10px}.top-toolbar-inline-group.is-active{border-color:#1f4f8f66;background:#1f4f8f1a}.top-toolbar-inline-title{color:inherit}.top-toolbar-inline-links{display:inline-flex;align-items:center;gap:4px}.top-toolbar-inline-text{color:var(--text-soft)}.top-toolbar-inline-link{color:var(--text-soft);text-decoration:none;border:1px solid transparent;border-radius:999px;padding:4px 8px;line-height:1;font-weight:600}.top-toolbar-inline-link:hover{color:var(--text);border-color:var(--line);background:#12233a0a}.top-toolbar-inline-link.is-active{color:var(--brand-strong);border-color:#1f4f8f73;background:#1f4f8f2e}.section-card,.table-card,.empty-panel,.editor-panel,.output-panel{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 26px #12233a14}.section-card,.table-card,.editor-panel,.output-panel{min-width:0;border-radius:14px;padding:14px}.editor-panel-full,.page-title-card{margin-bottom:14px}.page-rev-subtitle{margin-top:6px}.eyebrow,.section-eyebrow,.panel-kicker,.editor-label,.subsection-label,.record-index{margin:0;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.eyebrow,.section-eyebrow,.panel-kicker{color:var(--brand)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.panel-heading>div{min-width:0}.panel-heading h2,.panel-heading h3,.section-header h2{margin:4px 0 0;line-height:1.05;overflow-wrap:anywhere;word-break:break-word}.panel-heading h3,.section-header h2{font-family:"IBM Plex Serif",Charter,Georgia,serif}.panel-heading h3{font-size:clamp(1.2rem,1.8vw,1.6rem)}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.editor-label{display:inline-block;color:var(--text-soft)}.status-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand-strong);font-size:.74rem;font-weight:700;white-space:nowrap}.status-badge-error{background:#b8402f24;color:#862f23}.json-editor,.editor-highlight-layer{width:100%;min-height:240px;padding:12px;border:1px solid rgba(18,35,58,.2);border-radius:12px;background:#0f1d2f;color:#eaf1fc;resize:vertical;font-family:SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.84rem;line-height:1.45}.json-editor:focus,.kv-input:focus,.file-input:focus,.model-select:focus{outline:2px solid rgba(31,79,143,.35);outline-offset:1px}.helper-text{margin:8px 2px 0;color:var(--text-soft);font-size:.8rem;line-height:1.35}.error-panel{margin-top:8px;padding:10px;border-radius:10px;border:1px solid rgba(184,64,47,.28);background:#b8402f1a;color:#7b2d22;font-size:.82rem;line-height:1.35}.content-stack{display:grid;gap:14px}.content-column{min-width:0}.section-header{margin-bottom:10px;padding:0 2px}.section-header h2{font-size:clamp(1.2rem,1.6vw,1.5rem)}.stack,.object-grid,.object-list,.mixed-list,.group-block,.rows-stack,.steps-stack{display:grid;gap:8px}.card-grid{display:block;column-count:2;column-gap:10px}.card-grid>*{break-inside:avoid;display:inline-block;width:100%;margin:0 0 10px}.field-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.field-row:last-child{border-bottom:0}.field-label{color:var(--text-soft);line-height:1.35;font-size:.84rem}.value-pill,.chip{display:inline-flex;align-items:flex-start;padding:4px 10px;border-radius:9px;background:#1f4f8f14;font-size:.78rem;white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:min(420px,100%);text-align:right}.depth-0,.depth-1,.depth-2,.depth-3,.depth-muted{color:#1f2d44}.depth-muted{opacity:.68}.subsection-label,.record-index{color:var(--text-soft)}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.record-card,.mixed-item,.step-card{padding:10px;border-radius:11px;border:1px solid var(--line);background:#ffffffc7}.markdown-card{margin-bottom:10px}.markdown-body{font-size:.84rem;line-height:1.48;color:var(--text-soft)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:0 0 6px;line-height:1.2;color:var(--text);font-family:"IBM Plex Serif",Charter,Georgia,serif}.markdown-body p,.markdown-body ul{margin:0 0 6px}.markdown-body ul{padding-left:18px}.markdown-body a{color:var(--brand)}.markdown-body code{padding:1px 6px;border-radius:6px;background:#1f4f8f1a;font-family:SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.75rem}.table-scroll{max-width:100%;overflow-x:auto;padding-bottom:4px}.data-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.82rem}.data-table th,.data-table td{padding:8px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}.data-table th:last-child,.data-table td:last-child{border-right:0}.data-table thead th{position:sticky;top:0;z-index:1;background:var(--brand-strong);color:#edf4ff;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.utility-header-row th{position:static;background:#1f4f8f14;color:var(--brand-strong);font-size:.68rem;font-weight:700}.patch-header-row th{background:#1f4f8f24}.patch-meta-label{text-transform:uppercase;letter-spacing:.06em}.utility-lead-cell{background:#1f4f8f24!important}.column-header-row th:first-child{min-width:116px}.area-group-cell{background:#1f4f8f24;color:var(--brand-strong);font-weight:700;vertical-align:top}.row-type-utility td{background:#1f4f8f14;color:var(--brand-strong);font-weight:600}.row-type-stage_row td,.row-type-area_header td{background:#ffffffd1}.empty-panel{padding:12px;border-radius:12px;color:var(--text-soft)}.raw-json,.output-text,.step-code{margin:0;padding:12px;border-radius:12px;overflow-x:auto;background:#0f1d2f;color:#eaf1fc;font-family:SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.82rem}.upload-row{margin-top:14px}.file-section{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#ffffffb8}.persisted-file-list{display:grid;gap:10px;margin-top:10px}.persisted-file-item{display:grid;gap:10px;grid-template-columns:minmax(180px,1fr) auto;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#ffffffeb}.file-input,.model-select,.kv-input{width:100%;margin-top:4px;padding:10px;border-radius:10px;border:1px solid rgba(18,35,58,.2);background:#ffffffeb;color:var(--text)}.actions-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.action-button{border:1px solid rgba(31,79,143,.3);background:var(--brand);color:#edf4ff;border-radius:10px;padding:8px 12px;font-size:.82rem;font-weight:600;cursor:pointer}.action-button:hover{background:var(--brand-strong)}.action-button:disabled{opacity:.6;cursor:not-allowed}.action-button.secondary,.action-button-secondary{background:#1f4f8f14;color:var(--brand-strong);border-color:#1f4f8f47}.action-button.secondary:hover,.action-button-secondary:hover{background:#1f4f8f24}.action-button.tiny{padding:5px 9px;font-size:.74rem}.row-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.kv-row,.file-row{display:grid;gap:8px;grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) auto;align-items:center}.variables-section .kv-row{padding:8px;border:1px solid var(--line);border-radius:10px;background:#ffffffdb}.file-row{grid-template-columns:minmax(150px,1fr) auto}.file-row-persisted{grid-template-columns:minmax(200px,1fr) auto}.file-meta{display:grid;gap:2px;min-width:0}.file-meta strong,.file-meta span{overflow-wrap:anywhere;word-break:break-word}.file-meta span{color:var(--text-soft);font-size:.8rem}.file-actions-row{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.add-file-button{min-height:38px;font-weight:700}.file-remove-button{min-height:38px;font-weight:700;background:#b8402f1f;color:#8b3024;border-color:#b8402f5c}.file-remove-button:hover{background:#b8402f2e}.json-editor-compact,.editor-highlight-layer,.template-editor{min-height:120px}.collapsible-section{border:1px solid var(--line);border-radius:12px;padding:8px;background:#ffffffb3}.collapse-toggle{width:100%;border:0;padding:0;background:transparent;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.editor-highlight-shell{margin-top:8px;position:relative}.editor-highlight-layer{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;resize:none}.template-editor{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;color:transparent;caret-color:#eaf1fc}.template-editor::selection{background:#648cc866;color:transparent}.token-plain{color:#eaf1fc}.token-resolved{color:#8df2b1}.token-unresolved{color:#ff9c95}.output-panel{padding:12px}.section-card.output-panel+.section-card.output-panel{margin-top:14px}.output-markdown{margin-top:6px;min-height:140px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#ffffffe6;color:var(--text)}.step-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.82rem}.file-url-row,.actions-row.compact{margin-top:6px}.error-text{color:#9e3224}.success-text{color:#19613c}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f1a2a8f;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:16px}.dialog-card{width:min(560px,100%);border-radius:14px;border:1px solid rgba(184,64,47,.36);background:#fff;box-shadow:0 20px 50px #080e184d;padding:16px}.dialog-card h2{margin:0;font-family:"IBM Plex Serif",Charter,Georgia,serif;font-size:1.2rem;color:#8b3024}.dialog-card p{margin:10px 0 0;color:#5f2b24;line-height:1.45;white-space:pre-wrap}.dialog-actions{margin-top:14px;display:flex;justify-content:flex-end}.runs-history-list{display:grid;gap:10px}.run-item{border:1px solid var(--line);border-radius:12px;background:#ffffffd1;overflow:hidden}.run-item-summary{list-style:none;cursor:pointer;display:grid;gap:4px;padding:10px 12px}.run-item-summary::-webkit-details-marker{display:none}.run-item-title{font-weight:700}.run-item-meta{font-size:.8rem;color:var(--text-soft)}.run-item-content{padding:0 12px 12px;display:grid;gap:10px}.run-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.run-focus-block{border:1px solid var(--line);border-radius:10px;background:#ffffffe6;padding:10px;min-height:120px}.run-focus-block .panel-kicker{margin-bottom:8px}.run-long-text{margin:0;padding:10px;max-height:340px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;border-radius:8px;border:1px solid var(--line);background:#f5f8fcf2;font-size:.78rem;line-height:1.45}.run-simple-list{margin:0;padding-left:18px;display:grid;gap:4px;font-size:.82rem;overflow-wrap:anywhere;word-break:break-word}.run-subtitle{margin:8px 0 6px;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--text-soft)}.run-raw-toggle{border-top:1px solid var(--line);padding-top:8px}.run-raw-toggle summary{cursor:pointer;color:var(--text-soft);font-size:.82rem}.scope-chip{justify-self:start;display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:700;border:1px solid transparent}.scope-chip-public{background:#1f4f8f1f;color:var(--brand-strong);border-color:#1f4f8f4d}.scope-chip-private{background:#b8402f1f;color:#8b3024;border-color:#b8402f47}@media(max-width:1100px){.content-stack{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{width:min(100% - 20px,1420px);padding-top:12px}.top-toolbar{border-radius:12px;padding:6px}.top-toolbar-link-history{margin-left:0}.editor-panel,.section-card,.table-card,.output-panel{padding:11px}.panel-heading,.editor-toolbar,.field-row,.actions-row,.row-title-row,.step-meta,.file-actions-row{flex-direction:column;align-items:flex-start}.kv-row,.file-row,.persisted-file-item,.run-focus-grid{grid-template-columns:1fr}.json-editor{min-height:210px}.card-grid{column-count:1}}
