/*
 * 页面专属样式：login
 *
 * 由交付包样板的 <style> 提取，共用部分已经上移到 components.css。
 */

body {
	background:var(--bg-soft);
	color:var(--ink);
	font-family:'Inter',sans-serif;
	-webkit-font-smoothing:antialiased;
	min-height:100vh;
	display:flex;
	flex-direction:column;
}
.toast {
	position:fixed;
	left:50%;
	bottom:26px;
	transform:translateX(-50%) translateY(12px);
	background:var(--ink);
	color:#fff;
	font-size:13px;
	padding:11px 20px;
	border-radius:999px;
	opacity:0;
	pointer-events:none;
	transition:opacity .18s, transform .18s;
	z-index:80;
	max-width:88vw;
	text-align:center;
	line-height:1.5;
}
.field-err {
	font-size:11.8px;
	color:var(--accent);
	margin-top:6px;
	min-height:15px;
}
input.invalid, textarea.invalid {
	border-color:var(--accent) !important;
	background:var(--accent-soft) !important;
}
.center {
	flex:1;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:40px 20px;
}
.auth-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	max-width:920px;
	width:100%;
	border:1px solid var(--border);
	border-radius:20px;
	overflow:hidden;
	box-shadow:var(--shadow-lg);
	background:#fff;
}
.auth-side {
	background:linear-gradient(165deg,#F0E9D8,#E3D9C2 45%,#D2C4A2);
	padding:48px 40px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	color:var(--ink);
}
.auth-side .quote {
	font-family:'Fraunces',serif;
	font-size:22px;
	line-height:1.4;
	margin-bottom:20px;
}
.auth-side .quote-meta {
	font-size:12.5px;
	color:#4B4230;
}
.side-bonus {
	background:rgba(255,255,255,.55);
	border-radius:12px;
	padding:16px 18px;
	backdrop-filter:blur(4px);
}
.side-bonus .n {
	font-family:'Fraunces',serif;
	font-size:26px;
	font-weight:600;
}
.side-bonus .l {
	font-size:12.5px;
	color:#4B4230;
	margin-top:2px;
}
.auth-form { padding:48px 40px; }
.tabs {
	display:flex;
	gap:4px;
	background:var(--bg-soft);
	border-radius:10px;
	padding:4px;
	margin-bottom:28px;
}
.tab {
	flex:1;
	text-align:center;
	padding:9px;
	font-size:13.5px;
	font-weight:600;
	border-radius:8px;
	cursor:pointer;
	color:var(--ink-soft);
}
.tab.active {
	background:#fff;
	color:var(--ink);
	box-shadow:0 1px 2px rgba(24,24,27,.08);
}
h2 {
	font-size:21px;
	margin-bottom:6px;
}
.sub {
	font-size:13px;
	color:var(--ink-soft);
	margin-bottom:26px;
}
.field input {
	width:100%;
	background:var(--bg-soft);
	border:1px solid var(--border);
	color:var(--ink);
	padding:11px 13px;
	font-size:13.8px;
	font-family:'Inter',sans-serif;
	border-radius:10px;
	outline:none;
}
.field input:focus {
	border-color:var(--ink);
	background:#fff;
}
.field-row {
	display:flex;
	gap:10px;
}
.field-row .field { flex:1; }
.row-between {
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:22px;
	font-size:12.8px;
}
.row-between label {
	display:flex;
	align-items:center;
	gap:7px;
	color:#4B4B52;
}
.row-between a {
	color:var(--ink);
	font-weight:500;
}
.submit-btn {
	width:100%;
	background:var(--ink);
	color:#fff;
	border:none;
	padding:12px;
	font-size:14px;
	font-weight:600;
	border-radius:10px;
	cursor:pointer;
}
.divider {
	display:flex;
	align-items:center;
	gap:12px;
	margin:22px 0;
	font-size:11.5px;
	color:var(--ink-soft);
}
.divider::before, .divider::after {
	content:"";
	flex:1;
	height:1px;
	background:var(--border);
}
.oauth-row {
	display:flex;
	gap:10px;
}
.oauth-btn {
	flex:1;
	border:1px solid var(--border);
	border-radius:10px;
	padding:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	font-size:13px;
	font-weight:500;
	cursor:pointer;
}
.oauth-btn:hover { background:var(--bg-soft); }
.oauth-btn svg {
	width:16px;
	height:16px;
}
.foot-note {
	text-align:center;
	font-size:12.5px;
	color:var(--ink-soft);
	margin-top:22px;
}
.foot-note a {
	color:var(--ink);
	font-weight:500;
}
.sent-icon {
	width:56px;
	height:56px;
	border-radius:50%;
	background:var(--green-soft);
	color:var(--green);
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0 auto 18px;
}
.sent-icon svg {
	width:26px;
	height:26px;
}
#forgot-sent h2, #forgot-sent .sub { text-align:center; }
#forgot-sent .sub b { color:var(--ink); }
#forgot-sent .submit-btn { margin-top:6px; }
@media (max-width:720px) {
  .auth-grid { grid-template-columns:1fr; }
  .auth-side { display:none; }
}

/* 另有 1 条顶栏 / 页脚 / 语言切换器规则已摘除 —— 
   站点外壳由 header.php + footer.php + theme.css 统一负责，
   页面各留一份会覆盖掉规范版本。 */
