.auth-wrap{min-height:70svh;display:grid;place-items:center;padding:clamp(1.5rem,1rem + 3vw,4rem) 1.2rem}.auth-card{position:relative;width:min(100%,440px);padding:clamp(1.6rem,1rem + 2vw,2.6rem);border-radius:var(--r-card);background:linear-gradient(165deg,var(--ts-panel),var(--ts-panel-2));border:1px solid var(--ts-line-strong);backdrop-filter:blur(16px);overflow:hidden}.auth-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,var(--ts-primary),transparent 50%,var(--ts-secondary));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.45;pointer-events:none}.auth-back{display:inline-flex;align-items:center;gap:.45rem;color:var(--ts-text-dim);font-size:var(--step--1);margin-bottom:1.3rem}.auth-back:hover{color:var(--ts-ink)}.auth-back .ic{transform:rotate(180deg)}.auth-brand{text-align:center;margin-bottom:1.6rem}.auth-logo{display:block;width:auto;height:auto;max-width:200px;max-height:150px;margin:0 auto}@media (max-width:480px){.auth-logo{max-width:160px;max-height:120px}}.auth-brand p{color:var(--ts-text-dim);font-size:var(--step--1);margin-top:.4rem}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;padding:.3rem;border-radius:var(--r-btn);background:color-mix(in srgb,var(--ts-ink) 4%,transparent);border:1px solid var(--ts-line);margin-bottom:1.6rem}.auth-tab{min-height:44px;padding:.7rem;border-radius:9px;background:none;border:0;color:var(--ts-text-soft);font-weight:600;cursor:pointer}.auth-tab.on{background:var(--grad-primary);color:#fff}.auth-form{display:flex;flex-direction:column}.auth-field{display:block;margin-bottom:1rem}.auth-field-label{display:block;font-size:var(--step--1);color:var(--ts-text-soft);margin-bottom:.4rem}.auth-field-input{display:flex;align-items:center;gap:.6rem;min-height:48px;padding:.7rem 1rem;border-radius:var(--r-btn);background:color-mix(in srgb,var(--ts-ink) 3%,transparent);border:1px solid var(--ts-line);transition:border-color .2s}.auth-field-input:focus-within{border-color:var(--ts-primary)}.auth-field-input .ic{color:var(--ts-primary);flex:none}.auth-field-input input,.auth-field-input select{flex:1;min-width:0;background:none;border:0;color:var(--ts-text);font:inherit;outline:none}.auth-field-input select option{background:var(--ts-bg)}.auth-field-toggle{display:flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px;margin:-.7rem -.5rem -.7rem 0;padding:0;background:none;border:0;color:var(--ts-text-dim);cursor:pointer;transition:color .2s}.auth-field-toggle:focus-visible,.auth-field-toggle:hover{color:var(--ts-primary)}.auth-gate{display:flex;gap:.7rem;align-items:flex-start;padding:.9rem 1rem;border-radius:var(--r-btn);margin:.4rem 0 1.2rem;background:var(--ts-secondary-soft);border:1px solid color-mix(in srgb,var(--ts-secondary) 28%,transparent);cursor:pointer}.auth-gate input{width:20px;height:20px;accent-color:var(--ts-secondary);margin-top:.1rem;flex:none}.auth-forgot,.auth-gate span{font-size:var(--step--1);color:var(--ts-text-soft)}.auth-forgot{align-self:flex-end;margin:-.3rem 0 1rem;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}.auth-forgot:hover{color:var(--ts-ink)}.auth-mode-title{font-size:var(--step-1);margin:0 0 .3rem}.auth-hint{color:var(--ts-text-dim);margin:0 0 1.1rem}.auth-hint,.auth-ok{font-size:var(--step--1)}.auth-ok{color:#7fe0a7;font-weight:600;margin:0 0 .9rem}.auth-submit{width:100%;min-height:48px}.auth-err{color:#ff8aa6;font-weight:600;margin:0 0 .9rem}.auth-err,.auth-foot{font-size:var(--step--1)}.auth-foot{text-align:center;margin-top:1.2rem;color:var(--ts-text-dim)}.auth-legal{margin-top:1rem}.auth-link{background:none;border:0;padding:0;cursor:pointer;color:var(--ts-secondary);font:inherit}.auth-link:hover{text-decoration:underline}