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

/* ── Textarea ────────────────────────────────────────────────────────────── */
.tbb-split-fasta .tbb-seq-textarea {
	min-height: 180px;
}

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

/* ── Parameter row ───────────────────────────────────────────────────────── */
.tbb-sf-param-row {
	display:       flex;
	flex-wrap:     wrap;
	gap:           16px;
	margin-top:    14px;
	margin-bottom: 4px;
	align-items:   flex-end;
}

.tbb-sf-param-group {
	display:        flex;
	flex-direction: column;
	gap:            5px;
}

.tbb-sf-param-label {
	font-size:   13px;
	font-weight: 600;
	color:       var(--tbb-seq-text);
	white-space: nowrap;
}

.tbb-sf-param-input {
	width:         110px;
	padding:       6px 10px;
	font-size:     13px;
	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);
	text-align:    right;
	transition:    border-color 120ms ease, box-shadow 120ms ease;
}

.tbb-sf-param-input:focus {
	outline:      none;
	border-color: var(--tbb-seq-primary);
	box-shadow:   0 0 0 3px var(--tbb-seq-primary-light);
}

.tbb-sf-param-hint {
	font-size: 11px;
	color:     var(--tbb-seq-text-muted);
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media ( max-width: 600px ) {
	/* Stack param groups; each group becomes a label-left / input-right row */
	.tbb-sf-param-row {
		flex-direction: column;
		gap:            0;
		border:         1px solid var(--tbb-seq-border);
		border-radius:  var(--tbb-seq-radius-sm);
		overflow:       hidden;
		margin-top:     14px;
	}

	.tbb-sf-param-group {
		display:         grid;
		grid-template-columns: 1fr auto;
		grid-template-rows:    auto auto;
		align-items:     center;
		gap:             0 10px;
		padding:         10px 12px;
		background:      var(--tbb-seq-bg);
	}

	/* Divider between the two groups */
	.tbb-sf-param-group + .tbb-sf-param-group {
		border-top: 1px solid var(--tbb-seq-border);
	}

	.tbb-sf-param-label {
		grid-column: 1;
		grid-row:    1;
		font-size:   13px;
	}

	.tbb-sf-param-hint {
		grid-column: 1;
		grid-row:    2;
		font-size:   11px;
		margin-top:  2px;
	}

	.tbb-sf-param-input {
		grid-column: 2;
		grid-row:    1 / 3;
		width:       80px;
		text-align:  right;
		align-self:  center;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.tbb-sf-param-input { transition: none; }
}
