.login-experience{--login-bg:var(--base);--login-surface:var(--surface);--login-surface-raised:var(--elevated);--login-text:var(--text-primary);--login-muted:var(--text-secondary);--login-gold:var(--ui-accent);--login-brand:var(--brand-gold);--login-gold-deep:color-mix(in srgb,var(--ui-accent) 85%,var(--darkest));--login-danger:var(--negative);--login-border:var(--border);--login-border-strong:var(--border-strong);position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,3fr) minmax(540px,2fr);min-height:100dvh;overflow:hidden;color:var(--login-text);background:var(--login-surface)}.login-experience *,.login-experience :after,.login-experience :before{box-sizing:border-box}.login-wordmark{position:absolute;z-index:5;top:38px;left:48px;color:var(--login-brand);font-family:var(--type-serif),Georgia,serif;font-size:clamp(2rem,3vw,2.8rem);font-weight:560;line-height:1;letter-spacing:-.045em;text-decoration:none;transition:color .16s ease}.login-wordmark span{color:var(--login-text)}.login-wordmark:hover{color:color-mix(in oklch,var(--login-brand) 78%,var(--text-primary))}.login-experience button:focus-visible,.login-experience input:focus-visible,.login-route-error a:focus-visible,.login-wordmark:focus-visible{outline:2px solid var(--login-gold);outline-offset:4px}.login-story{position:relative;display:flex;align-items:center;min-height:100dvh;overflow:hidden;padding:150px clamp(36px,4vw,72px) 60px;background:radial-gradient(circle at 78% 50%,color-mix(in srgb,var(--ui-accent) 2.2%,transparent),transparent 38%),var(--login-surface)}.login-story:after{display:none}.login-wheel{pointer-events:none;user-select:none}.login-wheel--desktop{position:absolute;z-index:0;width:min(68vw,900px);height:min(68vw,900px);right:clamp(-500px,-31vw,-390px);top:50%;opacity:.34;filter:grayscale(1) sepia(1) saturate(1.85) hue-rotate(359deg) brightness(.92);transform:translateY(-48%) rotate(-3deg);transform-origin:center;animation:login-wheel-arrive 1.1s cubic-bezier(.22,1,.36,1) both}[data-theme=light] .login-wheel{filter:invert(1) grayscale(1) sepia(.72) saturate(2.2) hue-rotate(-12deg)}.login-wheel--mobile{display:none}.login-story-copy{position:relative;z-index:2;width:min(61%,520px)}.login-story h2{margin:0;color:var(--login-text);font-family:var(--type-serif),Georgia,serif;font-size:clamp(3rem,4vw,4.7rem);font-weight:420;line-height:.99;letter-spacing:-.052em;text-wrap:pretty}.login-story-copy>p{max-width:390px;margin:24px 0 30px;color:var(--login-muted);font-size:clamp(.98rem,1.2vw,1.15rem);line-height:1.65}.login-story ul{max-width:300px;margin:0;padding:0;list-style:none}.login-story li{display:flex;align-items:center;gap:12px;min-height:52px;color:var(--veil);font-size:.88rem;border-bottom:1px solid var(--border)}.login-story li:last-child{border-bottom:0}.login-story li>span{display:grid;width:28px;color:color-mix(in srgb,var(--ui-accent) 76%,transparent);place-items:center start}.login-story li svg{width:20px;height:20px}.login-auth-pane{position:relative;z-index:1;display:grid;min-height:100dvh;padding:96px 48px 54px;overflow-y:auto;place-items:center;background:var(--login-surface);border-left:1px solid var(--border);box-shadow:none}.login-auth-pane:after{position:absolute;inset:0;z-index:-1;content:"";pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.1'/%3E%3C/svg%3E")}.login-panel,.login-panel-skeleton{width:min(100%,480px)}.login-panel{animation:login-panel-arrive .62s cubic-bezier(.22,1,.36,1) both}.login-panel-heading{margin:0 auto 34px;text-align:center}.login-panel h1{margin:0;color:var(--login-text);font-family:var(--type-serif),Georgia,serif;font-size:clamp(2.5rem,3.25vw,3.45rem);font-weight:430;line-height:1.04;letter-spacing:-.046em;text-wrap:balance}.login-panel-heading p,.login-panel-intro{max-width:390px;margin:14px auto 0;color:var(--login-muted);font-size:1rem;line-height:1.55}.login-methods{display:grid;gap:10px}.login-method-button{position:relative;display:flex;gap:10px;align-items:center;justify-content:center;width:100%;min-height:58px;padding:0 20px;color:var(--login-text);font-family:inherit;font-size:.98rem;font-weight:560;text-align:center;background:var(--elevated);border:1px solid transparent;border-radius:10px;cursor:pointer;overflow:hidden;box-shadow:inset 0 1px color-mix(in srgb,var(--veil) 3.5%,transparent);transition:background .16s ease,border-color .16s ease,transform .16s ease}.login-method-button:hover:not(:disabled){background:var(--elevated-2);border-color:color-mix(in srgb,var(--veil) 13%,transparent);transform:translateY(-1px)}.login-method-button--primary{color:var(--gold-foreground);background:var(--text-primary);border-color:var(--text-primary);box-shadow:0 10px 28px rgba(0,0,0,.18),inset 0 1px color-mix(in srgb,var(--veil) 52%,transparent)}.login-method-button--primary:hover:not(:disabled){background:color-mix(in srgb,var(--text-primary) 90%,white);border-color:color-mix(in srgb,var(--text-primary) 90%,white)}.login-method-button:disabled:not([aria-busy=true]),.login-secondary-action:disabled,.login-submit:disabled:not([aria-busy=true]){cursor:not-allowed;opacity:.55}.login-method-button[aria-busy=true],.login-submit[aria-busy=true]{cursor:progress;opacity:1}.login-method-button[data-state=loading],.login-method-button[data-state=verifying],.login-method-button[data-state=waiting]{border-color:color-mix(in srgb,var(--ui-accent) 62%,transparent)}.login-method-button[data-state=loading]:after,.login-method-button[data-state=verifying]:after,.login-method-button[data-state=waiting]:after,.login-submit[data-state=loading]:after{position:absolute;right:0;bottom:0;left:0;height:2px;content:"";pointer-events:none;background:linear-gradient(90deg,transparent,var(--login-gold),transparent);transform:translateX(-100%);animation:login-progress-rail 1.25s ease-in-out infinite}.login-divider{height:1px;margin:24px 0;background:var(--login-border)}.login-email-form{display:grid;gap:10px}.login-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-input-wrap{position:relative}.login-dev-form input,.login-input-wrap input{width:100%;height:58px;padding:0 48px 0 17px;color:var(--login-text);font-family:inherit;font-size:1rem;background:var(--elevated);border:1px solid var(--login-border-strong);border-radius:10px;caret-color:var(--login-gold);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.login-dev-form input::placeholder,.login-input-wrap input::placeholder{color:var(--text-tertiary);opacity:1}.login-dev-form input:hover:not(:disabled),.login-input-wrap input:hover:not(:disabled){border-color:color-mix(in srgb,var(--veil) 46%,transparent)}.login-dev-form input:focus,.login-input-wrap input:focus{background:var(--elevated-2);border-color:var(--login-gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-accent) 10%,transparent)}.login-input-wrap input[aria-invalid=true]{border-color:var(--negative)}.login-input-check{position:absolute;top:50%;right:17px;display:grid;width:22px;height:22px;color:var(--gold-foreground);background:var(--positive);border-radius:50%;transform:translateY(-50%);place-items:center;animation:login-check-arrive .24s cubic-bezier(.22,1,.36,1) both}.login-input-check svg{width:11px}.login-turnstile-shell{position:relative;display:grid;min-height:0;overflow:visible;border:0;background:transparent;place-items:center}.login-turnstile-shell--error{padding:8px;background:color-mix(in srgb,var(--negative) 5.5%,transparent);border-radius:8px}.login-turnstile-widget{display:grid;width:100%;min-height:0;place-items:center;transition:opacity .18s ease}.login-turnstile-widget--loading{position:absolute;inset:0;opacity:0}.login-turnstile-skeleton{width:100%;height:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--veil) 3.5%,transparent),transparent),color-mix(in srgb,var(--veil) 2.5%,transparent);background-size:200% 100%;border-radius:999px;animation:login-skeleton 1.45s linear infinite}.login-turnstile-timeout{max-width:360px;margin:0;padding:8px 12px;color:var(--login-muted);font-size:.78rem;line-height:1.5;text-align:center}.login-input-wrap--error{animation:login-field-nudge .26s cubic-bezier(.36,.07,.19,.97) both}.login-inline-status{display:grid;grid-template-columns:18px 1fr;gap:9px;align-items:start;margin-top:0;padding:10px 12px;font-size:.8rem;line-height:1.45;border-radius:8px;animation:login-status-arrive .22s cubic-bezier(.22,1,.36,1) both}.login-inline-status--error{color:color-mix(in oklch,var(--negative) 70%,var(--text-primary));background:color-mix(in srgb,var(--negative) 7.5%,transparent);border:1px solid color-mix(in srgb,var(--negative) 24%,transparent)}.login-inline-status-icon{display:grid;padding-top:2px;color:var(--login-danger);place-items:center}.login-inline-status-icon svg{width:14px;height:14px}.login-submit{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;margin-top:0;padding:0 20px;color:var(--login-muted);font-family:inherit;font-size:.98rem;font-weight:560;text-align:center;background:var(--elevated);border:1px solid transparent;border-radius:10px;cursor:pointer;overflow:hidden;box-shadow:inset 0 1px color-mix(in srgb,var(--veil) 2.5%,transparent);transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.login-submit[data-ready=true]{color:var(--login-text);background:var(--elevated-2);border-color:color-mix(in srgb,var(--veil) 10%,transparent)}.login-submit[data-state=loading]{color:var(--gold-foreground);background:linear-gradient(98deg,color-mix(in oklch,var(--ui-accent) 96%,black) 0,color-mix(in oklch,var(--ui-accent) 88%,white) 48%,color-mix(in oklch,var(--ui-accent) 93%,black) 100%);background-size:180% 100%;animation:login-submit-breathe 1.5s ease-in-out infinite}.login-submit[data-state=error]{box-shadow:0 10px 28px rgba(0,0,0,.18),0 0 0 1px color-mix(in srgb,var(--negative) 20%,transparent),inset 0 1px color-mix(in srgb,var(--veil) 34%,transparent)}.login-submit:hover:not(:disabled){color:var(--login-text);background:var(--elevated-3);border-color:color-mix(in srgb,var(--ui-accent) 28%,transparent);transform:translateY(-1px);box-shadow:0 10px 25px rgba(0,0,0,.16),inset 0 1px color-mix(in srgb,var(--veil) 4%,transparent)}.login-route-error{margin:-5px 0 20px;padding:14px 15px;color:color-mix(in oklch,var(--negative) 60%,var(--text-primary));background:color-mix(in srgb,var(--negative) 7%,transparent);border:1px solid color-mix(in srgb,var(--negative) 26%,transparent);border-radius:10px;animation:login-status-arrive .26s cubic-bezier(.22,1,.36,1) both}.login-route-error strong{display:block;font-size:.86rem}.login-route-error p{margin:5px 0 0;color:color-mix(in oklch,var(--negative) 50%,var(--text-primary));font-size:.78rem;line-height:1.45}.login-route-error a{display:inline-block;margin-top:8px;color:var(--login-gold);font-size:.78rem;text-underline-offset:3px}.login-success{text-align:center;animation:login-success-arrive .42s cubic-bezier(.22,1,.36,1) both}.login-success-mark{position:relative;display:grid;width:52px;height:52px;margin:0 auto 24px;color:var(--login-gold);background:color-mix(in srgb,var(--ui-accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--ui-accent) 22%,transparent);border-radius:50%;place-items:center;animation:login-success-mark .52s cubic-bezier(.2,1.45,.45,1) 80ms both}.login-success-mark:after{position:absolute;inset:-1px;content:"";border:1px solid color-mix(in srgb,var(--ui-accent) 38%,transparent);border-radius:inherit;animation:login-success-ring .9s ease-out .26s both}.login-success-mark svg{width:24px;height:24px}.login-success h1:focus{outline:none}.login-email-receipt{margin-top:24px;padding:16px 17px;color:var(--login-text);font-size:.94rem;overflow-wrap:anywhere;background:var(--elevated);border:1px solid var(--login-border-strong);border-radius:10px}.login-success .login-email-receipt,.login-success .login-panel-intro,.login-success .login-spam-hint,.login-success .login-success-actions,.login-success .login-success-hint,.login-success h1{animation:login-success-content .4s cubic-bezier(.22,1,.36,1) both}.login-success .login-panel-intro{animation-delay:70ms}.login-success .login-email-receipt{animation-delay:.12s}.login-success .login-success-hint{animation-delay:.16s}.login-success .login-success-actions{animation-delay:.2s}.login-success .login-spam-hint{animation-delay:.23s}.login-success-hint{margin:15px 0 0;color:var(--login-muted);font-size:.85rem;line-height:1.55}.login-success-actions{margin-top:24px}.login-secondary-action{width:100%;min-height:52px;padding:0 18px;color:var(--login-text);font-family:inherit;font-size:.9rem;font-weight:550;background:transparent;border:1px solid var(--login-border-strong);border-radius:10px;cursor:pointer;transition:border-color .16s ease,background .16s ease}.login-secondary-action:hover{background:color-mix(in srgb,var(--veil) 3%,transparent);border-color:color-mix(in srgb,var(--ui-accent) 50%,transparent)}.login-spam-hint{margin:13px 0 0;color:var(--login-muted);font-size:.76rem;text-align:center}.login-dev-form{display:grid;gap:10px;margin:0 0 18px;padding:14px;background:color-mix(in srgb,var(--ui-accent) 5%,transparent);border:1px dashed color-mix(in srgb,var(--ui-accent) 34%,transparent);border-radius:10px}.login-dev-form input{height:46px;padding-left:13px}.login-dev-form>button{min-height:44px;color:var(--gold-foreground);font-family:inherit;font-weight:650;background:var(--login-gold);border:0;border-radius:8px}.login-dev-heading{display:flex;align-items:center;justify-content:space-between;color:var(--login-gold);font-size:.75rem;font-weight:650}.login-dev-heading button{color:var(--login-muted);font:inherit;background:none;border:0;cursor:pointer}.login-panel-skeleton{height:620px;border-radius:12px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--veil) 2.5%,transparent),transparent),color-mix(in srgb,var(--veil) 1.5%,transparent);background-size:200% 100%;animation:login-skeleton 1.45s linear infinite}@keyframes login-panel-arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes login-wheel-arrive{0%{opacity:0;transform:translateY(-47%) rotate(-5deg) scale(.98)}}@keyframes login-skeleton{to{background-position:-200% 0}}@keyframes login-progress-rail{50%{transform:translateX(100%)}to{transform:translateX(100%)}}@keyframes login-submit-breathe{50%{background-position:100% 0}}@keyframes login-check-arrive{0%{opacity:0;transform:translateY(-50%) scale(.72)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes login-field-nudge{20%{transform:translateX(-3px)}45%{transform:translateX(3px)}70%{transform:translateX(-2px)}to{transform:translateX(0)}}@keyframes login-status-arrive{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes login-success-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes login-success-mark{0%{opacity:0;transform:scale(.72) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes login-success-ring{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.65)}}@keyframes login-success-content{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1120px){.login-experience{grid-template-columns:minmax(0,1fr) minmax(500px,1fr)}.login-story-copy{width:min(90%,520px)}.login-story h2{font-size:clamp(2.7rem,4.5vw,4rem)}.login-wheel--desktop{right:-390px}}@media (max-width:860px){.login-experience{display:block;min-height:100dvh;overflow:visible;background:radial-gradient(circle at 84% 7%,color-mix(in srgb,var(--ui-accent) 5.5%,transparent),transparent 32%),var(--login-bg)}.login-wordmark{position:absolute;top:27px;left:24px;font-size:2rem}.login-story{display:none}.login-auth-pane{display:block;min-height:100dvh;padding:112px 24px 40px;overflow:hidden;background:transparent;border:0;box-shadow:none}.login-wheel--mobile{position:absolute;display:block;z-index:-1;top:-155px;right:-245px;width:590px;height:590px;opacity:.13;filter:grayscale(1) sepia(1) saturate(1.75) brightness(.9);transform:rotate(-8deg)}.login-panel{margin:0 auto}.login-panel h1{font-size:clamp(2.5rem,12vw,3.2rem)}.login-panel-heading{margin-bottom:26px}.login-method-button{min-height:58px}}@media (max-width:390px){.login-auth-pane{padding-right:18px;padding-left:18px}.login-wordmark{left:18px}.login-method-button{padding:0 14px;font-size:.9rem}}@media (prefers-reduced-motion:reduce){.login-inline-status,.login-input-check,.login-input-wrap--error,.login-method-button[data-state=loading]:after,.login-method-button[data-state=verifying]:after,.login-method-button[data-state=waiting]:after,.login-panel,.login-panel-skeleton,.login-route-error,.login-submit[data-state=loading],.login-submit[data-state=loading]:after,.login-success,.login-success .login-email-receipt,.login-success .login-panel-intro,.login-success .login-spam-hint,.login-success .login-success-actions,.login-success .login-success-hint,.login-success h1,.login-success-mark,.login-success-mark:after,.login-turnstile-skeleton,.login-wheel--desktop{animation:none}.login-method-button,.login-submit{transition:none}}.login-otp-form{display:grid;gap:14px;margin-top:22px;--otp-ink:var(--login-text);--otp-cell-bg:var(--elevated);--otp-cell-border:color-mix(in srgb,var(--veil) 20%,transparent);--otp-cell-bg-filled:var(--elevated-2);--otp-cell-border-filled:color-mix(in srgb,var(--veil) 32%,transparent);--otp-accent:var(--login-gold);--otp-accent-glow:color-mix(in srgb,var(--ui-accent) 12%,transparent);--otp-danger:var(--login-danger)}.login-otp-prompt{margin:0;color:var(--login-muted);font-size:.82rem;line-height:1.5;text-align:center}.login-otp-submit{width:100%;min-height:54px;color:var(--gold-foreground);font-family:inherit;font-size:.95rem;font-weight:600;background:var(--login-gold);border:1px solid var(--login-gold);border-radius:10px;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease,opacity .16s ease}.login-otp-submit:hover:not(:disabled){background:color-mix(in oklch,var(--ui-accent) 90%,white);border-color:color-mix(in oklch,var(--ui-accent) 90%,white);transform:translateY(-1px)}.login-otp-submit:disabled{cursor:not-allowed;opacity:.45}.login-otp-error{margin:10px 0 0;color:var(--login-danger);font-size:.82rem;text-align:center}