:root{--ground: #eff5fd;--surface: #ffffff;--surface-pitch: #f7fafd;--ink: #0f172a;--ink-2: #475569;--ink-3: #94a3b8;--rule: #e2e8f0;--accent: #0f766e;--accent-ink: #ffffff;--accent-soft: #bae0ef;--danger: #b42318;--danger-wash: #fef3f2;--radius: 16px;--radius-sm: 10px;--shadow: 0 24px 60px -28px rgb(15 23 42 / .28);--step-0: .9375rem;--step-1: 1.0625rem;--step-2: clamp(1.5rem, 1.2rem + 1vw, 1.9rem);--step-3: clamp(1.6rem, 1.1rem + 2.2vw, 2.35rem);--s1: .35rem;--s2: .7rem;--s3: 1.1rem;--s4: 1.8rem;--s5: 2.8rem}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:var(--s4);background:var(--ground);color:var(--ink);font:var(--step-0) / 1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}.shell{width:100%;max-width:68rem}.card{display:grid;grid-template-columns:1.05fr 1fr;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.pitch{background:var(--surface-pitch);padding:var(--s5);display:flex;flex-direction:column;gap:var(--s3)}.pitch-title{margin:var(--s3) 0 0;font-size:var(--step-3);line-height:1.12;letter-spacing:-.02em;text-wrap:balance;font-weight:700}.pitch-body{margin:0;max-width:42ch;color:var(--ink-2)}.features{list-style:none;margin:auto 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}.features li{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:var(--s2) var(--s3);display:grid;gap:2px}.features b{font-size:.875rem;font-weight:650}.features span{font-size:.8125rem;color:var(--ink-3);line-height:1.4}.pane{padding:var(--s5);display:flex;flex-direction:column;justify-content:center}.brand{display:flex;align-items:center;gap:.6rem}.brand--center{justify-content:center;margin-bottom:var(--s3)}.mark{display:inline-flex;align-items:center;gap:4px}.mark .dot{width:15px;height:15px;border-radius:50%;background:#f0b429}.mark .sq{width:15px;height:15px;border-radius:3px;background:#12715f}.wordmark{font-size:1.4rem;font-weight:700;letter-spacing:-.02em}h1{margin:0;text-align:center;font-size:var(--step-2);letter-spacing:-.02em;font-weight:700}.sub{margin:var(--s1) 0 0;text-align:center;color:var(--ink-2)}.practice{margin:var(--s2) 0 0;text-align:center;font-weight:640;color:var(--accent)}form{margin-top:var(--s4);display:grid;gap:var(--s3)}.field{display:grid;gap:var(--s1)}.label{font-size:.875rem;font-weight:600}input{width:100%;padding:.72rem .9rem;font:inherit;color:inherit;background:#f8fafc;border:1px solid var(--rule);border-radius:var(--radius-sm);transition:border-color .14s ease,box-shadow .14s ease}input::placeholder{color:var(--ink-3)}input:hover{border-color:#cbd5e1}input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0f766e24}.pw{position:relative;display:block}.pw input{padding-right:2.75rem}.pw-toggle{position:absolute;top:50%;right:.55rem;transform:translateY(-50%);display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:6px;background:transparent;color:var(--ink-3);cursor:pointer}.pw-toggle:hover{color:var(--ink-2);background:#f1f5f9}.pw-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.forgot{justify-self:end;margin-top:calc(-1 * var(--s2));font-size:.875rem;color:#2563eb;text-decoration:none}.forgot:hover{text-decoration:underline}.forgot:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.error{margin:0;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--danger-wash);border:1px solid #fecdca;color:var(--danger);font-size:.875rem}.submit{padding:.8rem 1rem;font:inherit;font-weight:640;color:var(--accent-ink);background:var(--accent);border:0;border-radius:var(--radius-sm);cursor:pointer;transition:background .14s ease,transform 80ms ease}.submit:hover:not(:disabled){background:#115e56}.submit:active:not(:disabled){transform:translateY(1px)}.submit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.submit:disabled{background:var(--accent-soft);color:#33607a;cursor:not-allowed}@media (max-width: 62rem){.card{grid-template-columns:1fr}.pitch{display:none}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
