/* Pattern Detector — tool-local layout on top of the shared NLTM theme.
   Colours/spacing come from theme.css tokens only; no hardcoded values. */

.pd-card {
   margin-bottom: var(--nltm-sp-5);
}

.pd-heading {
   font-family: var(--nltm-font-display);
   font-style: italic;
   color: var(--nltm-primary-deep);
   font-size: var(--nltm-fs-4);
   margin: 0 0 var(--nltm-sp-3);
}

.pd-field-label {
   display: block;
   font-weight: 600;
   color: var(--nltm-muted);
   margin: var(--nltm-sp-3) 0 var(--nltm-sp-2);
}

.pd-textarea {
   width: 100%;
   font-family: var(--nltm-font-mono);
   resize: vertical;
}

.pd-keywords {
   font-size: var(--nltm-fs-2);
}

.pd-actions {
   margin: var(--nltm-sp-3) 0 var(--nltm-sp-2);
}

/* Generator / option checkboxes laid out as a responsive set of grouped columns. */
.pd-options {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
   gap: var(--nltm-sp-3);
   margin-top: var(--nltm-sp-3);
}

.pd-group {
   border: 1px solid var(--nltm-line);
   border-radius: var(--nltm-radius-sm);
   padding: var(--nltm-sp-2) var(--nltm-sp-3) var(--nltm-sp-3);
   margin: 0;
   display: flex;
   flex-direction: column;
   gap: var(--nltm-sp-1);
   background: var(--nltm-surface-2);
}

.pd-legend {
   font-family: var(--nltm-font-display);
   font-style: italic;
   color: var(--nltm-primary-deep);
   padding: 0 var(--nltm-sp-2);
}

.pd-select {
   width: 100%;
   font-family: var(--nltm-font-mono);
   font-size: var(--nltm-fs-2);
}
