/**
 * crimson · 用户中心覆盖样式（uc-override.css）
 *
 * 作用范围：仅 UCenter / RouteStudy 插件自渲染页面（?ucenter=* ?rstudy=* ?uctasks=* ?rsnode=*）。
 * 这些页面由插件整页输出、不加载主题 style.min.css；本文件由主题 include.php 的
 * tpure_UcOverrideStyle_* 桥接注入到插件 ucenter.css 之后（</head> 前）。
 *
 * 原则：
 *  1) 只覆盖 .uc-* 表现层，不改任何 HTML 结构与业务逻辑；
 *  2) .rs-*（RouteStudy 私有样式）一律不触碰，保障「学习路线」页原样渲染；
 *  3) 颜色 / 圆角 / 高度全部沿用插件与主题共用的设计令牌
 *     （品牌红 #b91c1c、--uc-ctl-h-lg 44px、--uc-radius-ctl 8px、--uc-radius-panel 10px），
 *     不引入新 UI 框架与新色板；
 *  4) 选择器统一加 .uc-body 前缀提权，确保稳定盖过插件同名规则。
 */

/* ============================================================
 * 1. 邮箱验证码行：修「输入框太小、发送按钮过大」（核心缺陷）
 *
 * 根因：插件 .uc-btn 基础件 width:100%，而 .uc-mailcode-row 里仅设 flex:none
 * （= flex:0 0 auto，不可收缩），按钮按容器 100% 定宽，把 flex:1 的输入框挤成窄条。
 * 修正：按钮宽度收回内容自适应（width:auto + min-width），输入框 flex:1 占满剩余空间；
 * 两者同走 44px 控件档（--uc-ctl-h-lg），天然等高。
 * ============================================================ */
.uc-body .uc-mailcode-row input {
	flex: 1 1 auto;
	min-width: 0;
	height: var(--uc-ctl-h-lg);
}
.uc-body .uc-mailcode-row .uc-btn {
	flex: 0 0 auto;
	width: auto;                 /* 关键覆盖：收回插件 .uc-btn 的 width:100% */
	min-width: 112px;
	padding: 0 16px;
	height: var(--uc-ctl-h-lg);
	line-height: calc(var(--uc-ctl-h-lg) - 2px);   /* 减去上下 1px 描边，文字垂直居中 */
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	background: #fff;
	color: #b91c1c;
	border: 1px solid rgba(185, 28, 28, .45);
	border-radius: var(--uc-radius-ctl);
}
.uc-body .uc-mailcode-row .uc-btn:hover:not(:disabled) {
	background: rgba(185, 28, 28, .06);
	border-color: #b91c1c;
}
/* 倒计时置灰：插件内联 JS 已实现 60s 倒计时 + disabled 防重复提交（page.php:551-575、969-994），
   主题不重复挂 JS（重复监听会一次点击发两封邮件），这里只补「置灰」视觉。
   插件原规则是 opacity:.6（按钮呈半透明红字，仍像可点），改为明确的灰底灰字。 */
.uc-body .uc-mailcode-row .uc-btn:disabled {
	background: #f4f5f7;
	border-color: var(--uc-line-3);
	color: #9aa1ab;
	opacity: 1;                  /* 盖掉插件的 opacity:.6，用颜色而非透明度表达禁用 */
	cursor: not-allowed;
}
/* 登录态表单页：验证码行整体与其它输入框右边界对齐
   （.uc-card .uc-field input 有 max-width:var(--uc-control-max)=480px 上限，
   验证码行若不收同样的上限，行会拖到 480px 之外，右边界参差不齐） */
.uc-body .uc-card .uc-field-mailcode .uc-mailcode-row {
	max-width: var(--uc-control-max);
}

/* ============================================================
 * 2. 表单统一规范：标签 / 输入框 / 提示文字像素对齐
 *
 * 插件 v1.7.9 已统一控件三档高度（44/40/32）与两档圆角（10/8），本节只做
 * 节奏与对齐的收敛微调，不重造尺寸体系：
 *  ① 标签加固定行高：多行表单中各 label 占位一致，输入框上沿逐行对齐；
 *  ② 协议勾选行复选框与文字垂直居中（原为默认基线对齐，文字换行后明显错位）；
 *  ③ 提示文字统一行高，长提示换行不塌陷。
 * ============================================================ */
.uc-body .uc-field label {
	line-height: 1.4;
}
.uc-body .uc-agree > label {
	display: flex;               /* 盖掉插件的 display:inline-block */
	align-items: center;
	gap: 8px;
	line-height: 1.6;
}
.uc-body .uc-agree input[type=checkbox] {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin: 0;
}
.uc-body .uc-msg {
	line-height: 1.5;
}
/* 滑动验证块与表单列同宽对齐（游客页表单列 100%，登录态上限 480px，与输入框同规则） */
.uc-body .uc-card form > .uc-slide-box {
	max-width: var(--uc-control-max);
	box-sizing: border-box;
}

/* ============================================================
 * 3. 响应式：PC 保持插件的「侧栏 + 内容」左右分栏，窄屏收敛控件
 *
 * 插件已处理 ≤820px 单列化、侧栏导航 2 列网格、表格卡片横向滚动；
 * 本节只补验证码行与游客卡片在窄屏的细节，防横向溢出。
 * ============================================================ */
@media (max-width: 820px) {
	/* 验证码行窄屏不折行：按钮收窄，输入框继续弹性收缩（min-width:0 保证不溢出） */
	.uc-body .uc-mailcode-row {
		flex-wrap: nowrap;
	}
	.uc-body .uc-mailcode-row .uc-btn {
		min-width: 96px;
		padding: 0 12px;
		font-size: 13px;
	}
	/* 用户中心卡片横向内边距收窄时，验证码行仍随卡片宽度自适应，无需额外处理 */
}
@media (max-width: 360px) {
	/* 超窄屏（iPhone SE 一代等）：按钮再收一档，保证「输入框 + 按钮」同行不溢出 */
	.uc-body .uc-mailcode-row .uc-btn {
		min-width: 84px;
		padding: 0 10px;
	}
}
