/* auth.css — ورود / ثبت‌نام ونیزچوب (موبایل‌محور، روشن/تاریک) */
:root{--au-bg:#faf6ef;--au-bg2:#f1e8d8;--au-card:#fff;--au-text:#2a211b;--au-muted:#7c6f64;--au-line:#e6dccb;--au-input:#fbf8f2;--au-gold:#c5a059;--au-gold-d:#a8863f;--au-on-gold:#1a1512;--au-err:#c0392b;--au-err-bg:rgba(192,57,43,.08);--au-ok:#2e7d4f;--au-shadow:0 18px 50px rgba(60,40,10,.12)}
:root[data-theme="dark"]{--au-bg:#15100d;--au-bg2:#241b16;--au-card:#211a16;--au-text:#f5ebe6;--au-muted:#a69890;--au-line:#3a2f28;--au-input:#2b231e;--au-gold:#d4af37;--au-gold-d:#e2c15a;--au-on-gold:#1a1512;--au-err:#ff8a80;--au-err-bg:rgba(255,107,107,.1);--au-ok:#6fcf97;--au-shadow:0 18px 50px rgba(0,0,0,.5)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body.au-body{margin:0;min-height:100vh;min-height:100dvh;font-family:'Vazirmatn',Tahoma,sans-serif;color:var(--au-text);background:radial-gradient(120% 80% at 50% 0%,var(--au-bg2) 0%,var(--au-bg) 60%);display:flex;justify-content:center;align-items:flex-start;padding:max(20px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom))}
.au{width:100%;max-width:420px;margin-top:clamp(8px,6vh,56px)}
.au-logo{display:block;width:68px;height:68px;margin:0 auto 18px;border-radius:20px;overflow:hidden;box-shadow:0 6px 20px rgba(197,160,89,.25)}
.au-logo img{display:block;width:100%;height:100%;object-fit:cover}
.au-card{position:relative;background:var(--au-card);border:1px solid var(--au-line);border-radius:24px;padding:22px 20px 20px;box-shadow:var(--au-shadow);overflow:hidden}
.au-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:20px;background:var(--au-input);border:1px solid var(--au-line);border-radius:14px}
.au-tabs[hidden]{display:none}
.au-tab{appearance:none;border:0;background:transparent;color:var(--au-muted);font:inherit;font-size:14px;font-weight:700;height:40px;border-radius:10px;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.au-tab[aria-selected="true"]{background:var(--au-card);color:var(--au-text);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.au-tab:focus-visible,.au-btn:focus-visible,.au-link:focus-visible,.au-eye:focus-visible{outline:2px solid var(--au-gold);outline-offset:2px}
.au-step{animation:au-in .28s cubic-bezier(.2,.7,.2,1) both}
.au-step[hidden]{display:none}
@keyframes au-in{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
.au h1{margin:0 0 6px;font-size:21px;line-height:1.5;font-weight:800}
.au-sub{margin:0 0 18px;font-size:13.5px;line-height:1.9;color:var(--au-muted)}
.au-sub b{color:var(--au-text);direction:ltr;unicode-bidi:isolate;white-space:nowrap}
.au-field{display:block;margin-bottom:6px}
.au-field>span{display:block;font-size:12.5px;font-weight:700;color:var(--au-muted);margin-bottom:7px}
.au-input-wrap{position:relative}
.au-input{display:block;width:100%;height:54px;padding:0 16px;font:inherit;font-size:17px;color:var(--au-text);background:var(--au-input);border:1.5px solid var(--au-line);border-radius:14px;transition:border-color .2s,box-shadow .2s,background .2s}
.au-input::placeholder{color:var(--au-muted);opacity:.55}
.au-input:focus{outline:0;border-color:var(--au-gold);box-shadow:0 0 0 4px rgba(197,160,89,.2)}
.au-input[aria-invalid="true"]{border-color:var(--au-err)}
.au-input.is-phone,.au-input.is-code{direction:ltr;text-align:center;letter-spacing:.12em;font-weight:700}
.au-input.is-code{font-size:26px;letter-spacing:.38em;text-indent:.38em}
.au-input.is-pass{padding-inline-end:52px}
.au-eye{position:absolute;inset-block:0;inset-inline-end:6px;width:44px;border:0;background:transparent;color:var(--au-muted);cursor:pointer;border-radius:10px;font-size:13px;font-family:inherit}
.au-err{min-height:22px;margin:8px 2px 10px;font-size:13px;line-height:1.7;color:var(--au-err)}
.au-err:empty{min-height:0;margin:0}
.au-note{margin:10px 0 14px;padding:12px 14px;border-radius:14px;background:var(--au-input);border:1px solid var(--au-line);font-size:13.5px;line-height:1.9}
.au-note[hidden]{display:none}
.au-note .au-btn{margin-top:10px}
.au-btn{position:relative;appearance:none;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:54px;border:0;border-radius:14px;font:inherit;font-size:16px;font-weight:800;color:var(--au-on-gold);background:linear-gradient(180deg,#d9b565,var(--au-gold));box-shadow:0 8px 20px rgba(197,160,89,.32);cursor:pointer;transition:transform .12s,filter .2s,opacity .2s}
.au-btn:active{transform:scale(.985)}
.au-btn:hover{filter:brightness(1.04)}
.au-btn[disabled]{opacity:.6;cursor:progress;filter:none}
.au-btn.is-ghost{height:46px;font-size:14px;color:var(--au-text);background:transparent;border:1.5px solid var(--au-line);box-shadow:none}
.au-btn.is-loading::after{content:"";width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(26,21,18,.3);border-top-color:var(--au-on-gold);animation:au-spin .7s linear infinite}
@keyframes au-spin{to{transform:rotate(360deg)}}
.au-row{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;margin-top:14px}
.au-link{appearance:none;border:0;background:none;padding:8px 2px;font:inherit;font-size:13.5px;font-weight:700;color:var(--au-gold-d);cursor:pointer;min-height:40px}
.au-link[disabled]{color:var(--au-muted);cursor:default;font-weight:400}
.au-back{display:inline-flex;align-items:center;gap:4px;margin:-6px 0 8px;color:var(--au-muted);font-weight:400}
.au-legal{margin:16px 0 0;font-size:12px;line-height:1.9;color:var(--au-muted);text-align:center}
.au-legal a{color:var(--au-gold-d);text-decoration:none}
.au-hint{margin:2px 2px 0;font-size:12px;color:var(--au-muted)}
.au-home{display:block;margin:18px auto 0;text-align:center;font-size:13px;color:var(--au-muted);text-decoration:none}
.au-home:hover{color:var(--au-gold-d)}
.au-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.au-shake{animation:au-shake .35s}
@keyframes au-shake{20%,60%{transform:translateX(6px)}40%,80%{transform:translateX(-6px)}}
@media (prefers-reduced-motion:reduce){.au-step,.au-shake,.au-btn.is-loading::after{animation:none!important}.au-btn,.au-input,.au-tab{transition:none}}
@media (min-width:560px){body.au-body{align-items:center}.au{margin-top:0}.au-card{padding:28px 28px 24px}}

/* انتخاب روش: کد پیامکی / رمز ثابت */
.au-methods{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px}
.au-method{appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:8px 6px;font:inherit;color:var(--au-muted);background:var(--au-input);border:1.5px solid var(--au-line);border-radius:14px;cursor:pointer;transition:border-color .2s,background .2s,color .2s,box-shadow .2s}
.au-method b{font-size:14px;font-weight:800;line-height:1.5}
.au-method small{font-size:11.5px;font-weight:400;line-height:1.5;opacity:.85}
.au-method[aria-checked="true"]{color:var(--au-text);background:var(--au-card);border-color:var(--au-gold);box-shadow:0 0 0 3px rgba(197,160,89,.18)}
.au-method:focus-visible{outline:2px solid var(--au-gold);outline-offset:2px}
.au-pw{margin-top:12px}
.au-pw[hidden],.au-hint[hidden],.au-row[hidden]{display:none}
.au-pw+.au-hint{margin-top:6px}
.au-row-end{justify-content:flex-start;margin-top:6px}
@media (prefers-reduced-motion:reduce){.au-method{transition:none}}
