.tx-auth{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--tx-safe-top) + var(--tx-space-6)) var(--tx-space-5) calc(var(--tx-safe-bottom) + var(--tx-space-6));background:var(--tx-bg)}.tx-auth__card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--tx-space-4)}.tx-auth__head{display:flex;flex-direction:column;align-items:center;gap:var(--tx-space-2);text-align:center}.tx-auth__logo{width:72px;height:72px;object-fit:contain;border-radius:var(--tx-radius-lg);box-shadow:var(--tx-elev-brand-2)}.tx-auth__title{font-size:var(--tx-fs-2xl);font-weight:var(--tx-fw-extrabold);letter-spacing:var(--tx-ls-tight);line-height:var(--tx-lh-tight);margin:0}.tx-auth__subtitle{font-size:var(--tx-fs-md);color:var(--tx-text-soft);margin:0}.tx-reset .tx-auth__subtitle{text-align:center;max-width:36ch;margin-inline:auto}.tx-form{display:flex;flex-direction:column;gap:var(--tx-space-3)}.tx-field{display:flex;flex-direction:column;gap:var(--tx-space-1)}.tx-field__label{font-size:var(--tx-fs-sm);font-weight:var(--tx-fw-semibold);color:var(--tx-text-soft)}.tx-input-wrap{position:relative;display:flex;align-items:center}.tx-input{width:100%;box-sizing:border-box;min-height:var(--tx-control-md);font-family:var(--tx-font-sans);font-size:var(--tx-fs-md);line-height:var(--tx-lh-snug);color:var(--tx-text);background:var(--tx-surface-1);border:1px solid var(--tx-border-input);border-radius:var(--tx-radius-md);padding:var(--tx-space-3) var(--tx-space-4);transition:border-color var(--tx-dur) var(--tx-ease),box-shadow var(--tx-dur) var(--tx-ease)}.tx-input-wrap--toggle .tx-input{padding-inline-end:var(--tx-space-12)}.tx-input::placeholder{color:var(--tx-text-muted)}.tx-input:focus{outline:none;border-color:var(--tx-ring-select);box-shadow:0 0 0 3px var(--tx-ring-select-soft)}.tx-input--invalid{border-color:var(--tx-danger)}.tx-input--invalid:focus{border-color:var(--tx-danger);box-shadow:0 0 0 3px var(--tx-danger-soft)}.tx-input__toggle{position:absolute;inset-inline-end:var(--tx-space-1);top:50%;transform:translateY(-50%);width:var(--tx-control-md);height:var(--tx-control-md);display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--tx-text-muted);cursor:pointer;border-radius:var(--tx-radius-sm)}.tx-input__toggle:hover{color:var(--tx-text-soft)}.tx-input__toggle:focus-visible{outline:2px solid var(--tx-ring-select);outline-offset:1px}.tx-input__toggle svg{width:var(--tx-icon-lg);height:var(--tx-icon-lg)}.tx-input__toggle .tx-icon-hide{display:none}.tx-input__toggle.is-shown .tx-icon-show{display:none}.tx-input__toggle.is-shown .tx-icon-hide{display:inline-flex}.tx-field__error{font-size:var(--tx-fs-sm);color:var(--tx-danger-text);min-height:1em}.tx-form-msg{font-size:var(--tx-fs-sm);line-height:var(--tx-lh-snug);border-radius:var(--tx-radius-md);padding:var(--tx-space-3) var(--tx-space-4)}.tx-form-msg--error{color:var(--tx-danger-text);background:var(--tx-danger-soft)}.tx-form-msg--info{color:var(--tx-text-soft);background:var(--tx-surface-2)}.tx-form-msg--ok{color:var(--tx-ok-text);background:var(--tx-ok-soft)}.tx-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--tx-space-2);width:100%;box-sizing:border-box;min-height:var(--tx-control-lg);padding:0 var(--tx-space-5);font-family:var(--tx-font-sans);font-size:var(--tx-fs-md);font-weight:var(--tx-fw-bold);line-height:1.2;text-align:center;text-decoration:none;border:1px solid transparent;border-radius:var(--tx-radius-pill);cursor:pointer;transition:transform var(--tx-dur-fast) var(--tx-ease),filter var(--tx-dur) var(--tx-ease),background-color var(--tx-dur) var(--tx-ease)}.tx-btn:active{transform:scale(0.99)}.tx-btn:focus-visible{outline:2px solid var(--tx-ring-select);outline-offset:2px}.tx-btn[disabled],.tx-btn[aria-disabled="true"]{opacity:0.55;cursor:not-allowed;pointer-events:none}.tx-btn--primary{color:var(--tx-on-brand);background-color:var(--tx-brand-cyan-strong);background-image:var(--tx-gradient-aurora);background-origin:border-box;border:0;box-shadow:var(--tx-elev-brand-1)}.tx-btn--primary:hover{filter:saturate(1.06) brightness(1.06)}.tx-btn--ghost{color:var(--tx-text);background:transparent;border-color:var(--tx-border-strong)}.tx-btn--ghost:hover{background:var(--tx-surface-2)}.tx-oauth{display:flex;flex-direction:column;gap:var(--tx-space-2)}.tx-oauth-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--tx-space-3);width:100%;box-sizing:border-box;min-height:var(--tx-control-lg);padding:0 var(--tx-space-5);font-family:var(--tx-font-sans);font-size:var(--tx-fs-md);font-weight:var(--tx-fw-semibold);color:var(--tx-text);background:var(--tx-surface-1);border:1px solid var(--tx-border-strong);border-radius:var(--tx-radius-pill);cursor:pointer;transition:background-color var(--tx-dur) var(--tx-ease),border-color var(--tx-dur) var(--tx-ease)}.tx-oauth-btn:hover{border-color:var(--tx-ring-select-soft);background:var(--tx-surface-2)}.tx-oauth-btn:focus-visible{outline:2px solid var(--tx-ring-select);outline-offset:2px}.tx-oauth-btn__icon{width:var(--tx-icon-lg);height:var(--tx-icon-lg);flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}@supports (grid-template-columns:subgrid){.tx-oauth{display:grid;grid-template-columns:1fr auto auto 1fr;row-gap:var(--tx-space-2);column-gap:var(--tx-space-3)}.tx-oauth-btn{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:center}.tx-oauth-btn__icon{grid-column:2}.tx-oauth-btn > span:not(.tx-oauth-btn__icon){grid-column:3;justify-self:start}}.tx-oauth-btn__icon svg{width:var(--tx-icon-lg);height:var(--tx-icon-lg)}.tx-divider{display:flex;align-items:center;gap:var(--tx-space-3);color:var(--tx-text-muted);font-size:var(--tx-fs-sm);text-transform:uppercase;letter-spacing:var(--tx-ls-wider)}.tx-divider::before,.tx-divider::after{content:"";flex:1 1 auto;height:1px;background:var(--tx-border)}.tx-strength{display:flex;flex-direction:column;gap:var(--tx-space-1)}.tx-strength__track{height:var(--tx-space-2);border-radius:var(--tx-radius-pill);background:var(--tx-surface-3);overflow:hidden}.tx-strength__fill{height:100%;width:0;border-radius:var(--tx-radius-pill);background:var(--tx-danger);transition:width var(--tx-dur) var(--tx-ease),background-color var(--tx-dur) var(--tx-ease)}.tx-strength__label{font-size:var(--tx-fs-xs);font-weight:var(--tx-fw-semibold);color:var(--tx-text-muted)}.tx-strength--0 .tx-strength__fill{width:12%;background:var(--tx-danger)}.tx-strength--1 .tx-strength__fill{width:32%;background:var(--tx-warn)}.tx-strength--2 .tx-strength__fill{width:56%;background:var(--tx-warn)}.tx-strength--3 .tx-strength__fill{width:80%;background:var(--tx-ok)}.tx-strength--4 .tx-strength__fill{width:100%;background:var(--tx-ok-strong)}.tx-link{color:var(--tx-accent-text);font-weight:var(--tx-fw-semibold);text-decoration:none;cursor:pointer;background:none;border:none;padding:0;font-family:inherit;font-size:inherit}.tx-link:hover{text-decoration:underline}.tx-link:focus-visible{outline:2px solid var(--tx-ring-select);outline-offset:2px;border-radius:2px}.tx-auth__alt{text-align:center;font-size:var(--tx-fs-sm);color:var(--tx-text-soft)}.tx-auth__forgot{text-align:end;font-size:var(--tx-fs-sm)}.tx-tabs{display:flex;gap:var(--tx-space-1);padding:var(--tx-space-1);background:var(--tx-surface-2);border-radius:var(--tx-radius-pill)}.tx-tab{flex:1 1 0;min-height:var(--tx-control-md);padding:var(--tx-space-2) var(--tx-space-3);font-family:var(--tx-font-sans);font-size:var(--tx-fs-base);font-weight:var(--tx-fw-semibold);color:var(--tx-text-soft);background:transparent;border:none;border-radius:var(--tx-radius-pill);cursor:pointer;transition:background-color var(--tx-dur) var(--tx-ease),color var(--tx-dur) var(--tx-ease)}.tx-tab[aria-selected="true"]{color:var(--tx-text);background:var(--tx-surface-1);box-shadow:var(--tx-elev-1)}.tx-tab:focus-visible{outline:2px solid var(--tx-ring-select);outline-offset:2px}.tx-spin{width:var(--tx-icon-md);height:var(--tx-icon-md);border-radius:50%;border:2px solid rgba(255,255,255,0.45);border-top-color:#ffffff;animation:tx-auth-spin 0.7s linear infinite}@keyframes tx-auth-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.tx-spin{animation-duration:0.001ms}.tx-btn:active{transform:none}}.tx-welcome,.tx-login,.tx-reset{background-color:var(--tx-bg);background-image:var(--tx-aurora-glow);background-repeat:no-repeat;background-size:100% 60%}.tx-welcome__card{gap:var(--tx-space-6);text-align:center}.tx-welcome .tx-auth__title{font-size:var(--tx-fs-display);letter-spacing:var(--tx-ls-tighter)}.tx-login .tx-auth__card,.tx-reset .tx-auth__card{gap:var(--tx-space-4)}.tx-login .tx-auth__head{margin-bottom:var(--tx-space-1)}.tx-login .tx-auth__title,.tx-reset .tx-auth__title{font-size:var(--tx-fs-xl)}.tx-login .tx-oauth{margin-top:var(--tx-space-1)}.tx-welcome__values{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--tx-space-4);text-align:start}.tx-welcome__value{display:flex;align-items:flex-start;gap:var(--tx-space-3)}.tx-welcome__value-icon{flex:0 0 auto;width:var(--tx-icon-box-md);height:var(--tx-icon-box-md);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--tx-radius-md);color:var(--tx-accent-text);background:var(--tx-brand-tint)}.tx-welcome__value:nth-child(2) .tx-welcome__value-icon{color:var(--tx-brand-violet);background:var(--tx-brand-violet-soft)}.tx-welcome__value:nth-child(3) .tx-welcome__value-icon{color:var(--tx-pink-text);background:var(--tx-brand-pink-soft)}.tx-welcome__value-icon svg{width:var(--tx-icon-lg);height:var(--tx-icon-lg)}.tx-welcome__value-text{display:flex;flex-direction:column;gap:var(--tx-space-half)}.tx-welcome__value-title{font-size:var(--tx-fs-md);font-weight:var(--tx-fw-bold);color:var(--tx-text)}.tx-welcome__value-body{font-size:var(--tx-fs-sm);line-height:var(--tx-lh-snug);color:var(--tx-text-soft)}.tx-welcome__actions{display:flex;flex-direction:column;gap:var(--tx-space-3)}.tx-auth--desktop{padding-block:var(--tx-space-8)}.tx-auth--desktop .tx-auth__card{max-width:460px}@media (max-height:800px){.tx-auth{padding-block:calc(var(--tx-safe-top) + var(--tx-space-3)) calc(var(--tx-safe-bottom) + var(--tx-space-3))}.tx-auth__card{gap:var(--tx-space-3)}.tx-auth__logo{width:56px;height:56px}.tx-form{gap:var(--tx-space-2)}.tx-field{gap:var(--tx-space-half)}.tx-oauth{gap:var(--tx-space-2)}.tx-auth__head{gap:var(--tx-space-1)}.tx-oauth-btn{min-height:var(--tx-control-md)}.tx-login [data-i18n="auth.pwHint"]{display:none}}@media (max-height:740px){.tx-auth__logo{width:44px;height:44px}.tx-auth__card{gap:var(--tx-space-2)}.tx-auth__title{font-size:var(--tx-fs-xl)}.tx-auth__head{gap:var(--tx-space-half)}.tx-oauth{gap:var(--tx-space-1)}}@media (max-height:680px){.tx-auth__card{gap:var(--tx-space-1)}.tx-form{gap:var(--tx-space-1)}.tx-divider{margin-block:0}.tx-tabs{padding:var(--tx-space-half)}.tx-tab{min-height:var(--tx-control-sm)}}