/* Login-only visual layer. */
body.admin-auth-page { --accent: #d6fa85; --ink: #17211e; background: #101b18; overflow-x: hidden; overflow-y: auto; }
body.admin-auth-page[data-palette="lavender"] { --accent: #cfbdff; }
body.admin-auth-page[data-palette="peach"] { --accent: #ffbd97; }
body.admin-auth-page .admin-auth-shell { grid-template-columns: 1.12fr 1fr; min-height: 100svh; }
body.admin-auth-page .admin-auth-brand,
body.admin-auth-page[data-time-of-day="night"] .admin-auth-brand { background: radial-gradient(ellipse at 40% 55%, #2c4235 0%, #14251e 45%, #101b18 85%); padding: 38px clamp(28px, 5vw, 80px); gap: 24px; overflow: hidden; }
body.admin-auth-page .admin-auth-brand::before { inset: 0; width: 100%; height: 100%; border: 0; border-radius: 0; opacity: .18; background-image: radial-gradient(#b6c2b3 1px, transparent 1px); background-size: 24px 24px; pointer-events: none; }
body.admin-auth-page .admin-auth-brand::after { display: none; }
body.admin-auth-page .admin-auth-logo { width: 185px; padding: 10px 15px; background: #fff; border-radius: 9px; }
.community-intro { position: relative; z-index: 1; margin-top: 24px; }
.community-eyebrow { font-size: 10px; letter-spacing: .2em; color: var(--accent); font-weight: 700; }
.community-intro h2 { font-size: clamp(38px, 4.5vw, 68px); line-height: 1.07; letter-spacing: -.055em; font-weight: 500; color: #f6f7ef; margin: 18px 0; }
.community-intro h2 em { color: var(--accent); font-family: Georgia, serif; font-weight: 400; }
body.admin-auth-page .community-intro > p:last-child { color: #b6c6ba; font-size: 14px; line-height: 1.8; }
.community-universe { position: relative; width: min(100%, 380px); height: 290px; align-self: center; display: grid; place-items: center; }
.universe-ring { position: absolute; width: 250px; height: 250px; border: 1px solid #789b6f55; border-radius: 50%; animation: universe-turn 35s linear infinite; }
.universe-ring::before { content: ""; position: absolute; left: 50%; top: -4px; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 22px var(--accent); }
.ring-b { width: 180px; height: 180px; transform: rotateX(55deg) rotate(-30deg); animation-direction: reverse; border-style: dashed; }
.universe-axis { position: absolute; height: 1px; width: 95%; background: #789b6f44; transform: rotate(-25deg); }
.universe-center { width: 105px; height: 105px; display: grid; place-content: center; border-radius: 30px; background: var(--accent); color: #17211e; font-size: 78px; font-family: Georgia, serif; box-shadow: 0 0 90px #d6fa851a, inset 0 0 20px #ffffff66; transform: rotate(-10deg); }
.universe-center span { position: absolute; top: 2px; right: 12px; font: 28px sans-serif; }
.universe-dot { position: absolute; width: 44px; height: 44px; display: grid; place-items: center; background: #2a3a30; border: 1px solid #75946c66; border-radius: 14px; color: var(--accent); font-size: 24px; animation: universe-float 5s ease-in-out infinite alternate; }
.dot-a { left: 35px; top: 42px; transform: rotate(-12deg); }.dot-b { right: 28px; top: 75px; animation-delay: -2s; }.dot-c { bottom: 30px; left: 88px; animation-delay: -3s; }
.universe-label { position: absolute; color: #dbe5d5; background: #213529e8; border: 1px solid #65865966; padding: 9px 14px; border-radius: 30px; font-size: 11px; box-shadow: 0 8px 25px #0002; }
.label-a { left: -8px; top: 130px; }.label-b { right: -10px; bottom: 55px; }
.universe-coordinate { position: absolute; bottom: -8px; color: #8ca68f; font-size: 9px; letter-spacing: .15em; }
.login-personalize { display: flex; align-items: center; gap: 9px; z-index: 1; margin-top: 15px; }
.login-personalize > span { font-size: 11px; color: #b6c6ba; margin-right: 9px; }
.login-personalize [data-theme] { width: 21px; height: 21px; border-radius: 50%; border: 3px solid #14251e; background: #d6fa85; cursor: pointer; }
.login-personalize [data-theme="lavender"] { background: #cfbdff; }.login-personalize [data-theme="peach"] { background: #ffbd97; }
.login-personalize [aria-pressed="true"][data-theme] { outline: 1px solid #fff; }
#motion-toggle { margin-left: auto; border: 1px solid #607965; border-radius: 20px; padding: 7px 10px; color: #c3d5c4; background: transparent; font-size: 10px; cursor: pointer; }
body.admin-auth-page .admin-auth-live { display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline; position: static; }
.admin-auth-live p { display: none; }.admin-auth-live time { font-size: 13px; letter-spacing: 0; }.admin-auth-live > span { font-size: 11px; }
body.admin-auth-page .admin-auth-security-note { font-size: 11px; margin: 0; color: #b5c4b5; }
body.admin-auth-page .admin-auth-panel { background: #f7f8f2; padding: 45px clamp(28px, 5vw, 80px); }
body.admin-auth-page .admin-auth-card { max-width: 420px; width: 100%; }
.admin-auth-card-topline { margin-bottom: 70px; }
body.admin-auth-page .admin-auth-kicker { color: #5d715b; font-size: 10px; }
body.admin-auth-page .admin-auth-card h1 { font-size: clamp(40px, 4vw, 58px); line-height: 1.08; letter-spacing: -.055em; color: var(--ink); font-weight: 500; }
body.admin-auth-page .admin-auth-card h1 span { color: #658a42; }
body.admin-auth-page .admin-auth-card header > p:last-child { font-size: 14px; color: #69736a; line-height: 1.7; margin-top: 18px; }
body.admin-auth-page .admin-form-field input { border-radius: 12px; border: 1px solid #d9dfd2; background: #fff; min-height: 56px; }
body.admin-auth-page .admin-form-field input:focus { border-color: #72904e; box-shadow: 0 0 0 4px #72904e18; }
body.admin-auth-page .admin-form-field label { color: #344a39; }
body.admin-auth-page .admin-primary-button { background: var(--ink); color: var(--accent); border-radius: 12px; box-shadow: 0 8px 20px #17211e15; min-height: 56px; }
body.admin-auth-page .admin-primary-button:hover:not(:disabled) { background: #304a37; box-shadow: 0 12px 24px #17211e25; transform: translateY(-2px); }
body.admin-auth-page .admin-reset-button { color: #4b6648; }.admin-auth-footnote { color: #6f7b6b; }
body.admin-auth-page button:focus-visible, body.admin-auth-page a:focus-visible { outline: 3px solid #7ba853; outline-offset: 4px; }
body.admin-auth-page .admin-login-ambient { display: none; }
body.motion-paused .community-universe *, body.motion-paused .community-universe *::before, body.motion-paused .admin-security-pulse::after { animation-play-state: paused !important; }
@keyframes universe-turn { to { rotate: 360deg; } }
@keyframes universe-float { to { translate: 0 -13px; } }
@media (max-width: 980px) {
 body.admin-auth-page .admin-auth-shell { grid-template-columns: 1fr 1fr; }
 body.admin-auth-page .admin-auth-brand { min-height: 100svh; }
 .community-universe { scale: .85; }.community-intro h2 { font-size: 42px; }
 .login-personalize { flex-wrap: wrap; } #motion-toggle { margin-left: 0; }
}
@media (max-width: 700px) {
 body.admin-auth-page .admin-auth-shell { grid-template-columns: 1fr; }
 body.admin-auth-page .admin-auth-brand { min-height: auto; padding: 28px; gap: 18px; }
 .community-intro { margin-top: 4px; }.community-intro h2 { font-size: 43px; }
 .community-universe { display: none; }body.admin-auth-page .community-intro > p:last-child { margin-bottom: 0; }
 body.admin-auth-page .admin-auth-live, body.admin-auth-page .admin-auth-security-note { display: none; }
 .login-personalize { margin: 0; } #motion-toggle { margin-left: auto; }
 body.admin-auth-page .admin-auth-panel { min-height: auto; padding: 34px 28px 45px; }
 .admin-auth-card-topline { margin-bottom: 38px; }
 body.admin-auth-page .admin-auth-card h1 { font-size: 44px; }
 .admin-verified-label { display: inline-flex; }
}
@media (prefers-reduced-motion: reduce) { .admin-auth-page *, .admin-auth-page *::before, .admin-auth-page *::after { animation: none !important; transition: none !important; } }
