/* v19 unified account entrance: restrained coffee, gold and midnight luxury. */
.site-login-page { min-height: 100vh; background: var(--surface-0); }
.site-login-shell { min-height: 100vh; display: flex; flex-direction: column; }
.site-login-topbar { position: relative; z-index: 2; padding: 23px clamp(24px, 5vw, 70px); border-bottom: 1px solid var(--line); }
.site-login-topbar-meta { display: flex; align-items: center; gap: 24px; color: var(--muted); font-size: 9px; letter-spacing: .16em; }
.site-login-topbar-meta a { color: var(--gold-hi); }
.site-login-main { flex: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); min-height: 720px; }
.site-login-atmosphere { position: relative; display: flex; align-items: center; overflow: hidden; padding: clamp(50px, 8vw, 120px); background: radial-gradient(circle at 55% 44%, rgba(194,148,83,.18), transparent 16%), radial-gradient(circle at 65% 56%, rgba(29,54,72,.35), transparent 45%), #17100d; }
.site-login-atmosphere::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(233,197,143,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(233,197,143,.16) 1px, transparent 1px); background-size: 74px 74px; mask-image: radial-gradient(circle at center, #000, transparent 72%); }
.login-atmosphere-copy { position: relative; z-index: 1; max-width: 580px; }
.login-atmosphere-copy .section-label, .login-atmosphere-copy h1, .login-atmosphere-copy p, .login-atmosphere-points { animation: login-rise .8s both; }
.login-atmosphere-copy h1 { margin-top: 22px; color: #f5e8d4; font-family: var(--font-display); font-size: clamp(48px, 7vw, 96px); font-weight: 400; line-height: 1.03; letter-spacing: -.03em; }
.login-atmosphere-copy p { max-width: 475px; margin-top: 26px; color: rgba(245,232,212,.7); font-size: 14px; line-height: 2; animation-delay: .12s; }
.login-atmosphere-points { display: flex; flex-wrap: wrap; gap: 10px 25px; margin-top: 38px; color: rgba(233,197,143,.86); font-size: 10px; letter-spacing: .12em; animation-delay: .2s; }
.login-atmosphere-points span::before { content: "✦"; margin-right: 8px; color: var(--gold-hi); }
.login-atmosphere-footer { position: absolute; right: clamp(24px, 5vw, 70px); bottom: 30px; left: clamp(24px, 5vw, 70px); display: flex; justify-content: space-between; color: rgba(245,232,212,.38); font-size: 9px; letter-spacing: .16em; }
.login-orbit { position: absolute; border: 1px solid rgba(224,177,106,.24); border-radius: 50%; transform: rotate(-22deg); pointer-events: none; }
.login-orbit-a { width: 470px; height: 210px; right: 4%; top: 25%; }
.login-orbit-b { width: 560px; height: 270px; right: -5%; top: 21%; transform: rotate(28deg); }
.login-orbit-c { width: 18px; height: 18px; right: 24%; top: 34%; background: var(--gold-hi); border: 0; box-shadow: 0 0 30px rgba(224,177,106,.72); }
.site-login-card { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px, 7vw, 96px); background: var(--surface-1); }
.site-login-card-head h2 { margin-top: 17px; color: var(--ink); font-family: var(--font-display); font-size: clamp(35px, 4vw, 58px); font-weight: 400; line-height: 1.05; }
.site-login-card-head p { margin-top: 14px; color: var(--muted); font-size: 13px; }
.login-mode-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 38px; padding-bottom: 7px; border-bottom: 1px solid var(--line); }
.login-mode { display: grid; gap: 4px; padding: 13px 15px; color: var(--muted); text-align: left; background: transparent; border: 1px solid transparent; cursor: pointer; }
.login-mode span { color: inherit; font-size: 13px; }
.login-mode small { color: inherit; font-size: 9px; letter-spacing: .1em; }
.login-mode.is-active { color: var(--gold-hi); background: rgba(196,157,101,.08); border-color: rgba(196,157,101,.33); }
.site-login-form { display: grid; gap: 18px; margin-top: 26px; }
.site-login-form label:not(.login-remember) { display: grid; gap: 8px; }
.site-login-form label > span { color: var(--muted); font-size: 10px; letter-spacing: .12em; }
.site-login-form input[type="text"], .site-login-form input[type="password"] { width: 100%; box-sizing: border-box; padding: 14px 13px; color: var(--ink); background: transparent; border: 1px solid var(--line); outline: none; font: inherit; }
.site-login-form input[type="text"]:focus, .site-login-form input[type="password"]:focus { border-color: var(--gold-hi); box-shadow: 0 0 0 2px rgba(207,163,100,.12); }
.login-form-options { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: 10px; }
.login-form-options a { color: var(--gold-hi); }
.login-remember { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.login-remember input { accent-color: var(--gold-hi); }
.login-submit { justify-content: center; width: 100%; margin-top: 3px; }
.login-submit i { margin-left: 9px; font-style: normal; }
.login-result { padding: 14px 16px; background: rgba(196,157,101,.1); border-left: 2px solid var(--gold-hi); }
.login-result strong, .login-result span { display: block; }
.login-result strong { color: var(--gold-hi); font-size: 12px; }
.login-result span { margin-top: 5px; color: var(--muted); font-size: 10px; }
.login-card-footer { display: grid; grid-template-columns: auto auto; gap: 7px; align-items: baseline; margin-top: 30px; color: var(--muted); font-size: 11px; }
.login-card-footer a { color: var(--gold-hi); }
.login-card-footer small { grid-column: 1 / -1; margin-top: 10px; color: var(--muted); font-size: 9px; line-height: 1.7; }
.site-login-footer { margin-top: auto; }
@keyframes login-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
html[data-theme="light"] .site-login-atmosphere { background: radial-gradient(circle at 55% 44%, rgba(194,148,83,.25), transparent 16%), #33251e; }
@media (max-width: 900px) {
  .site-login-main { grid-template-columns: 1fr; }
  .site-login-atmosphere { min-height: 490px; padding: 60px 25px; }
  .site-login-card { padding: 48px 25px 65px; }
  .login-atmosphere-footer { left: 25px; right: 25px; }
}
@media (max-width: 520px) {
  .site-login-topbar { padding: 18px 20px; }
  .site-login-topbar-meta span { display: none; }
  .site-login-topbar-meta { gap: 0; }
  .login-atmosphere-copy h1 { font-size: 54px; }
  .login-atmosphere-footer { display: none; }
}

/* v20 registration and authenticated-session states. */
.login-confirm-field[hidden], .login-form-options a[hidden] { display: none; }
.login-session { display: grid; gap: 6px; margin-top: 22px; padding: 15px 16px; border: 1px solid rgba(196,157,101,.34); background: rgba(196,157,101,.08); }
.login-session strong { color: var(--gold-hi); font-size: 12px; }
.login-session span { color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.login-session button { justify-self: start; margin-top: 5px; padding: 7px 11px; color: var(--gold-hi); background: transparent; border: 1px solid rgba(196,157,101,.42); font: inherit; font-size: 10px; cursor: pointer; }
.login-session button:hover { color: var(--ink); border-color: var(--gold-hi); }
.login-submit:disabled, .login-session button:disabled { cursor: wait; opacity: .62; }
.login-result.is-error { border-left-color: #ba765d; background: rgba(186,118,93,.11); }
.login-result.is-error strong { color: #c9886b; }
