:root {
  --ink: #1f2829;
  --muted: #6f7a78;
  --paper: #f5f5f0;
  --panel: #fbfbf8;
  --line: #dfe3dc;
  --accent: #d8f264;
  --accent-deep: #9eaf27;
  --soft-green: #edf2df;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.shell { width: min(1100px, calc(100% - 44px)); margin: 0 auto; padding: 34px 0 30px; }
.masthead { display:flex; align-items:center; gap: 13px; border-bottom: 1px solid var(--line); padding-bottom: 25px; }
.brand-mark { display:flex; align-items:flex-end; gap:3px; width: 26px; height: 27px; padding: 3px; border: 1.5px solid var(--ink); border-radius: 50%; transform: rotate(-10deg); }
.brand-mark span { display:block; width: 4px; border-radius: 4px; background: var(--ink); }
.brand-mark span:nth-child(1) { height: 8px; }.brand-mark span:nth-child(2) { height: 15px; }.brand-mark span:nth-child(3) { height: 20px; }
.eyebrow, .kicker, .file-type { margin:0; font-size: 10px; line-height:1.2; letter-spacing:.16em; text-transform:uppercase; font-weight: 700; }
.eyebrow { color: var(--muted); }
h1 { margin: 4px 0 0; font-size: 17px; letter-spacing: -.02em; }
.status-pill { margin-left:auto; padding: 7px 11px; border:1px solid var(--line); border-radius: 99px; color:var(--muted); font-size: 11px; display:flex; gap:7px; align-items:center; }
.status-dot { width:6px; height:6px; border-radius:50%; background:#84a43b; }.status-dot.busy { background:#e4a530; animation: pulse 1s ease-in-out infinite; }.status-dot.done { background:#5c8e76; }
.intro { padding: 64px 0 45px; max-width: 700px; }.kicker { color: var(--accent-deep); margin-bottom:14px; }.intro h2 { margin:0; font: 400 clamp(36px, 5.5vw, 64px)/.98 var(--serif); letter-spacing:-.055em; }.lede { max-width: 535px; margin: 25px 0 0; font-size: 16px; line-height:1.6; color:var(--muted); }
.panel { background: var(--panel); border:1px solid var(--line); border-radius: 4px; padding: 28px; margin-bottom: 14px; }.panel-heading { display:flex; gap:16px; margin-bottom:25px; }.step { width:32px; height:32px; border-radius:50%; background:var(--accent); display:grid; place-items:center; font-size:11px; font-weight:800; flex:0 0 auto; }.panel h3 { margin:0; font-size:17px; letter-spacing:-.025em; }.panel-heading p { margin:5px 0 0; color:var(--muted); font-size:12px; }
.provider-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }.provider-card { min-height:96px; text-align:left; border:1px solid var(--line); background:transparent; border-radius:3px; padding:14px; color:var(--ink); transition:.18s ease; }.provider-card:hover { border-color:var(--accent-deep); transform:translateY(-1px); }.provider-card.selected { border-color:var(--ink); background:var(--soft-green); box-shadow:inset 0 -3px 0 var(--accent); }.provider-name { display:block; font-weight:700; font-size:13px; }.provider-detail { display:block; color:var(--muted); font-size:11px; line-height:1.35; margin-top:7px; }
.profile-row { display:grid; grid-template-columns: 150px 1fr; gap:10px 16px; align-items:center; margin-top:20px; }.profile-row label { font-size:12px; font-weight:700; }.profile-row select, .field input, .field textarea { border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:3px; padding:12px 13px; outline:none; }.profile-row select:focus, .field input:focus, .field textarea:focus { border-color:var(--accent-deep); box-shadow:0 0 0 3px rgba(216,242,100,.28); }.field-note { grid-column:2; color:var(--muted); font-size:11px; margin:-3px 0 0; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.field { display:flex; flex-direction:column; gap:8px; font-size:12px; font-weight:700; }.field small, .upload-control small { color:var(--muted); font-weight:400; font-size:11px; line-height:1.45; }.field textarea { min-height:128px; resize:vertical; line-height:1.5; }.field-wide { width:100%; }.upload-row { display:flex; align-items:center; gap:18px; margin-top:19px; }.upload-control { border:1px dashed #bcc5b9; background:#f7f9f1; padding:11px 14px; display:flex; align-items:center; gap:11px; cursor:pointer; border-radius:3px; }.upload-control:hover { border-color:var(--accent-deep); }.upload-control input { display:none; }.upload-icon { font-size:21px; font-weight:300; }.upload-control strong { display:block; font-size:11px; }.privacy-note { color:var(--muted); font-size:11px; display:flex; gap:8px; align-items:center; }.shield { color:#758c41; font-size:19px; }.custom-schema-field { margin-top:18px; }
.custom-schema-field[hidden] { display: none; }
.run-section { display:flex; justify-content:space-between; align-items:center; padding:30px 3px 60px; }.run-caption { margin:0 0 5px; font: 24px var(--serif); letter-spacing:-.025em; }.run-subcaption { margin:0; color:var(--muted); font-size:12px; }.run-button { border:0; background:var(--ink); color:#fff; border-radius:3px; padding:15px 17px 15px 20px; min-width:190px; display:flex; align-items:center; justify-content:space-between; gap:25px; font-size:12px; font-weight:700; transition:.18s ease; }.run-button:hover { background:#465151; transform:translateY(-1px); }.run-button:disabled { opacity:.65; cursor:wait; transform:none; }.arrow { color:var(--accent); font-size:19px; line-height:10px; }
.results { margin-top: 4px; }.result-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }.result-title-wrap { display:flex; align-items:center; gap:12px; }.result-title-wrap h3 { margin-top:4px; }.success-mark { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; background:var(--accent); font-weight:800; }.text-button, .copy-button { border:0; background:transparent; color:var(--muted); font-size:11px; text-decoration:underline; text-underline-offset:3px; }.text-button:hover, .copy-button:hover { color:var(--ink); }.activity { background:#f0f3e8; border:1px solid #e0e7d2; border-radius:3px; padding:14px 16px; margin-bottom:18px; font-size:11px; color:#5d6d57; line-height:1.8; }.activity-line { display:flex; gap:9px; align-items:baseline; }.activity-line::before { content:'—'; color:var(--accent-deep); }.activity-line.current { color:var(--ink); font-weight:700; }.activity-line.current::before { content:'›'; }.result-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.output-card { border:1px solid var(--line); background:#fff; border-radius:3px; overflow:hidden; }.output-card-header { display:flex; align-items:flex-start; justify-content:space-between; padding:17px 18px 12px; border-bottom:1px solid var(--line); }.output-card h4 { margin:5px 0 0; font-size:14px; }.file-type { color:var(--muted); font-size:9px; }.output-content { margin:0; padding:16px 18px; height:300px; overflow:auto; white-space:pre-wrap; font:11px/1.55 'SFMono-Regular',Consolas,monospace; color:#4b5856; }.markdown-output { font-family:var(--sans); font-size:12px; line-height:1.6; }.download-button { width:100%; border:0; border-top:1px solid var(--line); background:#fbfcf8; color:var(--ink); padding:12px 18px; text-align:left; font-size:11px; font-weight:700; display:flex; justify-content:space-between; }.download-button:hover { background:var(--soft-green); }
footer { display:flex; justify-content:space-between; color:#9aa29d; font-size:10px; letter-spacing:.1em; text-transform:uppercase; padding:6px 2px; }
.toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%, 20px); opacity:0; background:var(--ink); color:#fff; padding:11px 15px; border-radius:3px; font-size:12px; pointer-events:none; transition:.2s ease; }.toast.show { opacity:1; transform:translate(-50%, 0); }
@keyframes pulse { 50% { opacity:.35; } }
@media (max-width: 760px) { .shell { width:min(100% - 28px, 560px); padding-top:20px; }.intro { padding:45px 0 32px; }.panel { padding:20px; }.provider-grid { grid-template-columns:repeat(2,1fr); }.provider-card:last-child { grid-column:span 2; }.field-grid, .result-grid { grid-template-columns:1fr; }.profile-row { grid-template-columns:1fr; }.field-note { grid-column:auto; }.upload-row, .run-section { align-items:flex-start; flex-direction:column; }.run-button { width:100%; }.run-section { padding-bottom:40px; } footer { flex-direction:column; gap:8px; } }
