:root{color:#1f2933;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:100vh}.sidebar{background:#101820;color:#f7f9fb;display:flex;flex-direction:column;gap:22px;padding:22px}.brand{display:flex;align-items:center;gap:12px;min-height:52px}.brand-mark{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;background:#f7f9fb;color:#101820;font-weight:900}.brand h1,.brand p,.panel h3,.topbar h2,.side-heading h2,.field-title{margin:0}.brand h1{font-size:19px;line-height:1.2}.brand p{margin-top:4px;color:#aeb8c2;font-size:13px}.guide{display:grid;gap:8px}.guide-row{min-height:38px;display:flex;align-items:center;gap:10px;border:1px solid rgb(255 255 255 / 10%);border-radius:8px;padding:0 10px;background:#ffffff0a;color:#eef3f7;text-align:left}.guide-row.active,.guide-row:hover{background:#f7f9fb;color:#101820}.guide-row span,.side-heading span{width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#263341;color:#f7f9fb;font-size:12px;font-weight:800}.guide-row strong{font-size:14px}.guide-row.active span,.guide-row:hover span{background:#1f5f99;color:#fff}.side-section{display:grid;gap:10px;min-width:0}.side-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.side-heading h2{font-size:14px;color:#dce3ea}.project-list,.step-list{display:grid;gap:8px}.step-item{min-height:34px;display:flex;align-items:center;gap:9px;border:1px solid rgb(255 255 255 / 10%);border-radius:8px;padding:0 10px;color:#aeb8c2;background:#ffffff08}.step-item span{width:15px;height:15px;border:2px solid #5b6875;border-radius:999px}.step-item.done{color:#eef7f1;border-color:#b7dcc559;background:#2e7d502e}.step-item strong{font-size:13px}.project-button{display:grid;gap:5px;width:100%;min-height:54px;text-align:left;border:1px solid rgb(255 255 255 / 10%);border-radius:8px;padding:10px;color:#eef3f7;background:#ffffff0d}.project-button:hover,.project-button.active{border-color:#9fb3c8;background:#f7f9fb;color:#101820}.project-button strong,.project-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-button strong{font-size:13px}.project-button span,.muted{color:inherit;opacity:.68;font-size:12px}.muted{margin:0}.workspace{min-width:0;padding:22px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}.eyebrow{margin:0 0 6px;color:#64748b;font-size:12px;font-weight:800;letter-spacing:0}.topbar h2{font-size:26px;line-height:1.18;color:#111827}.top-actions,.button-row{display:flex;flex-wrap:wrap;gap:8px}.metric-strip{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));gap:10px;margin-bottom:14px}.metric-strip div{min-height:64px;display:grid;gap:4px;align-content:center;border:1px solid #d9e1e8;border-radius:8px;padding:10px 12px;background:#fff}.metric-strip span{color:#64748b;font-size:12px;font-weight:700}.metric-strip strong{color:#111827;font-size:22px;line-height:1}.error-banner{display:flex;align-items:center;gap:10px;color:#8a241a;background:#fff0ed;border:1px solid #f1b8ad;border-radius:8px;padding:11px 12px;margin-bottom:14px}.task-stack{display:grid;gap:8px;margin-bottom:14px}.task-card{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9e1e8;border-radius:8px;padding:10px 12px;background:#fff}.task-card.done{border-color:#b7dcc5;background:#edf8f1}.task-card.error{border-color:#f1b8ad;background:#fff0ed}.task-card div{display:grid;gap:3px}.task-card strong{color:#1f2933;font-size:14px}.task-card span{color:#64748b;font-size:13px}.task-card button{border:1px solid #cbd5df;border-radius:8px;min-height:32px;padding:0 10px;color:#1f2933;background:#fff;font-weight:800}.next-panel{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #c9d8e6;border-radius:8px;padding:14px 15px;margin-bottom:14px;background:#fff}.next-panel h3{margin:0 0 5px;color:#111827;font-size:18px}.next-panel span{color:#64748b;font-size:13px}.flow-grid{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(260px,.7fr) minmax(340px,1fr);gap:14px;align-items:start}.panel{min-width:0;border:1px solid #d9e1e8;border-radius:8px;padding:15px;background:#fff}.panel-heading{min-height:34px;display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.panel h3{color:#111827;font-size:18px;line-height:1.25}label{display:grid;gap:7px;margin-bottom:12px;color:#334155;font-size:13px;font-weight:800}textarea{width:100%;resize:vertical;border:1px solid #cbd5df;border-radius:8px;padding:10px 11px;color:#111827;background:#fbfcfd;line-height:1.5}textarea:focus,.code-editor:focus{outline:2px solid #8fb4dc;border-color:#5c8fc4}.field-title{color:#334155;font-size:13px;font-weight:800;margin-bottom:8px}.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:14px}.segment{min-height:38px;border:1px solid #cbd5df;border-radius:8px;color:#334155;background:#f7f9fb;font-weight:800}.segment.active{color:#fff;background:#1f5f99;border-color:#1f5f99}.primary-action,.secondary-action,.icon-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;min-height:40px;padding:0 13px;font-weight:800}.primary-action{width:100%;border:0;color:#fff;background:#1f5f99}.primary-action.compact{width:auto;min-width:132px;padding:0 14px}.secondary-action{border:1px solid #cbd5df;color:#1f2933;background:#fff}.secondary-action:hover,.icon-action:hover{background:#eef3f8}.secondary-action.danger{color:#8a241a;border-color:#f1b8ad;background:#fff6f4}.primary-action:disabled,.secondary-action:disabled,.icon-action:disabled{opacity:.5;cursor:not-allowed}.icon-action{width:38px;height:38px;border:1px solid #cbd5df;color:#1f2933;background:#fff}.note{margin:10px 0 0;color:#64748b;font-size:12px;line-height:1.45}.option-note{margin:-6px 0 13px;color:#64748b;font-size:12px;line-height:1.45}.input-insight{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 12px}.input-insight span{min-height:26px;display:inline-flex;align-items:center;border-radius:999px;padding:0 9px;color:#334155;background:#eef3f8;font-size:12px;font-weight:800}.wide{grid-column:span 2}.project-page-panel{grid-column:span 3}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-card{display:grid;gap:7px;min-height:104px;border:1px solid #d9e1e8;border-radius:8px;padding:12px;color:#1f2933;background:#fbfcfd;text-align:left}.project-card.active{border-color:#7da8d4;background:#eef6ff}.project-card strong,.project-card span,.project-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card span{color:#334155;font-size:13px}.project-card small{color:#64748b;font-size:12px}.project-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px}.project-card-actions .secondary-action{min-height:34px;padding:0 10px}.chat-page{grid-column:span 3;min-height:calc(100vh - 210px);display:grid;grid-template-rows:auto auto minmax(360px,1fr) auto;gap:14px;border:1px solid #d9e1e8;border-radius:8px;background:#fff;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #e2e8ef}.chat-header h3{margin:0;font-size:20px}.chat-header-actions{display:flex;align-items:center;gap:10px}.chat-header-actions span{color:#64748b;font-size:13px;font-weight:800}.chat-shortcuts{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 14px;border-bottom:1px solid #e2e8ef}.chat-shortcuts button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cbd5df;border-radius:8px;padding:0 11px;color:#1f2933;background:#fff;font-weight:800}.chat-shortcuts button:first-child,.chat-shortcuts button:nth-child(2),.chat-shortcuts button:nth-child(3),.chat-shortcuts button:nth-child(4){background:#f7f9fb}.chat-shortcuts button:disabled{opacity:.5;cursor:not-allowed}.chat-box{display:flex;flex-direction:column;gap:18px;overflow:auto;padding:22px max(24px,calc((100% - 860px)/2));background:#fff}.chat-message{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start}.chat-message.user{grid-template-columns:minmax(0,1fr) 34px}.chat-message.user .chat-avatar{grid-column:2;grid-row:1}.chat-message.user .chat-bubble{grid-column:1;justify-self:end}.chat-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;color:#fff;background:#1f5f99;font-size:13px;font-weight:900}.chat-message.user .chat-avatar{background:#101820}.chat-bubble{max-width:720px;display:grid;gap:6px}.chat-bubble span{color:#64748b;font-size:12px;font-weight:800}.chat-bubble p{margin:0;border-radius:8px;padding:11px 13px;color:#1f2933;background:#f3f6f9;line-height:1.55;white-space:pre-wrap}.chat-message.user .chat-bubble p{color:#fff;background:#1f5f99}.chat-composer{position:sticky;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;padding:14px max(18px,calc((100% - 860px)/2));border-top:1px solid #e2e8ef;background:#fff}.chat-composer textarea{min-height:48px;max-height:150px;resize:none;margin:0;padding-right:12px}.chat-send{width:42px;height:42px;align-self:end;display:grid;place-items:center;border:0;border-radius:8px;color:#fff;background:#1f5f99}.chat-send:disabled{opacity:.45;cursor:not-allowed}.tree{display:grid;gap:4px}.tree .tree{padding-left:14px}.tree-row{width:100%;min-height:34px;display:flex;align-items:center;gap:8px;border:0;border-radius:8px;padding:0 8px;color:#243140;background:transparent;text-align:left}.tree-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row.active,.tree-row:hover{background:#eef3f8}.code-preview,.code-editor{min-height:420px;max-height:620px;border-radius:8px;background:#111827;color:#f8fafc;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55}.code-preview{margin:0;overflow:auto;padding:15px;white-space:pre-wrap;word-break:break-word}.code-editor{overflow:auto;resize:vertical;border:0;padding:15px;white-space:pre}.empty{display:grid;place-items:center;min-height:150px;border:1px dashed #cbd5df;border-radius:8px;color:#64748b;background:#f8fafc;text-align:center;padding:14px}.action-empty{gap:10px;align-content:center}.action-empty .secondary-action{min-height:34px}.score-row{display:grid;gap:7px;margin-bottom:12px}.score-row-label{display:flex;justify-content:space-between;color:#334155;font-size:13px}.bar{height:8px;overflow:hidden;border-radius:999px;background:#e6edf3}.bar-fill{height:100%;background:#1f5f99}.issues,.test-list{display:grid;gap:9px;margin-top:13px}.issue-group{display:grid;gap:8px}.issue-group-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.issue-group h4{margin:4px 0 0;color:#1f2933;font-size:14px}.issue-group-heading .secondary-action{min-height:30px;padding:0 10px}.issue,.test-card{border:1px solid #d9e1e8;border-radius:8px;padding:10px;background:#fbfcfd}.issue p,.test-card p,.simulation-result p{margin:7px 0;color:#334155;line-height:1.45}.issue small,.test-card small{display:block;color:#64748b;line-height:1.4}.severity{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;padding:0 8px;margin-right:8px;font-size:11px;font-weight:900;text-transform:uppercase}.severity-warning{background:#fff4ce;color:#7a5300}.severity-error{background:#ffe2de;color:#8a241a}.severity-info{background:#e5f0fb;color:#1f5f99}.clean{display:flex;align-items:center;gap:8px;color:#176b3a;font-weight:900}.diff-panel,.publish-panel,.load-graph-panel{grid-column:span 1}.diff-list,.publish-checks{display:grid;gap:8px;margin-bottom:12px}.diff-item,.publish-check{display:grid;gap:4px;border:1px solid #d9e1e8;border-radius:8px;padding:10px;background:#fbfcfd}.diff-item strong,.publish-check span{color:#1f2933;font-size:13px}.diff-item span,.diff-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:12px}.publish-check{grid-template-columns:18px minmax(0,1fr);align-items:center;color:#8a241a}.publish-check.passed{color:#176b3a;background:#edf8f1;border-color:#b7dcc5}.load-graph{display:grid;gap:8px}.graph-edge{display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);align-items:center;gap:8px}.graph-edge small{color:#64748b;text-align:center;font-size:12px}.graph-node{min-height:34px;display:flex;align-items:center;border:1px solid #d9e1e8;border-radius:8px;padding:0 9px;color:#1f2933;background:#fbfcfd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800}.graph-node.missing{color:#8a241a;border-color:#f1b8ad;background:#fff0ed}.simulation-result{margin-top:14px;padding-top:14px;border-top:1px solid #e2e8ef}.activation{display:flex;justify-content:space-between;gap:12px;border-radius:8px;padding:11px;margin-bottom:10px}.activation.yes{background:#e7f6ec;color:#176b3a}.activation.no{background:#fff4e5;color:#7a5300}.pill-row{display:flex;flex-wrap:wrap;gap:6px}.pill{display:inline-flex;align-items:center;min-height:25px;border-radius:999px;padding:0 9px;color:#243140;background:#eef3f8;font-size:12px;font-weight:800}.test-run-summary{background:#edf8f1;border-color:#b7dcc5}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1220px){.app-shell{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.brand{grid-column:1 / -1}.flow-grid{grid-template-columns:1fr 1fr}.chat-page,.project-page-panel{grid-column:span 2}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:span 2}}@media(max-width:760px){.sidebar,.workspace{padding:16px}.sidebar,.flow-grid,.metric-strip,.segmented{grid-template-columns:1fr}.topbar,.next-panel{align-items:stretch;flex-direction:column}.primary-action.compact{width:100%}.top-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.wide{grid-column:span 1}.chat-page{grid-column:span 1;min-height:620px}.project-page-panel{grid-column:span 1}.project-grid{grid-template-columns:1fr}.chat-header,.chat-header-actions{align-items:stretch;flex-direction:column}.chat-box{padding:16px}.chat-composer{padding:12px}.code-preview,.code-editor{min-height:320px}}
