.auth{z-index:2;color:var(--ink);background:#fff;position:relative}.auth__hstage{height:calc(120 * var(--rpx));background:linear-gradient(#f8fafc 0% 100%);position:relative}.auth__hero{padding:1.6rem var(--gutter) 2.2rem;text-align:center;background:linear-gradient(#f8fafc 0%,#fff 100%);border-bottom:1px solid #e6e7ec}.auth__title{letter-spacing:-.03em;margin:0;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;line-height:1.15}.auth__subtitle{color:#6b7280;max-width:42rem;margin:.55rem auto 0;font-size:1rem;font-weight:500;line-height:1.6}.auth__wrap{max-width:32rem;padding:2rem var(--gutter) 4rem;margin:0 auto}.auth__card{background:#fff;border:1px solid #e6e7ec;border-radius:1.5rem;padding:1.75rem;box-shadow:0 24px 50px -36px #0f172a59}.auth__preview{color:#7a4b00;background:#fff7e6;border-radius:.9rem;margin:0 0 1.25rem;padding:.7rem .9rem;font-size:.78rem;line-height:1.45}.auth__preview[hidden]{display:none}.auth__form{gap:1.25rem;display:grid}.auth__form[hidden]{display:none}.auth__label{color:var(--ink);margin-bottom:.45rem;font-size:.875rem;font-weight:700;display:block}.auth__input{width:100%;color:var(--ink);font:inherit;-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #e5e7eb;border-radius:.85rem;outline:none;padding:.8rem 1.2rem;font-size:.9375rem;font-weight:500;transition:border-color .2s,box-shadow .2s;box-shadow:0 1px 2px #0f172a0a}.auth__input::placeholder{color:#5f6472}.auth__input:focus{border-color:var(--ink);box-shadow:0 0 0 3px #f1f2f6}.auth__input[aria-invalid=true]{border-color:#dc2626}.auth__error{color:#dc2626;margin:.4rem 0 0;font-size:.78rem;font-weight:600}.auth__error[hidden]{display:none}.auth__row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.auth__check{color:#4b5563;cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;display:inline-flex}.auth__check input{width:1rem;height:1rem;accent-color:var(--ink)}.auth__link{color:var(--ink);font-size:.875rem;font-weight:700}.auth__link:hover{text-underline-offset:.2em;text-decoration:underline}.auth__submit{color:#fff;width:100%;height:3rem;font:inherit;cursor:pointer;background:#0a0a0a;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;font-weight:800;transition:background-color .2s,transform .15s;display:inline-flex;box-shadow:0 14px 36px -18px #00000059}.auth__submit:hover{background:#000}.auth__submit[disabled]{opacity:.7;cursor:progress}.auth__submit:focus-visible,.auth__google:focus-visible,.auth__input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.auth__message{border-radius:.85rem;margin:0;padding:.7rem .9rem;font-size:.85rem;font-weight:600;line-height:1.45}.auth__message[hidden]{display:none}.auth__message--error{color:#b91c1c;background:#fef2f2}.auth__message--success{color:#047857;background:#ecfdf5}.auth__hint{color:#6b7280;margin:0;font-size:.75rem;line-height:1.5}.auth__divider{text-align:center;margin:2.5rem 0;position:relative}.auth__divider:before{content:"";background:#e5e7eb;height:1px;position:absolute;inset:50% 0 auto}.auth__divider span{letter-spacing:.08em;text-transform:uppercase;color:#5f6472;background:#fff;padding:0 .75rem;font-size:.72rem;font-weight:700;position:relative}.auth__google{color:#111827;background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;justify-content:center;align-items:center;gap:.75rem;width:100%;height:3.1rem;font-size:.9375rem;font-weight:700;transition:background-color .2s;display:flex;box-shadow:0 1px 2px #0f172a0a}.auth__google:hover{background:#f3f4f6}.auth__google svg{flex:none;width:1.25rem;height:1.25rem}.auth__switch{text-align:center;color:#6b7280;margin:2rem 0 0;font-size:.875rem;font-weight:500}.auth__switch a{color:var(--ink);font-weight:700}.auth__switch a:hover{text-underline-offset:.2em;text-decoration:underline}.auth__otp{gap:1.25rem;display:grid}.auth__otp[hidden]{display:none}.auth__code{width:100%;font:inherit;letter-spacing:.45em;text-align:center;border:1px solid #e5e7eb;border-radius:.85rem;outline:none;padding:.9rem 1rem;font-size:1.6rem;font-weight:800}.auth__code:focus{border-color:var(--ink);box-shadow:0 0 0 3px #f1f2f6}.auth__back{color:#6b7280;align-items:center;gap:.4rem;margin-bottom:1.5rem;font-size:.875rem;font-weight:700;display:inline-flex}.auth__back:hover{color:var(--ink)}@media (width<=1099px){.auth__hstage{height:90px}.auth__card{padding:1.4rem}}
