/* The existing night palette and self-hosted typography carry through to access. */
.nav.wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); column-gap: 20px; align-items: center; }
.nav > .wordmark { justify-self: start; }
.nav > nav { justify-self: center; justify-content: center; }
.nav-actions { display: flex; align-items: center; gap: 12px; justify-self: end; }
.nav .nav-login { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 18px; border: 1px solid var(--night-line); border-radius: 999px; font: 600 .875rem/1.4 var(--sans); white-space: nowrap; }
.nav .nav-login:hover, .nav .nav-login[aria-current="page"] { color: var(--night-accent); border-color: var(--night-accent); }
.login-page { min-height: 100svh; display: flex; flex-direction: column; }
.login-page main { flex: 1; }
.login-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 450px); gap: clamp(40px, 8vw, 120px); align-items: center; padding-block: clamp(64px, 10vw, 140px); }
.login-intro h1 { max-width: 560px; margin: 23px 0; font: 500 clamp(3.1rem, 5.8vw, 5rem)/1.05 var(--serif); letter-spacing: -.045em; }
.login-intro h1 em { color: var(--night-accent); font: inherit; }
.login-intro p { max-width: 400px; color: var(--night-muted); line-height: 1.75; }
.login-caption { display: flex; align-items: center; gap: 12px; margin-top: 32px; font: 400 .72rem/1.6 var(--mono); color: var(--night-teal); }
.login-caption svg { flex-shrink: 0; }
.dark-site .workspace-form { margin: 0; padding: 36px; gap: 16px; border: 1px solid var(--night-line); border-top-color: #ab546d; border-radius: 8px; background: var(--night-raised); box-shadow: none; }
.workspace-form h2 { margin: 0; font: 600 1.2rem/1.4 var(--sans); letter-spacing: -.025em; }
.workspace-form .workspace-help { margin: 0 0 6px; color: var(--night-muted); font-size: .875rem; line-height: 1.65; }
.workspace-form label { color: var(--night-text); }
.workspace-form input { background: var(--night); border: 1px solid #795462; color: var(--night-text); min-height: 50px; font-size: 1rem; }
.workspace-form input::placeholder { color: var(--night-muted); opacity: .75; }
.workspace-form input[aria-invalid="true"] { border-color: #ffb4c7; }
.workspace-form input:focus { outline: 2px solid var(--night-teal); outline-offset: 3px; border-color: var(--night-teal); }
.workspace-form .button { width: 100%; min-height: 50px; margin-top: 6px; }
.workspace-form .button:disabled { opacity: .65; cursor: wait; transform: none; }
.workspace-message { color: #ffb4c7; margin: 0; font-size: .875rem; line-height: 1.6; }
.workspace-message:empty { display: none; }
.workspace-message:focus { outline: 2px solid var(--night-teal); outline-offset: 4px; }
.workspace-request { padding-top: 20px; margin: 4px 0 0; border-top: 1px solid var(--night-line); color: var(--night-muted); font-size: .875rem; line-height: 1.8; }
.workspace-request a { display: inline-block; min-height: 44px; padding-top: 8px; color: var(--night-text); text-underline-offset: 4px; }
.workspace-no-js { margin: 0; color: var(--night-accent); font-size: .875rem; }
@media (min-width: 761px) and (max-width: 1040px) and (pointer: fine) {
  .nav .wordmark { font-size: 1.05rem; }
  .nav nav { gap: 15px; font-size: .8rem; }
  .nav-actions { gap: 7px; }
  .nav .nav-login, .nav .nav-cta { padding-inline: 12px; font-size: .8rem; }
}
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse) {
  .nav.wrap { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 0 8px; padding-bottom: 10px; }
  .nav .wordmark { grid-column: 2; grid-row: 1; justify-self: center; }
  .nav-toggle { grid-column: 3; grid-row: 1; justify-self: end; }
  .nav-actions { grid-column: 1 / -1; grid-row: 2; gap: 10px; padding-top: 4px; justify-self: stretch; justify-content: center; }
  .nav-actions > a { flex: 1; }
  .nav nav { grid-row: 3; flex-wrap: wrap; justify-self: stretch; text-align: center; }
  .nav nav a { justify-content: center; }
  .nav .nav-login { font-size: .8rem; }
  .login-layout { grid-template-columns: 1fr; gap: 30px; padding-block: 44px 56px; max-width: 540px; }
  .login-intro h1 { font-size: clamp(2.65rem, 9.6vw, 4rem); margin-block: 16px; }
  .login-intro p { margin-bottom: 0; font-size: .9375rem; }
  .login-caption { margin-top: 20px; }
  .dark-site .workspace-form { padding: 24px; }
  html { scroll-padding-top: calc(132px + env(safe-area-inset-top)); }
}
@media (prefers-reduced-motion: reduce) {
  .nav .nav-login, .workspace-form .button { transition: none; }
}

.local-preview-note{font-size:12px;line-height:1.7;color:#d4bac4;padding:12px 14px;border:1px solid #654451;background:#27131e;border-radius:7px;margin:0 0 8px}
