/* Extract-to-Dataset — a single-form modal body (spec §03F). */ .extract { display: flex; flex-direction: column; gap: var(--space-5); padding: var(--space-5); min-width: 0; } .intro { margin: 0; font-size: 13px; line-height: 1.4; color: var(--text-secondary); } .muted { margin: 0; padding: var(--space-5); font-size: 14px; color: var(--text-secondary); } .field { display: flex; flex-direction: column; gap: var(--space-2); } .label { font-size: 12px; font-weight: 500; color: var(--text-secondary); } .input { width: 100%; padding: var(--space-3); border: var(--border-width) solid var(--border-strong); border-radius: var(--radius); background: var(--bg); color: var(--text); font: inherit; font-size: 13px; } .input:focus-visible { outline: 2px solid var(--focus); outline-offset: -1px; } .input::placeholder { color: var(--text-placeholder); } .preview { margin: 0; max-height: 240px; overflow: auto; padding: var(--space-3); background: var(--layer-01); border: var(--border-width) solid var(--border); border-radius: var(--radius); font-family: var(--font-mono); font-size: 12px; line-height: 1.5; white-space: pre; } .error { margin: 0; font-size: 13px; color: var(--support-error); } .actions { display: flex; justify-content: flex-end; gap: var(--space-3); } .action { height: 36px; padding: 0 var(--space-5); border: var(--border-width) solid var(--border-strong); border-radius: var(--radius); background: transparent; color: var(--text); font: inherit; font-weight: 500; cursor: pointer; transition: background var(--dur-fast) var(--ease); } .action:hover { background: var(--layer-01); } .action:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; } .primary { background: var(--accent); border-color: transparent; color: var(--accent-contrast); font-weight: 600; } .primary:hover { background: var(--accent-hover); }