/*
 * The sign-in card.
 *
 * Same tokens as the report, for the same reason: somebody arriving here has
 * just read the report, and a door styled unlike the room behind it reads as a
 * different site. Every value is `var(--cf-*, literal)` - the theme first, a
 * literal behind it so the card is still correct anywhere the theme is not
 * loaded.
 */

.bbod-login {
	--bbodl-bg: var(--cf-black, #05070A);
	--bbodl-card: var(--cf-panel, #10161E);
	--bbodl-line: var(--cf-line-strong, rgba(200, 216, 235, .24));
	--bbodl-line-soft: var(--cf-line, rgba(200, 216, 235, .13));
	--bbodl-text: var(--cf-white, #F5F7FA);
	--bbodl-sub: var(--cf-silver, #B7C0CC);
	--bbodl-accent: var(--cf-cyan, #74E6FF);
	--bbodl-alert: var(--cf-red, #FF6B75);

	display: flex;
	justify-content: center;
	padding: clamp(1.5rem, 5vw, 4rem) 1rem;
	font-family: var(--cf-body, Inter), Inter, ui-sans-serif, -apple-system, 'Segoe UI', sans-serif;
	color: var(--bbodl-text);
}

.bbod-login-card {
	width: 100%;
	max-width: 26rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--bbodl-line);
	border-radius: 16px;
	background:
		radial-gradient(120% 140% at 100% 0%, rgba(116, 230, 255, .10), transparent 60%),
		var(--bbodl-card);
}

.bbod-login-eyebrow {
	margin: 0 0 .4rem;
	font-family: var(--cf-mono, 'IBM Plex Mono'), 'IBM Plex Mono', ui-monospace, monospace;
	text-transform: uppercase;
	letter-spacing: .16em;
	font-size: .66rem;
	color: var(--bbodl-accent);
}

.bbod-login-title {
	margin: 0 0 1.1rem;
	font-family: var(--cf-display, 'Space Grotesk'), 'Space Grotesk', Inter, sans-serif;
	font-weight: 700;
	letter-spacing: -.02em;
	font-size: clamp(1.3rem, 3vw, 1.7rem);
	line-height: 1.2;
}

/*
 * wp_login_form() emits its own markup and class names. Styling those rather
 * than rebuilding the form keeps WordPress's own handling - the nonce, the
 * remember cookie, the redirect allow-list - instead of reimplementing three
 * things that are easy to get subtly wrong.
 */
.bbod-login-card .login-username,
.bbod-login-card .login-password { margin: 0 0 .85rem; }

.bbod-login-card label {
	display: block;
	margin-bottom: .3rem;
	font-size: .78rem;
	color: var(--bbodl-sub);
}

.bbod-login-card input[type="text"],
.bbod-login-card input[type="password"] {
	width: 100%;
	box-sizing: border-box;
	padding: .6rem .75rem;
	border: 1px solid var(--bbodl-line);
	border-radius: 10px;
	background: var(--cf-black, #05070A);
	color: var(--bbodl-text);
	font: inherit;
	font-size: .95rem;
}

.bbod-login-card input[type="text"]:focus,
.bbod-login-card input[type="password"]:focus {
	outline: 2px solid var(--bbodl-accent);
	outline-offset: 1px;
	border-color: var(--bbodl-accent);
}

.bbod-login-card .login-remember {
	margin: 0 0 1rem;
	font-size: .8rem;
	color: var(--bbodl-sub);
}

.bbod-login-card .login-remember label { display: inline; margin: 0; }

.bbod-login-card .login-submit input[type="submit"] {
	width: 100%;
	padding: .65rem 1rem;
	border: 0;
	border-radius: 10px;
	background: var(--bbodl-accent);
	color: var(--cf-black, #05070A);
	font: inherit;
	font-weight: 700;
	font-size: .95rem;
	cursor: pointer;
}

.bbod-login-card .login-submit input[type="submit"]:hover { filter: brightness(1.08); }

.bbod-login-error {
	margin: 0 0 1rem;
	padding: .6rem .8rem;
	border-left: 3px solid var(--bbodl-alert);
	border-radius: 4px;
	background: rgba(255, 107, 117, .10);
	font-size: .88rem;
}

.bbod-login-links { margin: 1rem 0 0; font-size: .85rem; }
.bbod-login-links a { color: var(--bbodl-accent); }

.bbod-login-note {
	margin: 1rem 0 0;
	padding-top: .9rem;
	border-top: 1px solid var(--bbodl-line-soft);
	font-size: .78rem;
	color: var(--bbodl-sub);
}
