@font-face{font-family:Inter;src:url('/fonts/Inter-Regular.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:Inter;src:url('/fonts/Inter-SemiBold.woff2') format('woff2');font-display:swap;font-weight:600}
:root{color-scheme:dark;--bg:#0d100e;--panel:#151a17;--line:#2b342e;--text:#f3f6f4;--muted:#a5afa9;--green:#b7ef68;--green-deep:#19270f;--danger:#ff9f9f}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 50% 0,#1d2a21 0,transparent 42%),var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;min-height:100vh}
.shell{min-height:100vh;display:grid;place-items:center;padding:24px}
.card{width:min(100%,430px);border:1px solid var(--line);border-radius:24px;background:rgba(21,26,23,.96);padding:36px;box-shadow:0 24px 80px rgba(0,0,0,.42)}
.mark{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--green);color:#10150e;font-size:24px;font-weight:600;margin-bottom:28px}
.eyebrow{font-size:11px;letter-spacing:.16em;color:var(--green);font-weight:600;margin:0 0 10px}
h1{font-size:30px;letter-spacing:-.035em;margin:0 0 12px}
.intro,.privacy{color:var(--muted);line-height:1.55}
.intro{margin:0 0 28px}.privacy{font-size:12px;margin:24px 0 0}
label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
input{width:100%;height:50px;border:1px solid var(--line);border-radius:13px;background:#0f1311;color:var(--text);padding:0 14px;font:inherit;outline:none;transition:border-color .16s,box-shadow .16s}
input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(183,239,104,.12)}
.error{min-height:20px;margin:9px 0 7px;color:var(--danger);font-size:13px;line-height:1.4}
button{width:100%;height:50px;border:0;border-radius:13px;background:var(--green);color:#10150e;font:600 15px Inter,system-ui;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px}
button:hover{filter:brightness(1.04)}button:focus-visible{outline:3px solid white;outline-offset:3px}button[disabled]{opacity:.72;cursor:wait}
.spinner{display:none;width:16px;height:16px;border:2px solid rgba(16,21,14,.3);border-top-color:#10150e;border-radius:50%;animation:spin .8s linear infinite}
button[aria-busy=true] .spinner{display:block}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:480px){.card{padding:28px 22px;border-radius:20px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
