:root{color-scheme:light;--bg: #f4f7fb;--surface: #ffffff;--surface-soft: #f8fafc;--line: #d7dee8;--line-strong: #b9c5d6;--text: #17202b;--muted: #667487;--accent: #2563eb;--accent-dark: #1d4ed8;--accent-soft: #eaf1ff;--good: #0f8a5f;--warn: #9a5b00;--danger: #b42318;font-family:Inter,Segoe UI,Malgun Gothic,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 11px;background:#fff;color:var(--text)}textarea{resize:vertical;line-height:1.58}.app-shell{min-height:100vh}.app-fallback{display:grid;min-height:100vh;place-items:center;padding:24px;background:var(--bg)}.fallback-panel{max-width:520px;border:1px solid var(--line);border-radius:8px;padding:24px;background:var(--surface);box-shadow:0 18px 50px #17202b14}.fallback-panel h1{margin:12px 0 8px;font-size:24px}.fallback-panel p{margin:0;color:var(--muted);line-height:1.6}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:20px;min-height:64px;padding:12px 22px;border-bottom:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;flex-direction:column;justify-content:center;gap:3px}.brand-title{display:flex;align-items:center;gap:8px}.brand-title strong{font-size:19px;letter-spacing:0}.brand-title span,.status-pill,.balance-pill,.readiness-chip{border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:12px}.version-chip{color:var(--accent-dark);background:var(--accent-soft);border-color:#bcd0ff;font-weight:650}.edition-chip{color:#0f5132;background:#eefbf6;border-color:#b5e4d3;font-weight:650}.balance-pill{color:var(--good);background:#eefbf6;border-color:#b5e4d3;white-space:nowrap}.brand p{margin:0;color:var(--muted);font-size:13px}.top-actions,.action-row,.mini-actions,.chip-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cost-helpbar{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(260px,1fr) auto;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--line);background:#fff}.commercial-overview{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line);background:#f8fafc}.overview-main h1{margin:3px 0 6px;font-size:24px;line-height:1.2;letter-spacing:0}.overview-main p{margin:0;color:var(--muted);line-height:1.5}.overview-checks,.overview-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.readiness-chip{display:inline-flex;min-height:28px;align-items:center;color:var(--warn);background:#fff8ea;border-color:#f4d9a9;white-space:nowrap}.readiness-chip.ok{color:var(--good);background:#eefbf6;border-color:#b5e4d3}.cost-help-main,.cost-metrics,.budget-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cost-help-main strong,.cost-help-main span{display:block}.cost-help-main span,.cost-metrics span,.cap-input span{color:var(--muted);font-size:12px}.cost-metrics span{border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:var(--surface-soft)}.cost-metrics .danger{border-color:#f3b5ad;color:var(--danger);background:#fff1f0}.toggle-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#fff}.toggle-chip.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.cap-input{display:grid;grid-template-columns:auto 92px;align-items:center;gap:6px}.cap-input input{height:32px;padding:5px 8px}.status-pill.ok{border-color:#b5e4d3;color:var(--good);background:#eefbf6}.status-pill.warn{border-color:#f4d9a9;color:var(--warn);background:#fff8ea}.workspace-grid{display:grid;grid-template-columns:212px minmax(0,1fr) 320px;gap:18px;padding:18px}.step-rail,.assistant-panel,.settings-drawer{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.step-rail{position:sticky;top:82px;display:flex;flex-direction:column;gap:8px;align-self:start;padding:14px}.rail-title,.panel-kicker,.section-header span,.field>span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.step-link{display:grid;grid-template-columns:28px 20px 1fr;align-items:center;gap:8px;min-height:58px;border:1px solid transparent;border-radius:8px;padding:8px;background:transparent;color:var(--text);text-align:left}.step-link.active{border-color:var(--accent);background:var(--accent-soft)}.step-link small{display:block;color:var(--muted)}.step-index{color:var(--muted);font-size:12px}.work-surface{min-height:calc(100vh - 100px);border:1px solid var(--line);border-radius:8px;padding:24px;background:var(--surface)}.section-header{margin-bottom:22px}.section-header h1{margin:4px 0 6px;font-size:28px;line-height:1.2}.section-header p{max-width:760px;margin:0;color:var(--muted)}.notice{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px;border:1px solid #f4d9a9;border-radius:8px;padding:10px 12px;color:var(--warn);background:#fff8ea}.notice.info{border-color:#bfd7c6;color:#166534;background:#f0f9f2}.notice.danger{border-color:#f0b9b1;color:#b42318;background:#fff3f1}.notice-body{display:grid;gap:4px;min-width:0}.notice-body strong{font-size:14px;color:inherit}.notice-code{color:var(--muted);font-size:12px}.notice-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.small-button{min-height:30px;padding:5px 9px;font-size:13px}.execution-gate{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:-4px 0 18px;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--surface-soft)}.execution-gate strong,.execution-gate span{display:block}.execution-gate span{margin-top:2px;color:var(--muted);font-size:13px}.execution-gate.ok{border-color:#b5e4d3;color:var(--good);background:#eefbf6}.execution-gate.locked{border-color:#f4d9a9;color:var(--warn);background:#fff8ea}.form-grid,.language-strip,.source-mode-row,.source-toolbar,.split-editors,.draft-layout,.review-grid{display:grid;gap:14px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.language-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.advanced-settings{margin-top:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.advanced-settings summary,.api-log-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;color:var(--text);cursor:pointer}.advanced-settings summary span,.api-log-details summary{color:var(--muted);font-size:13px;font-weight:700}.advanced-settings summary strong{color:var(--text);font-size:13px;font-weight:650}.advanced-settings .language-strip{padding:0 14px 14px}.source-toolbar{grid-template-columns:1fr 1.3fr 220px;align-items:end}.source-mode-row{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.mode-card{min-height:76px;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--surface-soft);text-align:left}.mode-card strong,.mode-card span{display:block}.mode-card span{margin-top:4px;color:var(--muted);font-size:13px}.mode-card.active{border-color:var(--accent);background:var(--accent-soft)}.split-editors,.draft-layout,.review-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.field{display:flex;flex-direction:column;gap:7px}.field.wide{grid-column:1 / -1}.action-row{justify-content:flex-end;margin-top:20px}.action-row.compact{justify-content:flex-start}.primary-button,.secondary-button,.icon-button,.mini-actions button,.url-ingest button,.drawer-head button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:#fff;color:var(--text)}.primary-button{border-color:var(--accent);background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-dark)}.secondary-button:hover,.icon-button:hover,.mini-actions button:hover,.url-ingest button:hover,.drawer-head button:hover{border-color:var(--line-strong);background:var(--surface-soft)}.upload-zone{display:flex;flex-direction:column;justify-content:center;min-height:112px;border:1px dashed var(--line-strong);border-radius:8px;padding:16px;background:var(--surface-soft)}.upload-zone.is-locked{color:var(--muted);background:#f1f5f9}.upload-zone span{color:var(--muted);font-size:13px}.upload-zone input{display:none}.url-ingest{display:grid;grid-template-columns:1fr auto;gap:8px}.source-list{display:grid;gap:10px;margin-top:18px}.source-item,.empty-panel,.review-panel{border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--surface-soft)}.source-item.focused{border-color:var(--accent);background:var(--accent-soft)}.source-item div:first-child{display:flex;justify-content:space-between;gap:12px}.source-meta-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.quality-chip{display:inline-flex;align-items:center;min-height:24px;border:1px solid var(--line);border-radius:999px;padding:3px 9px;background:#fff;color:var(--muted);font-size:12px;font-weight:700}.quality-chip.ok{border-color:#86efac;color:#166534;background:#f0fdf4}.quality-chip.warn{border-color:#fde68a;color:#92400e;background:#fffbeb}.quality-chip.danger{border-color:#fecaca;color:#991b1b;background:#fef2f2}.verify-button{align-self:end}.source-item span,.review-panel span,.muted,.account-line{color:var(--muted)}.source-badge{color:var(--accent);font-weight:800}.source-item .source-citation{margin:8px 0 0;color:var(--muted);font-size:12px}.source-item p{margin:10px 0;color:#334155;line-height:1.55}.assistant-panel{position:sticky;top:82px;align-self:start;max-height:calc(100vh - 100px);overflow:auto;padding:16px}.panel-section{padding:0 0 16px;border-bottom:1px solid var(--line);margin-bottom:16px}.panel-section:last-child{margin-bottom:0;border-bottom:0}.panel-section h2,.review-panel h2{margin:4px 0 8px;font-size:18px}.next-action-box{display:grid;gap:3px;margin-top:12px;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--surface-soft)}.academy-preview-panel{margin-top:16px;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff}.preview-panel-head,.export-preview-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.preview-panel-head h2{margin:3px 0 0;font-size:18px}.export-preview-meta{align-items:flex-start;flex-wrap:wrap}.export-preview-meta strong,.export-preview-meta span{display:block}.render-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.render-badge{display:inline-flex;align-items:center;min-height:26px;border:1px solid #bcd0ff;border-radius:999px;padding:3px 8px;color:var(--accent-dark);background:var(--accent-soft);font-size:12px;font-weight:650}.muted-badge{border-color:var(--line);color:var(--muted);background:var(--surface-soft)}.markdown-preview{max-height:640px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:18px;background:#fff;color:var(--text);line-height:1.72}.markdown-preview.empty-preview{color:var(--muted);background:var(--surface-soft)}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{margin:1em 0 .45em;line-height:1.28;letter-spacing:0}.markdown-preview h1{font-size:26px}.markdown-preview h2{border-bottom:1px solid var(--line);padding-bottom:6px;font-size:21px}.markdown-preview h3{font-size:17px}.markdown-preview p,.markdown-preview ul,.markdown-preview ol{margin:.7em 0}.markdown-preview table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px}.markdown-preview th,.markdown-preview td{border:1px solid var(--line);padding:8px 10px;vertical-align:top}.markdown-preview th{background:var(--surface-soft);font-weight:750}.markdown-preview pre{overflow:auto;border:1px solid #1e293b;border-radius:8px;padding:12px;background:#0f172a;color:#dbeafe;line-height:1.55}.markdown-preview code{border-radius:5px;padding:1px 5px;background:#eef2f7;color:#0f172a;font-size:.94em}.markdown-preview pre code{padding:0;background:transparent;color:inherit}.preview-figure,.mermaid-render{margin:16px 0;text-align:center}.preview-figure img{max-width:100%;border:1px solid var(--line);border-radius:8px;background:#fff}.preview-figure figcaption,.render-warning figcaption{margin-top:6px;color:var(--muted);font-size:13px}.mermaid-render{overflow-x:auto;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.mermaid-render svg{max-width:100%;height:auto}.render-loading,.render-warning{border:1px solid #f4d9a9;border-radius:8px;padding:12px;color:var(--warn);background:#fff8ea}.next-action-box strong,.next-action-box span{display:block}.next-action-box span{color:var(--muted);font-size:13px;line-height:1.45}.chip-row span{border-radius:999px;padding:4px 8px;background:var(--surface-soft);color:var(--muted);font-size:12px}.progress-list{margin:0;padding-left:18px;color:var(--muted);line-height:1.9}.progress-list li.done{color:var(--good)}.run-progress{display:grid;gap:7px;margin-top:12px}.run-progress-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.run-progress-head strong{font-size:13px;line-height:1.4}.run-progress-head span,.run-progress p{color:var(--muted);font-size:12px}.run-progress-track{position:relative;height:7px;overflow:hidden;border-radius:999px;background:var(--line)}.run-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .25s ease}.run-progress.complete .run-progress-track span{background:var(--good)}.run-progress.failed .run-progress-track span{background:var(--danger)}.run-progress p{margin:0}.api-log,.review-panel pre{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:10px;background:#0f172a;color:#dbeafe;white-space:pre-wrap;font-size:12px}.api-log-details{margin-top:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.api-log-details summary{padding:9px 10px}.api-log-details .api-log{margin:0 10px 10px}.drawer-backdrop{position:fixed;inset:0;z-index:50;display:flex;justify-content:flex-end;background:#0f172a5c}.settings-drawer{width:min(460px,100vw);height:100%;overflow:auto;border-radius:0;padding:18px}.paid-confirm{width:min(560px,calc(100vw - 28px));align-self:center;margin:auto;border:1px solid var(--line);border-radius:8px;padding:18px;background:var(--surface);box-shadow:0 24px 70px #0f172a2e}.paid-confirm-head span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.paid-confirm-head h2{margin:4px 0 8px;font-size:24px;line-height:1.2}.paid-confirm-head p{margin:0;color:var(--muted);line-height:1.55}.paid-confirm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.paid-confirm-grid div,.paid-confirm-details{border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.paid-confirm-grid div{padding:12px}.paid-confirm-grid span,.paid-confirm-grid strong{display:block}.paid-confirm-grid span{color:var(--muted);font-size:12px}.paid-confirm-grid strong{margin-top:6px;font-size:16px}.paid-confirm-details{display:grid;gap:8px;margin-top:12px;padding:12px}.paid-confirm-details p{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;margin:0}.paid-confirm-details strong{color:var(--muted);font-size:13px}.paid-confirm-details span{color:var(--text);font-size:13px}.paid-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.drawer-head span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.drawer-head h2{margin:2px 0 0}.settings-drawer section{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.spin{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1100px){.cost-helpbar,.commercial-overview{grid-template-columns:1fr}.overview-checks,.overview-actions{justify-content:flex-start}.workspace-grid{grid-template-columns:180px minmax(0,1fr)}.assistant-panel{grid-column:1 / -1;position:static;max-height:none}}@media(max-width:760px){.topbar,.cost-helpbar,.commercial-overview,.workspace-grid{display:block}.top-actions{margin-top:12px}.cost-metrics,.budget-controls,.overview-checks,.overview-actions{margin-top:8px}.execution-gate,.paid-confirm-grid,.paid-confirm-details p{grid-template-columns:1fr}.paid-confirm-actions{justify-content:stretch}.paid-confirm-actions button{flex:1}.step-rail,.assistant-panel,.work-surface{margin:12px}.form-grid,.language-strip,.source-toolbar,.source-mode-row,.split-editors,.draft-layout,.review-grid{grid-template-columns:1fr}}
