.au{--ink:#0b2a21;--g:#1e7658;--lime:#d4f56b;--line:#d5e4dc;--mut:#5d7a6e;margin:0;font-family:"Vazirmatn",Tahoma,sans-serif;color:var(--ink);background:#f1f6f2;line-height:1.7}.au *{box-sizing:border-box}
.au-grid{display:grid;grid-template-columns:minmax(380px,1fr) 1.1fr;min-height:100svh}
.au-form{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:28px clamp(20px,5vw,70px);gap:20px}.au-brand{align-self:flex-start;font-weight:900;font-size:1.5rem;color:var(--ink);text-decoration:none;letter-spacing:-.03em}.au-brand span{color:var(--g)}
.au-card{width:min(430px,100%)}.au-eye{color:var(--g);font-weight:800;font-size:.8rem}.au-card h1{font-size:clamp(2rem,4vw,2.8rem);font-weight:900;margin:6px 0 10px;letter-spacing:-.04em;line-height:1.2}.au-sub{color:var(--mut);margin:0 0 18px}
.au-field{display:grid;gap:6px;margin-bottom:16px}.au-field label{font-weight:700;font-size:.9rem}.au-field input{width:100%;padding:14px 16px;border:2px solid var(--line);border-radius:14px;background:#fff;font:inherit;color:var(--ink);outline:none;transition:border .25s,box-shadow .25s,transform .25s}.au-field input:focus{border-color:var(--g);box-shadow:0 0 0 5px #1e765822;transform:translateY(-1px)}
.au-field .err,.au-err{color:#c0392b;font-size:.82rem}.au-err ul,.err ul{margin:0;padding:0;list-style:none}.au-help-t{color:var(--mut);font-size:.76rem}.au-help-t ul{margin:4px 0 0;padding-inline-start:18px}
.au-btn{display:inline-flex;justify-content:center;align-items:center;width:100%;border:2px solid var(--ink);background:var(--ink);color:#fff;border-radius:99px;padding:14px 22px;font:800 1rem Vazirmatn;cursor:pointer;transition:transform .25s cubic-bezier(.2,1.4,.4,1),background .25s}.au-btn:hover{transform:translateY(-3px);background:var(--g);border-color:var(--g)}.au-btn.ghost{background:none;color:var(--ink)}.au-btn.ghost:hover{background:#fff;color:var(--ink);border-color:var(--ink)}
.au-row{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}.au-help{text-align:center;margin-top:18px;font-size:.92rem}.au-help a{color:var(--g);font-weight:800}.au-foot{color:var(--mut);font-size:.76rem;margin:0}
.au-steps{display:flex;gap:6px;margin:6px 0 16px}.au-steps i{height:5px;flex:1;border-radius:5px;background:var(--line);transition:background .4s}.au-steps i.on{background:var(--g)}
.au-pane{display:none}.au-pane.on{display:block;animation:panein .5s cubic-bezier(.16,1,.3,1)}@keyframes panein{from{opacity:0;transform:translateX(24px)}}
/* illustrated scene */
.au-scene{position:relative;overflow:hidden;background:linear-gradient(150deg,#bff0d6,#e9f9d0 55%,#fff6d6);display:grid;place-items:center;align-content:center;padding:30px;transition:background .8s}
.au-scene[data-step="2"]{background:linear-gradient(150deg,#d4f56b,#bff0d6 60%,#fff)}
.bl{position:absolute;border-radius:50%;filter:blur(60px);opacity:.7;animation:dr 12s ease-in-out infinite alternate}.b1{width:44vw;height:44vw;background:#2f9e74;top:-12vw;inset-inline-end:-8vw;opacity:.35}.b2{width:30vw;height:30vw;background:#d4f56b;bottom:-8vw;inset-inline-start:-6vw}@keyframes dr{to{transform:translate(5%,6%) scale(1.15)}}
.art{width:min(560px,92%);height:auto;position:relative;z-index:1;overflow:visible}.art .g-cup,.art .g-cake,.art .g-qr{transform-box:fill-box;transform-origin:50% 100%;animation:bob 4.5s ease-in-out infinite}.art .g-cake{animation-delay:-1.4s}.art .g-qr{animation-delay:-2.6s}@keyframes bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-14px) rotate(1.2deg)}}
.steam path{opacity:.8;stroke-dasharray:90;animation:steam 3.2s ease-in-out infinite}.steam .s2{animation-delay:-1s}.steam .s3{animation-delay:-2s}@keyframes steam{0%{stroke-dashoffset:90;opacity:0}30%{opacity:.9}100%{stroke-dashoffset:-90;opacity:0}}
.art .lock{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.3);transition:all .45s cubic-bezier(.2,1.6,.4,1)}.art .spark{opacity:.4;transform-box:fill-box;transform-origin:center;transition:all .4s}
.au-scene.f-user .steam path{animation-duration:1.4s;stroke-width:9}.au-scene.f-user .g-cup{animation-duration:1.6s}
.au-scene.f-email .spark{opacity:1;transform:scale(1.6) rotate(20deg)}.au-scene.f-email .g-cake{animation-duration:1.5s}
.au-scene.f-pass .lock{opacity:1;transform:scale(1)}.au-scene.f-pass .g-qr{animation-duration:1.6s}
.au-scene[data-step="2"] .g-qr{transform:scale(1.12)}
.au-quote{position:relative;z-index:1;text-align:center;margin-top:18px;display:grid;gap:2px}.au-quote b{font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:900;letter-spacing:-.02em}.au-quote small{color:var(--mut)}
@media(max-width:900px){.au-grid{grid-template-columns:1fr}.au-scene{order:-1;min-height:0;padding:14px 0 0;max-height:230px}.art{width:min(300px,70%)}.au-quote{display:none}.au-form{padding-top:18px}.au-brand{align-self:center}}
@media(prefers-reduced-motion:reduce){.au *{animation:none!important;transition:none!important}}

/* Google sign-in (phase 3) */
.au-social{margin:0 0 4px}.au-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:13px 20px;border:2px solid var(--line);border-radius:99px;background:#fff;color:var(--ink);font:800 .98rem Vazirmatn,Tahoma,sans-serif;cursor:pointer;transition:transform .25s cubic-bezier(.2,1.4,.4,1),border-color .25s,box-shadow .25s}.au-google svg{width:20px;height:20px;flex:none}.au-google:hover{transform:translateY(-2px);border-color:var(--ink);box-shadow:0 8px 20px -10px #0b2a2155}.au-google:focus-visible{outline:3px solid #1e765866;outline-offset:2px}
.au-or{display:flex;align-items:center;gap:12px;margin:16px 0 6px;color:var(--mut);font-size:.82rem}.au-or::before,.au-or::after{content:"";height:1px;flex:1;background:var(--line)}.au-hint{margin:0 0 16px;text-align:center;color:var(--mut);font-size:.76rem}
.au-ok{color:#1e7658;background:#e8f6ee;border-radius:12px;padding:10px 14px;font-size:.86rem;margin-bottom:14px}.au-err[role=status]{background:#fff0ee;border-radius:12px;padding:10px 14px;margin-bottom:14px}
.au-forgot{margin:-6px 0 16px;font-size:.86rem}.au-forgot a{color:var(--g);font-weight:700}
.au-resend{text-align:center;margin:14px 0 0}.au-link{background:none;border:0;padding:0;font:inherit;font-size:.9rem;font-weight:800;color:var(--g);cursor:pointer;text-decoration:underline}
.au-field input[name=code]{text-align:center;letter-spacing:.5em;font-size:1.5rem;font-weight:800;direction:ltr}
