:root{--n0: #ffffff;--n10: #fafbfd;--n20: #f3f5f9;--n30: #e9edf3;--n40: #dce1ea;--n50: #c3cad8;--n60: #aab3c4;--n70: #97a1b4;--n80: #828da3;--n100: #6b7589;--n200: #59647a;--n300: #495168;--n400: #3a4255;--n500: #2d3445;--n600: #232938;--n700: #1a1f2c;--n800: #11151f;--b50: #ecedfb;--b75: #d2d5f6;--b100: #9aa0ee;--b200: #6f78e4;--b300: #4d57d6;--b400: #3a4acb;--b500: #2c39a4;--g50: #e7f7ef;--g75: #bde9d2;--g200: #5ec79a;--g300: #2faf7e;--g400: #0f9466;--g500: #0a7350;--r50: #fdecec;--r75: #f8c2c2;--r200: #f1716f;--r300: #e84a48;--r400: #d12f2d;--r500: #a72120;--y50: #fff6e6;--y75: #ffe6b0;--y200: #ffce5a;--y300: #f5b32f;--y400: #d9921a;--p50: #efeafe;--p75: #d6cbf7;--p200: #ab97e6;--p300: #7c5cd6;--p400: #5f43b0;--t50: #e3f6f7;--t75: #bce8eb;--t200: #6fcdd4;--t300: #21a9b3;--t400: #128f99;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, "Helvetica Neue", sans-serif;--font-display: "Space Grotesk", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "JetBrains Mono", "SFMono-Medium", "SF Mono", "Roboto Mono", Menlo, Consolas, monospace;--space-0: 0;--space-025: 2px;--space-050: 4px;--space-075: 6px;--space-100: 8px;--space-150: 12px;--space-200: 16px;--space-250: 20px;--space-300: 24px;--space-400: 32px;--space-500: 40px;--space-600: 48px;--radius-050: 6px;--radius-100: 8px;--radius-200: 12px;--radius-300: 16px;--radius-round: 50%;--shadow-overflow: 0 0 0 1px var(--n40);--shadow-raised: 0 1px 2px rgba(17, 21, 31, .06), 0 1px 1px rgba(17, 21, 31, .04);--shadow-overlay: 0 12px 28px -8px rgba(17, 21, 31, .22), 0 4px 10px -4px rgba(17, 21, 31, .12), 0 0 0 1px rgba(17, 21, 31, .04);--shadow-card: 0 1px 2px rgba(17, 21, 31, .05), 0 8px 24px -12px rgba(17, 21, 31, .16);--transition-duration: .18s;--transition-timing: cubic-bezier(.2, .9, .3, 1)}*,*:before,*:after{box-sizing:border-box}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;font-family:var(--font-family);font-size:14px;font-weight:400;line-height:1.5;color:var(--n800);background-color:var(--n20);background-image:radial-gradient(1200px 480px at 50% -280px,rgba(58,74,203,.1),transparent 70%),linear-gradient(180deg,#eef1f7 0%,var(--n20) 320px);background-repeat:no-repeat;background-attachment:fixed}a{color:var(--b400);text-decoration:none}a:hover{color:var(--b300);text-decoration:underline}a:active{color:var(--b500)}#root{max-width:1120px;margin:0 auto;padding:var(--space-500) var(--space-300) var(--space-600)}.app-shell{background:var(--n0);border:1px solid var(--n40);border-radius:var(--radius-300);box-shadow:var(--shadow-card);padding:var(--space-500);animation:shell-rise .5s var(--transition-timing) both}@keyframes shell-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-100);font-family:var(--font-display);font-weight:600;color:var(--n800);line-height:1.15;letter-spacing:-.02em}h1{font-size:30px;font-weight:700}h2{font-size:24px}h3{font-size:20px}h4{font-size:16px}p{margin:0 0 var(--space-150);color:var(--n200);line-height:1.55}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-075);font-family:var(--font-family-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--b400)}.eyebrow:before{content:"|";color:var(--b200);font-weight:700}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-200);background:linear-gradient(145deg,var(--b300),var(--b500));box-shadow:0 6px 16px -6px #2c39a499,inset 0 1px #ffffff2e;flex-shrink:0}.workflow-rail{display:flex;align-items:stretch;gap:var(--space-100);margin:var(--space-300) 0 var(--space-400);padding:var(--space-150);background:var(--n10);border:1px solid var(--n30);border-radius:var(--radius-200)}.workflow-step{display:flex;align-items:center;gap:var(--space-150);flex:1;padding:var(--space-100) var(--space-150);border-radius:var(--radius-100)}.workflow-step__num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-100);font-family:var(--font-family-mono);font-size:13px;font-weight:600;color:var(--b500);background:var(--b50);border:1px solid var(--b75)}.workflow-step__label{font-weight:600;font-size:13px;color:var(--n700);line-height:1.25}.workflow-step__desc{font-size:12px;color:var(--n100);line-height:1.25}.workflow-arrow{align-self:center;color:var(--n50);flex-shrink:0}button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-075);font-family:inherit;font-size:14px;font-weight:600;line-height:1;padding:var(--space-100) var(--space-200);min-height:38px;border-radius:var(--radius-050);border:1px solid transparent;cursor:pointer;transition:background-color var(--transition-duration) var(--transition-timing),box-shadow var(--transition-duration) var(--transition-timing),border-color var(--transition-duration) var(--transition-timing),transform var(--transition-duration) var(--transition-timing),color var(--transition-duration) var(--transition-timing);white-space:nowrap;vertical-align:middle}button:focus{outline:none}button:focus-visible{outline:2px solid var(--b300);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.45}button.primary{background-color:var(--b400);color:var(--n0);box-shadow:0 1px 2px #11151f1f,inset 0 1px #ffffff29}button.primary:hover:not(:disabled){background-color:var(--b300);box-shadow:0 6px 16px -6px #3a4acb99;transform:translateY(-1px)}button.primary:active:not(:disabled){background-color:var(--b500);transform:translateY(0);box-shadow:0 1px 2px #11151f1f}button.secondary,button.default{background-color:var(--n0);color:var(--n400);border-color:var(--n40);box-shadow:var(--shadow-raised)}button.secondary:hover:not(:disabled),button.default:hover:not(:disabled){background-color:var(--n10);border-color:var(--n50);color:var(--n600)}button.secondary:active:not(:disabled),button.default:active:not(:disabled){background-color:var(--n20);color:var(--b400)}button.ghost{background-color:transparent;color:var(--n300)}button.ghost:hover:not(:disabled){background-color:var(--n30);color:var(--n700)}button.ghost:active:not(:disabled){background-color:var(--n40);color:var(--b400)}button.danger{background-color:var(--r400);color:var(--n0)}button.danger:hover:not(:disabled){background-color:var(--r300)}button.danger:active:not(:disabled){background-color:var(--r500)}button.link{background-color:transparent;color:var(--b400);padding:0;min-height:auto;border:none}button.link:hover:not(:disabled){color:var(--b300);text-decoration:underline}.controls{display:flex;gap:var(--space-100);flex-wrap:wrap;margin:var(--space-300) 0;align-items:center}.section{margin-bottom:var(--space-400)}.section-title{display:flex;align-items:center;gap:var(--space-150);font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--n800);margin-bottom:var(--space-200)}.badge{display:inline-flex;align-items:center;gap:var(--space-050);font-family:var(--font-family-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;padding:var(--space-050) var(--space-100);border-radius:var(--radius-050);background-color:var(--b50);color:var(--b500);border:1px solid var(--b75)}.badge.success{background-color:var(--g50);color:var(--g500);border-color:var(--g75)}.badge.warning{background-color:var(--y50);color:var(--n800);border-color:var(--y75)}.badge.danger{background-color:var(--r50);color:var(--r500);border-color:var(--r75)}.badge.neutral{background-color:var(--n30);color:var(--n300);border-color:var(--n40)}.table-editor{overflow:auto;border:1px solid var(--n40);border-radius:var(--radius-200);background-color:var(--n0);box-shadow:var(--shadow-raised)}.table-editor table{width:100%;border-collapse:separate;border-spacing:0;min-width:480px}.table-editor th,.table-editor td{border-bottom:1px solid var(--n30);border-right:1px solid var(--n30);padding:var(--space-075);text-align:left;vertical-align:middle}.table-editor th:last-child,.table-editor td:last-child{border-right:none}.table-editor tbody tr:last-child td{border-bottom:none}.table-editor th{background-color:var(--n10);font-family:var(--font-family-mono);font-weight:500;font-size:11px;color:var(--n200);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-100)}.table-editor td{background-color:var(--n0)}.table-editor tbody tr:hover td{background-color:var(--b50)}.table-editor input{width:100%;border:1.5px solid transparent;border-radius:var(--radius-050);padding:var(--space-075) var(--space-100);font-family:inherit;font-size:14px;background:transparent;color:var(--n800);transition:border-color var(--transition-duration) var(--transition-timing),background-color var(--transition-duration) var(--transition-timing),box-shadow var(--transition-duration) var(--transition-timing)}.table-editor input:hover{background-color:var(--n20)}.table-editor input:focus{outline:none;border-color:var(--b300);background-color:var(--n0);box-shadow:0 0 0 3px var(--b50)}.table-editor input::placeholder{color:var(--n70)}.table-editor tfoot td{background-color:var(--n10);border-top:1px solid var(--n40)}.result-viewer{border:1px solid var(--n40);border-radius:var(--radius-200);background-color:var(--n0);overflow:hidden;box-shadow:var(--shadow-raised)}.section.result-viewer{padding:0}.section.result-viewer .section-title{padding:var(--space-200) var(--space-250) 0;margin-bottom:var(--space-150)}.tabs{display:flex;gap:var(--space-050);border-bottom:1px solid var(--n30);background-color:transparent;padding:0 var(--space-250)}.tab{position:relative;padding:var(--space-150) var(--space-150);border:none;border-radius:0;background-color:transparent;font-family:var(--font-display);font-weight:500;font-size:14px;color:var(--n200);cursor:pointer;transition:color var(--transition-duration) var(--transition-timing);min-height:44px}.tab:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:transparent;transition:background-color var(--transition-duration) var(--transition-timing)}.tab:hover,.tab.active{color:var(--b400);background-color:transparent}.tab.active:after{background-color:var(--b400)}.tab:focus-visible{outline:2px solid var(--b300);outline-offset:-2px;border-radius:var(--radius-050)}.markdown-pane{padding:var(--space-250)}.markdown-pane textarea{width:100%;min-height:240px;border:1px solid var(--n700);border-radius:var(--radius-100);padding:var(--space-200);font-family:var(--font-family-mono);font-size:13px;line-height:1.7;background-color:var(--n800);color:#d7dcea;resize:vertical;transition:border-color var(--transition-duration) var(--transition-timing),box-shadow var(--transition-duration) var(--transition-timing);box-shadow:inset 0 1px 3px #0000004d;-moz-tab-size:2;tab-size:2}.markdown-pane textarea:hover{border-color:var(--n500)}.markdown-pane textarea:focus{outline:none;border-color:var(--b300);box-shadow:inset 0 1px 3px #0000004d,0 0 0 3px var(--b50)}.markdown-pane textarea::placeholder{color:var(--n200)}.preview-pane{padding:var(--space-250);background-color:var(--n10);min-height:240px;border-top:1px solid var(--n30)}.preview-pane table{width:100%;border-collapse:separate;border-spacing:0;background-color:var(--n0);border-radius:var(--radius-100);overflow:hidden;border:1px solid var(--n40);box-shadow:var(--shadow-raised)}.preview-pane th,.preview-pane td{border-bottom:1px solid var(--n30);border-right:1px solid var(--n30);padding:var(--space-100) var(--space-150);text-align:left}.preview-pane th:last-child,.preview-pane td:last-child{border-right:none}.preview-pane tbody tr:last-child td{border-bottom:none}.preview-pane th{background-color:var(--n10);font-weight:600;color:var(--n700)}.preview-pane td{background-color:var(--n0);color:var(--n800)}.preview-pane tbody tr:hover td{background-color:var(--b50)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-600) var(--space-300);text-align:center}.empty-state-icon{width:64px;height:64px;margin-bottom:var(--space-200);color:var(--n70)}.empty-state-title{font-size:20px;font-weight:500;color:var(--n800);margin-bottom:var(--space-100)}.empty-state-description{font-size:14px;color:var(--n200);max-width:400px}.inline-message{display:flex;align-items:flex-start;gap:var(--space-150);padding:var(--space-200);border-radius:var(--radius-100);background-color:var(--b50);border-left:3px solid var(--b400)}.inline-message.success{background-color:var(--g50);border-left-color:var(--g400)}.inline-message.warning{background-color:var(--y50);border-left-color:var(--y400)}.inline-message.error{background-color:var(--r50);border-left-color:var(--r400)}.card{background-color:var(--n0);border:1px solid var(--n40);border-radius:var(--radius-200);box-shadow:var(--shadow-raised);padding:var(--space-200)}.card:hover{box-shadow:var(--shadow-overlay)}.divider{height:1px;background-color:var(--n30);border:none;margin:var(--space-300) 0}.tooltip{position:relative;display:inline-block}.tooltip-content{position:absolute;bottom:calc(100% + var(--space-100));left:50%;transform:translate(-50%);padding:var(--space-050) var(--space-100);background-color:var(--n800);color:var(--n0);font-size:12px;border-radius:var(--radius-050);white-space:nowrap;z-index:1000;opacity:0;visibility:hidden;transition:opacity var(--transition-duration) var(--transition-timing),visibility var(--transition-duration) var(--transition-timing)}.tooltip:hover .tooltip-content{opacity:1;visibility:visible}.focus-ring:focus{outline:none}.focus-ring:focus-visible{outline:2px solid var(--b300);outline-offset:2px}.text-subtle{color:var(--n200)}.text-success{color:var(--g400)}.text-warning{color:var(--y400)}.text-danger{color:var(--r400)}.text-brand{color:var(--b400)}.bg-surface{background-color:var(--n0)}.bg-surface-sunken{background-color:var(--n20)}.bg-surface-raised{background-color:var(--n0);box-shadow:var(--shadow-raised)}@media (max-width: 768px){#root{padding:var(--space-300) var(--space-150) var(--space-500)}.app-shell{padding:var(--space-300);border-radius:var(--radius-200)}h1{font-size:25px}.workflow-rail{flex-direction:column;gap:var(--space-050)}.workflow-arrow{display:none}.table-editor table{min-width:400px}.controls{flex-direction:column;align-items:stretch}.controls button{width:100%;justify-content:center}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 var(--space-150)}.tab{padding:var(--space-100) var(--space-150);font-size:13px}.section.result-viewer .section-title{padding:var(--space-150) var(--space-150) 0}.markdown-pane,.preview-pane{padding:var(--space-150)}}@media (max-width: 480px){.section-title{flex-wrap:wrap;gap:var(--space-100)}.markdown-pane textarea{min-height:180px;font-size:12px}.preview-pane{min-height:180px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{body{background:#fff}.app-shell{box-shadow:none;border:1px solid var(--n40)}.controls,.tabs,.workflow-rail{display:none}}
