:root{color-scheme:light;--sage:#356650;--lime:#dff28d;--ink:#293b32;--muted:#59665d;--paper:#fffdf8;--line:#dce2d9}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;display:flex;flex-direction:column;background:#faf8f2;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1rem;line-height:1.6}
a{color:var(--sage)}
header,footer{width:100%;max-width:1120px;margin:0 auto;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}
header a{font-size:.875rem;text-decoration:none}
.brand{font-size:1.8125rem;font-weight:800;letter-spacing:-1px;color:var(--ink)}
.brand span{color:var(--sage)}
main{flex:1;width:100%;max-width:1060px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:64px;align-items:center;padding:40px 30px 56px}
.welcome img{display:block;margin-bottom:12px}
.eyebrow{font-size:.8125rem;font-weight:750;letter-spacing:1.6px;color:var(--sage)}
.welcome h1{font-size:clamp(2rem,3.4vw,3rem);line-height:1.12;letter-spacing:-1.6px;margin:20px 0}
.welcome h1 em{font-style:normal;color:var(--sage)}
.welcome>p:last-child{max-width:430px;margin-bottom:0;color:var(--muted)}
.account-card{width:100%;min-width:0;max-width:440px;justify-self:center;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:0 12px 36px #202d2408}
.account-card #auth-status{margin:0 0 20px;color:var(--muted)}
.account-card #auth-status:empty{display:none}
/* Clerk mounts its root on this element, rather than inside it. */
#auth-content{width:100%;min-width:0;max-width:100%;margin-inline:auto}
#auth-content>*{max-width:100%}
#auth-content .cl-cardBox{width:100%;max-width:100%;box-shadow:none;border:0;border-radius:0;background:transparent;overflow:visible}
#auth-content .cl-card{width:100%;padding:0;margin:0;gap:26px;box-shadow:none;border:0;border-radius:0;background:transparent}
#auth-content .cl-headerTitle{font-size:1.5rem;font-weight:750;line-height:1.25;letter-spacing:-.5px;color:var(--ink)}
#auth-content .cl-headerSubtitle{font-size:.9375rem;line-height:1.5;color:var(--muted)}
#auth-content .cl-socialButtonsBlockButton{min-height:48px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:none;font-weight:600}
#auth-content .cl-socialButtonsBlockButton:hover{background:#f5f7f1}
#auth-content .cl-formFieldLabel{font-size:.875rem;font-weight:600;color:var(--ink)}
#auth-content .cl-formFieldInput{min-height:48px;border:1px solid #b7c3b8;border-radius:12px;box-shadow:none;font-size:1rem}
#auth-content .cl-formFieldInput:focus{outline:2px solid var(--sage);outline-offset:2px}
#auth-content .cl-formButtonPrimary,.primary{min-height:48px;border:1px solid #ccdf7b;border-radius:12px;background:var(--lime);background-image:none;color:var(--ink);box-shadow:none;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
#auth-content .cl-formButtonPrimary:hover,.primary:hover{background:#d3e880}
#auth-content .cl-formButtonPrimary:active,.primary:active{background:#c9df75}
#auth-content .cl-footer{margin-top:26px;padding:0;gap:16px;background:transparent;background-image:none;border:0;border-radius:0}
#auth-content .cl-footerAction{padding:0;justify-content:center;flex-wrap:wrap;row-gap:4px}
#auth-content .cl-footerActionLink{font-weight:650;color:var(--sage)}
.primary{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px}
button:disabled{opacity:.6;cursor:wait}
.back{display:block;margin-top:20px;padding-top:20px;border-top:1px solid var(--line);font-size:.8125rem;text-align:center;text-underline-offset:3px}
.account-email{overflow-wrap:anywhere;font-weight:650}
.account-actions{display:flex;gap:12px;flex-wrap:wrap}
footer{font-size:.8125rem;color:var(--muted);border-top:1px solid var(--line)}
a:focus-visible,button:focus-visible{outline:3px solid var(--sage);outline-offset:4px}
[hidden]{display:none!important}
@media(max-width:800px){
  header,footer{padding:20px;flex-wrap:wrap}
  main{grid-template-columns:minmax(0,1fr);gap:28px;padding:12px 20px 36px}
  .welcome{text-align:center}
  .welcome img{width:76px;height:76px;margin:0 auto}
  .eyebrow{margin:12px 0}
  .welcome h1{font-size:2rem;letter-spacing:-1px;margin:16px 0}
  .welcome>p:last-child{max-width:390px;margin:0 auto;font-size:.9375rem}
  .account-card{padding:26px}
  footer{justify-content:center;text-align:center}
}
@media(max-width:380px){
  header{gap:12px}
  header>a:last-child{font-size:.75rem}
  main{padding-inline:16px}
  .account-card{padding:22px 18px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
