/* Magnatype Auth — shared base for login + register. Keep page-specific overrides in login.css / register.css */
.mt-auth-page { color: var(--mt-text); background: var(--mt-bg); font-family: var(--wp--preset--font-family--ui), Geist, sans-serif; }
.mt-auth-main { display: grid; box-sizing: border-box; grid-template-columns: minmax(0, 662px) 510px; align-items: center; justify-content: space-between; gap: 76px; }
.mt-auth-intro { max-width: 662px; }
.mt-auth-eyebrow, .mt-auth-card-eyebrow { margin: 0; color: var(--mt-link); font-family: var(--wp--preset--font-family--mono), monospace; font-weight: 600; }
.mt-auth-eyebrow { font-size: 11px; line-height: 14px; letter-spacing: 1.4px; }
.mt-auth-card-eyebrow { font-size: 10px; line-height: 13px; letter-spacing: 1.2px; }
.mt-auth-intro h1 { max-width: 620px; margin: 24px 0; color: var(--mt-text); font-family: var(--wp--preset--font-family--display), Newsreader, serif; font-size: 68px; font-weight: 600; line-height: 69px; letter-spacing: -2px; }
.mt-auth-lede { max-width: 550px; margin: 0; color: var(--mt-muted); font-size: 17px; line-height: 26px; }
.mt-auth-card { display: flex; box-sizing: border-box; width: 510px; flex-direction: column; border: 1px solid var(--mt-border); border-radius: 24px; background: var(--mt-surface); box-shadow: 0 20px 56px #0005; }
.mt-auth-card h2 { margin: 0; color: var(--mt-text); font-family: var(--wp--preset--font-family--display), Newsreader, serif; font-size: 36px; font-weight: 600; line-height: 36px; }
.mt-auth-card-desc { width: 100%; margin: 0; color: var(--mt-muted); font-size: 14px; line-height: 21px; }
.mt-auth-field { position: relative; display: flex; box-sizing: border-box; height: 60px; flex-direction: column; justify-content: flex-start; gap: 5px; padding: 12px 14px; border: 1px solid var(--mt-border); border-radius: 8px; background: var(--mt-account-field, var(--mt-surface-raised)); transition: border-color 220ms cubic-bezier(.2,.7,.2,1), background-color 220ms cubic-bezier(.2,.7,.2,1), box-shadow 220ms cubic-bezier(.2,.7,.2,1); }
.mt-auth-field--password, .mt-auth-password { height: 64px; gap: 8px; }
.mt-auth-field:focus-within { border-color: var(--mt-interaction-strong, rgba(174,241,114,.72)); background: var(--mt-field-focus); box-shadow: 0 0 0 2px var(--mt-interaction-soft, rgba(174,241,114,.07)); }
.mt-auth-field > span { color: var(--mt-text-subtle); font-size: 10px; line-height: 13px; letter-spacing: .5px; }
.mt-auth-field input { width: 100%; height: 18px; min-height: 0; padding: 0; border: 0; border-radius: 0; outline: 0; color: var(--mt-text); background: transparent; box-shadow: none; font: 14px/18px Geist, sans-serif; }
.mt-auth-field input::placeholder { color: var(--mt-muted); opacity: 1; }
.mt-auth-field input:focus { outline: none; }
.mt-auth-visibility { position: absolute; display: grid; place-items: center; padding: 0; border: 0; border-radius: 6px; outline: 0; color: var(--mt-text-subtle); background: transparent; cursor: pointer; transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease; }
.mt-auth-visibility::before { display: block; content: ""; background: currentColor; mask: url('../icons/visibility-off.svg') center / contain no-repeat; -webkit-mask: url('../icons/visibility-off.svg') center / contain no-repeat; }
.mt-auth-visibility[aria-pressed="true"]::before { mask-image: url('../icons/visibility.svg'); -webkit-mask-image: url('../icons/visibility.svg'); }
.mt-auth-visibility:focus-visible { color: var(--mt-text); box-shadow: 0 0 0 1px var(--mt-interaction-strong, rgba(174,241,114,.82)), 0 0 0 3px var(--mt-interaction-soft, rgba(174,241,114,.09)); }
.mt-auth-submit { display: flex; box-sizing: border-box; width: 100%; height: 48px; align-items: center; justify-content: center; gap: 10px; padding: 0 20px; border: 1px solid var(--mt-accent); border-radius: 8px; color: var(--mt-accent-ink); background: var(--mt-accent); font: 600 14px/18px Geist, sans-serif; cursor: pointer; transition: background-color 180ms ease, border-color 180ms ease; }
.mt-auth-submit:hover { border-color: var(--mt-accent-hover); background: var(--mt-accent-hover); }
.mt-auth-help { display: flex; box-sizing: border-box; align-items: flex-start; justify-content: space-between; gap: 32px; margin: 0 var(--mt-gutter); padding: 32px 0 48px; border-top: 1px solid var(--mt-border); }
.mt-auth-help > div { flex: 1; }
.mt-auth-help h2 { margin: 0 0 8px; color: var(--mt-text); font-family: var(--wp--preset--font-family--ui), Geist, sans-serif; font-size: 24px; font-weight: 600; line-height: 31px; }
.mt-auth-help p { margin: 0; color: var(--mt-muted); font-size: 15px; line-height: 23px; }
.mt-auth-help > a { display: flex; box-sizing: border-box; align-items: center; justify-content: center; gap: 10px; padding: 0 19px; border: 1px solid var(--mt-border); border-radius: 8px; color: var(--mt-text); background: var(--mt-bg); font-size: 14px; font-weight: 600; line-height: 18px; text-decoration: none; transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease; }
.mt-auth-help > a:hover { border-color: var(--mt-selection-border); color: var(--mt-link); background: var(--mt-interaction-soft, #aef17208); }
@media (hover: hover) and (pointer: fine) {
  .mt-auth-field:hover { border-color: var(--mt-interaction-border, rgba(174,241,114,.34)); background: var(--mt-field-hover); }
  .mt-auth-field:focus-within:hover { border-color: var(--mt-interaction-strong, rgba(174,241,114,.72)); background: var(--mt-field-focus); }
  .mt-auth-visibility:hover { color: var(--mt-text); background: rgba(244,243,237,.045); }
}
@media (max-width: 1100px) {
  .mt-auth-main { height: auto; grid-template-columns: minmax(0, 1fr) minmax(400px, 510px); gap: 40px; padding-inline: var(--mt-gutter); }
  .mt-auth-intro h1 { font-size: clamp(44px, 5vw, 68px); }
  .mt-auth-card { width: 100%; }
}
@media (max-width: 960px) {
  .mt-auth-main { grid-template-columns: 1fr; gap: 48px; padding-block: 56px 64px; }
  .mt-auth-intro, .mt-auth-intro h1 { width: 100%; }
  .mt-auth-intro h1 { font-size: clamp(45px, 8vw, 64px); }
  .mt-auth-card { max-width: 510px; margin-inline: auto; }
  .mt-auth-help { height: auto; padding-block: 32px; }
}
@media (max-width: 560px) {
  .mt-auth-main { min-height: 0; padding: 42px 20px 56px; }
  .mt-auth-intro h1 { font-size: 45px; line-height: 1.02; }
  .mt-auth-lede { font-size: 15px; }
  .mt-auth-card { min-height: 0; padding: 24px; border-radius: 18px; }
  .mt-auth-card h2 { font-size: 32px; line-height: 34px; }
  .mt-auth-help { display: grid; gap: 22px; margin-inline: 20px; }
  .mt-auth-help > a { width: max-content; }
}
@media (max-width: 380px) {
  .mt-auth-main { padding-inline: 16px; }
  .mt-auth-intro h1 { font-size: 40px; }
  .mt-auth-help { margin-inline: 16px; }
}
