:root{--text:#5e6572;--text-h:#18202b;--muted-heading:#435166;--bg:#f4f1ea;--panel-bg:#ffffffe0;--input-bg:#ffffffeb;--status-bg:#f4f7faeb;--track-bg:#d8e1e8;--border:#66758a2e;--code-bg:#ece7db;--accent:#0a6c74;--accent-alt:#c8692a;--accent-contrast:#f7f7f4;--error-bg:#f8e1dc;--error-text:#7b2c1f;--shadow:#131f3014 0 16px 30px -20px, #131f301f 0 6px 16px -12px;--sans:"IBM Plex Sans", "Segoe UI", sans-serif;--heading:"Space Grotesk", "IBM Plex Sans", sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}#root{text-align:center;box-sizing:border-box;flex-direction:column;width:1040px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{background:radial-gradient(circle at 0 0,#0a6c741f,#0000 28%),radial-gradient(circle at 100% 0,#c8692a1f,#0000 32%),linear-gradient(#f6f2eb 0%,#f1ede6 100%);margin:0}h1,h2,h3{font-family:var(--heading);color:var(--text-h);font-weight:600}h1{letter-spacing:-.05em;margin:0 0 18px;font-size:48px;line-height:1}@media (width<=1024px){h1{font-size:36px}}h2{letter-spacing:-.03em;margin:0;font-size:26px;line-height:1.15}@media (width<=1024px){h2{font-size:20px}}h3{margin:0;font-size:18px}p{margin:0}code{font-family:var(--mono);color:var(--text-h);background:var(--code-bg);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}*{box-sizing:border-box}a,button,input,select{transition:border-color .2s,box-shadow .2s,background-color .2s}button,input,select{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{box-shadow:0 0 0 3px #0a6c742e}.app-shell{gap:20px;padding:24px;display:grid}.panel{background:var(--panel-bg);border:1px solid var(--border);text-align:left;box-shadow:var(--shadow);border-radius:16px;padding:24px}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:14px;font-weight:700}.lede{max-width:58ch}.plan-list{margin:18px 0 0;padding-left:20px}.control-panel{gap:18px;display:grid}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field-group{gap:8px;display:grid}.field-group label,.summary-label{color:var(--muted-heading);font-size:14px;font-weight:600}.field-group input,.field-group select,.primary-button,.download-link{border:1px solid var(--border);min-height:44px;font:inherit;border-radius:10px}.field-group input,.field-group select{background:var(--input-bg);color:var(--text-h);padding:10px 12px}.hint{color:var(--text);font-size:14px}.file-meta,.status-head,.result-head,.summary-grid,.schema-list li{justify-content:space-between;align-items:center;gap:12px;display:flex}.file-meta{color:var(--text);flex-wrap:wrap;font-size:14px}.primary-button,.download-link{background:var(--accent);color:var(--accent-contrast);justify-content:center;align-items:center;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}.primary-button:disabled{cursor:not-allowed;opacity:.55}.status-card{background:var(--status-bg);border:1px solid var(--border);border-radius:12px;gap:10px;padding:16px;display:grid}.progress-track{background:var(--track-bg);border-radius:999px;width:100%;height:10px;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--accent), var(--accent-alt));height:100%}.error-message{background:var(--error-bg);color:var(--error-text);border-radius:12px;margin:0;padding:14px 16px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.summary-grid>div{background:var(--status-bg);border-radius:12px;gap:4px;padding:14px 16px;display:grid}.schema-list ul{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.schema-list li{background:var(--status-bg);border:1px solid var(--border);border-radius:10px;padding:12px 14px}@media (width<=800px){.app-shell{padding:16px}.grid,.summary-grid{grid-template-columns:1fr}.result-head,.schema-list li{flex-direction:column;align-items:flex-start}}
