.structured-answer { min-width: 0; display: grid; gap: 12px; }
.answer-table-scroll, .answer-drawing-scroll { overflow: auto; max-width: 100%; border: 1px solid var(--border-default); border-radius: 6px; }
.answer-table-scroll { overflow-y: hidden; }
.answer-table { border-collapse: collapse; width: 100%; }
.answer-table th, .answer-table td { padding: 8px; border: 1px solid var(--border-default); }
.answer-table th { font-weight: 600; background: var(--surface-2); }
.answer-table input { min-width: 70px; width: 100%; }
.structured-answer input, .structured-answer select { color: var(--text-primary); background: var(--surface-1); border: 1px solid var(--border-default); border-radius: 4px; padding: 6px; }
.structured-answer button { color: var(--text-primary); background: var(--surface-1); border: 1px solid var(--border-default); border-radius: 5px; padding: 6px 10px; }
.structured-answer button:hover:not(:disabled) { background: var(--surface-hover); }
.structured-answer button:disabled { opacity: .45; cursor: default; }
.answer-palette, .answer-items, .answer-inline-controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.answer-inline-controls label { display: flex; align-items: center; gap: 6px; }
.answer-inline-controls input { width: 80px; }
.answer-help { color: var(--text-secondary); margin: 0; font-size: var(--font-size-100); }
.answer-drawing { width: 100%; max-width: 600px; margin-inline: auto; display: block; background: var(--surface-1); touch-action: none; }
[data-structured-answer="graph"] .answer-drawing { max-width: 440px; }
[data-structured-answer="circuit"] .answer-drawing { min-width: 480px; }
.answer-drawing text { fill: var(--text-primary); font-size: var(--font-size-100); stroke: none; pointer-events: none; }
.answer-grid { stroke: var(--border-muted); stroke-width: 1; }
.answer-axis { stroke: var(--text-secondary); stroke-width: 1.5; }
.answer-plot, .answer-wire { stroke: var(--site-accent); stroke-width: 2.5; fill: none; }
.answer-point { fill: var(--site-accent); }
.answer-symbol { stroke: var(--text-primary); stroke-width: 2; fill: none; pointer-events: none; }
.answer-component { cursor: grab; }
.answer-component:focus .answer-component-hit { stroke: var(--focus); }
.answer-component-hit { fill: var(--surface-1); stroke: transparent; }
.answer-terminal { cursor: pointer; }
.answer-terminal circle { fill: var(--surface-1); stroke: var(--site-accent); stroke-width: 2; }
.answer-terminal circle.is-selected, .answer-terminal:focus circle { fill: var(--site-accent); }
