body{margin:0;padding:0;font-family:sans-serif}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:100;src:local("Roboto Thin "),local("Roboto-Thin"),url(/assets/roboto-latin-100-DKDAMwNd.woff2) format("woff2"),url(/assets/roboto-latin-100-D-bt0ABr.woff) format("woff")}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:100;src:local("Roboto Thin italic"),local("Roboto-Thinitalic"),url(/assets/roboto-latin-100italic-pW1FXOkK.woff2) format("woff2"),url(/assets/roboto-latin-100italic-BNycFVsy.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:local("Roboto Light "),local("Roboto-Light"),url(/assets/roboto-latin-300-DYKUYHEm.woff2) format("woff2"),url(/assets/roboto-latin-300-DaYNRB53.woff) format("woff")}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:300;src:local("Roboto Light italic"),local("Roboto-Lightitalic"),url(/assets/roboto-latin-300italic-DSNaPCV2.woff2) format("woff2"),url(/assets/roboto-latin-300italic-C8FcJ6TJ.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:local("Roboto Regular "),local("Roboto-Regular"),url(/assets/roboto-latin-400-Ct7gR90z.woff2) format("woff2"),url(/assets/roboto-latin-400-BOTPDPo4.woff) format("woff")}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:400;src:local("Roboto Regular italic"),local("Roboto-Regularitalic"),url(/assets/roboto-latin-400italic-CZMwe9Ot.woff2) format("woff2"),url(/assets/roboto-latin-400italic-BkzUOvky.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:local("Roboto Medium "),local("Roboto-Medium"),url(/assets/roboto-latin-500-Cp_c0CUW.woff2) format("woff2"),url(/assets/roboto-latin-500-qUklLvgS.woff) format("woff")}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:500;src:local("Roboto Medium italic"),local("Roboto-Mediumitalic"),url(/assets/roboto-latin-500italic-Bh_K-NJ8.woff2) format("woff2"),url(/assets/roboto-latin-500italic-CB_L5Sbh.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:700;src:local("Roboto Bold "),local("Roboto-Bold"),url(/assets/roboto-latin-700-nq4Um7Vn.woff2) format("woff2"),url(/assets/roboto-latin-700-CIBfwbQ-.woff) format("woff")}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:700;src:local("Roboto Bold italic"),local("Roboto-Bolditalic"),url(/assets/roboto-latin-700italic-zQc00dqE.woff2) format("woff2"),url(/assets/roboto-latin-700italic-DRbQ7C3H.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:900;src:local("Roboto Black "),local("Roboto-Black"),url(/assets/roboto-latin-900-Ch_JBqDt.woff2) format("woff2"),url(/assets/roboto-latin-900-BdVjaseD.woff) format("woff")}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:900;src:local("Roboto Black italic"),local("Roboto-Blackitalic"),url(/assets/roboto-latin-900italic-Ccoqh5ZZ.woff2) format("woff2"),url(/assets/roboto-latin-900italic-DTHztyB5.woff) format("woff")}.auth{--auth-ink: #16271c;--auth-forest-900: #0c1e13;--auth-forest-800: #122a1b;--auth-forest-700: #1d3c28;--auth-lime: #8ed24f;--auth-lime-soft: #b6e08a;--auth-moss: #3f6b27;--auth-paper: #f1ede2;--auth-surface: #fffefa;--auth-muted: #5f6b5e;--auth-line: rgba(22, 39, 28, .16);--auth-line-strong: rgba(22, 39, 28, .3);--auth-danger: #ab3f2a;display:flex;min-height:100vh;min-height:100dvh;margin:0;font-family:Hanken Grotesk,system-ui,-apple-system,sans-serif;color:var(--auth-ink);background:var(--auth-paper);-webkit-font-smoothing:antialiased}.auth *,.auth *:before,.auth *:after{box-sizing:border-box}.auth__progress{position:fixed;inset:0 0 auto 0;z-index:1300}.auth__brand{position:relative;flex:1 1 53%;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;overflow:hidden;padding:clamp(2.5rem,4.4vw,4.75rem);color:#e9f1e2;background:radial-gradient(120% 90% at 15% 8%,#20422b 0%,transparent 55%),linear-gradient(158deg,var(--auth-forest-800) 0%,var(--auth-forest-900) 62%,#06140c 100%);isolation:isolate}.auth__rings{position:absolute;width:760px;height:760px;right:-250px;bottom:-270px;border-radius:50%;background:repeating-radial-gradient(circle at center,transparent 0 41px,rgba(142,210,79,.16) 41px 42px);-webkit-mask:radial-gradient(circle at center,#000 56%,transparent 73%);mask:radial-gradient(circle at center,#000 56%,transparent 73%);animation:auth-breathe 16s ease-in-out infinite;z-index:-1}.auth__glow{position:absolute;width:460px;height:460px;right:-60px;bottom:-120px;border-radius:50%;background:radial-gradient(circle,rgba(142,210,79,.22) 0%,transparent 70%);filter:blur(20px);z-index:-1}.auth__grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.42;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.auth__wordmark{display:flex;align-items:center;gap:.7rem}.auth__wordmark svg{flex:none}.auth__wordmark-text{font-size:1.4rem;letter-spacing:-.015em}.auth__wordmark-text b{font-weight:700}.auth__wordmark-text span{font-weight:400;opacity:.82}.auth__brand-body{display:flex;flex-direction:column;gap:1.35rem;max-width:30ch}.auth__brand-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--auth-lime)}.auth__brand-title{margin:0;font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;font-weight:430;font-size:clamp(2.4rem,3.6vw,3.65rem);line-height:1.06;letter-spacing:-.022em}.auth__brand-title em{font-style:italic;font-weight:500;color:var(--auth-lime-soft)}.auth__brand-sub{margin:0;max-width:38ch;font-size:1.02rem;line-height:1.6;color:#e9f1e2bd}.auth__brand-foot{display:flex;align-items:center;gap:.85rem;padding-top:1.4rem;border-top:1px solid rgba(233,241,226,.16);font-size:.8rem;letter-spacing:.01em;color:#e9f1e299}.auth__brand-foot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--auth-lime);box-shadow:0 0 0 4px #8ed24f2e;flex:none}.auth__panel{flex:1 1 47%;display:flex;overflow-y:auto;padding:clamp(2rem,4vw,4rem) clamp(1.5rem,3.5vw,3.5rem)}.auth-form{width:100%;max-width:384px;margin:auto;display:flex;flex-direction:column;gap:1.15rem;animation:auth-rise .65s cubic-bezier(.22,.7,.2,1) .12s both}.auth-form--register{max-width:460px}.auth-form__head{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.35rem}.auth-eyebrow{font-size:.73rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--auth-moss)}.auth-form__title{margin:0;font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;font-weight:500;font-size:clamp(2rem,3vw,2.55rem);line-height:1.08;letter-spacing:-.025em}.auth-form__sub{margin:0;font-size:.95rem;line-height:1.55;color:var(--auth-muted)}.auth-alert{display:flex;gap:.6rem;align-items:flex-start;padding:.7rem .85rem;font-size:.86rem;line-height:1.45;color:var(--auth-danger);background:#ab3f2a14;border:1px solid rgba(171,63,42,.26);border-radius:10px}.auth-alert:before{content:"!";flex:none;width:18px;height:18px;margin-top:1px;font-size:.72rem;font-weight:700;line-height:18px;text-align:center;color:var(--auth-surface);background:var(--auth-danger);border-radius:50%}.auth-field{display:flex;flex-direction:column;gap:.4rem}.auth-field__row{display:flex;align-items:baseline;justify-content:space-between}.auth-field__label{font-size:.82rem;font-weight:600;letter-spacing:.005em}.auth-input-wrap{position:relative;display:flex}.auth-input{width:100%;height:52px;padding:0 1rem;font:inherit;font-size:.95rem;color:var(--auth-ink);background:var(--auth-surface);border:1.5px solid var(--auth-line-strong);border-radius:12px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.auth-input-wrap .auth-input{padding-right:3rem}.auth-input::placeholder{color:#5f6b5e99}.auth-input:hover{border-color:var(--auth-ink)}.auth-input:focus{outline:none;border-color:var(--auth-forest-700);box-shadow:0 0 0 4px #8ed24f42}.auth-input:-webkit-autofill{-webkit-text-fill-color:var(--auth-ink);-webkit-box-shadow:0 0 0 40px var(--auth-surface) inset}.auth-reveal{position:absolute;top:0;right:0;width:3rem;height:100%;display:grid;place-items:center;padding:0;color:var(--auth-muted);background:none;border:none;cursor:pointer;transition:color .15s ease}.auth-reveal:hover{color:var(--auth-ink)}.auth-btn{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;height:52px;margin-top:.3rem;font:inherit;font-size:.95rem;font-weight:600;letter-spacing:.005em;color:#f2f7ec;background:var(--auth-forest-800);border:1.5px solid var(--auth-forest-800);border-radius:12px;cursor:pointer;transition:transform .16s ease,box-shadow .22s ease,background .2s ease}.auth-btn:hover:not(:disabled){background:var(--auth-forest-700);transform:translateY(-2px);box-shadow:0 14px 26px -12px #0c1e1399}.auth-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 14px -10px #0c1e1399}.auth-btn:focus-visible{outline:none;box-shadow:0 0 0 4px #8ed24f66}.auth-btn:disabled{opacity:.6;cursor:progress}.auth-btn svg{transition:transform .18s ease}.auth-btn:hover:not(:disabled) svg{transform:translate(3px)}.auth-btn--ghost{color:var(--auth-ink);background:var(--auth-surface);border-color:var(--auth-line-strong)}.auth-btn--ghost:hover:not(:disabled){background:var(--auth-surface);border-color:var(--auth-ink)}.auth-btn--ghost:hover:not(:disabled) svg{transform:none}.auth-spinner{width:18px;height:18px;border:2.5px solid rgba(242,247,236,.35);border-top-color:#f2f7ec;border-radius:50%;animation:auth-spin .7s linear infinite}.auth-divider{display:flex;align-items:center;gap:.9rem;margin:.15rem 0;font-size:.78rem;letter-spacing:.05em;color:var(--auth-muted)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--auth-line)}.auth-link{padding:0;font:inherit;font-weight:600;color:var(--auth-moss);background:none;border:none;cursor:pointer;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1.5px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .22s ease,color .15s ease}.auth-link:hover{color:var(--auth-forest-700);background-size:100% 1.5px}.auth-link--mini{font-size:.8rem;font-weight:500;color:var(--auth-muted)}.auth-link--mini:hover{color:var(--auth-moss)}.auth-foot-note{margin:.2rem 0 0;font-size:.88rem;text-align:center;color:var(--auth-muted)}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@keyframes auth-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-spin{to{transform:rotate(360deg)}}@keyframes auth-breathe{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.06);opacity:1}}.auth__reveal{animation:auth-rise .7s cubic-bezier(.22,.7,.2,1) both}.auth__brand .auth__wordmark{animation:auth-rise .7s cubic-bezier(.22,.7,.2,1) .05s both}.auth__brand .auth__brand-eyebrow{animation:auth-rise .7s cubic-bezier(.22,.7,.2,1) .18s both}.auth__brand .auth__brand-title{animation:auth-rise .7s cubic-bezier(.22,.7,.2,1) .3s both}.auth__brand .auth__brand-sub{animation:auth-rise .7s cubic-bezier(.22,.7,.2,1) .42s both}.auth__brand .auth__brand-foot{animation:auth-rise .7s cubic-bezier(.22,.7,.2,1) .56s both}@media (max-width: 920px){.auth{flex-direction:column}.auth__brand{flex:none;gap:1.5rem;padding:clamp(1.75rem,6vw,2.75rem)}.auth__brand-body{max-width:none}.auth__brand-title{font-size:clamp(1.85rem,6vw,2.4rem)}.auth__brand-sub,.auth__brand-foot{display:none}.auth__rings{width:460px;height:460px;right:-200px;bottom:-240px}.auth__panel{flex:1;padding:clamp(2rem,9vw,3rem) 1.5rem clamp(2.5rem,9vw,3.5rem)}}@media (max-width: 520px){.auth-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.auth *,.auth *:before,.auth *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}@keyframes blink{0%{background-color:#66ae32}50%{background-color:#fff}to{background-color:#66ae32}}.blink{animation:blink normal 3s infinite ease-in-out}
