/* Extractive Summarizer — design tokens only.
 * Navy #142B4A, blue #2563EB, teal text #0F766E, brand #14B8A6 fills only
 * with navy text, background #F8FAFC. Inter + JetBrains Mono stacks. */
.extractive-summarizer { background: #F8FAFC; color: #142B4A; font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
.extractive-summarizer textarea { width: 100%; min-height: 220px; padding: 12px; border: 1px solid #cbd5e1; border-radius: 10px; background: #ffffff; color: #142B4A; font-family: Inter, system-ui, sans-serif; font-size: 16px; line-height: 1.5; box-sizing: border-box; }
.extractive-summarizer textarea:focus { outline: 3px solid #2563EB; outline-offset: 2px; }
.sum-char-count { font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 14px; color: #0F766E; }
.sum-controls { display: flex; flex-wrap: wrap; gap: 16px; align-items: end; margin: 12px 0; }
.sum-controls label { font-weight: 600; }
.sum-controls input[type="number"], .sum-controls select { padding: 8px; border: 1px solid #cbd5e1; border-radius: 8px; font-size: 16px; }
.sum-badge { display: inline-block; background: #14B8A6; color: #142B4A; font-weight: 700; padding: 2px 10px; border-radius: 999px; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; }
.sum-picked { background: #14B8A6; color: #142B4A; padding: 1px 3px; border-radius: 4px; }
.sum-highlighted { background: #ffffff; border: 1px solid #cbd5e1; border-radius: 10px; padding: 14px; line-height: 1.7; }
.sum-output-wrap textarea { min-height: 140px; font-family: Inter, system-ui, sans-serif; }
.sum-note { color: #0F766E; font-weight: 600; }
@media (max-width: 640px) { .sum-controls { flex-direction: column; align-items: stretch; } }
