.auth-stage{position:relative;overflow:hidden;min-height:100dvh;width:100%;background:var(--beige);display:grid;place-items:center;font-family:Syne,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;padding:60px 24px}.auth-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 18% 12%,rgba(255,252,247,.6),transparent 55%),radial-gradient(55% 45% at 92% 95%,rgba(44,26,29,.06),transparent 60%);pointer-events:none;z-index:0}.auth-corner{position:absolute;z-index:3;font:500 10.5px Syne,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-mute)}.auth-corner.tl{top:36px;left:44px;display:flex;align-items:center;gap:12px}.auth-corner.tl .name{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:16px;color:var(--brand);letter-spacing:-.01em;text-transform:none}.auth-corner.tl .dot{width:4px;height:4px;border-radius:50%;background:var(--choc);display:inline-block}.auth-corner.tl .meta{display:flex;align-items:center;gap:12px}.auth-corner.tr{top:36px;right:44px;display:flex;align-items:center;gap:14px}.auth-corner.tr a{color:var(--ink-soft);text-decoration:none}.auth-corner.tr a:hover{color:var(--brand)}.auth-corner.bl{bottom:36px;left:44px}.auth-corner.br{bottom:36px;right:44px}.auth-corner.br .choc{color:var(--choc);font-style:italic;font-family:Fraunces,Georgia,serif;font-weight:400;text-transform:none;letter-spacing:-.005em;font-size:14px}.auth-watermark{position:absolute;right:-120px;bottom:-120px;width:480px;height:480px;color:var(--choc);opacity:.05;z-index:1;pointer-events:none}.auth-watermark svg{width:100%;height:100%}.auth-card{position:relative;z-index:2;width:100%;max-width:460px;background:var(--paper);border-radius:4px;padding:60px 56px 52px;box-shadow:0 1px 0 rgba(44,26,29,.1),0 30px 80px -20px rgba(44,26,29,.18),0 12px 30px -10px rgba(44,26,29,.1)}.auth-card:before{content:"";position:absolute;left:56px;right:56px;top:0;height:2px;background:var(--choc);border-radius:0 0 2px 2px}.auth-kicker{display:flex;align-items:center;gap:10px;font:600 10px Syne,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--choc)}.auth-kicker:after,.auth-kicker:before{content:"";height:1px;flex:1;background:var(--choc);opacity:.22}.auth-h1{margin:22px 0 8px;font-family:Fraunces,Georgia,serif;font-weight:400;font-size:34px;color:var(--brand);letter-spacing:-.022em;line-height:1.05;text-align:center}.auth-sub{text-align:center;font:400 13.5px Syne,sans-serif;color:var(--ink-soft);line-height:1.55;font-style:italic;text-wrap:pretty}.auth-form{margin-top:36px;gap:18px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-field>label{font:600 9.5px Syne,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.auth-input{height:46px;padding:0 14px;background:var(--paper-2);border:1px solid transparent;border-radius:6px;font:500 14.5px Syne,sans-serif;color:var(--brand);outline:0;transition:border-color .15s,background .15s,box-shadow .15s;width:100%}.auth-input:focus{border-color:var(--accent);background:var(--paper);box-shadow:0 0 0 3px var(--accent-soft)}.auth-input.err{border-color:var(--red);background:#fff7f6}.auth-pw-wrap{position:relative}.auth-pw-wrap .eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:0;background:transparent;color:var(--ink-mute);display:grid;place-items:center;cursor:pointer;padding:0}.auth-pw-wrap .eye:hover{color:var(--brand);background:var(--paper)}.auth-pw-wrap .auth-input{padding-right:46px}.auth-pw-foot{display:flex;align-items:center;justify-content:flex-end;margin-top:-2px}.auth-pw-foot a{font:600 11px Syne,sans-serif;color:var(--accent);text-decoration:none;letter-spacing:.02em}.auth-pw-foot a:hover{color:var(--accent-2)}.auth-pw-hints{margin-top:2px;display:flex;flex-wrap:wrap;gap:6px 14px;font:500 11px Syne,sans-serif;color:var(--ink-soft)}.auth-pw-hints .h-item{display:inline-flex;align-items:center;gap:6px}.auth-pw-hints .h-item .dot{width:6px;height:6px;border-radius:50%;background:var(--line-2)}.auth-pw-hints .h-item.ok{color:var(--green-ink)}.auth-pw-hints .h-item.ok .dot{background:var(--green)}.btn-violet{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:999px;background:var(--accent);color:#fff;border:0;font:600 13.5px Syne,sans-serif;letter-spacing:.01em;cursor:pointer;width:100%;box-shadow:0 6px 16px rgba(94,23,235,.18),inset 0 1px 0 hsla(0,0%,100%,.18);transition:background .15s,transform .12s}.btn-violet:hover:not(:disabled){background:var(--accent-2)}.btn-violet:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 22px;width:100%;border-radius:999px;background:transparent;border:1px solid var(--line-2);color:var(--brand);font:600 12.5px Syne,sans-serif;cursor:pointer;transition:border-color .15s,background .15s}.btn-ghost:hover:not(:disabled){border-color:var(--choc);background:var(--paper-2)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-ghost .choc-ic{color:var(--choc)}.auth-or{margin-top:6px;text-align:center;font:500 10px Syne,sans-serif;color:var(--ink-mute);letter-spacing:.28em;text-transform:uppercase;position:relative}.auth-or span{background:var(--paper);padding:0 12px;position:relative;z-index:2}.auth-or:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--line)}.auth-back-link{margin-top:18px;text-align:center;font:500 12px Syne,sans-serif;color:var(--ink-soft)}.auth-back-link a{display:inline-flex;align-items:center;gap:6px;color:var(--brand);text-decoration:none;border-bottom:1px solid var(--choc-soft);padding-bottom:1px;transition:border-color .15s,color .15s}.auth-back-link a:hover{border-bottom-color:var(--choc)}.auth-error{font:500 12px Syne,sans-serif;color:var(--red);text-align:left;margin-top:-2px}.auth-success-block{margin-top:32px;padding:22px 24px;background:var(--paper-2);border-radius:8px;border:1px solid var(--line);text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.auth-success-block .mailmark{width:46px;height:46px;border-radius:50%;background:var(--paper);color:var(--choc);display:grid;place-items:center;box-shadow:0 1px 0 var(--choc-soft),0 6px 18px -8px rgba(44,26,29,.18)}.auth-success-block .msg{font:400 13.5px Syne,sans-serif;color:var(--ink);line-height:1.55;text-wrap:pretty}.auth-success-block .meta{font:500 11px Syne,sans-serif;color:var(--ink-mute);letter-spacing:.04em}.auth-success-block .meta b{color:var(--brand);font-weight:600}.auth-err-block{margin-top:32px;padding:22px 24px;background:#fff7f6;border-radius:8px;border:1px solid rgba(184,84,80,.18);border-left:3px solid var(--red);text-align:left}.auth-err-block .ttl{font:600 12px Syne,sans-serif;color:var(--red);letter-spacing:.02em;margin-bottom:4px}.auth-err-block .desc{font:400 13px Syne,sans-serif;color:var(--ink);line-height:1.5}.auth-sig-foot{margin-top:30px;text-align:center;font:500 10px Syne,sans-serif;color:var(--ink-mute);letter-spacing:.22em;text-transform:uppercase}.auth-sig-foot .sig{font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:400;font-size:14px;color:var(--brand);letter-spacing:-.005em;text-transform:none;display:block;margin-bottom:4px}.auth-account-pill{font:500 12px Syne,sans-serif;color:var(--ink-soft);padding:10px 14px;background:var(--paper-2);border-radius:8px;border:1px solid var(--line);text-align:center}.auth-account-pill b{color:var(--brand);font-weight:600}.auth-skeleton{font:500 13px Syne,sans-serif;color:var(--ink-soft);text-align:center;padding:20px 0}@media (max-width:640px){.auth-stage{padding:80px 16px 100px}.auth-card{padding:44px 28px 36px;border-radius:6px}.auth-card:before{left:28px;right:28px}.auth-corner.tl{top:22px;left:24px;gap:10px}.auth-corner.tl .name{font-size:14px}.auth-corner.tl .meta,.auth-corner.tr{display:none}.auth-corner.bl{bottom:22px;left:24px;right:24px;font-size:9.5px;letter-spacing:.22em;display:flex;justify-content:space-between;gap:12px}.auth-corner.br{display:none}.auth-kicker{font-size:9px;letter-spacing:.26em}.auth-h1{font-size:26px;margin:18px 0 6px}.auth-sub{font-size:13px}.auth-form{margin-top:28px;gap:16px}.auth-watermark{right:-100px;bottom:-100px;width:280px;height:280px}}