/**
 * LCByte · 登录 / 注册 / 找回密码页
 * 左侧品牌面板 + 右侧表单卡片，配色跟随主题（--lc-primary / --lc-accent）。
 * 变量由 inc/member-ui.php 通过 wp_add_inline_style 注入，选择器全部带 fallback。
 */

/* ========== ① 页面底色：深色品牌氛围 ========== */
body.login {
	margin: 0;
	min-height: 100vh;
	padding: 56px 24px;
	font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, system-ui, sans-serif;
	color: #ffffff;
	background:
		radial-gradient(1080px 620px at 10% 4%, rgba(38, 208, 124, .16), transparent 62%),
		radial-gradient(900px 560px at 92% 96%, rgba(0, 135, 85, .26), transparent 62%),
		linear-gradient(160deg, #060c0a 0%, #04150f 52%, #050b09 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	-webkit-font-smoothing: antialiased;
}

/* 背景网格 */
body.login::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
	background-size: 58px 58px;
	-webkit-mask-image: radial-gradient(1200px 760px at 46% 42%, #000 0%, transparent 76%);
	mask-image: radial-gradient(1200px 760px at 46% 42%, #000 0%, transparent 76%);
}

/* ========== ② 两栏布局 ========== */
body.login #login,
body.login #login form,
body.login #login .lc-auth__brand {
	box-sizing: border-box;
}

body.login #login {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1088px;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 396px;
	column-gap: 84px;
	align-items: center;
}

/* 原生的 WP 标志 / 站点名标题由品牌面板代替 */
body.login #login h1.wp-login-logo { display: none; }

body.login #login .lc-auth__brand {
	grid-column: 1;
	grid-row: 1 / 100;
	align-self: center;
	min-width: 0;
}

body.login #login > *:not(.lc-auth__brand) {
	grid-column: 2;
}

/* ========== ③ 品牌面板 ========== */
body.login .lc-auth__brand { padding-right: 8px; }

body.login .lc-auth__logo {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	margin-bottom: 42px;
	text-decoration: none;
}

/* 品牌面板是深色底 —— logo 的「byte」跟随这里的 color 显白 */
body.login .lc-auth__logo { color: #fff; }

body.login .lc-auth__logo .lc-logo-svg {
	display: block;
	height: 44px;
	width: auto;
}

/* 颜色规则与 main.css 保持一致（登录页不加载 main.css） */
body.login .lc-logo-svg .lcb-mark { fill: var(--lc-logo-mark, #008654); }
body.login .lc-logo-svg .lcb-mark.lcb-s { stroke: var(--lc-logo-mark, #008654); }
body.login .lc-logo-svg .lcb-byte { fill: currentColor; }
body.login .lc-logo-svg .lcb-byte.lcb-s { stroke: currentColor; }

body.login .lc-auth__title {
	margin: 0 0 14px;
	font-size: 38px;
	line-height: 1.24;
	font-weight: 800;
	letter-spacing: -.4px;
	color: #fff;
}

body.login .lc-auth__desc {
	margin: 0 0 30px;
	max-width: 30em;
	font-size: 14.5px;
	line-height: 1.85;
	color: rgba(255, 255, 255, .58);
}

body.login .lc-auth__features {
	margin: 0 0 34px;
	padding: 0;
	list-style: none;
}

body.login .lc-auth__features li {
	position: relative;
	padding-left: 26px;
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .74);
}

body.login #login .lc-auth__features li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: .58em;
	width: 8px;
	height: 8px;
	border-radius: 2px;
	background: var(--lc-accent, #26d07c);
	transform: rotate(45deg);
}

/* 语言切换器（多语言站点才显示）：收进右栏、弱化 */
body.login .language-switcher {
	grid-column: 2;
	margin: 6px auto 0;
	padding: 0;
	text-align: center;
}

body.login .language-switcher label,
body.login .language-switcher .dashicons {
	display: none;
}

body.login .language-switcher select {
	height: 34px;
	padding: 0 8px;
	font-size: 13px;
	color: rgba(255, 255, 255, .7);
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 8px;
	box-shadow: none;
}

body.login .language-switcher .button {
	margin: 6px 0 0;
	padding: 0 14px;
	min-height: 32px;
	font-size: 12.5px;
	color: rgba(255, 255, 255, .7);
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 8px;
	box-shadow: none;
	text-shadow: none;
}

body.login .language-switcher .button:hover {
	color: var(--lc-accent, #26d07c);
	border-color: var(--lc-accent, #26d07c);
}

body.login .lc-auth__meta {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.9;
	letter-spacing: .6px;
	color: rgba(255, 255, 255, .3);
	border-left: 2px solid rgba(38, 208, 124, .38);
	padding-left: 14px;
}

/* ========== ④ 表单卡片 ========== */
body.login #login form {
	margin: 0;
	padding: 34px 32px 30px;
	background: #ffffff;
	border: 0;
	border-radius: 18px;
	box-shadow:
		0 34px 70px rgba(0, 0, 0, .46),
		0 0 0 1px rgba(255, 255, 255, .06);
	color: var(--lc-ink, #1c2321);
	font-size: 14px;
	overflow: hidden;
}

body.login #login form p { margin: 0 0 18px; }

body.login #login form label {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .2px;
	color: #48584f;
}

body.login #login input[type="text"],
body.login #login input[type="email"],
body.login #login input[type="password"],
body.login #login input[type="url"],
body.login #login input[type="number"] {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 13px 14px;
	font-size: 15px;
	line-height: 1.4;
	color: var(--lc-ink, #1c2321);
	background: #f6faf8;
	border: 1px solid #dde8e4;
	border-radius: 10px;
	box-shadow: none;
	outline: 0;
	transition: background .2s, border-color .2s, box-shadow .2s;
	-webkit-appearance: none;
	appearance: none;
}

body.login #login input[type="text"]:focus,
body.login #login input[type="email"]:focus,
body.login #login input[type="password"]:focus,
body.login #login input[type="url"]:focus {
	background: #fff;
	border-color: var(--lc-primary, #008755);
	box-shadow: 0 0 0 4px rgba(0, 135, 85, .13);
}

body.login #login input[type="checkbox"] {
	width: 17px;
	height: 17px;
	margin: 0 8px 0 0;
	background: #fff;
	border: 1px solid #cfdcd7;
	border-radius: 5px;
	box-shadow: none;
	vertical-align: -3px;
}

body.login #login input[type="checkbox"]:checked {
	background: var(--lc-primary, #008755);
	border-color: var(--lc-primary, #008755);
}

/* 显示密码按钮：排除出次要按钮规则，居中贴在输入框内右侧 */
body.login #login .wp-hide-pw {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	margin: 0;
	padding: 5px 9px;
	background: transparent;
	border: 1px solid transparent;
	border-radius: 8px;
	box-shadow: none;
	color: #8b9a94;
}

body.login #login .wp-hide-pw:hover,
body.login #login .wp-hide-pw:focus {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	color: var(--lc-primary, #008755);
}

/* 记住我 / 忘记密码 */
body.login #login .forgetmenot {
	float: none;
	margin: 0 0 22px;
	font-size: 13px;
	color: #6b7773;
}

body.login #login .forgetmenot label { display: inline; margin: 0; color: #6b7773; font-weight: 500; }

body.login #login #nav,
body.login #login p#nav,
body.login #login p#backtoblog {
	margin: 18px 0 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.9;
	text-align: center;
	color: rgba(255, 255, 255, .5);
}

body.login #login #nav a,
body.login #login p#backtoblog a {
	color: rgba(255, 255, 255, .68);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, .18);
	padding-bottom: 1px;
	transition: color .2s, border-color .2s;
}

body.login #login #nav a:hover,
body.login #login p#backtoblog a:hover {
	color: var(--lc-accent, #26d07c);
	border-bottom-color: var(--lc-accent, #26d07c);
}

/* 提交按钮 */
body.login #login .submit {
	margin: 0;
	padding: 0;
	float: none;
}

body.login #login .button.button-primary,
body.login #login input[type="submit"].button-primary {
	display: block;
	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 0 22px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .6px;
	color: #ffffff;
	background: linear-gradient(118deg, var(--lc-primary, #008755), var(--lc-accent, #26d07c));
	border: 0;
	border-radius: 10px;
	box-shadow: 0 14px 28px rgba(0, 135, 85, .26);
	text-shadow: none;
	transition: transform .18s, box-shadow .18s, filter .18s;
}

body.login #login .button.button-primary:hover,
body.login #login input[type="submit"].button-primary:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
	box-shadow: 0 18px 34px rgba(0, 135, 85, .32);
}

body.login #login .button.button-primary:active,
body.login #login input[type="submit"].button-primary:active {
	transform: translateY(0);
	filter: brightness(.98);
}

body.login #login .button.button-primary:focus {
	outline: 2px solid rgba(38, 208, 124, .55);
	outline-offset: 2px;
}

/* 次要按钮（不含显示密码眼睛按钮） */
body.login #login .button-secondary:not(.wp-hide-pw),
body.login #login .button:not(.button-primary):not(.wp-hide-pw) {
	color: var(--lc-primary, #008755);
	background: #f2f8f6;
	border: 1px solid #dde8e4;
	border-radius: 10px;
	box-shadow: none;
	text-shadow: none;
	min-height: 38px;
	padding: 0 16px;
}

body.login #login .button-secondary:not(.wp-hide-pw):hover,
body.login #login .button:not(.button-primary):not(.wp-hide-pw):hover {
	background: #e8f5f0;
	border-color: var(--lc-primary, #008755);
	color: var(--lc-primary-deep, #00583a);
}

/* ========== ⑤ 提示与错误 ========== */
body.login #login .notice,
body.login #login .message,
body.login #login #login_error,
body.login #login #login-message {
	margin: 0 0 18px;
	padding: 13px 16px;
	font-size: 13.5px;
	line-height: 1.75;
	color: #33413b;
	background: #fff;
	border: 0;
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .3);
}

body.login #login #login_error,
body.login #login .notice-error {
	background: #fff5f5;
	border-left: 4px solid #d63638;
	color: #7a2222;
}

body.login #login .notice-info,
body.login #login .message,
body.login #login #login-message,
body.login #login .notice-success {
	background: #f1faf6;
	border-left: 4px solid var(--lc-primary, #008755);
	color: #22513f;
}

body.login #login .notice p { margin: 0; font-size: inherit; }
body.login #login .notice a { color: var(--lc-primary, #008755); font-weight: 600; }

body.login #login .notice-error a { color: #b32d2d; }
body.login #login .login-error-list { margin: 0; padding-left: 18px; list-style: disc; }

/* 注册页的说明 */
body.login #login p#reg_passmail {
	margin: -4px 0 20px;
	font-size: 12.5px;
	line-height: 1.8;
	color: #8b9a94;
}

/* 密码强度 */
body.login #login #pass-strength-result,
body.login #login .pw-weak,
body.login #login .indicator-hint {
	border-radius: 8px;
	font-size: 12.5px;
}

body.login #login #pass-strength-result {
	margin: 8px 0 0;
	padding: 8px 10px;
	font-weight: 600;
	background: #f6faf8;
	border: 1px solid #dde8e4;
	color: #6b7773;
}

body.login #login #pass-strength-result.short,
body.login #login #pass-strength-result.bad {
	background: #fff5f5;
	border-color: #f0b8b8;
	color: #b32d2d;
}

body.login #login #pass-strength-result.good {
	background: #fff9ec;
	border-color: #f0dcae;
	color: #8a6100;
}

body.login #login #pass-strength-result.strong {
	background: #f1faf6;
	border-color: #a9dcc5;
	color: var(--lc-primary-deep, #00583a);
}

body.login #login .description.indicator-hint {
	margin: 10px 0 18px;
	font-size: 12.5px;
	line-height: 1.8;
	color: #8b9a94;
}

body.login #login .pw-checkbox { margin-bottom: 14px; }

/* 自动生成的密码框 */
body.login #login .wp-generate-password-wrap input[type="text"] {
	font-size: 13px;
	letter-spacing: .5px;
}

/* ========== ⑥ 页脚 ========== */
body.login .lc-auth__legal {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1088px;
	margin: 34px auto 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	justify-content: center;
	font-size: 12px;
	letter-spacing: .5px;
	color: rgba(255, 255, 255, .3);
}

body.login .lc-auth__legal a { color: rgba(255, 255, 255, .5); }

/* ========== ⑦ 响应式 ========== */
@media (max-width: 960px) {
	body.login { padding: 40px 20px; align-items: flex-start; }

	body.login #login {
		max-width: 430px;
		grid-template-columns: minmax(0, 1fr);
		row-gap: 30px;
	}

	body.login #login .lc-auth__brand {
		grid-column: 1;
		grid-row: auto;
		padding: 0;
		text-align: center;
	}

	body.login #login > *:not(.lc-auth__brand) { grid-column: 1; }

body.login .language-switcher { grid-column: 1; }

	body.login .lc-auth__logo { justify-content: center; margin-bottom: 24px; }
	body.login .lc-auth__logo .lc-logo-svg { height: 34px; }
	body.login .lc-auth__title { font-size: 26px; }
	body.login .lc-auth__desc { font-size: 13.5px; margin-bottom: 0; }
	body.login .lc-auth__features,
	body.login .lc-auth__meta { display: none; }
}

@media (max-width: 420px) {
	body.login #login form { padding: 26px 22px 24px; border-radius: 14px; }
	body.login .lc-auth__logo .lc-logo-svg { height: 30px; }
	body.login .lc-auth__title { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
	body.login #login form,
	body.login #login .button.button-primary,
	body.login #login input[type="text"],
	body.login #login input[type="password"],
	body.login #login input[type="email"] { transition: none; }
}
