@font-face{font-family:"League Spartan";src:url("/assets/marketing-v4/league-spartan.ca28d49eaebc.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Lato;src:url("/assets/marketing-v4/lato-regular.1cc67237b616.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url("/assets/marketing-v4/lato-bold.4a2bc021628b.woff2") format("woff2");font-style:normal;font-weight:700 900;font-display:swap}
:root{color-scheme:light;--bg:#fff;--panel:#fff;--line:#e8e8ef;--text:#111;--muted:#666;--violet:#8774fe;--violet-dark:#6a56e8;--danger:#c73b48;font-family:Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-width:320px;min-height:100svh;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
[hidden]{display:none!important}
.member-shell{display:grid;width:min(100%,620px);min-height:100svh;margin:0 auto;padding:env(safe-area-inset-top) 22px calc(24px + env(safe-area-inset-bottom));grid-template-rows:auto 1fr auto}
.member-header{display:flex;min-height:68px;align-items:center}
.member-header>a{text-decoration:none;color:#111;font-family:"League Spartan",sans-serif;font-size:15px;font-weight:750;letter-spacing:.055em}
main{display:grid;align-items:center;padding:30px 0 48px}
.auth-view{display:grid;gap:28px}
.auth-copy{text-align:center}
.eyebrow{display:block;margin-bottom:12px;color:var(--violet);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
h1,h2,p{margin:0}
h1{font-family:"League Spartan",sans-serif;font-size:clamp(38px,11vw,54px);line-height:1;font-weight:700;letter-spacing:-.04em}
.auth-copy p{max-width:430px;margin:14px auto 0;color:var(--muted);font-size:16px;line-height:1.5}
.auth-card{border:1px solid var(--line);border-radius:22px;background:var(--panel);padding:26px;box-shadow:0 12px 38px rgba(37,73,150,.09)}
.form-heading{margin-bottom:20px}
.form-heading h2{font-family:"League Spartan",sans-serif;font-size:25px;font-weight:700;letter-spacing:-.025em}
.form-heading p{margin-top:7px;color:var(--muted);font-size:14px;line-height:1.45}
label{display:grid;gap:8px;margin-top:15px;color:#454650;font-size:13px;font-weight:700}
input{width:100%;height:54px;border:1px solid var(--line);border-radius:13px;background:#fcfcfe;color:var(--text);padding:0 15px;font-size:16px;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}
input:focus{border-color:var(--violet);background:#fff;box-shadow:0 0 0 4px rgba(135,116,254,.12)}
.primary-button{width:100%;min-height:54px;margin-top:20px;border:0;border-radius:13px;background:#111;color:#fff;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 4px 0 #000;transition:transform .12s,box-shadow .12s}
.primary-button:active{transform:translateY(3px);box-shadow:0 1px 0 #000}
.primary-button:disabled{opacity:.42;cursor:not-allowed}
.text-button{border:0;background:transparent;color:var(--muted);padding:11px 0;cursor:pointer;font-weight:680}
.text-button.full{width:100%;margin-top:9px}
.form-note{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.45}
.agreement{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;margin-top:18px;line-height:1.45;font-weight:560}
.agreement input{width:21px;height:21px;flex:0 0 auto;margin:0;accent-color:var(--violet)}
.agreement a{color:var(--violet);font-weight:720}
.message{min-height:22px;margin-top:14px;color:var(--muted);font-size:13px;line-height:1.45}
.message.is-error{color:var(--danger)}
.message.is-success{color:#16815a}
.handoff-view{display:grid;place-items:center;align-content:center;gap:18px;min-height:50svh;color:var(--muted);font-size:15px;font-weight:700;text-align:center}
.handoff-mark{display:grid;width:62px;height:62px;place-items:center;border-radius:20px;background:#f1f1ff}
.handoff-mark span{width:25px;height:25px;border:3px solid rgba(93,95,239,.22);border-top-color:var(--violet);border-radius:50%;animation:handoff-spin .7s linear infinite}
footer{padding:20px 0 0;color:#92939e;font-size:12px;text-align:center}
footer a{text-decoration:none}
@keyframes handoff-spin{to{transform:rotate(360deg)}}
@media(min-width:680px){.member-shell{padding-inline:30px}.auth-card{padding:32px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.handoff-mark span{animation:none;border-top-color:rgba(93,95,239,.22);background:var(--violet)}}
