/* Hidden Locations — authentication (full-screen split: form left, visual right). */

/* ---------- Split shell ---------- */
.hl-auth--split {
	position: fixed; inset: 0; z-index: 100000;
	display: grid; grid-template-columns: minmax(440px, 0.95fr) 1.15fr;
	background: var(--hl-color-bg);
}
.admin-bar .hl-auth--split { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .hl-auth--split { top: 46px; } }

/* Left form panel */
.hl-auth__panel {
	display: flex; align-items: center; justify-content: center;
	background: var(--hl-color-bg);
	padding: 48px 56px; overflow-y: auto;
	border-right: 1px solid var(--hl-color-border);
}
.hl-auth__panel-inner { width: 100%; max-width: 380px; }
.hl-auth__form--wide { max-width: 100%; }
.hl-auth__brand {
	font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
	font-size: 13px; color: var(--hl-color-text); margin-bottom: 32px;
}
.hl-auth__brand::before {
	content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%;
	background: var(--hl-color-accent); margin-right: 10px; vertical-align: middle;
	box-shadow: 0 0 12px var(--hl-color-accent);
}

/* Form (transparent on the dark panel — not a card here) */
.hl-auth__form { background: transparent; border: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; width: 100%; }
.hl-auth h1 { margin: 0 0 4px; font-size: 28px; font-weight: 700; }
.hl-auth label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--hl-color-text-secondary); }
.hl-auth .hl-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 560px) { .hl-auth .hl-form__grid { grid-template-columns: 1fr; } }
.hl-checkline { flex-direction: row !important; align-items: center; gap: 8px; color: var(--hl-color-text); font-weight: 400; }
.hl-checkline input { width: auto; min-height: auto; }
.hl-auth__links { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-size: 13px; margin-top: 4px; }
.hl-auth__links a { color: var(--hl-color-text-muted); text-decoration: none; }
.hl-auth__links a:hover { color: var(--hl-color-accent); }
.hl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Right cinematic visual ---------- */
.hl-auth__visual { position: relative; overflow: hidden; background: #000; }
.hl-auth__media {
	position: absolute; inset: -4%;
	background-image:
		radial-gradient(120% 90% at 70% 20%, rgba(255,0,100,.18), transparent 55%),
		linear-gradient(135deg, #141016 0%, #0a0a0c 55%, #05060a 100%);
	background-size: cover; background-position: center;
	animation: hl-kenburns 24s ease-in-out infinite alternate;
}
.hl-auth__visual.has-image .hl-auth__media {
	background-image: var(--hl-auth-img);
	background-size: cover; background-position: center;
	filter: saturate(1.05) contrast(1.05);
}
.hl-auth__scrim {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,.8) 100%);
}
/* Film grain */
.hl-auth__grain {
	position: absolute; inset: -50%; opacity: .07; pointer-events: none; mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	animation: hl-grain .5s steps(5) infinite;
}
/* Scanline */
.hl-auth__scan {
	position: absolute; left: 0; right: 0; height: 28%;
	background: linear-gradient(180deg, transparent, rgba(255,255,255,.05) 50%, transparent);
	animation: hl-scan 6s linear infinite;
}
/* Viewfinder frame */
.hl-auth__frame { position: absolute; inset: 28px; pointer-events: none; }
.hl-auth__corner { position: absolute; width: 26px; height: 26px; border: 2px solid rgba(247,247,244,.7); }
.hl-auth__corner--tl { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.hl-auth__corner--tr { top: 0; right: 0; border-left: 0; border-bottom: 0; }
.hl-auth__corner--bl { bottom: 0; left: 0; border-right: 0; border-top: 0; }
.hl-auth__corner--br { bottom: 0; right: 0; border-left: 0; border-top: 0; }
/* REC indicator */
.hl-auth__rec {
	position: absolute; top: 40px; left: 44px;
	font-size: 12px; font-weight: 600; letter-spacing: .18em; color: #fff;
	display: flex; align-items: center; gap: 8px;
}
.hl-auth__rec-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--hl-color-accent); animation: hl-recblink 1.4s steps(1) infinite; box-shadow: 0 0 10px var(--hl-color-accent); }
/* Timecode */
.hl-auth__timecode {
	position: absolute; bottom: 40px; left: 44px;
	font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; font-size: 13px;
	letter-spacing: .1em; color: rgba(247,247,244,.85);
	background: rgba(0,0,0,.35); padding: 4px 10px; border-radius: var(--hl-radius-sm);
}
/* Editorial caption */
.hl-auth__caption { position: absolute; right: 48px; bottom: 44px; left: 44px; text-align: left; }
.hl-auth__caption-title { display: block; font-family: var(--hl-font-editorial); font-size: clamp(34px, 4vw, 56px); font-weight: 600; line-height: 1.04; color: #fff; }
.hl-auth__caption-sub { display: block; margin-top: 8px; font-size: 14px; color: rgba(247,247,244,.72); max-width: 460px; }

/* ---------- Animations ---------- */
@keyframes hl-kenburns { 0% { transform: scale(1) translate(0,0); } 100% { transform: scale(1.08) translate(-1.5%, -1%); } }
@keyframes hl-grain { 0% { transform: translate(0,0); } 100% { transform: translate(-6%, 4%); } }
@keyframes hl-scan { 0% { top: -28%; } 100% { top: 100%; } }
@keyframes hl-recblink { 0%, 50% { opacity: 1; } 51%, 100% { opacity: .15; } }

/* ---------- Responsive: stack, visual as a top band ---------- */
@media (max-width: 900px) {
	.hl-auth--split { grid-template-columns: 1fr; grid-template-rows: 30vh 1fr; }
	.hl-auth__panel { border-right: 0; border-top: 1px solid var(--hl-color-border); padding: 32px 22px; }
	.hl-auth__caption-title { font-size: 28px; }
	.hl-auth__caption, .hl-auth__timecode, .hl-auth__rec { left: 22px; }
}
@media (max-width: 560px) {
	.hl-auth--split { grid-template-rows: 22vh 1fr; }
	.hl-auth__caption-sub { display: none; }
}

/* Reduced motion: freeze the cinematic effects */
@media (prefers-reduced-motion: reduce) {
	.hl-auth__media, .hl-auth__grain, .hl-auth__scan, .hl-auth__rec-dot { animation: none; }
	.hl-auth__scan { display: none; }
}
