/* ── Sign-in, register and the other account pages (auth-split) ──
   The landing page's language on the account pages: a confident heading and roomy fields on the left, the example run
   in a window frame on a faint grid on the right. Loaded after theme.css and landing.css, whose .lp-window it reuses. */

.auth-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); min-height: calc(100vh - 48px); }
.auth-split .auth-main { align-items: center; padding: 56px 40px; }
.auth-split .auth-form { max-width: 400px; }

/* Sign in / create account, one switch on both pages */
.auth-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin: 0 0 36px; border: 1px solid var(--line);
  border-radius: 12px; background: var(--surface-2); }
.auth-switch a { display: flex; align-items: center; justify-content: center; height: 34px; border-radius: 9px; font-size: 13.5px; font-weight: 600;
  color: var(--text-2); text-decoration: none; transition: background-color .15s ease, color .15s ease; }
.auth-switch a:hover { color: var(--text); }
.auth-switch a[aria-current="page"] { background: var(--surface); color: var(--text); box-shadow: var(--shadow-1); }
.auth-switch a:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }

.auth-split .auth-form h1 { font-size: 36px; font-weight: 720; letter-spacing: -0.04em; line-height: 1.08; margin: 0 0 10px; }
.auth-split .auth-form .lede { font-size: 15px; line-height: 1.55; color: var(--text-2); margin: 0 0 28px; }
.auth-split .form-stack { gap: 16px; }
.auth-split .auth-form .input { height: 44px; padding: 0 13px; border-radius: 10px; font-size: 14.5px; }
.auth-split .auth-form .field > label, .auth-split .field-top label { font-size: 13px; font-weight: 550; color: var(--text); }
.field-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.field-top a { font-size: 12.5px; }
.auth-split .field .hint { font-size: 12.5px; line-height: 1.45; }
.auth-split .auth-form .btn-lg { height: 46px; border-radius: 10px; font-size: 15px; font-weight: 600; }
.auth-split .auth-form .btn:not(.btn-primary) { height: 44px; border-radius: 10px; }
.auth-or { display: flex; align-items: center; gap: 12px; margin: 2px 0; font-family: var(--mono-font); font-size: 11px; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--text-3); }
.auth-or::before, .auth-or::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.auth-split .auth-form .foot { margin-top: 28px; padding-top: 18px; gap: 8px; font-size: 13px; color: var(--text-2); }
.auth-split .auth-form .foot .muted { color: var(--text-3); }

/* The other half: what Pathista is, and the example run */
.auth-split .auth-aside { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: center; gap: 32px;
  padding: 56px clamp(32px, 5vw, 72px); background: var(--surface-2); border-left: 1px solid var(--line); }
.auth-split .auth-aside::before { content: ''; position: absolute; inset: 0; z-index: -1; display: block; width: auto; height: auto; border-radius: 0; filter: none;
  background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 48px 48px; background-position: -1px -1px; opacity: 0.6;
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 60% 60%, #000 25%, transparent 80%);
  mask-image: radial-gradient(ellipse 80% 70% at 60% 60%, #000 25%, transparent 80%); }
.auth-split .auth-aside::after { content: ''; position: absolute; z-index: -1; right: 8%; bottom: 8%; width: 60%; height: 55%; border-radius: 50%;
  background: color-mix(in srgb, var(--brand) 16%, transparent); filter: blur(80px); pointer-events: none; }
.aside-copy { max-width: 560px; }
.aside-copy .lp-kicker { margin-bottom: 18px; }
.aside-copy h2 { font-size: clamp(26px, 2.6vw, 34px); font-weight: 720; letter-spacing: -0.035em; line-height: 1.1; margin: 0 0 18px; }
.aside-copy h2 em { font-style: normal; color: var(--brand); }
.aside-points { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 14.5px; line-height: 1.5; color: var(--text-2); }
.aside-points li { display: flex; align-items: flex-start; gap: 10px; }
.aside-points svg { flex-shrink: 0; margin-top: 3px; color: var(--green); }
.aside-window { max-width: 640px; width: 100%; }
.aside-window .auth-graph { height: 440px; }
.aside-window .auth-graph .graph-pane { padding: 14px; }

/* Tablets and phones: the form first; the pitch below it, the run window only where there is room. */
@media (max-width: 900px) {
  .auth-split { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .auth-split .auth-main { padding: 40px 20px 48px; }
  .auth-split .auth-aside { border-left: 0; border-top: 1px solid var(--line); padding: 40px 20px 48px; gap: 24px; }
  .aside-window .auth-graph { height: 380px; }
}
@media (max-width: 760px) {
  .auth-split .auth-form h1 { font-size: 30px; }
  .auth-switch { margin-bottom: 28px; }
  .aside-window { display: none; }
}
