/* ==========================================================================
   Codon Plot — Tool-specific styles
   Shared Benchling-style framework: tools/common/tbb-sequence-tools.css
   ========================================================================== */

/* ── Sequence textarea ───────────────────────────────────────────────────── */
.tbb-codon-plot .tbb-seq-textarea {
	min-height: 120px;
}

/* ── Codon table textarea ────────────────────────────────────────────────── */
.tbb-cp-table-textarea {
	width:        100%;
	min-height:   200px;
	padding:      10px 12px;
	font-size:    12px;
	font-family:  var(--tbb-seq-font-mono);
	color:        var(--tbb-seq-text);
	background:   var(--tbb-seq-bg);
	border:       1px solid var(--tbb-seq-border);
	border-radius: var(--tbb-seq-radius-sm);
	resize:       vertical;
	box-sizing:   border-box;
	transition:   border-color 120ms ease, box-shadow 120ms ease;
	line-height:  1.5;
}

.tbb-cp-table-textarea:focus {
	outline:      none;
	border-color: var(--tbb-seq-primary);
	box-shadow:   0 0 0 3px var(--tbb-seq-primary-light);
}

/* ── Sub-label for codon table ───────────────────────────────────────────── */
.tbb-cp-sublabel {
	font-size:   12px;
	font-weight: 600;
	color:       var(--tbb-seq-text-muted);
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-top:  18px;
	margin-bottom: 6px;
}

/* ── Output max-height ───────────────────────────────────────────────────── */
@media ( min-width: 900px ) {
	.tbb-codon-plot .tbb-seq-output-pre {
		max-height: 500px;
	}
}

/* ── Warnings panel ──────────────────────────────────────────────────────── */
.tbb-cp-warnings {
	padding:       10px 14px;
	background:    var(--tbb-seq-warning-light);
	border:        1px solid #eac54f;
	border-radius: var(--tbb-seq-radius-sm);
}

.tbb-cp-warn-heading {
	font-size:      11px;
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color:          #92400e;
	margin-bottom:  8px;
}

.tbb-cp-warn-list {
	display:        flex;
	flex-direction: column;
	gap:            6px;
}

.tbb-cp-warn-item {
	display:     flex;
	align-items: flex-start;
	gap:         8px;
	font-size:   12px;
	color:       #7d5700;
	line-height: 1.45;
}

.tbb-cp-warn-icon {
	flex-shrink: 0;
	margin-top:  1px;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media ( prefers-reduced-motion: reduce ) {
	.tbb-cp-table-textarea { transition: none; }
}
