/* Публичные страницы: всё берётся из CSS-переменных, которые задаёт конструктор темы. */
body.theme {
	font-family: var(--font);
	background: var(--bg) var(--bg-image, none) center / cover fixed no-repeat;
	color: var(--text);
}
.theme .container { max-width: calc(var(--card-width) + 32px); }
.theme .card { background: var(--panel); border-color: var(--border); border-radius: var(--radius); }
.theme .title { color: var(--text); }
.theme .subtitle { margin: -6px 0 8px; color: var(--muted); font-size: 15px; line-height: 1.45; white-space: pre-line; }
.theme label { color: var(--muted); }
.theme .opt { font-weight: 400; opacity: .75; }
.theme input, .theme select, .theme textarea {
	background: var(--panel); color: var(--text); border-color: var(--border);
	border-radius: calc(var(--radius) * .72);
	font-family: inherit;
}
.theme input::placeholder, .theme textarea::placeholder { color: var(--muted); opacity: .7; }
.theme .btn { background: var(--accent); color: var(--btn-text); border-radius: calc(var(--radius) * .72); font-family: inherit; }
.theme .btn:hover { background: var(--accent); filter: brightness(.92); }
.theme a.btn { color: var(--btn-text); }
.theme a.btn.btn-outline { background: transparent; color: var(--accent); border-color: var(--accent); }
.theme a.btn.btn-outline:hover { background: var(--accent); color: var(--btn-text); }
.theme .muted { color: var(--muted); }
.theme .help { color: var(--muted); font-size: 12px; margin-top: 4px; }
.form-logo { text-align: center; margin-bottom: 14px; }
.form-logo img { height: var(--logo-h); max-width: 100%; object-fit: contain; }
.theme .choice-list { display: flex; flex-direction: column; gap: 8px; margin: 4px 0; }
.theme .choice-list label, .theme .check {
	display: flex; gap: 10px; align-items: center; margin: 0; font-weight: 500; color: var(--text); cursor: pointer;
}
.theme .choice-list input, .theme .check input { width: 18px; height: 18px; accent-color: var(--accent); flex: 0 0 auto; }
.theme .check { margin-top: 14px; }
.theme .choice-list ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.bot-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 10px; }
.theme .success-text { white-space: pre-line; color: var(--text); }
