/* ==========================================================================
   Random Protein Regions — Tool-specific styles
   Shared Benchling-style framework: sms/common/tbb-sequence-tools.css
   ========================================================================== */

/* ── Sequence input textarea ─────────────────────────────────────────────── */
.tbb-random-protein-regions .tbb-rprotreg-seq-input {
	min-height: 140px;
	font-family: var(--tbb-seq-font-mono);
	font-size:   12px;
}

/* ── Options layout ──────────────────────────────────────────────────────── */
.tbb-rprotreg-options {
	display:        flex;
	flex-direction: column;
	gap:            12px;
	margin:         0 0 4px;
}

.tbb-rprotreg-option {
	display:     flex;
	align-items: center;
	gap:         10px;
	font-size:   13px;
	color:       var(--tbb-seq-text);
}

.tbb-rprotreg-option label {
	font-weight: 500;
	white-space: nowrap;
	min-width:   160px;
}

/* ── Ranges text input ───────────────────────────────────────────────────── */
.tbb-rprotreg-option--ranges input[type="text"] {
	width:         220px;
	padding:       4px 8px;
	border:        1px solid var(--tbb-seq-border);
	border-radius: 4px;
	background:    var(--tbb-seq-bg);
	color:         var(--tbb-seq-text);
	font-family:   var(--tbb-seq-font-mono);
	font-size:     13px;
}

.tbb-rprotreg-option--ranges input[type="text"]:focus {
	outline:        2px solid var(--tbb-seq-accent);
	outline-offset: 1px;
}

/* ── Mode select ─────────────────────────────────────────────────────────── */
.tbb-rprotreg-option select {
	padding:       4px 8px;
	border:        1px solid var(--tbb-seq-border);
	border-radius: 4px;
	background:    var(--tbb-seq-bg);
	color:         var(--tbb-seq-text);
	font-size:     13px;
	cursor:        pointer;
}

.tbb-rprotreg-option select:focus {
	outline:        2px solid var(--tbb-seq-accent);
	outline-offset: 1px;
}

/* ── Output container (plain-text FASTA, white-space: pre) ───────────────── */
.tbb-rprotreg-output {
	font-family:   var(--tbb-seq-font-mono);
	font-size:     12px;
	line-height:   1.5;
	white-space:   pre;
	overflow-x:    auto;
	overflow-y:    auto;
	max-height:    560px;
	padding:       0.75rem;
	background:    var(--tbb-seq-bg);
	border:        1px solid var(--tbb-seq-border);
	border-radius: 4px;
	word-break:    normal;
	word-wrap:     normal;
	margin:        0;
}

/* ── Wider output on large screens ───────────────────────────────────────── */
@media ( min-width: 900px ) {
	.tbb-random-protein-regions .tbb-rprotreg-output {
		max-height: 700px;
	}
}

/* ── Responsive: stack label above control on narrow screens ─────────────── */
@media ( max-width: 540px ) {
	.tbb-rprotreg-option {
		flex-wrap: wrap;
	}

	.tbb-rprotreg-option label {
		min-width: unset;
		width:     100%;
	}

	.tbb-rprotreg-option--ranges input[type="text"] {
		width: 100%;
	}
}
